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

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

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

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

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

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

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