...del día en que Kurt Gödel levantó la mano en el congreso de Königsberg y anunció por primera vez sus teoremas de incompletitud.
7.9.20
2.11.19
12.4.15
Adenda a "¿La mente humana?"
La frase en cuestión dice: "el teorema de Gödel implica que hay problemas que no son resolubles algorítmicamente". Ahora bien, en referencia a ella, en su mensaje privado Hernán agrega: eso aplica más para el teorema de Turing pero se entiende el punto. Quiero aprovechar este comentario de Hernán para hacer un agregado a la entrada original, un agregado que en aquel momento preferí omitir para no desviarme del tema central.
Es verdad que se le atribuye a Alan Turing (con justicia hay que decir) el descubrimiento de que existen problemas matemáticos que no son resolubles algorítmicamente; concretamente Turing probó que el Halting Problem es irresoluble. Pero no es menos cierto que la existencia de problemas matemáticos que no son resolubles algorítmicamente también se deduce (como dije en la entrada original) del teorema de incompletitud de Gödel. Veamos...
El teorema de Gödel dice que no es posible dar un sistema de axiomas para la Aritmética que sea al mismo tiempo consistente, recursivo y completo. "Consistente" significa que no existe un enunciado P tal que tanto P como su negación sean demostrables. "Recursivo" significa que existe un algoritmo que reconoce si un enunciado es, o no, un axioma. "Completo" es que para todo enunciado P, o bien él, o bien su negación, es demostrable.
Supongamos ahora que propongo como sistema de axiomas a todos los enunciados aritméticos verdaderos. No es difícil probar que este sistema es consistente y completo (ambas características se deducen del hecho de que todos los enunciados verdaderos, y sólo los verdaderos, resultan ser demostrables). Por el teorema de Gödel, entonces, el sistema no puede ser recursivo. En otras palabras, no existe un algoritmo que permita decidir si un enunciado es, o no, un axioma; es decir: no existe un algoritmo que permita decidir si un enunciado aritmético es, o no, verdadero. El problema de determinar la verdad de un enunciado aritmético no es resoluble algorítmicamente.
Ahora bien, si Gödel demostró su teorema en 1931 y el trabajo de Turing es de 1937 ¿por qué se le atribuye a Turing el descubrimiento? Porque en su artículo Gödel propone una definición posible de la idea de algoritmo "aritmético", pero reconoce que no está claro que su definición abarque todos los algoritmos posibles (de hecho, según se vio después, no los abarca). El gran mérito de Turing fue el haber dado una definición (una "modelización matemática", según la idea de la entrada anterior) de la idea de algoritmo lo suficientemente amplia como para abarcar (hasta donde se sabe) a todos los algoritmos posible. Es por eso que, recién después del trabajo de Turing pudo darse por demostrado la existencia de problemas no resolubles algorítmicamente; y fue asimismo después del trabajo de Turing (según Gödel reconoció en una posdata a su artículo) que pudo establecerse el alcance real del teorema de Gödel.
Un último comentario: así como la definición que dio Gödel para la idea de algoritmo resultó ser insuficiente, en el sentido de que hay algoritmos que la definición de Gödel no abarca, del mismo modo nada asegura que no haya algoritmos que queden "fuera" de la definición de Turing, aunque hasta el día de hoy nadie ha sido capaz de dar ni siquiera la insinuación de un ejemplo concreto.
2.4.15
¿La mente humana?
En esos comentarios sostuve la postura de que el teorema de Gödel no permite demostrar que la mente humana no es computable (a pesar de que lo contrario ha sido afirmado muchas veces por pensadores muy respetables). Algunos de mis interlocutores en aquel intercambio entendieron que yo estaba afirmando que no hay una diferencia esencial entre mente y computadora, cuando en realidad simplemente estaba afirmado que el teorema de Gödel no permite demostrar que esa diferencia existe. (En el mismo sentido, afirmar que el teorema de Gödel no permite demostrar la conjetura de Goldbach no es lo mismo que afirmar que la conjetura de Goldbach sea falsa).
Ahora bien... ¿por qué el teorema de Gödel no permite demostrar que la mente humana no es computable?
El teorema de Gódel es un teorema matemático que habla de entes matemáticos (ciertos conjuntos de enunciados) y que dice que si esos objetos cumplen ciertas hipótesis específicas entonces esos entes verifican ciertas propiedades claramente enunciadas. El punto a destacar aquí es que el teorema de Gödel es un teorema matemático que habla de ciertos objetos matemáticos. Por lo tanto, para que el teorema sea aplicable a una situación cualquiera, ésta debe haber sido, previamente, modelizada matemáticamente.
El teorema de Gódel, por ejemplo, permite demostrar que existen problemas matemáticos bien definidos que no puede ser resueltos algorítmicamente. ¿Por qué? Porque existe una definición matemática del concepto de algoritmo: matemáticamente, un "algoritmo" es una "máquina de Turing". En otras palabras, las máquinas de Turing modelizan matemáticamente el concepto de algoritmo. Si se acepta que este modelo es correcto (es decir, si se acepta que verdaderamente el concepto intuitivo de algoritmo está bien representado por la idea de máquina de Turing) entonces debe aceptarse que el teorema de Gödel implica que hay problemas que no son resolubles algorítmicamente Si hubiera algoritmos no representables por máquinas de Turing entonces esa conclusión no estaría justificada.
Creo que ahora puede verse hacia dónde voy... Para que el teorema de Gödel pueda decir algo acerca de la mente humana debería existir, previamente, una definición matemática (un modelo matemático) de la mente. Debería haber una definición que nos diga (o nos permita demostrar) qué puede hacer, o qué no puede hacer la menta humana. Todas las supuestas demostraciones de que mente humana no es computable suelen caer en la falacia de atribuirle a la mente, sin ninguna justificación, aquellas propiedades que el razonamiento necesita que verifique. (El razonamiento típico dice: un algoritmo no puede hacer H, pero la mente sí, luego mente y computadora son diferente. Pero.. ¿por qué la mente puede hacer H? Respuesta: porque sí.)
¿Cómo podría definirse matemáticamente la mente? Por ejemplo, podríamos decir que la mente es una máquina de Turing con un oráculo que resuelve el halting problem. Desde luego, si aceptáramos esta definición entonces podríamos deducir inmediatamente que existe una diferencia esencial entre mente y computadora, pero... ¿esa que hemos dado es una definición aceptable de la mente? La respuesta, creo, es "claramente no". Y mientras no haya una definición matemática, aceptable, del concepto de "mente humana" el teorema de Gödel no podrá (legítimamente, al menos) decir nada al respecto.
"Dénme un punto de apoyo y moveré el mundo", dicen que dijo Arquímedes. Parafraseando a Arquímedes, Gödel podría haber dicho; "Dénme una definición matemática de la mente y les diré si es computable o no".
12.8.13
Algunos conceptos relacionados con el Teorema de Gödel
Los teoremas de Gödel, publicados en 1931, nacieron en el contexto de una larga polémica sobre los fundamentos de la matemática cuyos orígenes se remontan a la década de 1870 con el descubrimiento por parte de Georg Cantor de los cardinales transfinitos, y que se había intensificado a partir de 1902 tras el hallazgo de la paradoja de Russell.
El campo de batalla de esta polémica era nada menos que el infinito. La escuela constructivista, encabezada por L.E.J. Brouwer, sostenía que la introducción del infinito en acto en matemática era absurda e injustificada y que la teoría de los transfinitos de Cantor era solamente un juego de palabras sin sentido. Los únicos objetos matemáticos válidos, sostenía esta escuela, son aquellos que se pueden construir mecánicamente en una cantidad finita de pasos.
Hacia 1920, con el objetivo fundamental de defender a la teoría de Cantor (y bajo el lema “Del paraíso que Cantor creó para nosotros nadie podrá expulsarnos”), interviene en la polémica el matemático alemán David Hilbert quien, en una serie de artículos publicados a lo largo de siguientes diez años, propone el que hoy es conocido como el Programa de Hilbert y que, en esencia, quitaba la exigencia de finitud y de constructividad de los objetos matemáticos para desplazarla a los razonamientos matemáticos.
Con más precisión, Hilbert proponía la creación de una nueva ciencia a la que él llamaba metamatemática. Esta ciencia tendría como objetivo el verificar la validez de los razonamientos matemáticos. Para evitar polémicas, y para asegurarse de que no surgieran paradojas, esta ciencia sería puramente sintáctica: la metamatemática trataría a los enunciados y a los razonamientos matemáticos como si fueran simples secuencias de símbolos sin significado a los que manipularía mecánicamente.
Se ha dicho en muchos textos de divulgación que el Programa de Hilbert proponía reducir la matemática a un juego de símbolos carente de significado; se ha dicho también que para Hilbert el concepto de "verdad matemática" carecía de sentido. Nada de esto es correcto. Hilbert era ante todo un investigador matemático, el mejor de su tiempo, por lo que es inimaginable que pudiera pensar de esa manera. Hilbert atribuía la reducción a simples manipulaciones de símbolos a la metamatemática, no a la matemática en sí. Los matemáticos, para Hilbert, seguirían trabajando como siempre han hecho a nivel semántico, un nivel lleno de significados. El matemático, en el día a día, trabaja, crea, conjetura y demuestra, como si lo que tuviera entre manos fueran objetos reales. La metamatemática, según la idea de Hilbert, trabajaría a nivel sintáctico y sólo proveería los métodos para verificar si los razonamientos que el matemático ha hecho son correctos.
En concreto, el Programa de Hilbert proponía dar un conjunto de axiomas para la aritmética que cumpliera las siguientes cuatro condiciones:
a) El sistema debía ser consistente; es decir, no debía existir un enunciado P tal que P y su negación fueran simultáneamente demostrables.
b) La validez de cualquier demostración debía ser verificable por manipulaciones mecánicas en una cantidad finita de pasos. Traducida a un lenguaje moderno, esta condición dice que debía ser posible, al menos en teoría, programar una computadora de tal modo que fuese capaz de verificar la validez de los razonamientos matemáticos,
c) Dado cualquier enunciado P, o bien él o bien su negación debía ser demostrable.
d) La consistencia de los axiomas debía ser verificable mecánicamente en una cantidad finita de pasos.
Como se ha dicho, Hilbert fue dando forma a este programa a lo largo de la década de 1920; sin embargo, en 1931 los teoremas de Gödel demostraron que esas cuatro condiciones no pueden cumplirse a la vez.
Concretamente, el primer teorema de incompletitud de Gödel dice que si se cumplen las condiciones a) y b) entonces necesariamente la condición c) falla. Por su parte, el llamado segundo teorema de incompletitud de Gödel, del que no nos ocuparemos aquí, prueba que si se cumplen las condicoiones a) y b) entonces es la condición d) la que falla.
2. La numeración de Gödel
En lo que sigue, expondremos las ideas principales de la demostración del primer teorema de Gödel. Supongamos, entonces, que se ha dado un conjunto de axiomas para la aritmética que cumple las condiciones a) y b). En realidad, a los efectos de nuestro desarrollo, y para evitar tecnicismos, supondremos que todos los axiomas propuestos son enunciados verdaderos.
Estrictamente hablando, esta última hipótesis no es necesaria para demostrar el primer teorema de Gödel, sin embargo, por una parte, es obvio que se trata de una suposición perfectamente razonable (nadie propondría seriamente basar la aritmética en axiomas falsos). Por otra parte, además, suponer que los axiomas son enunciados verdaderos implica inmediatamente que estos satisfacen la condición a); en efecto, si todos los axiomas son verdaderos entonces los teoremas que se deducen de ellos son también enunciados verdaderos. En otras palabras, es imposible demostrar un enunciado falso, por lo que, tal como pide la condición a), nunca sucederá que exista un enunciado P tal que él y su negación sean a la vez demostrables.
Como se ha dicho más arriba, supondremos también que se cumple la condición b), es decir, que la validez de toda demostración basada en los axiomas elegidos es verificable algorítmicamente en una cantidad finita de pasos.
El comienzo de la demostración del primer teorema de Gödel consiste en asignar a cada enunciado aritmético un número natural, llamado el número de Gödel de ese enunciado. Por ejemplo, al enunciado “2 es un número par” podría corresponderle el número de Gödel 23.627; o al enunciado “22 es un número primo” podría corresponderle el número de Gödel 11.705.
Debemos hacer aquí varias aclaraciones. La primera es que el enunciado “22 es un número primo” es evidentemente falso; en efecto, Gödel le asigna un número a cada enunciado aritmético, tanto a los verdaderos como a los falsos. La segunda aclaración, muy importante, es que la asignación de los números de Gödel no se hace al azar; los ejemplos mostrados más arriba son puramente hipotéticos y tienen el único objetivo de ejemplificar la idea de que a cada enunciado se le asigna un número. Estos ejemplos no deben ser tomados de ninguna manera como representativos del modo en que los números de Gödel son asignados. En realidad, antes de hacer la asignación cada enunciado debe ser traducido a un lenguaje formal estrictamente definido; sólo después de que esa traducción se ha completado el número de Gödel correspondiente al enunciado en cuestión es calculado mediante un procedimiento algorítmico rigurosamente especificado. En la práctica, de hecho, el número de Gödel de cualquier enunciado, aun de los más simples, tiene siempre una gran cantidad de cifras.
Una vez que se ha asignado un número de Gödel a cada enunciado, queda bien definido el conjunto de los números de Gödel de todos los enunciados que son demostrables a partir de los axiomas propuestos. El grueso de la demostración del primer teorema de Gödel consiste en probar que ese conjunto de números puede definirse apelando únicamente a propiedades aritméticas (que son las propiedades referidas a los números naturales que son expresables en términos de la suma, el producto y las operaciones lógicas usuales). Es decir, la propiedad lógica “Es el número de Gödel de un enunciado demostrable” puede traducirse a una propiedad puramente aritmética (aunque no siempre lo explicitemos, debe entenderse en todo momento que “demostrable” significa “demostrable a partir de los axiomas aritméticos propuestos”). Por ejemplo, podría suceder que los números de Gödel de los enunciados demostrables sean exactamente los números primos terminados en 7. Una vez más debemos aclarar que este último ejemplo es puramente hipotético y sólo tiene la intención de mostrar lo que entendemos por “propiedad aritmética”. En la práctica, la propiedad aritmética que define a los números de Gödel de los enunciados que son demostrables a partir de un cierto conjunto de axiomas es siempre muy compleja de enunciar.
Es importante destacar también que es en este punto de la demostración donde entra en juego la hipótesis b). En efecto, puede probarse que si se admiten métodos de demostración que no son verificables algorítmicamente entonces no es necesariamente cierto que la propiedad de ser el código de Gödel de un enunciado demostrable sea expresable mediante propiedades aritméticas.
3. El método de autorreferencia
Planteemos un nuevo ejemplo hipotético; imaginemos que al enunciado “23.409 es un número par” le correspondiera el número de Gödel 23.409. Podríamos entonces parafrasear este enunciado como diciendo, falsamente, que “Mi número de Gödel es par”.
Ahora bien ¿es razonable suponer que existe un enunciado que se refiera a su propio número de Gödel? En realidad sí es razonable, porque Gödel probó que, dada cualquier propiedad aritmética, como por ejemplo “Es un número par” o “Es un número primo”, siempre existe un enunciado aritmético que puede parafrasearse como diciendo que su propio número de Gödel cumple esa propiedad. Es decir, existe necesariamente un número n tal que al enunciado “n es par” le corresponde el número de Gödel n y un número m tal que al enunciado “m es primo” le corresponde el número de Gödel m. En otras palabras, Gödel mostró un método para obtener enunciados autorreferentes.
Dijimos antes que la propiedad “Es el número de Gödel de un enunciado demostrable” es traducible a una propiedad aritmética; de la misma forma, también es traducible la propiedad “No es el número de Gödel de un enunciado demostrable” (en el contexto del ejemplo hipotético dado más arriba, “No es el número de Gödel de un enunciado demostrable” equivaldría a “No es cierto que es un número primo terminado en 7”).
En consecuencia, por lo dicho más arriba, existe necesariamente un número k tal que al enunciado “k no el número de Gödel de un enunciado demostrable” (que en el ejemplo hipotético equivale a “No es cierto que k es un número primo terminado en 7”) le corresponde el número k. En otras palabras, ese enunciado dice, “Mi número de Gödel no corresponde a un enunciado demostrable” o, dicho más simplemente, el enunciado afirma “Yo no soy demostrable”. Veamos a continuación que este enunciado es verdadero, pero no es demostrable a partir de los axiomas propuestos.
Para probar que “Yo no soy demostrable” es verdadero pero no demostrable supongamos, en primer lugar, que fuera falso. En ese caso, lo que enuncia es incorrecto, por lo que sí sería demostrable. Es decir, sería falso y demostrable a la vez, pero esto es imposible porque los axiomas son enunciados verdaderos.
Entonces “Yo no soy demostrable” es necesariamente verdadero, pero entonces lo que enuncia es verdad y, por lo tanto, es verdadero y no demostrable.
Notemos que esto implica, tal como queríamos probar, que la condición c) falla. En efecto, el enunciado aritmético que expresa que “Yo no soy demostrable” no es demostrable, pero tampoco lo es su negación, ya que esta negación es un enunciado falso, y si los axiomas son enunciados verdaderos entonces ningún enunciado falso puede ser demostrable. Hemos probado así que, contradiciendo lo que pide condición c), existe siempre un enunciado P tal que ni él, ni su negación, son demostrables. De este modo, termina nuestra exposición de las ideas centrales de la demostración del primer teorema de Gödel.
4. Conclusión
El programa de Hilbert proponía que se diera un conjunto de axiomas aritméticos que cumpliera las condiciones a), b), c) y d) enunciadas más arriba. La condición a) puede parafrasearse diciendo que el sistema no debe permitir que se demuestren enunciados falsos, en otras palabras, los axiomas nunca deben conducir a una paradoja; la condición d) pide, además, que la validez de la condición a) sea verificable de un modo claro y objetivo. La condición b), por su parte, pide que también exista un método claro, objetivo y concreto para verificar la validez de los razonamientos matemáticos. La condición c), finalmente, pide esencialmente que todas las verdades aritméticas sean demostrables.
Los teoremas de Gödel prueban que estas cuatro condiciones no pueden cumplirse simultáneamente. En particular, el primer teorema demuestra que si sólo admitimos razonamientos cuya validez sea verificable objetivamente entonces siempre habrá verdades matemáticas que no podamos demostrar. En otras palabras, tenemos que elegir entre la certeza absoluta de que no cometeremos errores y la certeza absoluta de que podremos resolver todos los problemas matemáticos. Tenemos que elegir, dice Gödel, entre una de esas dos certezas porque nunca podemos tener ambas al mismo tiempo.
22.6.11
Sobre la indecidibilidad de la indecidibilidad
Una pequeña demostración basada en el Segundo Teorema de Gödel
Vamos a demostrar que el problema de determinar si un enunciado P es decidible con respecto a una teoría T no es resoluble algorítmicamente.
Hagamos la demostración por el absurdo. Supongamos que sí hubiera un algoritmo A que resuelve ese problema y lleguemos a una contradicción.
Sea T una teoría "que contiene suficiente aritmética" y CON un enunciado que expresa (en cierto nivel de lectura) que T es consistente. Recordemos que el Segundo Teorema de Gödel dice que si T es consistente entonces CON es indecicible con respecto a T.
Apliquemos el algoritmo A para determinar si CON es decidible con respecto a T. Si la respuesta de A es que CON es decidible, entonces T es inconsistente (por el Segundo Teorema). Si la respuesta de A es que CON es indecidible entonces T es consistente (porque sólo las teorías consistentes admiten enunciados indecidibles).
Por lo tanto, si A existiera tendríamos un algoritmo que permite determinar si una teoría es consistente, o no. Pero una consecuencia del Segundo Teorema de Gödel es que tal algoritmo no puede existir. Llegamos a un absurdo. Por lo tanto A no existe.
10.3.11
La autorreferencia en la demostración de Gödel (Parte 9 y última)
La autorreferencia en la demostración de Gödel (Parte 8)
9.3.11
La autorreferencia en la demostración de Gödel (Parte 7)
8.3.11
La autorreferencia en la demostración de Gödel (Parte 6)
5.3.11
La autorreferencia en la demostración de Gödel (Parte 5)
2.3.11
La autorreferencia en la demostración de Gödel (Parte 4)
26.2.11
La autorreferencia en la demostración de Gödel (Parte 3)
25.2.11
La autorreferencia en la demostración de Gödel (Parte 2)
23.2.11
La autorreferencia en la demostración de Gödel (Parte 1)

1.2.11
5.7.09
La paradoja de Gödel
Esa afirmación es, o bien verdadera, o bien falsa. Si es falsa, por lo que ella misma dice, sería demostrable y habría así una falsedad demostrable (lo que es imposible). Entonces debe ser verdadera, y entonces, por lo que ella misma dice, no es demostrable. Hay así una verdad no demostrable.
Pero, veamos, hemos probado que la afirmación es verdadera. Es decir, hemos demostrado la afirmación. Por lo tanto es demostrable y falsa. Existe entonces una falsedad demostrable.
2.7.09
Gödel gráfico

20.6.09
Un poco de historia

Y fue también en Königsberg donde vio por primera vez la luz el famoso Teorema de Gödel. Sucedió el 7 de septiembre de 1930 durante un congreso sobre fundamentos de la matemática, es decir, durante una reunión en la que los especialistas discutían qué es la matemática, cuál es su objeto de estudio y cuáles son sus métodos. Desde hacía más de dos décadas se venía desarrollando una ácida controversia acerca de esas cuestiones, una discusión en la que sus protagonistas sostenían posiciones aparentemente irreconciliables. En la década previa a 1930 esas posiciones irreconciliables reconocían dos claros representantes: en un rincón el ya mencionado David Hilbert, fundador de la llamada Escuela Formalista y en el otro, L.E.J. Brouwer, creador de la llamada Escuela Intuicionista.
A pesar de tanta controversia, aquél septiembre de 1930 parecía lleno de buenos augurios. En la sesión final del congreso Arend Heyting (uno de los principales discípulos de Brouwer) afirmó que la “guerra” entre los formalistas y los intuicionistas podía darse por terminada, pues si el programa propuesto por Hilbert para la matemática lograba completarse con éxito entonces los intuicionistas aceptarían gustosamente las ideas de Hilbert. En otras palabras, los intuicionistas presentaban una rendición en toda regla por lo que la larga controversia parecía llegar a su fin.
Sin embargo, en medio de tan optimistas manifestaciones un joven matemático austriaco pidió la palabra. Tímidamente este joven anunció que acababa de demostrar un teorema (que sería publicado unos meses más tarde) en el que demostraba que el programa de Hilbert, el programa formalista que todos, amigos y enemigos, acababan de aceptar gustosamente, era completamente irrealizable. Ese joven era Kurt Gödel y el teorema que estaba anunciando era, por supuesto, el hoy famoso Teorema de Incompletitud de Gödel.
¿Cómo se llegó a esa escena de 1930? ¿Por qué apenas a principios del siglo XX, después de más de dos mil quinientos años de trabajo matemático, se planteó la necesidad de definir el objeto y los métodos de esa ciencia? Para entender las respuestas a estas preguntas, así como el enunciado del Teorema de Gödel, debemos remontarnos algunos años hacia atrás en el tiempo, a la década de 1870, a la ciudad de Halle, en Alemania, lugar y tiempo en el que Georg Cantor (1845–1918) revolucionó la forma de entender el infinito.
Desde Aristóteles se entendía, tanto en filosofía como en matemática, que el infinito era inalcanzable. Por ejemplo, sabemos que hay infinitos números naturales: 0, 1, 2, 3, 4, 5,... pero según la forma de pensar de Aristóteles, la infinitud de los números significa solamente que si nos proponen cualquier número natural siempre existirá uno mayor. La imposibilidad de alcanzar el infinito implica que no hay ningún lugar (concreto o abstracto) en el que estén reunidos al mismo tiempo todos los números naturales. El infinito no existe en acto, sólo en potencia, decía Aristóteles, y en consecuencia sería un error hablar de los números como de una totalidad acabada y completa. Esta visión del infinito dominó la matemática y la filosofía a los largo de los siglos.
En 1872 Georg Cantor (nacido en San Petersburgo, aunque vivió casi toda su vida en Halle, Alemania) trabajaba en un problema relativamente menor de análisis matemático. Cantor buscaba demostrar una propiedad relativa a cierto tipo de funciones y en el transcurso de ese trabajo se encontró ante la necesidad de expresar de un modo claro y concreto algunas condiciones muy complejas, las cuales debían cumplirse para que valieran las conclusiones a las que Cantor quería llegar [4].
Se trataba en principio de un problema de lenguaje y para resolverlo Cantor inventó un nuevo concepto, el de conjunto derivado. Sin entrar en detalles, basta decir que definió un mecanismo por el cual a partir de un conjunto P de puntos se puede obtener un nuevo conjunto P’, llamado el derivado de P. A partir de P’ se obtiene a su vez un nuevo derivado P”. Y luego el derivado de P”, que es P(3), y luego P(4), P(5), etc.
Pero Cantor observó que no había motivo para detenerse y que era perfectamente posible definir P(infinito). Más aún observó también que era posible aplicar el mismo mecanismo a P(infinito) obteniendo así P(infinito + 1, P(infinito + 2), P(infinito + 3).... Es decir no sólo era posible llegar al infinito sino que inclusive era posible ir más allá de él [5].
Esta nueva forma de ver el infinito, totalmente opuesta a la que había impuesto Aristóteles, habilitó la idea de ver a los conjuntos infinitos como totalidades acabadas y completas; es decir, permitió crear la teoría de conjuntos. En los años posteriores a 1880 Cantor inició el proyecto de refundar toda la matemática sobre la base de esta teoría. Todos los demás conceptos matemáticos se definían a partir de la noción de conjunto. Así por ejemplo para Cantor el número 0 se definía como la cantidad de elementos del conjunto vacío, el número 1 sería la cantidad de elementos del conjunto formado solamente por el 0, y así sucesivamente. Todas las operaciones numéricas se definían desde las operaciones entre conjuntos.
Por la misma época Richard Dedekind (amigo y colega de Cantor) desarrolló ideas similares. Sin embargo, quien llevó más lejos la idea de fundar la matemática sobre bases conjuntistas fue Gottlob Frege quien a lo largo de casi veinte años elaboró una obra monumental en la que construyó con todo detalle un lenguaje para hablar de los conjuntos (y que es la base del actual lenguaje formal de la lógica) y a su vez, usó los conjuntos como base de la construcción de toda la matemática.
En junio de 1902 Frege acababa de enviar a la imprenta el segundo tomo de la obra fundamental de su vida cuando recibió una carta del por entonces muy joven filósofo y matemático Bertrand Russell. En esta carta Russell, que había leído el primer tomo de la obra de Frege (publicado en 1893), le señalaba un error en la misma base de su sistema.
Para Frege un conjunto es la reunión en un todo de los objetos (reales o imaginarios) que cumplen una determinada propiedad en común. Por ejemplo, la propiedad de “ser un caballo blanco” corresponde, obviamente, al conjunto formado por todos los caballos blancos. Pues bien de esta definición de la noción de conjunto Russell extrajo una contradicción [6], por lo tanto la misma noción de conjunto era contradictoria.
Frege admitió inmediatamente el error y agregó una nota adicional a su obra en la que admitía humildemente que todo el sistema por él concebido dejaba de tener validez pues se había derrumbado desde su misma base.
Ahora bien, por ese entonces la teoría de conjuntos se había transformado en una herramienta básica de la matemática y las nociones conjuntistas estaban en los cimientos de muchos nuevos desarrollos, especialmente en análisis matemático. El descubrimiento de Russell significó entonces una verdadera crisis en toda la matemática, pues si algo tan simple y natural como la noción de conjunto era contradictoria ¿cómo podía asegurarse la corrección de conceptos más complejos? Es precisamente a causa de esta crisis que a principios del siglo XX se planteó la necesidad de revisar los fundamentos de la matemática.
Ante la crisis provocada por el descubrimiento de Russell hubo inicialmente dos reacciones. Por una parte, el propio Bertrand Russell propuso rescatar el programa de Frege introduciendo en él las modificaciones que fueran necesarias para evitar todas las contradicciones posibles. Este programa fue extensamente expuesto en la obra Principia Matemática, que Russell escribió junto a Alfred Whitehead y cuyo primer tomo se publicó en 1910.
Otra reacción, contemporánea de la anterior, fue encabezada por el matemático holandés L.E.J. Brouwer. Según Brouwer era imposible evitar las contradicciones en la teoría de conjuntos y cualquier intento de reparar el sistema de Frege estaba condenado al fracaso, pues todas las contradicciones nacían simplemente de la introducción del infinito en acto. Brouwer proponía descartar la teoría de Cantor y retornar a una matemática finitista en la que el infinito, tal como quería Aristóteles, fuera inalcanzable.
Más aún, Brouwer sostenía que sólo puede decirse que un objeto matemático existe si se puede dar una receta (una serie finita de instrucciones, es decir un algoritmo) que permita construirlo en una cantidad finita de pasos a partir de los números naturales.
Un ejemplo de algoritmo:
Paso 1: asígnese al número x el valor 2.
Paso 2: asígnese a x un nuevo valor, el que resulta de promediar el valor actual de x con el valor de 2/x (2 dividido por x).
Paso 3: repítase el paso anterior 10 veces más.
Cuantas más veces se aplique el paso 3, más se acercará el valor de x al de la raíz cuadrada de 2. El algoritmo, entonces, permite construir aproximaciones sucesivas de ese número.
Brouwer decía también que sólo tiene sentido definir una propiedad si al mismo tiempo se da un método algorítmico para verificar en una cantidad finita de pasos si un objeto cumple o no esa propiedad.
Hacia 1920 el programa de Russell comenzó a desmoronarse, especialmente a causa de ciertos axiomas que éste se vio obligado a incluir, pero cuya validez resultaba ser especialmente dudosa. A causa de ello, la escuela de Brouwer comenzó a dominar el pensamiento matemático y como consecuencia la teoría de Cantor comenzó a estar en peligro de ser eliminada. Fue entonces cuando entró en escena David Hilbert.
Hilbert fue desde siempre amigo y defensor de Cantor y bajo el lema “del paraíso que Cantor creó para nosotros nadie podrá expulsarnos” decidió contrarrestar las ideas de Brouwer. Además de gran matemático, Hilbert era un gran político y por eso decidió crear una filosofía de la matemática que diera cabida al infinito en acto pero que al mismo tiempo pudiera ser aceptada por los intuicionistas, es decir por Brouwer y sus seguidores.
Los intuicionistas, dijimos, exigían que todo objeto matemático fuese construido mediante un algoritmo y que toda propiedad fuera verificada asimismo algorítmicamente. La idea central de Hilbert fue llevar esta exigencia algorítmica, de los objetos y sus propiedades, a los razonamientos.
Para Hilbert toda teoría matemática debía fundarse en axiomas, que son afirmaciones que se aceptarían como verdaderas. Todas las demás verdades de la teoría se deducirían de los axiomas mediante razonamientos o demostraciones. Estos razonamientos debían ser finitistas al estilo intuicionista, es decir, debía existir un algoritmo (una receta) que, en una cantidad finita de pasos, permitiera determinar si un razonamiento es válido o no. En palabras modernas, debería ser posible programar una computadora de tal modo que fuera capaz de decidir si un razonamiento es correcto o no.
Los axiomas podían hablar del infinito en acto, de totalidades infinitas acabadas y completas, siempre que los razonamientos para deducir otras verdades a partir de ellos fueran finitistas y siempre que, además, por esos mismos razonamientos finitstas se pudiera demostrar que no habría paradojas o contradicciones.
El Programa de Hilbert se proponía entonces refundar la matemática bajo estas especificaciones. Y tan afortunada fue la idea de Hilbert que, como ya dijimos, en 1930 los intuicionistas finalmente “se rindieron” y aceptaron su programa. Pero en 1930 fue también cuando Gödel demostró que el Programa de Hilbert era irrealizable al probar (y ése es el enunciado del Teorema de Incompletitud) que los métodos finitistas que Hilbert proponía son incapaces de demostrar todas las verdades matemáticas. En aquel dramático septiembre de 1930 el Teorema de Gödel marcó un punto crucial en la historia de la lógica matemática. Sus consecuencias han sido llevadas, no siempre justificadamente, a la filosofía, la sociología y otras ramas del saber muy alejadas de su ámbito original.
Notas:
[1] La ciudad de Königsberg ya no es alemana, ni se llama Königsberg, en la actualidad la ciudad es rusa y se llama Kaliningrado.
[2] El río se llama Pregel y en él, cuenta la historia, hay dos islas y siete puentes: un puente conecta las dos islas entre sí, dos puentes más conectan a la isla menor con cada una de las dos orillas del río, otros dos puentes conectan a la isla mayor con una de las orillas del río y los últimos dos conectan a la isla mayor con la otra orilla del río. El problema pide hallar un camino que recorra los siete puentes de Königsberg, una vez cada uno sin repetir. Leonhard Euer demostró que esa tarea es irrealizable.
[3] Había también argumentos teológicos para sostener esta idea, según estos argumentos el infinito es un concepto solamente accesible para Dios e inalcanzable para la mente finita de los humanos.
[4] El problema en el que trabajaba Cantor está bien descripto en Ferreirós y Grattan-Guiness. En último dice en su libro que el problema en el que trabajaba Cantor era muy relevante, aquí nos permitimos disentir respetuosamente con esa opinión pues entendemos que hay varias razones para afirmar que el problema era menor, es probable que al dar su opinión Grattan-Guiness se deje llevar por su admiración hacia Georg Cantor.
[5] “Fui llevado por la lógica de mis investigaciones a romper con tradiciones que había aprendido a venerar”, escribió Cantor en 1883.
[6] Observemos que el conjunto de todos los conjuntos es un miembro de sí mismo (pues al ser él mismo un conjunto es miembro del conjunto de todos los conjuntos). La contradicción, conocida como la Paradoja de Russell, surge al considerar los conjuntos que no se tienen a sí mismos entre sus propios miembros. Razonando a partir de estos objetos Russell llega a la conclusión de que la noción de conjunto que usa Frege (que es una elaboración más precisa de la que usan Cantor y Dedekind) es contradictoria.