LA GACETA

521

Una demostraci´ on del Teorema de Incompletitud de G¨ odel
por George Boolos

George Boolos (1940–96) 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

∀ (para todo) y ∃ (para alg´ un o existe). atribu´ ıa a G. (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. Berry. un nombre 0 para el cero. la paradoja sobre el m´ ınimo entero que no puede ser definido con menos de catorce palabras. por que no es cierto que todo n´ umero natural x sea el sucesor de alg´ un n´ umero natural y . x = sy es un enunciado falso. construidos con umeros los s´ ımbolos x y : los valores que pueden tomar estas variables son los n´ naturales: {0. as´ ı como los s´ ımbolos l´ ogicos ¬ (no). → (si . s´ ı y s´ olo si . . . una m´ aquina 2 Bertrand Russell. C. ). sobre algoritmos y sobre “enunciados de la Aritm´ etica”. ∧ (y). On Insolubilia and Their Solution by Symbolic Logic en Essays in Anlysis. “ser menor que”: x < y puede definirse mediante: ∃z (sz + x = y ) (para alg´ un n´ umero natural z. estriba en que se ha definido el tal entero con trece palabras. bibliotecario de la Universidad de Oxford. . Antes de comenzar. . . . x . por ejemplo. }. 1. 1973. La paradoja. . ). 2. . Lisp. verbigracia. . . y un signo s para el sucesor (la operaci´ on de a˜ nadir 1). 210. Por algoritmo entendemos un procedimiento o rutina computacional (sea autom´ atica. hemos de hablar. Nueva York. ∀y ∃x. entonces . etc. y los par´ entesis. en varios de sus art´ ıculos. (El cero es un contraejemplo: no es el sucesor de ning´ un n´ umero natural. no hace falta formalizar la sintaxis y la sem´ antica del lenguaje de la Aritm´ etica m´ as all´ a de lo ya expuesto. .522 ´ UNA DEMOSTRACION DEL ¨ TEOREMA DE GODEL Nuestra demostraci´ on se sirve de la paradoja de Berry. y sobre lo que “verdadero”o “falso”significan en el contexto que aqu´ ı nos concierne. Las variables del lenguaje de la Aritm´ etica son las expresiones x. . ∀x∃y. Vemos tambi´ en que hay muchas nociones que se pueden expresar con el lenguaje de la Aritm´ etica. Empecemos por los “enunciados de la Aritm´ etica”. Nos referiremos abreviadamente a estas variables con las letras y. Bertrand Russell. . efectiva o mec´ anica) de las habituales. editores Douglas Lackey y George Brazillier. . x . por ejemplo. ¿es cierto o falso? (Una buena sugerencia: 2 es irracional). ←→ ( . siquiera brevemente. El lenguaje de la Aritm´ etica contiene los signos + y × para la adici´ on y la multiplicaci´ on.) Por otro lado. . 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 finitos ”2 . . desde luego. un programa en un lenguaje de computaci´ on como C . z . Para el prop´ osito que aqu´ ı nos ocupan. Y ahora vemos que ∀x∀y [ss0 × (x × x) = (y × y ) → x = 0] √ es —bueno. Basic. el sucesor de z m´ as x da y ). . p. . p´ ongase a prueba. Con todo esto ya podemos entender suficientemente bien lo que verdadero y falso significan en el lenguaje de la Aritm´ etica. Tambi´ en contiene el signo de igualdad =. ∨ (o).

un algoritmo de Markov. 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. muchos enunciados de Matem´ aticas se pueden formular como enunciados en el lenguaje de la Aritm´ etica. Aunque el lenguaje de la Aritm´ etica contiene s´ olo los s´ ımbolos s. (Desde luego. 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.) Pero. no hay ning´ un algoritmo capaz de hacerlo. pues el algoritmo imprime s´ olo verdades y ninguna falsedad. y. entonces su salida no es otra cosa que el conjunto de enunciados que se pueden probar dentro del sistema. . la Conjetura de Goldbach. porque si ∀x((F (x) ←→ x = [n]) 3 ´ Este art´ ıculo es anterior a la demostraci´ on de Wiles del Ultimo Teorema de Fermat. lo que demostrar´ a el teorema. las cosas que “imprime” durante o al finalizar la computaci´ on. como hallar un enunciado verdadero de la Aritm´ etica que no se encuentra en la salida de M . un algoritmo podr´ ıa producir una salida vac´ ıa. ora S bien ¬S es verdadero. y × de ciertas operaciones. (A la postre imprimir´ a exactamente uno de los dos: S o ¬S . As´ ı. Para cualquier n´ umero natural n. denotaremos por [n] la expresi´ on que consta de 0 precedido por n s´ ımbolos s de sucesor. . +. . no hay que preocuparse por si el algoritmo va a invertir demasiado tiempo en responder a una pregunta concreta cuya respuesta nos interese. Obs´ ervese como la definici´ por ejemplo.) Si el algoritmo es un sistema formal. ni siquiera uno que fuera absurdamente lento. incluyendo pro´ posiciones tan famosas como el Ultimo Teorema de Fermat. 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. Por ejemplo. una caja registradora. Obs´ ervese que la expresi´ on [n] representa al n´ umero n. o lo que sea. como vamos a ver a continuaci´ on. porque. por desgracia. entonces. y simplemente esperar hasta ver si el algoritmo imprime S o su negaci´ on ¬S . . Necesitamos una definici´ 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]) . Ninguna f´ ormula puede nombrar a dos n´ umeros diferentes. entonces la f´ ormula x + x = ssss0 nombra al n´ umero 2. si ∀x(x + x = ssss0 ←→ x = ss0) se encuentra en la salida de M .LA GACETA 523 de Turing. la Hip´ otesis de Riemann y la hip´ otesis com´ unmente aceptada de que P = N P . [3] es sss0. Suponemos que el algoritmo tiene una salida. on de nombra hace referencia al algoritmo M . ciertamente. . supondremos que M es un algoritmo cuya salida no contiene ning´ un enunciado falso de la Aritm´ etica y demostraremos.

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. y F (x) contiene menos de 10k s´ ımbolos. para cada i. la f´ ormula ∃z (z < y ∧ C (x.) Por tanto. 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. z ). Esbozaremos la construcci´ on de C (x. Como y hay otros 12 s´ ımbolos (puesto que y = x ): as´ k > 3. y ). Sea k el n´ umero de s´ ımbolos en A(x. k > 3. y ) la f´ ormula (¬B (x. . 2k + 24 < 10k. para cada m hay un n´ umero finito (en realidad. hay una tal f´ ormula C (x. Finalmente. [k] contiene k + 1. (Puesto que hay s´ olo 16 s´ ımbolos primitivos en el lenguaje de la Aritm´ etica. Sea C (x. y ) dice que se puede nombrar a x mediante alguna f´ ormula que contiene menos de y s´ ımbolos. hay tan s´ olo una cantidad finita de f´ ormulas que contienen i s´ ımbolos. Adem´ as. y el n´ umero n debe ser igual al n´ umero p. [10] contiene 11 s´ ımbolos. y ). A(x. umeros que se pueden nombrar mediante ≤ 16m−1 + 16m−2 + . para cada n´ umero i. + 161 + 160 ) n´ f´ ormulas de menos de m s´ ımbolos. Consideremos ahora B (x. Por consiguiente. sea F (x) la f´ ormula ∃y (y = ([10] × [k] ∧ A(x. . hay alg´ un n´ umero que no se puede nombrar mediante ninguna f´ ormula que tenga menos de m s´ ımbolos. ı que en total 2k + 24. hay tan s´ olo un n´ umero 16i f´ finito de n´ umeros que se pueden nombrar mediante f´ ormulas que contengan i s´ ımbolos. ¿Cu´ antos s´ ımbolos contiene F ? Bueno. Se ahora A(x. y ) contiene k.524 ´ UNA DEMOSTRACION DEL ¨ TEOREMA DE GODEL y ∀x(F (x) ←→ x = [p]) ∀x(x = [n] ←→ x = [p]) son ambas ciertas. hay a lo sumo ormulas con i 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. El detalle t´ ecnico que mencionamos anteriormente y que necesitamos ahora es que cualquiera que sea el algoritmo M . entonces tambi´ en son ciertas y [n] = [p] . z ) en el comentario (3) de la p´ agina 526. y ))) . z )) Esta f´ ormula B (x. A(x. y ))) . y ) ∧ ∀a(a < x → B (a. 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 . z ) una f´ ormula del lenguaje de la Aritm´ etica que dice que una f´ ormula que contiene z s´ ımbolos nombra a x.

aunque las observaciones que hemos rese˜ nado de Kreisel y Chaitin. p´ aginas 241-267. ∀x(F (x) ←→ x = [n]) Q. 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 .E. editor Lynn Arthur Steeen.e. recomendamos Martin Davis. Nuestra demostraci´ on no usa ninguna de estas nociones. Georg Kreis cuenta como 2. Nueva York. 1980. 28 April 1906–14 January 1978”. y que el autor ley´ o m´ as o menos al mismo tiempo. 4 . y de la misma manera que “veinticuatro” contiene 4 < 24 s´ ılabas. y de varias otras nociones de la Teor´ ıa de Computaci´ on. 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 . p´ agina 672. p. La demostraci´ on de Chaitin usa la noci´ on de complejidad de un n´ umero natural. La observaci´ on de Chaitin se encuentra en Gregory Chaitin. “Computational complexity and G¨ odel’s incompleteness theorem”. (Abstract) Notices of the American Mathematical Society 17 (1970). En una nota biogr´ afica4 sobre Kurt G¨ G¨ odel atribu´ ıa su ´ exito no tanto a la inventiva matem´ atica como a prestar atenci´ on a las sutilezas filos´ oficas. ([10] × k) contiene (k + 15) < 10k s´ ımbolos. a saber.LA GACETA 525 m s´ ımbolos. sea n el menor de tales n´ umeros. Algunos comentarios sobre la demostraci´ on: 1. Para m = 10k. supusieron un acicate para nuestro trabajo. En nuestra demostraci´ on. odel. ∀x(F (x) ←→ x = [n]) no se encuentra en la salida de M . Vintage Books. “What is computation?” en Mathematics Today. en otras palabras.D. 5 Como exposici´ on de las demostraciones de incompletitud de Chaitin. Georg Kreisel. “Kurt G¨ odel. Biographical memoirs of Fellows of the Royal Society 26 (1980). i. Entonces F (x) no nombra a n. el n´ umero m´ ınimo de instrucciones en el programa que en una m´ aquina de Turing imprime ese n´ umero.. los s´ ımbolos son las “s´ ılabas”. 150. ¡Pero ∀x(F (x) ←→ x = [n]) es un enunciado verdadero.

. en ambas casos. al contrario de lo que sucede en la demostraci´ on usual.) pueden. que todas estas operaciones num´ ericas se pueden definir en t´ erminos de la suma. Ambas demostraciones. 4. sobre sucesiones finitas de s´ ımbolos. por consiguiente. x. De esta forma. etc. la nuestra y la est´ andar. En la prueba tradicional. 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. Vamos ahora a esbozar la construcci´ on de una formula C (x. n s´ ımbolos consecutivos de sucesor s. Adem´ as. En vista de esta distinci´ on parece justificado decir que en nuestra demostraci´ on. codificarse como argumentaciones sobre los n´ umeros naturales que los codifican. a los s´ ımbolos (los l´ ogicos suelen llamar n´ umeros de G¨ odel a estos c´ odigos). suormulas de la cesiones y operaciones de M pueda ser codificada como f´ Aritm´ etica. hacen uso de la numeraci´ on de G¨ odel. obtenerse mediante la substituci´ on de un nombre por un n´ umero en una cierta f´ ormula crucial. z ) que dice que x es un n´ umero nombrado por una f´ ormula que contiene z s´ ımbolos. (d) y. finalmente. la multiplicaci´ on y las nociones de la L´ ogica. Hay. 0 y ∧. =. o lo que es lo mismo. sin embargo. (c) el uso de ciertos trucos de Teor´ ıa de N´ umeros para codificar expresiones como n´ umeros y operaciones sobre expresiones como operaciones sobre los n´ umeros que las codifican. los i s´ ımbolos de alguna f´ ormula F (x) del lenguaje de la Aritm´ etica. una importante diferencia entre ellas.526 ´ UNA DEMOSTRACION DEL ¨ TEOREMA DE GODEL 3. Las ideas clave son las siguientes: (a) considerar que podemos interpretar que algoritmos como M act´ uan sobre “expresiones”. ←→. las verdades indemostrables en nuestra demostraci´ on y en la est´ andar pueden. las argumentaciones sobre s´ ımbolos y expresiones (y de sucesiones finitas de expresiones. ∃. la diagonalizaci´ on no desempe˜ na papel alguno. 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 ∀. 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. (b) la posibilidad de asignar c´ odigos num´ ericos. de forma an´ aloga a como se hace con los c´ odigos ASCII.

´ n: Carmelo Alonso Torres Traduccio . donde F (n) es la f´ ormula con n´ umero de G¨ odel m. lo que es imposible. y ) adecuada. creyendo. en apariencia. se puede dar una demostraci´ on a´ un m´ as corta. x). y ) la expresi´ on “se aplica en”y sea n el n´ umero de G¨ odel de ¬A(x. n no se aplica sobre n y ¬A([n]. el enunciado falso ¬A([n].LA GACETA 527 Carta de George Boolos Algunos lectores de mi demostraci´ on del Teorema de G¨ odel han alabado su brevedad. en esencia la del propio G¨ odel en la introducci´ on de su famoso “Sobre proposiciones formalmente indecidibles . Este argumento oculta la gran cantidad de trabajo que se precisa para construir una f´ ormula A(x. y ) en mi demostraci´ on requiere al menos el mismo on esfuerzo. Si n se aplica sobre n. . A saber: Digamos que m se aplica sobre n. que el uso de la paradoja de Berry es responsable de su concisi´ on. oportuno hacer notar que. por tanto. ”. Sea A(x. . siempre y cuando ya se disponga de una sintaxis aritmetizada. [n]) es una verdad que no es parte de la salida de M . [n]) es parte de la salida de M . por consiguiente. si F (n) es parte de la salida de M . la demostraci´ on de la existencia de esa f´ ormula clave C (x. 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. Parece.