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 = hN, ·, +, 0, 1i 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, AXG: ∀xyz x ◦ (y ◦ z) = (x ◦ y) ◦ z (asociatividad) ∀x x ◦ e = e ◦ x = x (identidad, e es elemento neutro) ∀x x ◦ i(x) = e (existencia de un inverso) ¿Es T h(AXG) 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 Σ 6|= ϕ y Σ 6|= ¬ϕ ¿Es T h(N) una teorı́a completa? 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 Σ 6|= ϕ. • 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. Si Σ es una completa y finitamente axiomatizable, entonces Σ es decidible. 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 6|= ϕ 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 dϕe 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 ↔ ψ(dGe), 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 dϕe ssi ϕ es verdadera. Teorema 12. Si M es una MT, entonces es posible construir una oración de primer PM (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 PM (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 |= ϕ ↔ ¬PM (dϕe) (*) • 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 LII ({}, {+, ·}, 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 APII la axiomatización para los naturales de Peano. Toda estructura A tal que A |= APII es esencialmente la estructura N = hN, ·, +, 0, 1i. Es decir, A |= APII 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 APII |= ϕ cuando ϕ sea un teorema de la aritmética. Jorge Baier Aranda, PUC << Atrás 291