Teorías Qué es una teoría? Ya hemos usado antes la noción de base de conocimiento Este concepto se refiere a un conocimiento, representado a través de axiomas. Una teoría acerca de una base de conocimiento Σ contendrá no sólo a Σ sino que a todo lo que se puede deducir de Σ. Formalmente, Definición 31. Una conjunto de oraciones Σ L(S) es una teoría ssi: Es cerrado con respecto a la consecuencia lógica. Es decir, Σ = ϕ ϕ Σ. Es consistente. Jorge Baier Aranda, PUC << Atrás 274
Para qué queremos una teoría? En aplicaciones computacionales de lógica nos interesa poder tener algoritmos que verifiquen la pertenencia de cierto conocimiento a las teorías. Nos interesa analizar qué tipos de teorías existen y qué propiedades tienen relacionadas con el conocimiento que se puede obtener de ellas. Conociendo estas propiedades sabremos qué tipo de teorías son las interesantes de modelar computacionalmente. Jorge Baier Aranda, PUC << Atrás 275
Obteniendo teorías Existen varias formas de generar teorías. Primera Forma: A partir de un conjunto de axiomas. La teoría generada a partir del conjunto de axiomas AX es T h(ax) = {ϕ AX = ϕ} Segunda Forma: A partir de una estructura E. La teoría queda formada por todas las oraciones que son verdaderas en ella: T h(e) = {ϕ E = ϕ} Ejemplo: La teoría formada a partir de N = N,, +, 0, 1 Jorge Baier Aranda, PUC << Atrás 276
Teorías Completas Definición 32. Una teoría de Σ L(S) es completa ssi Σ = ϕ o Σ = ϕ Esto significa que cada oración es verdadera o falsa en la teoría. Consideremos nuevamente los axiomas de la teoría de grupos, AX G : xyz x (y z) = (x y) z x x e = e x = x x x i(x) = e (asociatividad) (identidad, e es elemento neutro) (existencia de un inverso) Es T h(ax G ) una teoría completa? La respuesta es no, de hecho, la siguiente fórmula ϕ := x y (x y = y x) Jorge Baier Aranda, PUC << Atrás 277
es tal que Es T h(n) una teoría completa? Σ = ϕ y Σ = ϕ La respuesta es sí. En general, todas las teorías que provienen de estructuras son completas. Jorge Baier Aranda, PUC << Atrás 278
Teorías decidibles Definición 33. Una teoría Σ L(S) es decidible si existe un algoritmo M que dice SI si Σ = ϕ y dice NO si Σ = ϕ. Si una teoría es decidible, siempre podemos construir una máquina que verifique la pertenencia de cualquier oración a la teoría. Por el teorema de Church-Turing, sabemos que la teoría Σ = {} es indecidible. Pero, qué pasa con otras teorías? indecidibles? son todas las teorías de primer orden Respuesta: Hay algunas indecidibles y otras no. Por ejemplo, la teoría de grupos es indecidible, pero la teoría de grupos conmutativos es decidible. Qué consecuencias tiene el hecho que queramos trabajar con una teoría indecidible? Jorge Baier Aranda, PUC << Atrás 279
Axiomatizabilidad Finita Hace poco dijimos que una forma de generar teorías es haciéndolo a partir de una estructura. Evidentemente, no resulta computacionalmente atractivo almacenar toda una teoría. Lo que nos podría interesar es tener un conjunto finito de axiomas a partir del cual pudiésemos generar la teoría. Una teoría para la cual existe tal conjunto de axiomas es denominada finitamente axiomatizable. Formalmente, Definición 34. Una teoría Σ L(S) es finitamente axiomatizable, si es que existe un conjunto finito de axiomas AX L(S) tal que Σ = T h(ax) = {ϕ L(S) AX = ϕ} Teorema 9. decidible. Si Σ es una completa y finitamente axiomatizable, entonces Σ es Jorge Baier Aranda, PUC << Atrás 280
Demostración: Ejercicio. De la demostración es posible darse cuenta que no es realmente necesario que el conjunto de axiomas sea finito para poder obtener el resultado de decidibilidad. Basta con que sea recursivamente enumerable. Será posible construir una máquina que sea capaz de enumerar todas las verdades de la aritmética? En otras palabras, es posible construir una máquina que sea capaz de demostrar (o refutar) todos los teoremas de la aritmética? Dado el teorema anterior, para demostrar esto sólo necesitamos demostrar que T h(n) es finitamente axiomatizable, o, al menos que puede ser generada a partir de un conjunto recursivamente enumerable de axiomas. Lamentablemente, la respuesta a esta pregunta es NO y constituye el primer teorema de incompletitud de Gödel. Jorge Baier Aranda, PUC << Atrás 281
Teoremas de Incompletitud de Gödel El primer teorema de incompletitud de Gödel responde precisamente la pregunta que nos acabamos de hacer. Teorema 10. [Primer Teorema de Incompletitud de Kurt Gödel] Sea AX L({+,, 0, 1}) un conjunto de axiomas recursivamente enumerable y consistente. Entonces siempre existe una oración ϕ L({+,, 0, 1}) tal que N = ϕ, pero AX = ϕ Las conclusiones de este teorema son muy fuertes: cualquier axiomatización decente de la aritmética dejará siempre al menos una verdad (oración) que no podremos demostrar. Podemos concluir que T h(n) no es finitamente axiomatizable. Jorge Baier Aranda, PUC << Atrás 282
Demostrando el Primer Teorema de Incompletitud de Gödel Advertencia: La demostración que veremos de este teorema tendrá algunas omisiones importantes. Supongamos que tuviéramos una máquina M que es capaz de demostrar todos los teoremas de la aritmética. Es decir, que M es una máquina que enumera recursivamente a los elementos de T h(n). Si T h(n) fuera axiomatizable finitamente, tal máquina puede ser construida porque sería posible usar el sistema deductivo de Hilbert para encontrar todas las verdades de la aritmética. La idea principal de la demostración de Gödel es que es posible escribir en un lenguaje lógico lo suficientemente expresivo para representar a la aritmética una fórmula que dice lo siguiente: ϕ := M no puede demostrar esta fórmula Jorge Baier Aranda, PUC << Atrás 283
Supongamos que M puede demostrar esa fórmula. Entonces concluimos que ésta es un teorema, es decir es verdadera. Pero decir que es verdadera implica aceptar que M no pudo haber demostrado la fórmula, lo que implica una contradicción. Por lo tanto podemos concluir que ϕ no se puede ser demostrada por M, luego ϕ es verdadera! Si tal máquina existiese, tendríamos una fórmula que es verdadera en la aritmética (si es que la formula existe), pero que no se puede demostrar por una máquina. La demostración del teorema de Gödel consiste en demostrar que la oración ϕ existe en cualquier teoría lo suficientemente poderosa para representar a los naturales. Jorge Baier Aranda, PUC << Atrás 284
Números de Gödel Los números de Gödel son números naturales que se le asignan únicamente a cada expresión del lenguaje. No daremos formalmente una construcción de los números de gödel pero en esencia: A cada expresión del lenguaje (oración, pedazos de oración, etc.) le corresponde un número de Gödel único. A partir de un número de Gödel cualquiera, es posible computar la expresión que le corresponde. Si ϕ es una fórmula, denotaremos como ϕ al número de Gödel de ϕ. Teorema 11. [de diagonalización] Para cualquier fórmula ψ(y) (con y como variable libre), es posible encontrar una oración G tal que T = G ψ( G ), Donde T es una teoría sufucientemente poderosa como para representar a los naturales. Jorge Baier Aranda, PUC << Atrás 285
Recursividad enumerable es definible Impongamos la siguiente restricción sobre M: Diremos que M responde SI al recibir como entrada a ϕ ssi ϕ es verdadera. Teorema 12. Si M es una MT, entonces es posible construir una oración de primer P M (w) que será verdadera ssi M acepta a w. En parte, la demostración de este teorema la vimos cuando analizamos la indecidibilidad de la lógica de predicados. Podríamos pensar a M como una máquina que usa el sistema deductivo de Hilbert para generar todas las consecuencias de un conjunto recursivamente enumerable de axiomas AX. Luego, existe una fórmula P M (y) que es capaz de decir si y es un teorema de la artimética. Jorge Baier Aranda, PUC << Atrás 286
Finalmente, la demostración Por el teorema de diagonalización, si T es una teoría suficientemente expresiva como para representar a los naturales, entonces existe un ϕ tal que: T = ϕ P M ( ϕ ) (*) Supongamos que ϕ es un teorema de la aritmética. Por (*) tenemos que ϕ no se puede demostrar. Esto implica que la axiomatización interna que posee la máquina no es completa. Supongamos que ϕ no es un teorema (es falsa). Entonces (*) dice que la fórmula se puede demostrar! Esto implica que el conjunto de axiomas es inconsistente con la aritmética! Luego, si queremos tener un sistema que axiomatice la aritmética vamos siempre a tener dos posibilidades: Que la axiomatización sea incompleta. Que la axiomatización sea inconsistente. Jorge Baier Aranda, PUC << Atrás 287
El segundo teorema de incompletitud de Gödel tiene que ver precisamente sobre esta segunda posibilidad. Esencialmente, dice que no es posible demostrar la consistencia de un conjunto de axiomas que representan a la aritmética usando los mismos axiomas de la aritmética. Para poder demostrar la consistencia de ésta tendríamos que recurrir a otro lenguaje que hable sobre ella. Jorge Baier Aranda, PUC << Atrás 288
Axiomatizando los Naturales con Segundo Orden Aún cuando hay limitaciones computacionales inherentes al intentar modelar la aritmética de primer orden usando lógica de primer orden, es posible dar axiomatizaciones que caractericen fielmente a los naturales. Supongamos el lenguaje de segundo orden L II ({}, {+, }, 0, 1). Giuseppe Peano propuso en 1889, la siguiente axiomatización para los naturales: x x + 1 = 0, x y (x + 1 = y + 1 x = y), x x + 0 = x, x y x + (y + 1) = (x + y) + 1 x x 0 = 0, x y x (y + 1) = x y + x Jorge Baier Aranda, PUC << Atrás 289
Además del axioma de segundo orden: P ([P (0) x (P (x) P (x + 1))] x P (x)) Este es el axioma de inducción de los naturales. En la lógica de primer orden, además de permitirse cuantificar por objetos, se permite cuantificar sobre propiedades. Cualquier estructura que sea modelo de estos axiomas debe ser tal que la propiedad se cumple para todas las relaciones unarias. Esta axiomatización captura completamente en la lógica a la estructura de los naturales: Teorema 13. [de Dedekind] Sea AP II la axiomatización para los naturales de Peano. Toda estructura A tal que A = AP II es esencialmente la estructura N = N,, +, 0, 1. Es decir, A = AP II entonces A = N Jorge Baier Aranda, PUC << Atrás 290
A = N significa que A y N isomorfas, es decir, que son esencialmente la misma; A y N pueden ser hechas iguales a través de un cambio de nobre de sus miembros. Parece que esto solucionara los problemas antes planteados por el teorema de incompletitud de Gödel y la decidibilidad de la aritmética. Sin embargo, la lógica de segundo orden: 1. No tiene, demostradamente, un sistema formal deductivo completo. 2. No hay un método para generar todas las oraciones que son universalmente válidas. 3. Otras propiedades no se cumplen; por ejemplo, compacidad. El punto 1 implica que no es posible construir un máquina que responda que SI frente a la consulta AP II = ϕ cuando ϕ sea un teorema de la aritmética. Jorge Baier Aranda, PUC << Atrás 291