Sunteți pe pagina 1din 7

LA GACETA

521

Una demostraci on del Teorema de Incompletitud de G odel


por George Boolos

George Boolos (194096) fue catedr atico de Filosof a del Massachusetts Institute of Technology. El siguiente art culo apareci o publicado con el t tulo New Proof of the G odel Incompleteness Theorem en el Notices of the American Mathematical Society, 36 (1989) 388-390). Reproducimos tambi en una carta de Boolos al Notices : A letter from George Boolos, Notices of the American Mathematical Society, 36 (1989) 676. La Gaceta agradece a la American Mathematical Society y a Sally Sedgwick el permiso para la traducci on y publicaci on de este material1 .

George Boolos

De casi todos los teoremas se conocen muchas demostraciones distintas. Adem as de la primera demostraci on rigurosa del Teo rema Fundamental del Algebra, Gauss dio otras tres; con posterioridad, diversos autores han encontrado muchas otras. El teorema de Pit agoras, m as antiguo y m as senci llo que el Teorema Fundamental del Algebra, tiene cientos de demostraciones. Hay alg un gran teorema que s olo tenga una demostraci on? En este art culo presentamos una nueva demostraci on sencilla del Teorema de Incompletitud de G odel en la forma siguiente: No existe ning un algoritmo cuya salida contenga todos los enunciados verdaderos de la Aritm etica y ning un enunciado falso. Nuestra demostraci on es bastante diferente de las usuales y presupone s olo una cierta familiaridad con la l ogica matem atica formal. Es perfectamente completa, excepto por un detalle t ecnico cuya demostraci on s olo esbozar e.

1 Ambos textos de George Boolos aparecen reproducidos asimismo en el libro reciente de Reuben Hersch, What is Mathematics, really?, Oxford University Press, Oxford, 1997

522

UNA DEMOSTRACION

DEL

TEOREMA DE GODEL

Nuestra demostraci on se sirve de la paradoja de Berry. Bertrand Russell, en varios de sus art culos, atribu a a G. C. Berry, bibliotecario de la Universidad de Oxford, la paradoja sobre el m nimo entero que no puede ser denido con menos de catorce palabras. La paradoja, desde luego, estriba en que se ha denido el tal entero con trece palabras. Sobre la paradoja de Berry dijo Bertrand Russell en cierta ocasi on: Tiene el m erito de no salirse del a mbito de los n umeros nitos 2 . Antes de comenzar, hemos de hablar, siquiera brevemente, sobre algoritmos y sobre enunciados de la Aritm etica, y sobre lo que verdaderoo falsosignican en el contexto que aqu nos concierne. Empecemos por los enunciados de la Aritm etica. El lenguaje de la Aritm etica contiene los signos + y para la adici on y la multiplicaci on, un nombre 0 para el cero, y un signo s para el sucesor (la operaci on de a nadir 1). Tambi en contiene el signo de igualdad =, as como los s mbolos l ogicos (no), (y), (o), (si . . . entonces . . . ), ( . . . s y s olo si . . . ), (para todo) y (para alg un o existe), y los par entesis. Las variables del lenguaje de la Aritm etica son las expresiones x, x , x . . . construidos con umeros los s mbolos x y : los valores que pueden tomar estas variables son los n naturales: {0, 1, 2, . . . }. Nos referiremos abreviadamente a estas variables con las letras y, z , etc. Con todo esto ya podemos entender sucientemente bien lo que verdadero y falso signican en el lenguaje de la Aritm etica; por ejemplo, y x, x = sy es un enunciado falso, por que no es cierto que todo n umero natural x sea el sucesor de alg un n umero natural y . (El cero es un contraejemplo: no es el sucesor de ning un n umero natural.) Por otro lado, xy, (x = (y + y ) x = s(y + y )) es un enunciado verdadero: porque para todo n umero natural x hay un n umero natural y tal que ora x = 2y bien x = 2y + 1. Vemos tambi en que hay muchas nociones que se pueden expresar con el lenguaje de la Aritm etica, verbigracia, ser menor que: x < y puede denirse mediante: z (sz + x = y ) (para alg un n umero natural z, el sucesor de z m as x da y ). Y ahora vemos que xy [ss0 (x x) = (y y ) x = 0] es bueno, p ongase a prueba, es cierto o falso? (Una buena sugerencia: 2 es irracional). Para el prop osito que aqu nos ocupan, no hace falta formalizar la sintaxis y la sem antica del lenguaje de la Aritm etica m as all a de lo ya expuesto. Por algoritmo entendemos un procedimiento o rutina computacional (sea autom atica, efectiva o mec anica) de las habituales; por ejemplo, un programa en un lenguaje de computaci on como C , Basic, Lisp, . . . , una m aquina
2 Bertrand Russell, On Insolubilia and Their Solution by Symbolic Logic en Essays in Anlysis, editores Douglas Lackey y George Brazillier, Nueva York, 1973, p. 210.

LA GACETA

523

de Turing, una caja registradora, un algoritmo de Markov, . . . , o lo que sea. Suponemos que el algoritmo tiene una salida, las cosas que imprime durante o al nalizar la computaci on. (Desde luego, un algoritmo podr a producir una salida vac a.) Si el algoritmo es un sistema formal, entonces su salida no es otra cosa que el conjunto de enunciados que se pueden probar dentro del sistema. Aunque el lenguaje de la Aritm etica contiene s olo los s mbolos s, +, y de ciertas operaciones, muchos enunciados de Matem aticas se pueden formular como enunciados en el lenguaje de la Aritm etica, incluyendo pro posiciones tan famosas como el Ultimo Teorema de Fermat, la Conjetura de Goldbach, la Hip otesis de Riemann y la hip otesis com unmente aceptada de que P = N P . De manera que si hubiera un algoritmo que imprimiera todos los enunciados verdaderos de la Aritm etica sin incluir ninguno falso lo que seg un el teorema de G odel que aqu nos ocupa no es posible tendr amos una forma de averiguar si estas proposiciones todav a sin dilucidar3 son ciertas o no, y tendr amos adem as un procedimiento para decidir si un enunciado cualquiera S que se puede expresar en el lenguaje de Aritm etica es cierto: basta con iniciar el algoritmo, y simplemente esperar hasta ver si el algoritmo imprime S o su negaci on S . (A la postre imprimir a exactamente uno de los dos: S o S , pues el algoritmo imprime s olo verdades y ninguna falsedad, y, ciertamente, ora S bien S es verdadero.) Pero, por desgracia, no hay que preocuparse por si el algoritmo va a invertir demasiado tiempo en responder a una pregunta concreta cuya respuesta nos interese, porque, como vamos a ver a continuaci on, no hay ning un algoritmo capaz de hacerlo, ni siquiera uno que fuera absurdamente lento. Para demostrar que no existe ning un algoritmo cuya salida incluya todos los enunciados verdaderos de la Aritm etica y sin contener ninguno que sea falso, supondremos que M es un algoritmo cuya salida no contiene ning un enunciado falso de la Aritm etica y demostraremos, entonces, como hallar un enunciado verdadero de la Aritm etica que no se encuentra en la salida de M , lo que demostrar a el teorema. Para cualquier n umero natural n, denotaremos por [n] la expresi on que consta de 0 precedido por n s mbolos s de sucesor. Por ejemplo, [3] es sss0. Obs ervese que la expresi on [n] representa al n umero n. Necesitamos una denici on m as: Diremos que una f ormula F (x) nombra al n umero natural n si el siguiente enunciado es parte de la salida del algoritmo M: x(F (x) x = [n]) . on de nombra hace referencia al algoritmo M . As , Obs ervese como la denici por ejemplo, si x(x + x = ssss0 x = ss0) se encuentra en la salida de M , entonces la f ormula x + x = ssss0 nombra al n umero 2. Ninguna f ormula puede nombrar a dos n umeros diferentes, porque si x((F (x) x = [n])
3

Este art culo es anterior a la demostraci on de Wiles del Ultimo Teorema de Fermat.

524

UNA DEMOSTRACION

DEL

TEOREMA DE GODEL

x(F (x) x = [p]) x(x = [n] x = [p])

son ambas ciertas, entonces tambi en son ciertas

[n] = [p] ,

y el n umero n debe ser igual al n umero p. Adem as, para cada n umero i, hay tan s olo una cantidad nita de f ormulas que contienen i s mbolos. (Puesto que hay s olo 16 s mbolos primitivos en el lenguaje de la Aritm etica, hay a lo sumo ormulas con i s mbolos.) Por tanto, para cada i, hay tan s olo un n umero 16i f nito de n umeros que se pueden nombrar mediante f ormulas que contengan i s mbolos. Por consiguiente, para cada m hay un n umero nito (en realidad, umeros que se pueden nombrar mediante 16m1 + 16m2 + . . . + 161 + 160 ) n f ormulas de menos de m s mbolos; hay alg un n umero que no se puede nombrar mediante ninguna f ormula que tenga menos de m s mbolos; y por consiguiente hay un n umero m as peque no entre aquellos que no se pueden nombrar mediante f ormulas de menos de m s mbolos. Sea C (x, z ) una f ormula del lenguaje de la Aritm etica que dice que una f ormula que contiene z s mbolos nombra a x. El detalle t ecnico que mencionamos anteriormente y que necesitamos ahora es que cualquiera que sea el algoritmo M , hay una tal f ormula C (x, z ). Esbozaremos la construcci on de C (x, z ) en el comentario (3) de la p agina 526. Consideremos ahora B (x, y ), la f ormula z (z < y C (x, z )) Esta f ormula B (x, y ) dice que se puede nombrar a x mediante alguna f ormula que contiene menos de y s mbolos. Se ahora A(x, y ) la f ormula (B (x, y ) a(a < x B (a, y ))) . A(x, y ) dice que x es el menor n umero que no puede ser nombrado mediante una f ormula que contenga menos de y s mbolos. Sea k el n umero de s mbolos en A(x, y ). k > 3. Finalmente, sea F (x) la f ormula y (y = ([10] [k] A(x, y ))) . F (x) dice que x es el menor n umero que no se puede nombrar mediante ninguna f ormula que contenga menos de 10k s mbolos. Cu antos s mbolos contiene F ? Bueno, [10] contiene 11 s mbolos, [k] contiene k + 1, A(x, y ) contiene k, que en total 2k + 24. Como y hay otros 12 s mbolos (puesto que y = x ): as k > 3, 2k + 24 < 10k, y F (x) contiene menos de 10k s mbolos. Ya observamos anteriormente que para cada m hay un n umero que es el m as peque no entre los que no pueden ser nombrados mediante f ormulas que contienen menos de

LA GACETA

525

m s mbolos. Para m = 10k, sea n el menor de tales n umeros. Entonces F (x) no nombra a n; en otras palabras, x(F (x) x = [n]) no se encuentra en la salida de M . Pero x(F (x) x = [n]) es un enunciado verdadero, puesto que n es el menor n umero no nombrado por ninguna f ormula que contenga menos de 10k s mbolos! As que hemos encontrado un enunciado verdadero que no est a en la salida de M , a saber, x(F (x) x = [n]) Q.E.D.

Algunos comentarios sobre la demostraci on: 1. En nuestra demostraci on, los s mbolos son las s labas, y de la misma manera que veinticuatro contiene 4 < 24 s labas, ([10] k) contiene (k + 15) < 10k s mbolos. odel, Georg Kreis cuenta como 2. En una nota biogr aca4 sobre Kurt G G odel atribu a su exito no tanto a la inventiva matem atica como a prestar atenci on a las sutilezas los ocas. Gregory Chaitin coment o en alguna ocasi on que una de sus demostraciones de la incompletitud se asemejaba a la paradoja de Berry m as que a la paradoja del mentiroso de Epim enides (Lo que estoy diciendo ahora no es cierto)5 . La demostraci on de Chaitin usa la noci on de complejidad de un n umero natural, i.e., el n umero m nimo de instrucciones en el programa que en una m aquina de Turing imprime ese n umero, y de varias otras nociones de la Teor a de Computaci on. Nuestra demostraci on no usa ninguna de estas nociones, aunque las observaciones que hemos rese nado de Kreisel y Chaitin, y que el autor ley o m as o menos al mismo tiempo, supusieron un acicate para nuestro trabajo.
Georg Kreisel, Kurt G odel, 28 April 190614 January 1978. Biographical memoirs of Fellows of the Royal Society 26 (1980), p. 150. 5 Como exposici on de las demostraciones de incompletitud de Chaitin, recomendamos Martin Davis, What is computation? en Mathematics Today, editor Lynn Arthur Steeen, Vintage Books, Nueva York, 1980, p aginas 241-267. La observaci on de Chaitin se encuentra en Gregory Chaitin, Computational complexity and G odels incompleteness theorem, (Abstract) Notices of the American Mathematical Society 17 (1970), p agina 672.
4

526

UNA DEMOSTRACION

DEL

TEOREMA DE GODEL

3. Vamos ahora a esbozar la construcci on de una formula C (x, z ) que dice que x es un n umero nombrado por una f ormula que contiene z s mbolos. Las ideas clave son las siguientes: (a) considerar que podemos interpretar que algoritmos como M act uan sobre expresiones, o lo que es lo mismo, sobre sucesiones nitas de s mbolos; (b) la posibilidad de asignar c odigos num ericos, de forma an aloga a como se hace con los c odigos ASCII, a los s mbolos (los l ogicos suelen llamar n umeros de G odel a estos c odigos); (c) el uso de ciertos trucos de Teor a de N umeros para codicar expresiones como n umeros y operaciones sobre expresiones como operaciones sobre los n umeros que las codican; (d) y, nalmente, que todas estas operaciones num ericas se pueden denir en t erminos de la suma, la multiplicaci on y las nociones de la L ogica. De esta forma, las argumentaciones sobre s mbolos y expresiones (y de sucesiones nitas de expresiones, etc.) pueden, por consiguiente, codicarse como argumentaciones sobre los n umeros naturales que los codican. Para construir una f ormula que dice que alguna f ormula que contiene i s mbolos nombra a n se escribe una f ormula que dice que hay una sucesi on de operaciones del algoritmo M (que operan sobre expresiones) que generan la expresi on que consta de , , los i s mbolos de alguna f ormula F (x) del lenguaje de la Aritm etica, , x, =, n s mbolos consecutivos de sucesor s, 0 y . La numeraci on de G odel y ciertos trucos de Teor a de N umeros permiten entonces que toda esa discusi on de s mbolos, suormulas de la cesiones y operaciones de M pueda ser codicada como f Aritm etica. 4. Ambas demostraciones, la nuestra y la est andar, hacen uso de la numeraci on de G odel. Adem as, las verdades indemostrables en nuestra demostraci on y en la est andar pueden, en ambas casos, obtenerse mediante la substituci on de un nombre por un n umero en una cierta f ormula crucial. Hay, sin embargo, una importante diferencia entre ellas. En la prueba tradicional, el n umero cuya nombre se substituye es el c odigo de la f ormula en la que se substituye; en la nuestra es el verdadero n umero del que la f ormula es verdad. En vista de esta distinci on parece justicado decir que en nuestra demostraci on, al contrario de lo que sucede en la demostraci on usual, la diagonalizaci on no desempe na papel alguno.

LA GACETA

527

Carta de George Boolos


Algunos lectores de mi demostraci on del Teorema de G odel han alabado su brevedad, creyendo, en apariencia, que el uso de la paradoja de Berry es responsable de su concisi on. Parece, por tanto, oportuno hacer notar que, siempre y cuando ya se disponga de una sintaxis aritmetizada, se puede dar una demostraci on a un m as corta, en esencia la del propio G odel en la introducci on de su famoso Sobre proposiciones formalmente indecidibles . . . . A saber: Digamos que m se aplica sobre n, si F (n) es parte de la salida de M , donde F (n) es la f ormula con n umero de G odel m. Sea A(x, y ) la expresi on se aplica eny sea n el n umero de G odel de A(x, x). Si n se aplica sobre n, el enunciado falso A([n], [n]) es parte de la salida de M , lo que es imposible; por consiguiente, n no se aplica sobre n y A([n], [n]) es una verdad que no es parte de la salida de M . Este argumento oculta la gran cantidad de trabajo que se precisa para construir una f ormula A(x, y ) adecuada; la demostraci on de la existencia de esa f ormula clave C (x, y ) en mi demostraci on requiere al menos el mismo on esfuerzo. Lo que al autor considera de particular inter es en su demostraci basada en la paradoja de Berry no es su brevedad sino que exhibe una raz on distinta del porqu e de la incompletitud de los algoritmos.

n: Carmelo Alonso Torres Traduccio

S-ar putea să vă placă și