Lógica Matemática
Pedro Valero Mejía y Guillermo Rual UAM - 15/16 C1 11 de febrero de 2016 15:15
Apuntes UAM Doble Grado Mat.Inf. Código en Github
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Índice general 1
2
3
4
Lógica proposicional . . . . . . . . . . . . . . . . . . . . . . . . . 1.1 Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Axiomas de la lógica proposicional . . . . . . . . . . . . . 1.3 Semántica . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Problemas TAUT y SAT . . . . . . . . . . . . . . . . . . . 1.5 Completitud . . . . . . . . . . . . . . . . . . . . . . . . . Lógica de primer orden (o de predicados) . . . . . . . . . . . . . . 2.1 Exposición informal y ejemplos . . . . . . . . . . . . . . . 2.2 Axiomas de ZFC (Zermelo-Fraenkel con Elección) . . . . . 2.3 Axiomas de Peano . . . . . . . . . . . . . . . . . . . . . . 2.4 Introducción a lógicas de segundo orden . . . . . . . . . . 2.5 Completitud . . . . . . . . . . . . . . . . . . . . . . . . . 2.6 Lenguajes y estructuras . . . . . . . . . . . . . . . . . . . 2.7 Axiomas de la lógica de primer orden y reglas de deducción 2.8 Reglas de deducción . . . . . . . . . . . . . . . . . . . . . 2.9 Contenidos para examen . . . . . . . . . . . . . . . . . . . 2.10 Nuestra historia hasta ahora . . . . . . . . . . . . . . . . . Computación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Máquinas de Turing . . . . . . . . . . . . . . . . . . . . . 3.3 Minimización no acotada y funciones recursivas . . . . . . . Incompletitud . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A Problemas resueltos A.1 Hoja 1 . . . . . . A.2 Hoja 2 . . . . . . A.3 Hoja 3 . . . . . . A.4 Hoja 4 . . . . . . A.5 Hoja 5 . . . . . . A.6 Hoja 6 . . . . . . A.7 Hoja 7 . . . . . . A.8 Hoja 8 . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . .
2 2 4 5 8 9 15 15 17 21 22 24 26 29 30 33 35 41 41 42 48 53
. . . . . . . .
58 58 61 64 75 80 82 91 93
Bibliografía
100
Índice alfabético
101
0
Documento compilado el 11 de febrero de 2016 a las 15:15
1 de 102
Lógica Matemática - 15/16 C1 - UAM
1.
Pedro Valero Mejía y Guillermo Rual
Lógica proposicional Sea A un conjunto no vacío, definimos el lenguaje como L ≡ A ∪ {¬, =⇒ , ∧, ∨, ⇐⇒ , ⊥, >, ), (}
donde los símbolos representan ¬ : negación. =⇒ : implicación. ∧ : conjunción. ∨ : disyunción. ⇐⇒ : equivalencia. ⊥: verdadero. > : falso. ) : paréntesis derecho. (: paréntesis izquierdo.
1.1.
Sintaxis
Dado A, un conjunto (finito, numerable o no numerable) de variables proposicionales p, q, r, . . ., se definen: Palabra
Proposición o fórmula bien formada
Definición 1.1 Palabra. Concatenación de símbolos. Definición 1.2 Proposición o fórmula bien formada. Palabra que pertenece a la clase más pequeña cerrada bajo las siguientes propiedades: Los elementos de A, ⊥ y > son fórmulas atómicas (no se pueden dividir). Si F1 y F2 son fórmulas, también lo son • (¬F1 ) • (F1 =⇒ F2 ) • (F1 ⇐⇒ F2 ) • (F1 ∧ F2 ) • (F1 ∨ F2 )
2 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
En notación polaca son fórmulas bien formadas: • ¬ F1 • =⇒ F1 F2 • ⇐⇒ F1 F2 • ∧ F1 F2 • ∨ F1 F2 Las fórmulas bien formadas pueden definirse de manera inductiva: FBF0 = A ∪ {>, ⊥} FBFn+1 = F BFn ∪ {(¬F1 ), (F1 =⇒ F2 ), (F1 ⇐⇒ F2 ), (F1 ∧ F2 ), (F1 ∨ F2 )} con F1 , F2 ∈ FBFn . Las fórmulas bien formadas son F BF = ∩∞ n=0 F BFn Aridad
Definición 1.3 Aridad. La aridad de un operador es el número de argumentos que admite: ⊥, > son 0-arias. ¬ es 1-aria. ∧, ∨, =⇒ , ⇐⇒ son 2-arias (binarias). Lema 1.1. Legibilidad única: Las fórmulas no son ambiguas, sólo pueden leerse o construirse de forma única. Hay que distinguir los siguientes casos: F es atómica. La legibilidad única es obvia. F es es de la forma ¬G, donde G es una FBF. La legibilidad única es obvia. F es de la forma (G1 ∗ G2 ) donde G1 y G2 son FBF y ∗ es una conectiva binaria. En este caso habría que ver si existen las FBF G3 y G4 y la conectiva binaria ∗0 , tal que (G1 ∗ G2 ) = (G3 ∗0 G4 ). La demostración de que esto sólo es posible si G1 = G2 , G3 = G4 y ∗ = ∗0 será un ejercicio de las hojas de problemas. La idea es que G1 no puede ser un segmento inicial de G3 . Observación: a ∧ b ∧ c no es una fórmula bien formada, ya que no tiene paréntesis exteriores. Sí son fórmulas bien formadas las siguientes. (a ∧ (b ∧ c)), ((a ∧ b) ∧ c). Pero como fórmulas (sintácticamente) son distintas, aunque su significado sea el mismo.
3 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Notación: Usamos ≡ para denotar equivalencia en el metalenguaje (en el lenguaje se usa ⇐⇒ ). Usamos p, q, r, s, . . . para denotar fórmulas bien formadas.
1.2.
Axiomas de la lógica proposicional
A continuación se proporciona una lista de axiomas proposicionales. 1. > 2. p =⇒ (p ∨ q), p =⇒ (q ∨ p) 3. ¬p =⇒ (¬q =⇒ ¬(p ∨ q)) 4. (p ∧ q) =⇒ p, (p ∧ q) =⇒ q 5. p =⇒ (q =⇒ (p ∧ q)) 6. (p =⇒ (q =⇒ r)) =⇒ ((p =⇒ q) =⇒ (p =⇒ r)) 7. p =⇒ (¬p =⇒ ⊥) 8. (¬p =⇒ ⊥) =⇒ p Los axiomas 2-8 son esquemas de axiomas, lo que quiere decir que si p 6= r, entonces p =⇒ (p ∨ q) y r =⇒ (r ∨ q) son axiomas distintos. Modus ponens La regla de deducción que vamos a utilizar es el modus ponens: Si tenemos p y p =⇒ q, deducimos q. p p =⇒ q q
Demostración o prueba
Definición 1.4 Demostración o prueba. Una demostración o prueba (formal) es una sucesión (finita) p1 , p2 , . . . , pn donde cada pi o bien es un axioma o se obtiene de dos fórmulas anteriores mediante modus ponens. Notación Escribimos ` p para denotar que existe una demostración de p. Escribimos p para denotar que p es verdad.
Teoría
Definición 1.5 Teoría. T (o Σ) es una teoría si es un conjunto de FBF(L). 4 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejemplo: T nos dice que un grafo G puede colorearse con cuatro colores. (Ver ejercicio 4 de la hoja 2). Recordatorio: (G, E) es un grafo si ( G = {v α α ∈ Λ} E = {vα , vβ } vα , vβ ∈ G vα 6= vβ Dado que son pares de elementos distintos, no puede haber una arista que empiece y acabe en el mismo vértice, puesto que en dicho caso tendríamos un conjunto de un sólo elemento. Demostración o prueba (II)
Definición 1.6 Demostración o prueba (II). Una demostración a partir de los axiomas y una teoría T es una sucesión finita p1 , . . . , pn , donde cada pi es o un axioma, o pi ∈ T o se obtiene de dos pj , pk anteriores mediante modus ponens. Notación: Usamos T ` p para denotar que existe una prueba de p usando los axiomas y las fórmulas de T .
1.3.
Semántica
La semántica se refiere a las interpretaciones que se le dan a las FBF. En el lenguaje formal interpretamos > como “verdadero” y ⊥ como “falso”. Informalmente utilizaremos 0 para “falso” y 1 para “verdadero”. Vamos a considerar el siguiente lenguaje: tomamos L = A ∪ ¬, ∧, ∨, >, ⊥, ), (
Interpretación
Definición 1.7 Interpretación. Una interpretación es una valoración booleana σ: σ : F BF (L) → (Z2 , +, ·) que satisface σ(>) = 1, σ(⊥) = 0 σ(¬p) = 1 + σ(p), siendo p una FBF. σ(p ∨ q) = σ(p) ∨ σ(q) = m´ax σ(p), σ(q) σ(p ∧ q) = σ(p) ∧ σ(q) = m´ın σ(p), σ(q)
Teorema 1.2. Sea σ : A → {0, 1} una función arbitraria. Entonces σ se extiende, de modo único, a una valoración booleana σ ˆ : F BF (L) → Z2
5 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostración. Por el lema de legibilidad única. A partir de los valores σ(p), σ(q), . . . se define σ para las F BF (L) tal y como describen las siguientes tablas de verdad: > 1 p 1 1 0 0
q 1 0 1 0
p∨q 1 1 1 0
⊥ 0 p∧q 1 0 0 0
p 1 0
p =⇒ q 1 0 1 1
¬p 0 1 p ⇐⇒ q 1 0 0 1
Observación: > ≡ (p ∨ ¬p) ⊥≡ ¬> (p =⇒ q) ≡ (¬p ∨ q) (p ⇐⇒ q) ≡ (p =⇒ q) ∧ (q =⇒ p)
Sistema completo
Definición 1.8 Sistema completo. Un sistema de conectivas es completo si las demás conectivas pueden definirse en términos de ellas. Ejemplo:
Los siguientes conjuntos son completos. {¬, ∨}, {¬, ∧}, {¬, =⇒ }, {⊥, =⇒ }
{∨, ∧} no es completo. Se puede probar por monotonía. {¬, ⇐⇒ } está propuesto como ejercicio (3.10) demostrar si es completo o no. Modelo
Definición 1.9 Modelo. Sea T ⊂ F BF (L). Un modelo de T es una valoración booleana σ ∀p ∈ T, σ(p) = 1.
Consecuencia tautológica
Definición 1.10 Consecuencia tautológica. Decimos que p es una consecuencia tautológica de T , y escribimos T p, si para todo modelo σ de T , σ(p) = 1. En este contexto, decimos que p es una tautología y escribimos p. Observación: Si T = ∅, entonces toda σ es un modelo de T .
6 de 102
Lógica Matemática - 15/16 C1 - UAM
Equivalencia lógica
Pedro Valero Mejía y Guillermo Rual
Definición 1.11 Equivalencia lógica. Si p ⇐⇒ q, es decir, si p ⇐⇒ q es una tautología, decimos que p y q son lógicamente equivalentes. Observación: Sea r una F BF (L), sea p una subfórmula de r y sea σ cualquier valoración booleana. Si p ⇐⇒ q y reemplazamos cada instancia de p en r por q denotando por r0 la fórmula así obtenida, entonces σ(r0 ) = σ(r).
Teoría consistente
Definición 1.12 Teoría consistente. T es consistente si T 0⊥. La consistencia o coherencia puede caracterizarse de forma sencilla: T 0⊥ ⇐⇒ ∃p ∈ F BF (L) T 0 p Equivalentemente, una teoría T es inconsistente si T `⊥. T `⊥ ⇐⇒ T ` p ∀p ∈ F BF (L) Observación: Si T es inconsistente, T ` cualquier cosa. Por otra parte, ninguna valoración satisface T , es decir, ninguna σ cumple σ(r) = 1 ∀r ∈ T . Luego cualquier cosa es una consecuencia lógica de T porque no hay ninguna valoración que satisfaga T. Teorema 1.3 (Teorema de la deducción). Si T ∪ {p} ` q, entonces T ` p =⇒ q
Demostración. Caso 1: q ∈ / T , q 6= p, q no es un axioma lógico. Consideramos p1 , . . . , pn = q una demostración de q. Llevaremos a cabo la demostración por inducción en la longitud de las pruebas (fórmulas). • Si n = 1 entonces q = p o q ∈ T o q es un axioma lógico, lo cual no corresponde a este caso, por tanto suponemos que n > 1 y que el Teorema de la deducción es cierto para todas las pruebas de longitud menor que n. • Si para alguna j < n, pj = p =⇒ q, no hay nada que probar. • Si no, ∃i, j < n pi = r, pj = r =⇒ q. Por la hipótesis de inducción tenemos T ` (p =⇒ r) y T ` (p =⇒ (r =⇒ q)). Utilizamos el axioma (p =⇒ (r =⇒ q)) =⇒ ((p =⇒ r) =⇒ (p =⇒ q)) y por modus ponens junto con lo anterior obtenemos (p =⇒ r) =⇒ (p =⇒ q) Finalmente, por modus ponens aplicado a T ` (p =⇒ r) y a lo anterior obtenemos T ` (p =⇒ q). 7 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Caso 2: q es un axioma lógico, q ∈ T o q = p. • Si q es un axioma o q ∈ T Tenemos que T ` q y utilizando el segundo axioma de la lista de axiomas: r =⇒ (q ∨ r) ≡ r =⇒ (¬q =⇒ r) en el que usamos q en lugar de r y p en lugar de ¬q, instanciamos q =⇒ (p =⇒ q) Usando modus ponens y lo anterior T ` (p =⇒ q). • Si q no es axioma ni está en T , entonces q = p. Tenemos T ∪ {p} ` p. Y utilizando (del ejercicio 1a de la hoja dos) ` p =⇒ p. entonces T ` p =⇒ p ≡ p =⇒ q
1.4.
Problemas TAUT y SAT
Problema de las tautologías (TAUT): dada F ∈ F BF (L) determinar si F es una tautología. Es decir, determinar si para toda interpretación σ, σ(F ) = 1. El problema es saber cuánto tiempo se tarda en averiguar si F es una tautología en función del tamaño de los datos de los que se dispone. Ejemplo:
Dada la siguiente FBF y la tabla de verdad correspondiente: p =⇒ (q =⇒ p) p 1 1 0 0
q 1 0 1 0
q =⇒ p 1 1 0 1
p =⇒ (q =⇒ p) 1 1 1 1
Tenemos que: Número n de variables: 2 Número k de conectivas: 2 Tiempo (tamaño de los datos) < O((n + k)2n )
8 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Clases de complejidad P: clase de problemas para los que existe un algoritmo que los resuelve en tiempo polinómico en función del número de datos de entrada, es decir, ∃K ≥ 0 (dependiendo el problema pero no del número de datos n) tal que si tenemos n datos de entrada, el algoritmo requiere menos de O(nK ) operaciones. NP: tiempo polinómico no determinista. La solución la proporciona un oráculo, que podemos comprobar que es correcta (o no) en tiempo polinómico. Obviamente P⊂NP. La clase de problemas NP-difícil se define como aquella que contiene a los problemas que son como mínimo tan difíciles como un problema de NP. Alternativamente, se define como la clase de problemas H tal que todo problema en NP puede ser transformado polinomialmente en H. La clase de problemas NP-completo se define como la intersección entre la clase de problemas NP y la clase de problemas NP-difícil. No se sabe si P=NP. Clay Mathematics Institute ha ofrecido un premio de un millón de dólares estadounidenses para quién desarrolle la primera demostración correcta (el profesor no tiene tanto dinero, el te ofrece una matrícula). Se sabe que TAUT es NP-difícil. Satisfación
Definición 1.13 Satisfación. σ satisface a T si ∀p ∈ T , σ(p) = 1, o equivalentemente, si σ es un modelo de T . Problema de la satisfación (SAT): Si F ∈ F BF (L), determinar si existe una interpretación σ que satisfaga a F . SAT es NP-completo. Ejemplo:
Comprobar si p =⇒ (p =⇒ q).
El oráculo dice que σ(p) = 0 σ(q) = 0 p 0
q 0
p =⇒ 1
p =⇒ (p =⇒ q) 1
Comprobación: tiempo O(n + k).
1.5.
Completitud
Recordatorio: Podemos reemplazar p por cualquier fórmula equivalente. Por ejemplo, podemos remplazar p =⇒ q por ¬p ∨ q, (p ∧ q) ∧ r por p ∧ (q ∧ r), cualquier contradicción por ⊥, etc. 9 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Teorema 1.4. Si existe una prueba de p a partir de los axiomas y modus ponens, entonces, p es una tautología. ` p =⇒ p
Demostración. Por inducción en la longitud de la demostración. Sean p1 , . . . , pn = p. Caso n = 1: p1 = p es un axioma, luego es una tautología. Caso n > 1: p = pn , y para toda j ⊂ n, pj es una tautología. • Si p es una axioma, entonces p es una tautología. • Si p no es un axioma, entonces se obtiene de dos fórmulas anteriores mediante modus ponens, digamos pi = r y pk = r =⇒ p con i, k < n. Sea σ una valoración booleana. Hay que probar que σ(p) = 1. Por la hipótesis inicial, σ(r) = 1 = σ(r =⇒ p) = σ(¬r∨p) = σ(¬r)∨σ(p) = m´ax(0, σ(p)). Por tanto σ(p) = 1.
Teorema 1.5 (Teorema de completitud). Sea T = ∅. Validez: T ` p =⇒ T p Adecuación: T p =⇒ T ` p En general T ` p ⇐⇒ T p
Demostración. Validez: Sea V el conjunto de todas las valoraciones que satisfacen a T . Si V = ∅, entonces T ` σ trivialmente. Si V 6= ∅, entonces, argumentamos como en el teorema anterior pero considerando sólo las valoraciones en V en lugar de todas. Adecuación: Sea p una tautología sin demostración. Como 0 p entonces T ∪ {¬p} es consistente (ver teorema 1.7) lo que nos dice que, además, T `6= p. Pero, puesto que p es una tautología, ¬p =⊥ con lo que nos queda T ` ¬p ≡⊥, que es una contradicción pues esta suponiendo que la teoría es consistente. Otra forma: Probamos la formulación equivalente “T 0 p =⇒ T 2 p”, es decir, hay un modelo σ de T tal que σ(p) = 0. T 0 p =⇒ T ∪ {¬p} es consistente. 10 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Por 1.9, T ∪ {¬p} tiene un modelo σ. Por tanto, ∀q ∈ T , σ(q) = 1, pero σ(p) = 0 porque σ(¬p) = 1.
Criterio: T es consistente ⇐⇒ ∃p T 0 p ≡ T es inconsistente ⇐⇒ ∀p, T ` p
Teorema 1.6. Si T es consistente, entonces, para toda p, o T ` p, o T ` ¬p, o no prueba ninguna, pero no puede probar ambas.
Demostración. Probamos la formulación equivalente: “si T ` p y T ` ¬p, entonces T es inconsistente”. Usando el axioma 7: Por un lado con p =⇒ (¬p =⇒ ⊥), T ` p, y modus ponens, obtenemos T ` ¬p =⇒ ⊥. Por otro lado, usando T ` ¬p y modus ponens, obtenemos T `⊥.
Teorema 1.7. Si T 0 p, entonces T ∪ {¬p} es consistente. Por tanto T es consistente.
Demostración. Vamos a reescribir lo que queremos probar como: “Si T ∪ {¬p} es inconsistente, entonces T ` p”. Si T ∪ {¬p} es inconsistente podemos escribir T ∪ {¬p} `⊥ Por el teorema de la deducción T ` ¬p =⇒ ⊥ Por el axioma 8, que dice: (¬p =⇒ ⊥) =⇒ p tomando (¬p =⇒ ⊥) =⇒ p y aplicando modus ponens, obtenemos T ` p.
Teoría completa
Definición 1.14 Teoría completa. T es completa si es consistente y ∀p ∈ F BF (L), o T ` p o T ` ¬p. 11 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Teorema 1.8 (Teorema de Lindenbaum). Toda teoría consistente puede extenderse a una teoría completa.
Demostración. En esta demostración nos apoyaremos en el Lema de Zorn. Sea T una teoría consistente y sea P el conjunto de todas las teorías consistentes que extienden a T , definimos un orden parcial en P mediante inclusión: T1 ≤ T2 ⇐⇒ T1 ⊂ T2 Sea {Tα }α∈Λ una cadena en P . Si ∪α∈Λ Tα es consistente, entonces es una cota superior de la cadena. Puesto que todas las Tα son consistentes, la unión será consistente. Demostración. Queremos probar que: [ [ Tα 0⊥ Tα `⊥ =⇒ ∃α Tα `⊥≡ ∀α Tα 0⊥ =⇒ α
α
Realizaremos la prueba por reducción al absurdo. Sea p1 , . . . , pn =⊥ una prueba formal de ⊥. Entonces, ∃Tα1 ` p1 , ∃Tα2 ⊃ Tα1 tal que Tα2 ` p2 , . . . , Tαn ⊃ ∃Tαn−1 tal que Tαn ` pn . Observación: Al final del “procedimiento” que acabamos de definir llegamos a una teoría Tn que contiene a todos los pi y que, por tanto Tn `⊥. Pero estábamos considerando que todas las Ti eran consistentes, por lo que acabamos de llegar a una contradicción. Queda claro pues que la unión de teorías consistentes es consistente. S Por el lema de Zorn sabemos que P = α Tα tiene un elemento maximal M , que contiene a T . Por tanto M ∈ P , lo que implica que M es consistente. Además, por ser M maximal tenemos que ∀p M ` p ∨ M ` ¬p puesto que de no ser así, tanto M ∪ {p} como M ∪ {¬p} serían consistentes y extenderían T por lo que pertenecerían a P . Puesto que M es el elemento maximal de P tenemos que M ∪ {p} ⊂ M =⇒ p ∈ M y M ∪ {¬p} ⊂ M =⇒ ¬p ∈ M con lo que M no sería consistente. Queda claro pues que M es la extensión completa de la teoría que estábamos buscando.
Teorema 1.9 (Teorema de completitud II). T es consistente ⇐⇒ T tiene un modelo.
12 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostración. ⇐=: Por validez, T ` p =⇒ T p. Si T es inconsistente, T `⊥, luego T ⊥. Como para toda valoración booleana, σ(⊥) = 0, ninguna σ satisface a T. =⇒: Sea T consistente, queremos probar que tiene un modelo. Por el teorema de Lindenbaum (1.8), existe una M ⊃ T M es completa, es decir, M es consistente y ∀p ∈ F BF (L), o M ` p o M ` ¬p. Definimos σ(p) = 1 ⇐⇒ M ` p, y σ(p) = 0 ⇐⇒ M 0 p. σ está definida sobre el conjunto F BF (L), y σ(p) = 1 ∀p ∈ M , y por tanto ∀p ∈ T . Como {¬, ∨} es un sistema completo de conectivas, podemos suponer que L = A∪{¬∨}. Para ver que σ es una valoración booleana, hay que comprobar 1. σ(¬p) = 1 + σ(p) (mod 2). Si M ` ¬p, entonces M 0 p (por consistencia), luego 1 = σ(¬p) = 1 + σ(p) = 1 + 0 Si M 0 ¬p, entonces M ` p, y 0 = σ(¬p) = 1 + σ(p) (mod 2) = 1 + 1 (mod 2) 2. σ(p ∨ q) = σ(p) ∨ σ(q). Si M ` p o M ` q, entonces, por p =⇒ (p ∨ q) o q =⇒ (p ∨ q), que es el axioma 2, y modus ponens, obtenemos M `p∨q Por definición de σ, σ(p ∨ q) = 1 = m´ax{σ(p), σ(q)} = σ(p) ∨ σ(q) Si M ` ¬p y M ` ¬q, entonces, usando el axioma 3: ¬p =⇒ (¬q =⇒ ¬(p ∨ q)) y modus ponens dos veces, obtenemos: M ` ¬(p ∨ q) En este caso, σ(p ∨ q) = 0 = σ(p) ∨ σ(q).
Teorema 1.10 (Teorema de compacidad). Si todo subconjunto finito de una teoría T tiene un modelo, entonces T tiene un modelo.
13 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostración. Como todo subconjunto finito de T tiene un modelo, todo subconjunto finito es consistente, luego T es consistente. De otro modo, si T `⊥, existe una demostración p1 , . . . , pn =⊥ usando las premisas en T . Pero T ∩ {p1 , . . . , pn−1 } `⊥ y es finito. Por 1.9, T tiene un modelo. Hecho por Edu. Se aceptan correcciones. Supongamos que todo subconjunto finito de una teoría T tiene un modelo. Por el 1.9, dichos subconjuntos son consistentes. (1) Supongamos que T `⊥. Como las pruebas formales son un conjunto finito de proposiciones p1 , . . . , pn =⊥ que o bien son axiomas, o bien pertenecen a T , o bien se obtienen por MP de dos anteriores, T ∩ {p1 , . . . , pn−1 } = S es un subconjunto finito de T tal que S `⊥, luego S es inconsistente, contradicción con (1). Luego T es consistente, y por 1.9, tiene un modelo. Observación: Si σ es un modelo de T , también o es de todos sus subconjuntos finitos, luego la otra dirección en el teorema de compacidad es trivial.
Teorema 1.11. La lógica proposicional es decidible, es decir, existe un algoritmo que nos permite saber si ` p o 0 p.
Demostración. Escribimos la tabla de verdad de p. Si σ(p) = 1 ∀σ, entonces ` p Si σ(p) = 0 para algún σ, entonces 0 p.
14 de 102
Lógica Matemática - 15/16 C1 - UAM
2. 2.1.
Pedro Valero Mejía y Guillermo Rual
Lógica de primer orden (o de predicados) Exposición informal y ejemplos
Asumimos que todos los conjuntos usados para definir el lenguaje son disjuntos. Usaremos: Símbolos lógicos y de puntuación: {¬, ∨, ), (, “, ”} También usaremos los demás símbolos lógicos como abreviaciones. Tendremos un conjunto infinito numerable de variables: V ar = {v1 , v2 , . . .} Aunque en la práctica usaremos x, y, z. Un conjunto de constantes, que podría ser vacío: Con = {C0 , C1 , . . .} Funciones: F un = {f0 , f1 , . . .} Relaciones o predicados: Rel = {R1 , R2 , . . .} Cuantificadores: {∀, ∃} Podemos considerar ∃x(P (x)) como abreviación de ¬(∀x(¬P (x))). No se puede cuantificar sobre constantes, funciones y relaciones en lógica de primer orden. En segundo orden, se permite cuantificar sobre funciones y predicados. Ejemplo: Expresiones de primer orden Sabemos que P (x) =⇒ P (x), donde x es libre, es cierto. Por otro lado ∀x(P (x) =⇒ P (x)) tiene el mismo significado, pero x ahora es una variable ligada al cuantificador. Ejemplo: Expresión de segundo orden La expresión ∀P ∀x(P (x) =⇒ P (x)) es una expresión de segundo orden al estar cuantificando sobre predicados. Principio de inducción matemática en N: ∀P ( P (0) ∧ (∀n(P (n) =⇒ P (n + 1))) =⇒ ∀n(P (n))) Es una fórmula de segundo orden. 15 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
En una lógica de primer orden, en vez de “principio”, tenemos un “esquema de principios”: Un principio de inducción por cada P . Ejemplo: Axiomas de la teoría de grupos: Lenguaje LG Axiomas: • ϕ1 : ∀x∀y∀z((x · y) · z) = (x · (y · z)) • ϕ2 : ∀x(x · e = e · x = x) • ϕ3 : ∀x∃y(x · y = e) Funciones: F un = {·} Relaciones: Rel = {=} Constantes: Con = {e} Un grupo es cualquier modelo de TG = {ϕ1 , ϕ2 , ϕ3 }. Veamos ahora si podemos demostrar, a partir de TG la proposición ψ : ∀x∀y(x · y = y · x) Es decir, queremos ver si TG ` ψ. En esta ocasión es algo sencillo ver que si G es no abeliano, entonces G 2 ψ, como conclusión tenemos TG 0 ψ. Es decir, un G no abeliano sería un modelo de TG , puesto que satisface ϕ1 , ϕ2 y ϕ3 pero no es conmutativo y por tanto no satisface ϕ4 . Esto es un ejemplo de que el teorema de validez también es cierto en lógica de primer orden. TG ` ψ =⇒ TG ψ Equivalentemente TG 2 ψ =⇒ TG 0 ψ ¿Podemos probar entonces que TG ` ¬ψ? No, porque si tomamos un conjunto G2 abeliano, entonces G2 2 ¬ψ y por tanto, por validez, TG 0 ¬ψ. Como conclusión, tenemos que TG no es una teoría completa. Clausura universal
Definición 2.1 Clausura universal. La clausura universal de φ es ∀x1 , ∀x2 , . . . , ∀xn φ, donde x1 , x2 , . . . , xn son todas las variables que aparecen libres en φ. Abreviación: ∀x ∈ z (φ(x)) es abreviación de ∀x((x ∈ z) ∧ φ(x)). Abreviación: ∃!x(φ(x)) abrevia ∃x(φ(x) ∧ (∀φ(y)(φ =⇒ y = x))). 16 de 102
Lógica Matemática - 15/16 C1 - UAM
Ejemplo:
Pedro Valero Mejía y Guillermo Rual
La clausura universal de x < 5 + y es ∀x∀y(x < 5 + y)
que tiene valor de verdad falso.
2.2.
Axiomas de ZFC (Zermelo-Fraenkel con Elección)
Todos son conjuntos, hereditarios y bien fundados. No hay “urelementos” 1 o átomos. 1. Axioma del conjunto vacío Existe un conjunto vacío, representado por ∅. Formalmente: ∃z(∀x(x ∈ / z)) (En el lenguaje de la teoría de conjuntos LS , tenemos las relaciones binarias {∈, =}. Por otro lado F un : ∅, Cons : ∅). 2. Axioma de extensionalidad. Dos conjuntos son iguales únicamente si contienen los mismo elementos. Formalmente: ∀x∀y(∀z(z ∈ x ⇐⇒ z ∈ y) ⇐⇒ x = y) Corolario 2.1. El conjunto vacío es único. 3. Esquema axiomático de especificación2 . Sea φ(u) una fórmula de un lenguaje de primer orden que contenga una variable libre v. Entonces, para cualquier conjunto x existe un conjunto y cuyos elementos son aquellos elementos de a y x que cumplen φ(a). Formalmente: ∀z∃y∀x(x ∈ y ⇐⇒ ((x ∈ z) ∧ φ)) Las FBF permiten definir subconjuntos y hablar de subconjuntos permite evitar la paradoja de Russel:
La paradoja de Russel
Tenemos un axioma por cada φ ∈ F BF (LS ), que se define formalmente como: ∀z∃y∀x(x ∈ y ⇐⇒ ((x ∈ z) ∧ φ(x))) Si no tuviéramos z, el “axioma” quedaría así. ∃y∀x(x ∈ y ⇐⇒ φ(x)) Si tomamos φ : x ∈ / x (≡ ¬(x ∈ x)) ∃y∀x(x ∈ y ⇐⇒ x ∈ / x) Sabemos que ∃y, digamos y0 . ∀x(x ∈ y0 ⇐⇒ x ∈ / x) 1 2
Se utiliza el prefijo alemán “ur” que significa primordial También conocido como esquema de axiomas de compresión
17 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Como tenemos el cuantificador ∀x, podemos sustituir x por y0 , obteniendo y0 ∈ y0 ⇐⇒ y0 ∈ / y0 Que es una contradicción. Para evitar llegar a esta contradicción añadimos z como se ha hecho. Observación: {z1 , . . . , zn } es un conjunto. S(n) = {0, . . . , n} es un conjunto. y = {1, . . . , n} = {x ∈ S(n) x > 0} es un conjunto. La función f (i) = zi es una función (conjunto de pares ordenados). Por el axioma de reemplazo, el rango f es un conjunto. Donde f : {1, . . . , n} → {z1 , . . . , zn }. 4. Axioma de emparejamiento. Si x e y son conjuntos, el par {x, y} es un conjunto. Si z es un conjunto, {{x, y}, z} es un conjunto. Si x = y, entonces obtenemos {x, x} = {x}. Formalmente ∀x∀y∃z∀u(u ∈ z ⇐⇒ (u = x) ∨ (u = y) ) z es {x, y}, si x = y, z es {x, x} = {x}. Antes de seguir enunciado los axiomas veamos algunas definiciones de términos ya conocidos vistos desde otro enfoque: Los naturales
Definición 2.2 Los naturales. 0 := ∅ 1 := {∅} (por emparejamiento o partes cuando lo veamos). 2 := {∅, {∅}} = {0, 1} (por emparejamiento). 3 := {1, 2, 3} = {∅, {∅}, {∅, {∅}}} (Por el axioma 4).
Sucesor
Definición 2.3 Sucesor. El sucesor de n, S(n) es S(n) = {0, 1, 2, . . . , n}
Suma en los naturales
Definición 2.4 Suma en los naturales. n + 1 := S(n). Si hemos definido n + m, entonces n + m + 1 := S(n + m). Observación: A partir de aquí podemos definir todo n ∈ N como un conjunto, pues n = S(n − 1) = {0, 1, ..., n − 1}
Producto de los naturales
Definición 2.5 Producto de los naturales. En cuanto al producto: 18 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
n·0=0 n·1=n Si n · m está definido, entonces n(m + 1) = n · (m + 1) = n · m + n.
Menor
Definición 2.6 Menor. n < m ⇐⇒ n ∈ m Usando los axiomas vistos, tenemos que cada n es un conjunto, pero nada nos dice que N := w sea un conjunto, o que exista un conjunto infinito. Prosigamos viendo axiomas de ZFE 5. Axioma de la unión.SDada cualquier colección de conjuntos C, existe un conjunto representado por C llamado unión de C, que contiene todos los elementos de cada conjunto C. Esto es: ∀x∃y∀z(z ∈ y ⇐⇒ ∃u((u ∈ x) ∧ (z ∈ u))) Se usa al definir S(n) = {0, 1, . . . , n} = n ∪ {n} Nos permite definir cada n como un conjunto, pero nada nos dice que N sea un conjunto. Ejemplo:
Sea X = {1, {2}, {2, 3}}, entonces ∪X = {0, 2, 3}
porque 1 = {∅}. 6. Esquema axiomático de reemplazo. Si φ(a, b) es una sentencia tal que para cualquier elemento a de un conjunto x el conjunto y = {b|φ(a, b)} existe, entonces existe una función f : x 7−→ y tal que f (z) = y. Formalmente ∀a ∀x ∈ a((∃!y(ϕ(x, y)))) =⇒ (∃z∀x ∈ a∃y ∈ z(ϕ(x, y))) Este axioma nos dice que para definir una función, Ranf debe pertenecer a un conjunto preexistente. En particular, Ranf no es “cofinal” en el universo de los conjuntos. 7. Axioma de fundación.3 . Para todo conjunto no vacío x esite un subconjunto y ∈ x tal que x ∩ y = ∅ ∀x (x 6= ∅) =⇒ (∃y ∈ x(∀z ∈ x(z ∈ / y))) 3
También conocido como axioma de regularidad
19 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Este axioma implica que para todo conjunto z, z ∈ / z. Supongamos que existe un z tal que z ∈ z. Entonces, aplicamos el axioma de fundación al conjunto {z}, porque z no es vacío (al contener a z). {z} es un conjunto por pares y extensión, {z, z} = {z} o por compresión: {y : y ∈ z ∧ y = z}. Por el axioma, ∃y ∈ {z} tal que z ∩ y = ∅. Pero y = z luego z ∩ y = z 6= ∅. Luego para todo conjunto, z ∈ / z. Observación: Si hubiese un z ∈ z, entonces z 3 z 3 z 3 z . . .. Obtendríamos una cadena infinita descendiente de ∈. Pude demostrarse que este axioma prohíbe todas las cadenas infinitas descendientes y los bucles tales como z1 3 z2 3 . . . 3 zn 3 z1 . 8. Axioma del conjunto potencia4 . Para cualquier conjunto x existe otro conjunto, representado por P(x), que contiene a todos los subconjuntos de x. Formalmente. ∀x∃y∀z(z ∈ y ⇐⇒ ∀a(a ∈ z =⇒ a ∈ x)) Par ordenado: si x e y son conjuntos (x, y) := {x, {x, y}} podemos definir funciones, relaciones, etc. Hemos construido cada n con n elementos. Sea X un conjunto ya construido (por tanto, finito) X, Y ⊂ N, f : X → Y Ranf ⊂ N = {0, . . . , N − 1} conjunto ya construido. Podemos tomar N = m´ax{f (x) : x ∈ X} + 1. En general Card(P(X)) = 2Card(X) . Abreviación: Usamos z ⊂ X ≡ ∀w((w ∈ z) =⇒ (w ∈ X)) ∀X∃y∀z(z ⊂ X ⇐⇒ x ∈ y). Nota aleatoria: R1 = R{∅} = {(∅, x) : x ∈ R} R2 = R{0,1} = {f : (0, 1) → R} = {(x0 , x1 ) : x0 , x1 ∈ R} R0 = R∅ = {f : ∅ → R} (es elegir 0 elementos de R, que es lo mismo que rechazarlos todos, lo cual sólo hay una forma de hacerlo, que es nuestra constante). 9. Axioma de infinitud. Existe un conjunto x tal que ∅ ∈ x y tal que si y ∈ x, entonces y ∪ {y} ∈ x. En símbolos: ∃x((∅ ∈ x) ∧ (∀y(y ∈ x =⇒ y ∪ {y} ∈ x))) A partir de este conjunto, definimos N = ω exigiendo que todo elemento distinto del 0 sea sucesor de otro elemento. Sea X un conjunto dado por el axioma de infinitud. N := {x ∈ X : ∃y ∈ X(x = y ∪ {y}) ∧ (∀w ∈ x(w = 0 ∨ (∃z(w = z ∪ {z}1)))) } 4
También conocido como axioma de partes
20 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejemplo informal: N0 := {(0, n) : n ∈ N} ≡ N N1 := {(1, n) : n ∈ N} ≡ N Luego N0 ∪N1 con el orden del diccionario es {(0, 0), (0, 1), (0, 2), . . . , (1, 0), (1, 1), (1, 2), . . .} Por inducción: Sea S ⊂ N. Si 0 ∈ S ∧ (∀n(n ∈ S =⇒ n + 1 ∈ S)). En conclusión, N ⊂ S.(S ⊂ N =⇒ N = S) 10. Axioma de elección. Dada una familia de conjuntos no vacíos podemos coger un elemento de cada conjunto. Este axioma puede expresarse de manera equivalente a, dado un conjunto cualquiera x, existe una función f que elige un elemento de cada conjunto no vacío de x. Formalmente ∀X(∅ ∈ / X =⇒ ∃f : X → ∪X(∀t ∈ x(f (t) ∈ t)) ) Hay que notar que al cuantificar funciones estamos pasando a lógica de segundo orden. Si C = {Aα : α ∈ Λ} es una colección de conjuntos disjuntos no vacíos, ∃f : C → ∪C tal que ∀Aα ∈ C, f (Aα ) ∈ Aα Luego escrito en primer orden: ∀y∀u(u ⊂ P (y)∧∀z∀w (z ∈ u ∧ w ∈ u) =⇒ (z 6= ∅ ∧ (z = w ∨ z ∩ w = ∅)) =⇒ ∃x ∈ P (y)(∀z ∈ u∃v(x ∩ z = {v}))) El axioma de elección es equivalente al lema de Zorn, que es equivalente a que todo conjunto tiene un buen orden. Algunas consecuencias: Todo conjunto infinito contiene un conjunto numerable. Toda relación contiene a una función con el mismo dominio. Todo espacio vectorial tiene una base. Existen conjuntos en [0, 1] que no son medibles con respecto a la medida de Lebesgue. Si AP (axiomas de Peano) es completa, puede extenderse a una teoría completa.
2.3.
Axiomas de Peano
Los 5 Axiomas de Peano son: 1. Existe un número natural 1. En otros términos, 1 está en N, el conjunto de los números naturales. 2. Todo número natural n tiene un sucesor n* (este axioma es usado para definir posteriormente la suma). 21 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. 1 no es el sucesor de algún número natural. 4. Si hay dos números naturales n y m con el mismo sucesor, entonces n y m son el mismo número natural. 5. Si 1 pertenece a un conjunto K de números naturales, y dado un elemento cualquiera n, el sucesor n* también pertenece al conjunto K, entonces el conjunto K debe ser el conjunto de todos los números naturales. Este axioma es el principio de inducción matemática.
Teorema 2.2. N es único en el sentido de que si A y B satisfacen los axiomas de Peano, entonces A = B = N.
Demostración. Por hipótesis, 0 ∈ A ∩ B. Si n ∈ A ∩ B entonces n + 1 ∈ A ∩ B. Por lo tanto A = B = A ∩ B = N. Hasta ahora hemos visto que Los axiomas de la teoría de grupos: admiten muchos modelos muy distintos. Axioma de Peano: intentan caracterizar a N. Hay varios conjuntos que satisfacen los axiomas de Peano, estos modelos son todos isomorfos. La gran ventaja que nos aporta la lógica de primer orden es que permite expresar los axiomas de ZFC que fundamentan la mayor parte de las matemáticas (en particular ZF ⇒ Axiomas de Peano (1 orden))
2.4.
Introducción a lógicas de segundo orden
En la práctica, usamos constantemente lógicas de segundo orden sin preocuparnos de si los conjuntos son demasiado grandes Ejemplo: Teorema: Sea K un espacio topológico compacto y sea f : K → R continua. Entonces f alcanza sus valores máximo y mínimo. Traducción semiformal: Sea C= clase de todos los conjuntos compactos, y sea: Fk = {f : K → R|f es continua} Entonces nos queda: ∀K ∈ C ∀f ∈ Fk ∃a, b, c ∈ K ∀x ∈ K f (a) ≤ f (x) ≤ f (b) OJO: C es el conjunto de todos los conjuntos. 22 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
De modo que, una manera de interpretar el teorema anterior en una lógica de primer orden es considerar que tenemos un esquema de teoremas, es decir, tenemos un teorema por cada (K, f ) donde K y f pueden describirse en el lenguaje. No usamos la lógica de 2º orden todo el tiempo porque compacidad, y por tanto completitud, fallan.
Teorema 2.3. Existe una teoría T en un lenguaje de 2º orden, tal que, todo subconjunto finito de T tiene un modelo, pero T no tiene ningún modelo.
Demostración. Si consideramos la teoría Ψ∞ , donde Ψ∞ nos dice que existe una función inyectiva que no es sobreyectiva, vemos que todos sus modelos son infinitos (todas las funciones que satisfacen la teoría deben moverse entre conjuntos infinitos.) Ψ∞ : ∃f ∀x ∀y f (x) = f (y) ⇒ x = y ∧ ∃z∀x z 6= f (x) Por otro lado, es claro que todo modelo de ¬Ψ∞ es finito. Vamos a considerar el conjunto de teorías Ψn , cada una de las cuales nos dice que por lo menos hay n objetos distintos: Ψ2 : ∃v1 ∃v2 (v1 6= v2 ) Ψ3 : ∃v1 , v2 , v3 (v1 6= v2 ) ∧ (v2 6= v3 ) ∧ (v1 6= v3 ) .. . Ψn : ∃v1 , ..., vn ∧1≤i
23 de 102
Lógica Matemática - 15/16 C1 - UAM
2.5.
Pedro Valero Mejía y Guillermo Rual
Completitud
Teorema 2.4 (Teorema de completitud). Sea T una teoría en el lenguaje de primer orden, existen dos versiones de este teorema. 1. T ` φ ⇔ T φ 2. T es consistente ⇔ T tiene un modelo
Demostración. 1. Ya hemos visto como demostrar ambos sentidos de la implicación ⇒) Por validez. ⇐) Por Gödel (Henkin) 2. Es trivial y se deja como ejercicio para el lector.
Corolario: Compacidad: Sea T una teoría en un lenguaje de primer orden. T tiene un modelo ⇔ todo subconjunto finito de T tiene un modelo. En todos los lenguajes de primer orden siempre tenemos símbolos lógicos, incluyendo, o no, igualdad, signos de puntuación (paréntesis y comas), cuantificador(es) y variables, de modo que estos signos no se incluyen al describir un lenguaje. Ejemplo:
Lenguaje de la aritmética LArit = { 0, 1 , |{z}
+, · |{z}
,
< |{z}
}
constantes funciones binarias relaciones binarias
Teorema 2.5 (Primer Teorema de incompletitud de Gödel). Sea T una teoría en (un lenguaje de primer orden) axiomatizable5 . Si el lenguaje contiene, al menos, el lenguaje de la aritmética y la teoría contiene a los axiomas de Peano entonces T consistente =⇒ T incompleta
5
Tenemos un procedimiento para comprobar si cada FBF es un axioma o no
24 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Teorema 2.6 (Teorema de Presburger y Skolem). Each sentence in the languaje of the structure (Z; 0, 1, +, −, <) that is true in this structure is provable from the axioms for ordered abelian groups with least positive element 1, augmented, for each n = 2, 3, 4, ... by an axiom that says that for every a ther is a b such that a = nb or a = nb + 1 or ... or a + nb + 1 + ... + 1 (with n disjuncts in total). Moreover, there is an algorithm that, given any sentence in this languaje as input, decides whether this sentence is true in (Z; 1, 0, +, −, <).
Teorema 2.7 (Segundo Teorema de incompletitud de Gödel). Sea T una teoría en un lenguaje de primer orden axiomatizable y consistente, si T tiene, al menos, el poder expresivo de la aritmética de Peano, es posible escribir una sentencia que llamaremos CON (T ), que puede interpretarse como “T es consistente” y que no puede ser probada, es decir, T 0 CON (T )
Observación: Si T es consistente entonces T 0 ¬CON (T ). CON (T ) puede interpretarse como “T es consistente", luego existe un modelo a de T con a CON (T ) y, por tanto, a 2 ¬CON (T ). En consecuencia, si T es consistente, entonces T ∪{CON (T )} y T ∪{¬CON (T )} son extensiones consistentes de T , luego ambas teorías tienen modelos. Observación: Los axiomas de Peano son teoremas en ZF luego los resultados anteriores se aplican a ZF.
Teorema 2.8. Si ZF es consistente, entonces ZF 0 CON (ZF )
Teorema 2.9 (Teorema de Cantor). Cantor probó que card(N) < card(R) por diagonalización. Además, Cantor conjeturó que no existe ningún conjunto E tal que card(N) < card(E) < card(R) A esta conjetura se la denomina la hipótesis del continuo (CH)
25 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Aunque Cantor invirtió mucho tiempo tratando de demostrar su conjetura, no fue capaz de conseguir nada. Esta falta de éxito se debió a que los axiomas ZF no son suficientemente fuertes como para demostrar la conjetura.
Teorema 2.10. Si ZF es consistente, entonces también lo son: 1. ZF + C + CH (Gödel finales años 30) 2. ZF + ¬C + CH (Paul Cohen finales años 60) 3. ZF + C + ¬CH (Paul Cohen finales años 60) 4. ZF ¬C + ¬CH (Paul Cohen finales años 60) Donde C representa el axioma de elección.
Llegados a este punto es recomendable para el lector la lectura del apartado 2.3 del libro
2.6. Lenguaje de primer orden
Lenguajes y estructuras
Definición 2.7 Lenguaje de primer orden. L es un lenguaje de primer orden si es unión disjunto de los siguiente conjuntos: 1. Símbolos lógicos y de puntuación {¬, →, =, ), (, “,00 } 2. Variables, que quedan representadas por el conjunto infinito numerable V ar = {v0 , v1 , ...} 3. Constantes (podría ser vacío) 4. Funciones (podría ser vacío) 5. Relaciones o predicados (podría ser vacío) 6. Cuantificador {∀} considerando el cuantificador ∃ como negación del ∀. Una L-estructura es una interpretación del lenguaje L, y si T es una teoría en L entonces un modelo de T es una L-estructura donde todas las fórmulas en T son verdad. Esta afirmación establece una relación entre diferentes términos que aún no hemos definido. Vamos a verlos: 26 de 102
Lógica Matemática - 15/16 C1 - UAM
Lestructura
Pedro Valero Mejía y Guillermo Rual
Definición 2.8 L-estructura. Una L-estructura a es una 4-upla a = (A, C a , F a , Ra ) donde A 6= ∅ es el conjunto al que pertenecen las variables y al que se aplican los cuantificadores Por cada c ∈ Constantes de L existe ca ∈ C a asociada a c Por cada f n-aria ∈ Funciones de L existe f a n-aria ∈ F a asociada a f Por cada r n-aria ∈ Relaciones de L existe ra n-aria ∈ Ra asociada a r Los términos denotan “objetos” en la interpretación, son equivalentes a “nombres”. Así las variables serían “nombres comunes” y las constantes “nombres propios”
Término
Definición 2.9 Término. Los términos son la clase de fórmulas más pequeña que se obtiene mediante aplicación de la siguiente regla 1. Las variables son términos 2. Las constantes son términos 3. Si t1 ...tn son términos y f es una función n-aria entonces f (t1 , ...tn ) es un término.
Fórmula atómica
Definición 2.10 Fórmula atómica. Las fórmulas atómicas son 1. Por cada relación n-aria R y términos t1 ...tn , R(t1 , ..., tn ) es una fórmula atómica. 2. Si t1 , t2 son términos entonces t1 = t2 es una fórmula atómica.
Fórmula bien formada
Definición 2.11 Fórmula bien formada. Las fórmulas (bien formadas) de L son la clase más pequeña cerrada bajo las siguientes operaciones 1. Las fórmulas atómicas son fórmulas 2. Si Φ, Ψ son fórmulas también lo son Φ → Ψ y ¬Φ 3. Si Φ es una fórmula también lo es ∀xΦ
Variable ligada
Variable libre Fórmula cerrada
Definición 2.12 variable ligada. Si x aparece en la fórmula φ bajo el rango de un cuantificador (ya sea ∀ o ∃), decimos que x es una variable ligada. En caso contrario, es decir, si x aparece en φ pero no está cuantificada, decimos que x es una variable libre Definición 2.13 Fórmula cerrada. Decimos que φ es una fórmula cerrada o sentencia si no tiene variables libres. 27 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejemplo: Reemplazo de variables Consideramos al fórmula: Z 1 y xy dx = 2 0 donde la variable x está “ligada” por el dx e y está libre. Vamos a ver qué términos pueden reemplazar a la variable y. Por lo que sabemos de matemáticas tenemos claro que podemos sustituir la y por cualquier otra variable distinta de x como z, t, v... y también puede sustituirse por funciones como sin(y). En general, podrá sustituirse una variable por cualquier variable o función que no dependa variables ligadas. Ejemplo:
Consideramos ahora la fórmula φ : ∀x(x = y)
Podemos ver que el único modelo de esta fórmula será aquel conjunto que esté formado por un único elemento. Dicho de forma más técnica, esta fórmula es cierta en la L-estructura a si y sólo si card(A) = 1. Obviamente, si en este mismo ejemplo sustituimos la y por una x, obtenemos la fórmula φ : ∀x(x = x) que es cierta para todas las interpretaciones. Proposición 2.11. Si x aparece libre en una fórmula φ, el término t puede sustituir a x si ninguna de las variables de t se vuelve ligada al reemplazar a x por t. En estos ejemplos hemos estado hablando de veracidad y falsedad de afirmaciones sin haber definido previamente estos conceptos. Si bien es algo totalmente intuitivo y casi trivial, es necesario tener una definición formal de estos términos. Queremos por tanto una definición que nos permite saber cuándo σ es verdad en a, es decir, cuando a σ. Para ello buscaremos una definición inductiva en términos de subfórmulas más cortas. En particular queremos definir a ∀xφ en términos de a φ. Una forma de dar sentido a a φ es extender el lenguaje L a LA = L ∪ {a, a ∈ A} considerando la unión disjunta. Ejemplo:
Supongamos que tenemos L = {c, f, R}, a = (N, 0, S, ≤)
Dada σ = ∀x(cRx), queremos definir a σ en términos de sentencias más cortas. Por cada n ∈ N, añadimos la constante n (a L), cuya interpretación es n. Entonces a σ, puesto que ∀n, n ∈ N, c ≤ n, que es una sentencia más corta que σ. 28 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Luego LN es la unión disjunta: LN = L ∪ {n : n ∈ N} Consecuencia lógica
Definición 2.14 Consecuencia lógica. Vamos a ver cuándo a σ para L−sentencias. Sea LA = L ∪ {a : a ∈ A} (unión disjunta), tenemos diferentes casos: 1. Sentencias atómicas Sean t1 , . . . , tn , LA −términos sin variables diremos que a t1 = t2 ⇐⇒ ta1 = ta2 y, además, para toda relación o predicado n−ario P , a P (t1 , . . . , tn ) ⇐⇒ (ta1 , . . . , tan ) ∈ P a 2. LA sentencias Sean σ1 y σ2 LA -sentencias, entonces a ¬σ ⇐⇒ a 2 σ, a σ1 → σ2 ⇐⇒ a 2 σ1 ó a σ2 3. Cuantificadores a σ = ∀xϕ(x) ⇐⇒ ∀a ∈ A, a ϕ(a) Proposición 2.12. Sea ϕ una fórmula de LA , ϕ = ϕ(x1 , . . . , xn ) a ϕ ⇐⇒ a ∀x1 , ∀x2 , . . . , ∀xn ϕ o equivalentemente, ∀(a1 , . . . , an ) ∈ An =⇒ a ϕ(a1 , . . . , an )
2.7.
Axiomas de la lógica de primer orden y reglas de deducción
1. Axiomas proposicionales (los del libro) o a efectos de este curso, todas las tautologías. 2. Axiomas de igualdad: x=x x = y =⇒ y = x (x = y) ∧ (y = z) =⇒ x = z Para toda P n−aria, x1 = y1 ∧ . . . ∧ xn = yn ∧ P (x1 , . . . , xn ) =⇒ P (y1 , . . . , yn ) Para toda función f n−aria, (x1 = y1 ∧. . .∧xn = yn ) =⇒ f (x1 , . . . , xn ) = f (y1 , . . . , yn )
29 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. Axioma de cuantificación. Si el término t puede sustituir en x, entonces ∀xϕ(x) =⇒ ϕ(t|x)(= ϕ(t) abreviación)
Teorema 2.13. Si ϕ es un axioma y a es una L−estructura, entonces a ϕ. Es decir, los axiomas lógicos son verdad en todas las L-estructuras (interpretaciones).
Demostración. Son verdad para las fórmulas atómicas, por inducción. Por ejemplo, a x = x. Las demás fórmulas por inducción en el número de símbolos lógicos (incluyendo cuantificadores).
2.8.
Reglas de deducción
1. Modus Ponens: De ϕ y ϕ =⇒ Ψ obtenemos Ψ. 2. Si x no aparece libre en ϕ, de ϕ =⇒ Ψ deducimos que ϕ =⇒ ∀xΨ. Observación: Estas reglas de deducción preservan el valor de verdad: 1. Si a ϕ y a ϕ =⇒ Ψ, entonces a Ψ. 2. Si x no aparece libre en ϕ y a ϕ =⇒ Ψ entonces ó a 2 ϕ ó a Ψ. Si a 2 ϕ, entonces a ϕ =⇒ cualquier otra cosa. Si a ϕ, entonces, a Ψ. Esto significa que ∀a ∈ A (extendemos L ∪ {a : a ∈ A}, unión disjunta). Ψ(a) = Ψ(a|x) es verdad en a. Luego es verdad que a ∀xϕ(x). Muchas definiciones (y resultados) son enteramente análogos a las de la lógica proposicional. Teoría
Prueba
Definición 2.15 Teoría. Σ = {σα : σα es una setencia de L, α ∈ Λ} Definición 2.16 Prueba. Como antes, sólo que en vez de una regla de deducción, hay dos. Notación: Σ ` σ.
Modelo
Definición 2.17 Modelo. a es un modelo de Σ si ∀σ ∈ Σ, a σ 30 de 102
Lógica Matemática - 15/16 C1 - UAM
Consecuencia lógica
Pedro Valero Mejía y Guillermo Rual
Definición 2.18 Consecuencia lógica. σ es una consecuencia lógica de la teoría Σ si para todo modelo a de Σ, a σ. Ejemplo: Si Σ = {axiomas de la teoría de grupos} y σ1 es la sentencia que expresa la conmutatividad, σ1 no es consecuencia lógica de Σ (hay grupos no conmutativos). Si σ2 expresa el hecho de que el inverso por la izquierda es igual que el inverso por la derecha, entonces σ2 es consecuencia lógica de Σ. Notación: Σ σ ⇐⇒ σ es consecuencia lógica de Σ. “” es una noción semántica y “`” es una noción sintáctica. Σ ` σ significa que existe una demostración formal lo cual depende de los axiomas, de las reglas de deducción y de las premisas. Ejemplo: Vamos a probar que si Σ ∀xϕ(x), entonces Σ ∃xϕ(x) (cuestión semántica). Sea a cualquier modelo de Σ. ∀xϕ(x) ⇐⇒ ∀a ∈ A, a ϕ(a) Escogemos cualquier b ∈ A 6= ∅. Entonces a ϕ(b), luego a ∃xϕ(x). Trabajando con lógica proposicional vimos que era más sencillo comprobar que una FBF era consecuencia lógica, pues bastaba con construir su tabla de verdad, que construir una demostración o prueba de la fórmula a partir de los axiomas. Algo similar ocurre en lógica de predicados. Ejemplo:
Demostramos que, siendo z una variable que no aparece en φ se cumple: ∀xϕ(x) ∀xϕ(z) = ∀zϕ(z|x)
Sea a ∀xϕ(x), es decir ∀a ∈ A ϕ(a) = ϕ(a|x) es cierto en a. Por tanto, ∀zϕ(z) es verdad en a. Ejemplo:
Vamos a probar ∀xϕ(x) ` ∀zϕ(z)
Realizaremos la demostración por pasos: 1. Invocamos la premisa de la demostración: ∀xϕ(x) 2. Invocamos ahora el axioma de cuantificación: ∀xϕ(x) → ϕ(x) 31 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. Aplicamos Modus Ponens con lo que obtenemos: ϕ(z) 4. Apoyándonos en el apartado a) del ejercicio 4 de la hoja 6, invocamos: ϕ ` ∀xϕ 5. Combinando los dos últimos resultados llegamos a: ϕ(z) ` ∀zϕ(z) Proposición 2.14. Toda teoría consistente puede extenderse a una teoría M consistente y maximal (con respecto a la inclusión). La demostración de esta proposición se basa en el empleo del Teorema de Lindenbaum usando Zorn. Proposición 2.15. La teoría M consistente y maximal, mencionada en la proposición anterior, es completa Demostración. Sabemos que ∀ϕ, ϕ ∈ M ∨ ¬ϕ ∈ M puesto que la teoría es maximal, si ϕ, ¬ϕ ∈ / M podríamos añadir una de ellas a M con lo que entonces M no sería maximal. Por tanto no es posible esta situación. Por tanto, siempre tendremos una de dos: M ` ϕ ∨ M ` ¬ϕ siendo la demostración trivial y de una sola línea pues ϕo ¬ϕ deben pertenecer a M , como hemos visto en el párrafo anterior. Proposición 2.16. Si Σ es completa, entonces es consistente y ∀ϕ tenemos que Σ ` ϕ ∨ Σ ` ¬ϕ Por tanto M = {ϕ : Σ ` ϕ} es una teoría maximal, consistente y contiene a Σ De forma general, si queremos demostrar la completitud de una teoría, los pasos a seguir son: Demostrar validez, es decir, ver que: ` ϕ =⇒ ϕ Razón: ϕ es un axioma (verdad en todas las interpretaciones) o se deriva de fórmulas ya probadas mediante las reglas de deducción, luego es verdad en todas las interpretaciones. 32 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostrar suficiencia, es decir, ver que: ϕ =⇒ ` ϕ Razón: La idea es muy similar a la vista en el tema de lógica proposicional. Si Σ ∪ {¬σ} es inconsistente, entonces los axiomas y las reglas de deducción son suficientemente fuertes para demostrar que Σ ` σ. Equivalentemente, si Σ 0 σ entones Σ ∪ {¬σ} es consistente. Para cada σ, siempre que Σ 0 σ, añadimos σ a Σ, con lo que mantenemos siempre la consistencia. En cualquier modelo de Σ ∪ {¬σ}, σ es falsa luego Σ 2 σ. Así llegamos a: Σ 0 σ =⇒ Σ 2 σ que es justo lo que queríamos demostrar Clave de esta demostración: Las teorías consistentes tienen modelos (por el teorema de completitud, versión 2)
2.9.
Contenidos para examen
Para el segundo examen de la asignatura será de vital importancia aprender los enunciados y demostraciones de los siguientes teoremas: 1. Hay una teoría T en un lenguaje de 2 orden tal que T no tiene modelos, pero todo subconjunto finito de T si tiene un modelo. Demostración. Este es el teorema 2.3 y ya vimos su demostración. 2. Sea Σ una teoría en un lenguaje de primer orden, y sea σ una sentencia. Si Σ 0 σ, entonces Σ ∪ {¬σ} es consistente. Demostración. Para llevar a cabo esta demostración nos apoyaremos en el teorema de la deducción, que nos dice lo siguiente: “Sea Σ una teoría y σ una sentencia. Si Σ ∪ {σ} ` ϕ (donde ϕ es una fórmula), entonces Σ ` (σ → ϕ)”. Para probar este teorema6 nos basaremos en la formulación equivalente: Si Σ ∪ {¬σ} es inconsistente, entonces Σ ` σ. Supongamos que Σ ∪ {¬σ} `⊥. Por el teorema de la deducción, como ¬σ no tiene variables libres, concluimos que Σ ` (¬σ →⊥). 33 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Por otro lado, vemos que (¬σ →⊥) → σ es una tautología. Si σ es verdadero, entonces el consecuente es verdadero, mientras que si σ es falso, el antecedente ¬σ →⊥ es falso. Otra forma de verlo es escribir la tabla de verdad: σ 1 0
¬σ 0 1
¬σ →⊥ 1 0
(¬σ →⊥) → σ 1 1
Finalmente, por Modus Ponens, podemos concluir que Σ`σ que es justo lo que queremos probar.
3. De Completitud II, probar Completitud I (dirección de adecuación). Probar que si toda teoría consistente tiene un modelo, Σ ϕ =⇒ Σ ` ϕ Demostración. Supongamos que Σ ϕ. Es decir, si ϕ = ϕ(x1 , . . . , xn ) (es decir, todas las variables libres de ϕ se encuentran entre las x1 , . . . , xn ), entonces Σ σ := ∀x1 , . . . , ∀xn ϕ. Por definición Σ ∪ {¬ϕ} no tiene modelos, de modo que es inconsistente (Completitud 2). Como Σ ∪ {¬σ} es inconsistente, entonces Σ ` σ (por el teorema anterior). Como x1 puede sustituir a x1 , de Σ ` σ, el axioma de cuantificación y Modus Ponens obtenemos Σ ` (∀x2 , . . . , ∀xn ϕ). Repitiendo para x2 , . . . , xn obtenemos que Σ ` ϕ.
Isomorfismo
Definición 2.19 Isomorfismo. Sea a = {A, C a , F a , Ra } y b = {B, C b , F b , Rb }. Dadas 2 interpretaciones de L, ó L−estructuras a y b, h es un isomorfismo de L−estructuras si h : A −→ B es biyectiva. h(C a ) = C b ∀a1 , . . . , an ∈ A, f a : An −→ A, se tiene que h(f a (a1 , . . . , an )) = f b (h(a1 ), . . . , h(an )) 6
No el de deducción que acabamos de mencionar sino el teorema al que pertenece esta demostración.
34 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
∀P a n-aria, ∀a1 , . . . , an ∈ A se tiene que (a1 , . . . , an ) ∈ Ra ⇐⇒ (h(a1 ), . . . , h(an )) ∈ Rb
Teorema 2.17. Dos L−estructuras isomorfas satisfacen las mismas fórmulas de L. Se dice que, a y b son elementalmente equivalentes.
En el teorema, “elementalmente” se refiere a primer orden (si fuera segundo orden se diría “secundariamente”, etc.) y “equivalentes” a que satisfacen las mismas fórmulas.
2.10.
Nuestra historia hasta ahora
Vamos a ver un pequeño resumen de lo que hemos hecho hasta ahora a fin de poder obtener una visión global. 1. Hemos empleado la teoría elemental de N, que no es más que la inducción, para probar validez, es decir: ` ϕ =⇒ ϕ 2. Hemos empleado lenguajes de primer orden para enunciar los axiomas de ZFC. 3. ZFC (Zorn ⇐⇒ C) =⇒ adecuación, es decir: Σ |= σ =⇒ Σ ` σ Observación: Esto nos llevó al teorema de completitud 2: Si Σ es consistente entonces tiene un modelo. 4. Para comprobar si una teoría es consistente nos basta con encontrar un modelo. No obstante, en lógica proposicional no es tan sencillo encontrar un modelo puesto que, por definición, si a es un modelo, ∀σ tenemos que ver si a |= σ ó a |= ¬σ. La pregunta es clara: ¿Cómo construimos a? Solución: Extendemos Σ a una teoría maximal consistente Σ’ con lo que podemos ver: σ ∈ Σ =⇒ a |= σ ¬σ ∈ Σ =⇒ a |= ¬σ 5. En el caso de la lógica proposicional extendíamos la teoría a una teoría maximal consistente M y el modelo era 1M , siendo 1M (p) = 1 si p ∈ M y 1M (p) = 0 en caso contrario. En el caso de la lógica de primer orden necesitamos “construir” a = (A, C a , F a , Ra ) 35 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Para ello lo primero que necesitamos es el “universo” A 6= ∅. La extensión maximal consistente de la teoría nos dará las constantes C a ∈ A, las funciones n-arias f a : A 7−→ A y las relaciones n-arias pa ∈ An . Pero, ¿de dónde sacamos A? Básicamente lo construiremos tomando todos los términos constantes del lenguaje. Término constante
Definición 2.20 Término constante. Los términos constantes t son aquellos que no tienen variables. Denotamos el conjunto de términos constantes de L como Tn . Para construir A simplemente definimos A = Tn y suponemos que el lenguaje tiene al menos una constante para garantizar que A = 6 ∅. Sin embargo tenemos dos posibles problemas: a) Existencia de testigos. Puesto que una vez tengamos el “universo” A, vamos a extender Σ a una teoría maximal empleando Zorn, podría ocurrir que en esta extensión nos fastidie nuestra teoría al añadir alguna sentencia no deseada. Ejemplo: Sea L = {c}, es sencillo ver que TL = {c} = A. Si tenemos la teoría Σ = {∃x(¬(x = c))} definida sobre el lenguaje L, podemos ver que A no es modelo de la teoría. La forma de resolver el problema sería tomar c1 6= c y extender L a L∪{c1 }. Además, debemos añadir la sentencia ¬(c1 = c) a Σ y comprobamos que esta extensión es consistente, cosa trivial en este caso. Finalmente tenemos que extender Σ ∪ ¬(c1 = c) a una teoría maximal consistente. Observación: Esta extensión (que haremos empleando el lemma de Zorn) es parte clave del problema. Al aplicar Zorn, sabemos que existe una extensión pero no tenemos ni idea de cómo es la extensión ni de que sentencias añade a la teoría inicial. Por tanto, podría ocurrir que, a partir de Σ extendamos a Σ’ tal que c1 = c ∈ Σ 0 con lo que se nos fastidiaría el invento. Al añadir la sentencia ¬(c1 = c) a Σ, toda extensión de Σ cumplirá que c1 6= c.
Con los pasos seguidos en el ejemplo seguimos teniendo varios problemas obvios. Antes de verlos vamos a añadir algunas definiciones a nuestro vocabulario. 36 de 102
Lógica Matemática - 15/16 C1 - UAM
Testigo de σ
Pedro Valero Mejía y Guillermo Rual
Definición 2.21 Testigo de σ. Si Σ |= σ = ∃xϕ(x), decimos que cσ es un testigo de σ si Σ |= ϕ(cσ ). Volviendo al ejemplo anterior: Ejemplo: Tenemos que L1 = {c, cσ }, y Σ1 es una teoría maximal y consistente que extiende Σ ∪ ¬(c1 = c) Puesto que Σ1 es consistente, toda sentencia debe poder ser deducible a partir de Σ1 (y por tanto pertenecer a Σ1 puesto que es maximal) o serlo su negada. Es decir: ∃z((x 6= c) ∧ z 6= c1 ) ∈ Σ1 o bien ¬∃z((x 6= c) ∧ z 6= c1 ) ∈ Σ1 En el primer caso tenemos una sentencia σ1 sin testigo. La solución obvia a este problema es repetir el procedimiento obteniendo Σ2 , L2 siendo Σ2 una teoría maximal consistente. Finalmente tomamos la unión numerable. Aquí volvemos a tener el mismo problema así que debemos repetir el mismo procedimiento. Repetimos, definiendo extensiones L ⊂ L1 ⊂ L2 . . ., y Σ ⊂ Σ1 ⊂ Σ2 . . .. ∞ Tomamos L∞ = ∪∞ n=1 Ln y Σ∞ = ∪n=1 Σn . Entonces Σ∞ es completa y tiene testigos. b) El problema de la igualdad Evidentemente este problema no se da en los lenguajes sin igualdad. No obstante, en los casos que vamos a tratar en clase vamos a considerar siempre lenguajes con igualdad. Ejemplo: Consideremos el lenguaje L = {c, S1 , +1 } y la teoría Σ de Z3 es decir, tomamos el conjunto de todas las sentencias de L que son ciertas en Z3 . Tomamos la interpretación T = {c, s1 (c), S1 (S1 (c)), ...} considerando c como el elemento neutro (el 0) y S1 como la función sucesor en Z. Por definición de la teoría Σ tenemos que Σ ` c = S1 (c)3 Por tanto, podemos definir A = {[c], [S1 (c)], [S1 (S1 (c))]} Denotamos [c] = ca para todo c ∈ L∞ . Si f ∈ L∞ es una función n-aria definimos f a ([t1 ], [t2 ], ..., [tn ]) = [f (t1 , t2 , ..., tn )] 37 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
lo que nos permite definir F a como el conjunto de funciones como la que acabamos de ver. Por último tenemos que definir las relaciones, cosa que haremos mediante la siguiente definición de las mismas: ([t1 ], [t2 ], ..., [tn ]) ∈ P a ⇐⇒ Σ∞ ` P (t1 , t2 , ..., tn ) Ahora sólo nos quedaría comprobar que, efectivamente a = (A, C a , F a , Ra ) es un modelo de Σ∞ . Vamos a ello. Supongamos que Σ∞ ` σ. Si σ es atómica, es σ = (t1 = t + 2) o a = P (t1 , ..., tn ), entonces a σ por construcción. Para otras σ el resultado se obtiene por inducción en el número de símbolos lógicos. Tras todas estas divagación que nos acercan a la comprensión del problema y de su solución, vamos a formalizarlo. Teorema 2.18. Si Σ es una teoría consistente, entonces tiene un modelo a = (A, C a , F a , Ra )
Demostración. La idea de la demostración consiste en empezar con un lenguaje L, que contiene al menos una constante, y Σ. Ahora definimos una serie de lenguajes y de teorías de la forma: L ⊂ L1 ⊂ L2 ⊂ ... Σ ⊂ Σ1 ⊂ Σ2 ⊂ ... La forma de construir estos lenguajes y teorías es la siguiente: Por cada σ = ∃x ϕ(x) en Ln añadimos una nueva constante cσ a Ln formando Ln+1 y añadimos ϕ(cα ) a la teoría Σn obteniendo Σn+1 , que sera una teoría consistente y maximal. Tomamos ahora L∞ =
[
Ln y Σ∞ =
n≥1
[
Σn
n≥1
que nos permite afirmar que Σ∞ es completa y tiene testigos. Demostración. Si σ ∈ Σ∞ , existe un n tal que σ ∈ Ln . Entonces tenemos dos opciones: σ ∈ Σn ¬σ ∈ Σn luego Σ∞ es completa. Sea σ ˜ = ∃xϕ(x) ∈ Σ∞ , existe un N tal que σ ˜ ∈ ΣN , luego existen cσ˜ ∈ LN +1 y ϕ(cσ˜ ) ∈ ΣN +1 38 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Nos gustaría tomar A = TL∞ que sería el conjunto de términos sin variables de L∞ . Entonces cσ˜ ∈ TL luego σ ˜ tiene un testigo. Una vez hemos solventado el problema de la existencia de testigos, vamos a por el problema de la igualdad. Supongamos que t1 , t2 ∈ L∞ y Σ ` t1 = t2 . Definimos la relación como: t1 t2 ⇐⇒ Σ∞ ` t1 = t2 Una vez tenemos la relación definimos el conjunto cociente: A = TL∞ /Σ∞ Observación: Si L tiene cardinal K (infinito), entonces L∞ y Σ∞ también tienen cardinal K. En concreto si L es numerable lo serán L∞ y Σ∞ .
Cardinalidad
Definición 2.22 Cardinalidad. Decimos que a = (A, C a , F a , Ra ) tiene cardinalidad κ si card(A) = κ.
Teorema 2.19 (Teorema de Lowenheinn-Skolem). Si card(L) = κ (infinito) y Σ es una L−teoría consistente. Entonces Σ tiene un modelo de cardinalidad ≤ κ. En particular, si L es numerable, entonces Σ tiene un modelo numerable.
Observación: card(A) puede ser estrictamente menor que card(L). Corolario 2.20. Si ZFC tiene un modelo entonces tiene un modelo numerable. Paradoja de Skolem: R no es numerable. ¿Cómo puede tener modelos numerables?. “B numerable” significa que existe una biyección de B en N, o en algún subconjunto de N. Solución: Si a es un modelo numerable de ZFC, “externamente” todos los conjuntos infinitos en A, tienen card(N). Pero internamente, card(Ra ) > card(Na ) porque no existe en a ninguna biyección de Ra en Na .
Teorema 2.21 (Teorema de Löwenheim-Skolem generalizado). Si la L−teoría Σ tiene modelos infinitos, entonces, ∀τ ≥ card(L), Σ tiene modelos de cardinalidad τ.
Test de Vaught: Sea Σ una L−teoría consistente, con L numerable. Si todos los modelos numerables de Σ son isomorfos, entonces la Σ es completa. 39 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostración. Si Σ no es completa, ∃σ Σ 0 σ, Σ 0 ¬σ. Luego Σ ∪ {σ} y Σ ∪ {¬σ} son teorías consistentes, luego tienen modelos a1 y a2 respectivamente. a1 y a2 no son elementalmente equivalentes, luego no son isomorfos. Observación: Existen generalizaciones del test de Vaught para otras cardinalidades.
40 de 102
Lógica Matemática - 15/16 C1 - UAM
3. 3.1.
Pedro Valero Mejía y Guillermo Rual
Computación Motivación
La ecuación diofántica: x2 + y 2 = z 2 tiene soluciones no triviales en enteros, por ejemplo, x = 3, y = 4, z = 5. Si generalizamos esta ecuación escribiendo xn +y n = z n , para n > 2, podemos ver que tiene soluciones triviales (x = y = z = 0). No obstante, es sabido que en este segundo caso la ecuación no tiene soluciones no triviales en enteros (Wiles, 1995). X problema de Hilbert: Este problema consiste en hallar un algoritmo que, dada cualquier ecuación diofántica, nos diga si esta tiene soluciones en enteros o no. Es decir, dado cualquier polinomio con coeficientes en Z, dependiente de cualquier número de variables, x1 , . . . , xm , el algoritmo decide si p(x1 , . . . , xm ) = 0 tiene soluciones en enteros o no. Observación: Se pide un sólo algoritmo que debe funcionar para todas las ecuaciones diofánticas. En 1970, Yuri Matiyasevich, basándose en trabajos previos de Martin Davies, Hilary Putnam y Julia Robinson, demostró que no existe tal algoritmo. Informalmente, el teorema de incompletitud de Gödel nos dice que dada cualquier axiomatización (computable) de la aritmética, la teoría resultante es incompleta. Más precisamente, tenemos:
Teorema 3.1. Sea N = (N, 0, s, +, ·, <) el modelo estándar de los naturales y sea Σ una teoría axiomatizable de sentencias verdaderas en N . Entonces existe una sentencia σ tal que Σ σ pero Σ 0 σ, con lo que Σ es incompleta.
Observación: Como la teoría Σ tiene un modelo, no podemos derivar contradicciones, es decir, es consistente. Demostración. Dada cualquier ecuación diofántica p(x1 , ..., xn ) = 0, si Σ fuese completa, tras un número finito de pasos obtendríamos Σ ` ∃x1 , ..., xn p(x1 , ..., xn ) = 0 ó Σ ` @x1 , ..., xn p(x1 , ..., xn ) = 0 Y resolveríamos el X-problema de Hilbert afirmativamente. Y como el X-problema de Hilbert no tiene solución, deducimos que Σ no es completa.
41 de 102
Lógica Matemática - 15/16 C1 - UAM
Ejemplo:
Pedro Valero Mejía y Guillermo Rual
Sea x3 + y 3 = z 3
Podríamos ir intentando probar con (x, y, z) = (1, 1, 1) → (1, 1, 2) → (1, 1, 3) → ... → (1, 1, n) pero este sistema no es muy bueno ya que hay combinaciones que nunca llegaríamos a probar como (2, 1, 1). Lo que habría que hacer sería es probar las combinaciones posibles de la forma: (x, y, z) = (1, 1, 1) → (1, 1, 2) → (1, 2, 1) → (1, 2, 2) → (2, 1, 1) → (2, 1, 2) → ... Este si sería un procedimiento que nos asegura pasar por todas las posibilidades y que si existe una solución la encontramos en un número n finito de pasos. Observación: Si Σ es suficientemente rica como para contener los resultados básicos sobre sumas y productos (por ejemplo si contiene los axiomas N 1−N 9 del libro), si p(x1 , ..., xn ) = 0 para alguna n-tupla a1 , ..., an , entonces Σ ` ∃x1 , ..., xn p(x1 , ..., xn ) = 0. Es decir, siendo Σ lo bastante rica, en caso de existir solución de una ecuación diofántica de n variables, podremos demostrar la existencia de la solución a partir de Σ.
3.2.
Máquinas de Turing
Es importante, antes de saber lo que son las máquinas de Turing. Ejemplo: Para comprender el funcionamiento de las máquinas de Turing vamos a computar la suma 15 + 267, sumando en columna: 1 5 2 6 7
1. Veo un 5. Lo guardo en mi memoria y bajo. 2. Veo un 7. Lo guardo en mi memoria y bajo. 3. Veo un hueco. Sumo lo que tengo en mi memoria y escribo el último dígito (en este caso 2) y vacío mi memoria. Si hay más dígitos, los almaceno en mi memoria (en este caso un 1). 4. Subo arriba del todo y me muevo a la izquierda. 5. Veo un 1. Lo guardo en mi memoria y bajo. 6. Veo un 6. Lo guardo en mi memoria y bajo. 7. Veo un hueco. Sumo lo que tengo en mi memoria y escribo el último dígito (en este caso 8) y vacío mi memoria. BO hay más dígitos. 42 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
8. Subo arriba del todo y me muevo a la izquierda. 9. Veo un hueco. Bajo 10. Veo un 2. Lo guardo en mi memoria y bajo. 11. Veo un hueco. Sumo lo que tengo en mi memoria y escribo el último dígito (en este caso 2) y vacío mi memoria. BO hay más dígitos. 12. Subo arriba del todo y me muevo a la izquierda. 13. Veo un hueco. Bajo. 14. Veo un hueco. Bajo. 15. Veo un hueco. Bajo. 16. Voy arriba del todo y he acabado.
Máquinas de Turing
Definición 3.1 Máquinas de Turing. Variantes (que dan lugar al mismo modelo de computación) que cumplen: El modelo ideal de computación sin limitaciones de tiempo ni de espacio. La condición “bidimensional” del papel cuadriculado no es esencial. Consideramos una cinta infinita en ambas direcciones con casillas: ... En las casillas encontramos símbolos pertenecientes a un alfabeto finito S. (En la actualidad, ese alfabeto finito sólo tiene 2 símbolos: 0 y 1, ya que todos los demás se pueden traducir en esos símbolos). En lugar de 0, a veces utilizaremos B denotando “espacio en blanco”. La máquina tiene un cabezal que lee los contenidos de la celda. Puede modificarlos o dejarlos igual. Puede desplazarse a la casilla de la izquierda o a la de la derecha. La acción de una máquina de Turing depende únicamente de el contenido de la casilla que está leyendo y de su estado interno. La computación se inicia con el cabezal sobre la casilla con el primer 1. Denotaremos los estados por q0 , q1 , . . .. Acciones: Acción B: Si la casilla que está leyendo tiene una B o un 1, la máquina borra y escribe B. Acción 1: La máquina borra y escribe un 1. 43 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Acción D: El cabezal puede moverse una casilla a la derecha. Acción I: El cabezal puede moverse una casilla a la izquierda. Un paso de la Máquina de Turing viene especificado por una cuaterna qi , S, A, qj donde qi : Estado inicial. S: Símbolo. A: Acción que toma. qj : Siguiente estado. Una máquina de Turing viene definida por un número finito de cuaternas con la propiedad de que dos cuaternas distintas no pueden tener los dos primeros símbolos iguales. Consideramos la siguiente máquina de Turing:
Ejemplo:
1. (q0 , 1, B, q1 ) 2. (q1 , B, D, q0 ) Si esta máquina recibe el siguiente input B
B
1
1
1
B
1
B
B
B
...
Se coloca en el estado q0 y coloca el cabezal en la primera casilla con un 1 en ella. Tras esto comienza a trabajar siguiendo las reglas que tiene definidas. 1.
B
B
2.
B
B
B 1 1 ↑ ↑ q 1 q0 B
B
B
B
B ↑ q0
1
1
B
B
B
B
B
...
B
...
Como no hay ninguna cuaterna (q0 , B, . . .), la máquina se detiene.
44 de 102
Lógica Matemática - 15/16 C1 - UAM
Ejemplo:
Pedro Valero Mejía y Guillermo Rual
Extendemos el alfabeto a S = {B, 1, +} B
1
1
1
+
1
1
B
...
1
1
1
1
1
B
...
↑ q0 La máquina de Turing es (q0 , 1, B, q0 ) (q0 , B, D, q1 ) (q1 , 1, D, q1 ) (q1 , +, 1, q2 ) El estado final es B
B
↑ q2 La máquina ha sumado 3 + 2, increíble. Test de Church-Turing Sea una función f : A ⊂ Nk → N calculable mediante un algoritmo. La clase (informal) de todas las funciones f coincide exactamente con la clase de las funciones recursivas, o equivalentemente, con las funciones cuyos valores pueden calcularse por MT.
Teorema 3.2. Las funciones f : A ⊂ Nk → N (k = 0, 1, 2, . . .), calculables por MT son exactamente las funciones recursivas.
Ejemplo: Uso de la tesis de Church. Los primos P forman un conjunto recursivo, o equivalentemente, hay una MT que determina, para cada n ≥ 2, si n ∈ P o n ∈ P c . Veamos como podemos demostrarlo. Dado n, calculamos n ∈ P c . Si no, n ∈ P .
n m
para todo 2 ≤ m ≤
√ n. Si algún resto da 0, entonces
Como acabamos de comprobar que existe un algoritmo, por las tesis de ChurchTuring, hay una MT que decide si n ∈ P o n ∈ P c ∀n ≥ 2. Lo que hemos hecho no ha sido una demostración propiamente dicha pues esto implicaría dar una lista de cuaternas que deciden si n ∈ P n ∈ / P. 45 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Invocar la tesis de Church-Turing no prueba nada, pero con frecuencia puede ser reemplazada de manera rutinaria por una demostración formal. Consideramos funciones parciales y funciones de A ⊂ Nk → N con k ≥ 0. Función parcial
Definición 3.2 Función parcial. F = {f : A ⊆ Nk → N k = 0, 1, 2, . . .}. Recordatorio: las constantes son las funciones 0−arias. Una función k−aria con k ≥ 1 también puede ser constante. Los elementos de F son las funciones parciales. Si f ∈ F y A = Nk , entonces f es una función total.
Función recursiva primitiva
Definición 3.3 Función recursiva primitiva. Las funciones recursivas primitivas (son totales) forman la subclase E más pequeña de F , cerrada bajo las siguientes operaciones: Las funciones constantes k−arias f : Nk → N (∀x1 , . . . , xk , f (x1 , . . . , xk ) = c) pertenecen a E. Las proyecciones sobre las coordenadas (o funciones coordenadas) están en E. Es decir, para k = 1, 2, . . ., πk,i (x1 , . . . , xk ) = xi , está en E. Las funciones sucesor S ∈ E (S(n) = n + 1). La clase E está cerrada por composición. La clase E está cerrada bajo definiciones por recurrencia (o por recursión primitiva, o por “inducción”).
Definición 3.4 . Definimos la función h : A ⊂ Nk+1 → N por recurrencia a partir de f : B ⊂ Nk → N y g : C ⊂ Nk+2 → N (aquí, si ∃xk+1 tal que (x1 , . . . , xk , xk+1 ) ∈ A, entonces (x1 , . . . , xk ) ∈ B, y C = A × N) mediante: 1. h(x1 , . . . , xk , 0) = f (x1 , . . . , xk ) 2. h(x1 , . . . , xk , n + 1) = g(x1 , . . . , xk , n, h(x1 , . . . , xk , n))
Ejemplo: definimos:
La función suma + : N2 → N es recursiva primitiva. Por recurrencia
1. +(x, 0) = π1,1 (x) = x 2. +(x, n + 1) = S(π3,3 (x, n, +(x, n))) = x + n + 1 O más simplemente (e informalmente): 1. x + 0 = x 2. x + (n + 1) = (x + n) + 1 46 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejemplo: El producto · : N2 → N es una función recursiva primitiva. Definimos inductivamente: 1. x · 0 = 0 2. x · (n + 1) = x · n + x Ejemplo: La exponenciación ˆ : N × N 7−→ N es una función recursiva primitiva. Por recurrencia definimos 1. x0 = 1 2. xy+1 = xy · x Ejemplo: tivamente:
La operación “signo” es también una función recursiva. Definimos induc-
1. signo(x) = 1 si x > 0 2. signo(0) = 0
Conjunto recursivo primitivo
Definición 3.5 Conjunto recursivo primitivo. Un conjunto A ⊂ Nk es recursivo primitivo si y sólo si la función indicatriz evaluada sobre este conjunto es primitiva.
Relación k-aria recursiva primitiva
Definición 3.6 Relación k-aria recursiva primitiva. Una relación k-aria R ⊂ Nk es recursiva si y sólo si el conjunto {(x1 , ..., xr ) ∈ R} es recursivo primitivo. Veamos algunos ejemplos conjuntos y relaciones recursivas primitivas. Ejemplo: 1. ∀k ≥ 1 el conjunto Nk es un conjunto recursivo primitivo pues la función indicatriz sobre este conjunto es la constante 1 y sabemos que las funciones constantes son recursivas primitivas. 2. Si A es recursivo primitivo, también lo es Ac . Para comprobarlo basta con notar que:
1Ac = m´ax{1Nk − 1A , 0} que sabemos es también una función recursiva primitiva. 3. La relación R(x, y) ⇐⇒ x > y es recursiva primitiva. Para comprobarlo debemos ver que el conjunto A = {(x, y) ∈ N2 , x > y} es recursivo primitivo. Esto es sencillo puesto que:
1A = signo m´ax{x − y, 0}
47 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
4. La relación x ≥ y es recursiva primitiva como podemos comprobar definiendo 1A = signo m´ax{x − y + 1, 0} 5. Si una función f se define por casos (un número finito de casos) usando funciones recursivas primitivas, entonces f es recursiva primitiva. Las funciones primitivas no incluyen a todas las funciones calculables mediante un algoritmo. Como ejemplo tenemos la función de AcKermann (ver páginas 89-01 del libro).
3.3.
Minimización no acotada y funciones recursivas
Vamos a matizar un poco la definición que hemos visto de funciones recursivas. Función recursiva
Definición 3.7 Función recursiva. Las funciones recursivas son la clase E 0 ⊂ F más pequeña que contiene a las constantes, a las proyecciones sobre las coordenadas, a S y está cerrada por composición, recurrencia y minimización no acotada.
Minimización no acotada
Definición 3.8 Minimización no acotada. Sea f ∈ F una función (k + 1)-aria, definimos la función g(x1 , ..., xk ) = m´ın{z ∈ N f (x1 , ..., xk , z) = 0} Si el valor z ∈ N empleado en la definición no existe entonces g no está definida en (x1 , ..., xk ). A esta forma de generar nuevas funciones se le denomina minimización no acotada
Conjunto recursivo
Definición 3.9 Conjunto recursivo. Un conjunto A ⊂ Nk es recursivo si y sólo si 1A es recursiva total
Conjunto recursivamente enumerable
Definición 3.10 Conjunto recursivamente enumerable. Un conjunto A ⊂ Nk es recursivamente enumerable si es el dominio de una función recursiva (parcial o total). Observación: Si A es un conjunto recursivo su complementario también lo es. Para verlo basta con recordar que la función 1Nk es recursiva total y, por tanto, m´ax{1Nk − 1A , 0} = 1Ac también lo es. Observación: Si A es recursivo, A es recursivamente enumerable. Para comprobar esta afirmación basta con tomar f (a) = 1A (a) para a ∈ A que sabemos es primitiva pues A es un conjunto recursivo. Por tanto A es el dominio de una función recursiva. Puede demostrarse (aunque aquí no lo vamos a hacer) que las siguientes formulaciones de “A es recursivamente enumerable” son equivalentes a la definición: 48 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
1. Existe una función recursiva f tal que dom(f )=A y f = 1 en A. 2. A es el rango de una función recursiva parcial 3. A = ∅ ó A es el rango de una función recursiva total. 4. Existe una Máquina de Turing que se detiene exactamente cuando su input a es un elemento de A.
Teorema 3.3. Dada una función f ∈ F , f es recursiva si existe una Máquina de Turing que calcula sus valores. Si una Máquina de Turing calcula los valores de una función g ∈ F , entonces g es recursiva.
Teorema 3.4. Un conjunto A es recursivo si y sólo si A y Ac son recursivamente enumerables.
Demostración. Como tantas otras veces vamos a ver los dos sentidos de la implicación. 1. =⇒ Esta demostración es trivial basándose en las dos observaciones anteriores. 2. ⇐= Tenemos que definir como función calculable 1A , con lo que estaríamos demostrando que A es recursivo por definición. Tomamos M TA y M TAc , máquinas de Turing que se detienen exactamente cuando el input pertenece a A y Ac respectivamente. Es decir, si tomamos un input perteneciente a A, la máquina M TAc se ejecutará infinitamente mientras que M TA parará su ejecución. Una vez tenemos esto podemos definir la función 1A como: ( 1 si M TA detiene su ejecución mientras M TAc se ejecuta infinitamente 1A = 0 si M TAc detiene su ejecución mientras M TA se ejecuta infinitamente
Teorema 3.5. No existe una enumeración efectiva (calculable, algorítmica) de las funciones recursivas totales f : N 7−→ N
49 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Demostración. Vamos a realizar esta demostración por reducción al absurdo. Supongamos que existe esta enumeración. En ese caso la función g(n) = fn (n) + 1 donde fn es la n-ésima función de la enumeración, es recursiva total pero no está en la lista. Para ver que no está en la lista basta con ver que si la comparamos con la función fn obtenemos un valor distinto en n por lo que difiere en (al menos) un punto con todas las funciones de la lista.
Teorema 3.6. Existe una enumeración efectiva de las funciones recursivas (parciales o totales)
Teorema 3.7. Existe una enumeración efectiva de las máquinas de Turing.
Teorema 3.8. Existe una máquina de Turing universal, es decir, existe una máquina de Turing M T U tal que M T U (m, n) (donde m es el código de una máquina de Turing y n es un número natural) simula la acción de la máquina de Turing codificada por m evaluada sobre el input n.
Demostración. En el mundo de hoy es sencillo creer en la existencia de esta máquina de Turing universal pues sería algo similar a un ordenador de los que hoy en día todos conocemos. Algoritmo para resolver el problema Dada una enumeración efectiva M T0 , M T1 , ... usamos el algoritmo que permite calcular la lista para hallar M Tn y, a continuación, usamos el algoritmo de esta máquina para averiguar qué hace sobre el input k. Puesto que tenemos definido el algoritmo, invocamos la tesis de Church-Turing que nos garantiza que existe una M T que ejecuta este algoritmo. Esta M T será una máquina de Turing universal. Observación: Lo que acabamos de hacer es una pseudo-demostración del teorema. Una auténtica demostración requeriría dar explícitamente una sucesión de cuaternas que definen la M T U . 50 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Vamos a considerar ahora el conjunto de máquinas de Turing que calculan funciones recursivas de una variable. Notación: MT(input)=output Estas máquinas de Turing pueden entenderse como análogos a programas que reciben una entrada “input” y tras un tiempo nos devuelve un resultado “output”. Siguiendo con esta idea, una máquina de Turing universal sería el equivalente a un ordenador, pues recibe descripciones de programas (máquinas de Turing) y nos devuelve su resultado. Problema de la detención
Nos gustaría tener una Máquina de Turing , llamémosla D, que resuelva el problema de la detención, es decir, D simula una Máquina de Turing con input m ∈ N y nos dice si la Máquina de Turing se detiene o se queda en un bucle infinito. Fijamos una codificación (algoritmo) que asigna a cada Máquina de Turing su número de Gödel siendo g(M T ) ∈ N. Por ejemplo, si M T (m) genera un output (es decir, la máquina se detiene) entonces D(g(M T ), m) = 1. En caso contrario tendríamos D(g(M T ), m) = 0.
Teorema 3.9. El problema de la detención es insoluble. Es decir, la Máquina de Turing D descrita anteriormente no existe.
Demostración. Esta demostración se realizará por diagonalización. Usando D construimos la Máquina de Turing V definida en los números g(M T ) como sigue: 1. Dado un input m, V genera (m, m). 2. V “simula” o “ejecuta” el programa D(m, m) 3. V diagonaliza. Es decir, si D(m, m) = 1 entonces V entra en un bucle infinito7 Por otro lado, si D(m, m) = 0 entonces V imprime 1 y se detiene. Con este algoritmo llegamos a una contradicción: Si V (g(V )) = 1 entonces D(g(V ), g(V )) = 0 lo que implica que V (g(v)) entra en un bucle infinito. Si V (g(V )) entra en un bucle infinito, entonces D(g(V ), g(V )) = 1 luego V (g(V )) se detiene. Ilustremos la demostración con una versión programable de la misma. Supongamos que el problema de la diagonalización es soluble algorítmicamente. Entonces hay un programa, que llamaremos Termina, que cada vez que se le suministra el código de un programa p y sus datos de entrada x nos devuelve “true” si el programa termina o “false” si se ejecuta indefinidamente. 51 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
def Termina(p,x): # Supongamos que aquí viene el código comentado Una vez tenemos este programa, podemos escribir otro, al que llamaremos Diagonal que lo invoca. Este programa recibirá como dato de entrada el código de un programa cualquiera w, y usará el programa Termina para decidir si el programa termina cuando se recibe a sí mismo como entrada. def Diagonal(w): if Termina(w,w): while True: pass # Bucle infinito En definitiva, el programa Diagonal (w) termina si y sólo si w(w) nunca termina. Ahora basta con llamar al programa diagonal con él mismo como argumento para llegar a la clara contradicción, pues tendríamos que: Diagonal (Diagonal ) termina si y sólo si Diagonal (Diagonal ) nunca termina. Es definitiva, bajo la suposición de que existe el algoritmo Termina hemos llegado a una contradicción. Como conclusión, dicho algoritmo no existe. Esta segunda demostración ha sido extraida de Wikipedia
7
Estamos construyendo la Máquina de Turing V y forzamos a que entre en un bucle infinito en caso de que D(m, m) = 1.
52 de 102
Lógica Matemática - 15/16 C1 - UAM
4.
Pedro Valero Mejía y Guillermo Rual
Incompletitud
Los principales enunciados básicos correspondientes a esta sección ya los hemos visto. Lo que haremos será añadir ciertas definiciones y varios resultados/teoremas importantes. Recordatorio de lógica proposicional {p, q} ` r ⇐⇒ ` (p ∧ q) → r Para demostrar esto empezábamos apoyándonos en el teorema de la deducción: {p, q} ` r =⇒ {p} ` q → r Aplicando de nuevo el teorema de la deducción obteníamos: {p} ` q → r =⇒ ` p → (q → r) ≡ (p ∧ q) → r
Teorema 4.1. Consideramos el lenguaje de la aritmética formal, definido como: L = {0, Si , +1 , ·1 , <1 } y la teoría N = {N1 , ..., N9 } correspondiente a los axiomas de Peano (sin incluir inducción) y definida en el libro en la página 91. En este lenguaje, L, y con la teoría N , toda función recursiva total f : Nk 7−→ N es representable para una fórmula de primer orden ϕf . Lo mismo ocurre con los conjuntos recursivos.
Proposición 4.2 (Codificación). Las fórmulas pueden codificarse usando números naturales. Las demostraciones también. Para llevar a cabo estas codificaciones debemos definir símbolos del lenguaje n ∈ N y asociar a cada variable vi el número n(vi ) = 2i con lo que empleamos solamente números pares. Una vez tenemos esto podemos asignar a las operaciones los números impares como sigue: n(>) = 1, n(⊥) = 3, n(¬) = 5, n(∨) = 7, n(∧) = 9, n(=) = 11 n(∃) = 13, n(∀) = 15, n(0 (0 ) = 17, n(0 )0 ) = 19, n(0) = 21, n(S1 ) = 23 n(+1 ) = 25, n(·1 ) = 27, n(<1 ) = 29 El problema que nos deriva de esta codificación es que no es claro cómo descifrar el predicado “230” puesto que puede interpretarse como el símbolo asociado al 23 seguido 53 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
de la variable asociada al 0, o como la variable asociada al 2 seguida de la variable asociada al 15, etc. Empleamos la factorización única para resolver este problema. Para ello definimos la función primo(K) que nos devuelve el primo que ocupa la posición K + 1. Así el número de Gödel de una palabra se calcula como: g(u0 , u1 , ..., uk ) = 2n(u0 ) × 3n(u1 ) × ... × primo(k)n(uk ) De esta forma, al leer el número asociado a una fórmula basta con factorizarlo, lo que nos permite obtener la fórmula original de manera unívoca. Teoría recursiva
Definición 4.1 Teoría recursiva. Una teoría Σ es recursiva si el conjunto de números de Gödel #Σ = {g(σ) σ ∈ Σ} es recursivo. Esto nos dice que, dada cualquier σ, podemos decidir algorítmicamente si σ ∈ Σ ó σ ∈ Σc .
Teoría de Σ (Teor(Σ))
Definición 4.2 Teoría de Σ (Teor(Σ)). Al conjunto de teoremas de Σ se le denomina Teoría de Σ. Teor(Σ) = {σ Σ ` σ} Definimos también #Teor(Σ) = {g(σ) Σ ` σ}
Teoría deducible
Definición 4.3 Teoría deducible. Decimos que Σ es deducible si #Teor(Σ) es recursiva, es decir, existe un algoritmo que dado cualquier σ nos dice es un teorema o no.
Ejemplo:
Podemos comprobar que el caso Σ = ∅ es recursiva de manera trivial.
También puede verse que N es recursiva. Observación: Cualquier teoría finita es recursiva.
Teorema 4.3. La lógica proposicional es deducible. De hecho, puede demostrarse que el conjunto de los números de Gödel de las tautologías, es decir {g(p) p es tautología}, es recursivo primitivo.
54 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Teorema 4.4. El conjunto de axiomas de la lógica de primer orden es recursivo (de hecho es recursivo primitivo).
Teorema 4.5. Sea Σ una teoría recursiva, el conjunto: Dem(Σ) = {(m, n) m = g(σ) y n = g(alguna demostración formal de σ)} es recursivo.
Demostración. Para llevar a cabo esta demostración nos basta con encontrar un algoritmo que nos permita determinar si el par de valores (m,n) pertenece, o no, a Dem(Σ). Para ello tendremos que descodificar m y n. Si g −1 (m) = σ y g −1 (n) es una demostración de σ, entonces (m, n) ∈ Dem(Σ). En caso contrario (m, n) ∈ Dem(Σ). Observación: Como 1Dem(Σ) es una función recursiva total, existe una fórmula en el lenguaje formal, digamos ϕDem(Σ) , que la representa. Puede demostrarse que las proyecciones sobre las coordenadas de conjuntos recursivos son recursivamente enumerables. Corolario 4.6. Si una teoría es recursiva entonces el conjunto de sus teoremas es recursivamente enumerable, es decir, existe un algoritmo que encuentra todos los teoremas de Σ. Demostración. Sabemos que la proyección sobre los ejes de un conjunto recursivo es recursivamente enumerable por lo que: π 1Dem(Σ) es recursivamente enumerable que es justo lo que necesitamos probar. Corolario 4.7. Si Σ es recursiva y completa entonces es decidible. Demostración. Como #Teor(Σ) es recursivamente enumerable, basta probar que su complementario es recursivamente enumerable. Dada σ, enunciamos los teoremas de Σ sistematicamente. Como Σ es completa, tras un número finito de pasos aparecerá σ o ¬σ. Vamos a ver ahora los teoremas de incompletitud.
55 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Teorema 4.8 (Teorema Primero de incompletitud). Sea Σ una teoría consistente y recursiva que contiene a N = {N1 , ..., N9 } (los 9 axiomas de la aritmética). Entonces Σ no es decidible.
Demostración. Idea: Si Σ fuera decidible, podríamos determinar de manera algorítmica si cualquier σ es un teorema o no. Ello nos permitiría resolver problemas insolubes que se pueden codificar en L utilizando N, por ejemplo el X problema de Hilbert (3.1), con alguna salvedad. Corolario 4.9. La lógica de primer orden no es decidible, es decir, el conjunto de números de Gödel que pueden deducirse de los axiomas no es recursivo. Demostración. En este caso, Σ = ∅. No estamos añadiendo nada a los axiomas lógicos. Utilizando el teorema de la deducción y Modus Ponens, N ` σ ⇐⇒ ` (N1 ∧ N 2 ∧ ... ∧ N 9) → σ Si la lógica de primer orden fuera decidible, la teoría N también lo sería y podríamos resolver problemas insolubles. Corolario 4.10. Sea Σ una teoría consistente y recursiva que contiene a N. Entonces Σ no es completa. Observación: No es completa ni completable. Si añadiéramos una nueva sentencia que no podemos probar, mantendríamos la consistencia, pero aparecerían nuevas sentencias que no podemos probar. Demostración. Si Σ fuera completa, sería decidible (por el corolario 4.7) Vamos a recordar algo visto con anterioridad, sobre la codificación. Teníamos n(⊥) = 3 y g(⊥) = 23 Informalmente, N ` 2 + 2 = 4 es cierto. Formalmente, escribiríamos: N ` S12 (0), +, ` S12 (0) =` S14 (0) Ahora nos preguntamos, ¿Podemos demostrar N ` 2 + 2 = 5? No. ¿Y podríamos probar N ` (N 6` 2 + 2 = 5)? Tampoco, por el segundo teorema de incompletitud. La segunda parte del recordatorio es que Dem(Σ) es recursivo. Ello implicaba que ∃ϕDem(Σ) que “representaba” a Dem(Σ), es decir, si (m, n) ∈ Dem(Σ), Σ ` ϕDem(Σ) (S1m (0, S1n (0)) 56 de 102
Lógica Matemática - 15/16 C1 - UAM
Por otro lado:
Pedro Valero Mejía y Guillermo Rual
(m, n) 6∈ Dem(Σ), Σ ` ¬ϕDem(Σ) (S1m (0, S1n (0))
. Y utilizando esto, se puede formalizar qué es la consistencia. Consistencia (CON)
Definición 4.4 Consistencia (CON). CON (Σ) := ¬∃v0 ϕDem(Σ) (⊥, v0 )
Aunque ⊥ no puede aparecer ahí (porque estamos codificando todo en números), sino que tiene que aparecer su número de Gödel, es decir g(⊥) = 23 = 8 CON (Σ) := ¬∃v0 ϕDem(Σ) (S18 (0), v0 )
Teorema 4.11 (Teorema Segundo de incompletitud). Si Σ es recursiva, consistente y contiene a N, entonces Σ 6` CON (Σ)
Este es el teorema que implica que N ` (N 6` 2 + 2 = 5) Demostrar esa afirmación, sería demostrar la consistencia de Σ y eso no es demostrable como hemos visto en el segundo teorema de incompletitud. Comentario sobre la hoja 8 . Esta hoja está puesta por la poca confianza que hay en el teorema de compacidad. Definimos:
F = {A ⊂ N : Ac es finito}. F ⊂ U ultrafiltro
Entonces, podemos definir NN , con la siguiente inclusión f (n) : NN → N construida de la siguiente manera f (n) = (n, n, ..., n) ∞ Por lo que: (an )∞ n=1 ∼ (bn )n=1 si {an = bn } ∈ U
8
Definimos también U := NN / ∼ Afirmación c=
n o ∞ > (k) ∀k ∈ N (n)∞ n=1 n=1
Tenemos también una inclusión de N en U. Siento esta mierda de comentario, he hecho lo que he podido. 8
Es decir, 2 sucesiones son iguales si son iguales en casi todo punto (iguales salvo en conjuntos de probabilidad 0 y los elementos que tienen probabilidad 0 son los del ultrafiltro (o algo así))
57 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Apéndice A Problemas resueltos A.1.
Hoja 1
Asumimos genérica e informalmente la no trivialidad. Por ejemplo, cuando hablamos de conjuntos, lenguajes, etc., suponemos que no son vacíos (salvo que explícitamente se diga lo contrario), cuando hablamos de fórmulas suponemos que están bien formadas, etcetera. En caso de duda, consultar con el intructor. Ejercicio 1.1: Aprenderse el lema de Zorn de memoria. Comentario: el lema de Zorn es equivalente al Axioma de Elección. Todo conjunto parcialmente ordenado no vacío en el que toda cadena (subconjunto totalmente ordenado) tiene una cota superior, contiene al menos un elemento maximal. Ejercicio 1.2: Sea A un conjunto finito y parcialmente ordenado. Denotamos por R el correspondiente orden parcial (usamos R porque un orden parcial es una relación binaria, o con “aridad" 2). Demostrar que A contiene un elemento maximal. Demostrar que R puede extenderse a un orden total o lineal, es decir, existe un orden total R0 tal que R ⊂ R0 (orden lineal o total significa que para todo par x, y ∈ A, o bien (x, y) ∈ R0 , ó (y, x) ∈ R0 ). Vamos a escribir el conjunto A como: A=
[
Bi
i
para ello vamos a construir los conjuntos Bi como sigue: 1. Tomamos un elemento x ∈ A, que usaremos para definir B1 2. Recorremos uno a uno de A y los insertamos en B1 forzando que R siempre constituya un orden total en B1 . Esto es, cada vez que vayamos a insertar un elemento, comprobamos primero que tenga relación con todos los elementos que ya se encuentran en B1 58 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. Cuando hemos recorrido todos los elementos de A, damos por concluida la construcción de B1 4. Repetimos el proceso empezando con un elemento distinto de A Puesto que A es finito, este procedimiento será también finito y nos permitira escribir A como unión de n conjuntos totalmente ordenados, siendo n el cardinal de A. Es sencillo comprobar que no es posible que ningún conjunto quede vacío (como mínimo tiene el elemento que usamos como base para construirlo) y tampoco puede constar de sólo un elemento, pues no puede haber ningun elemento en A que no guarde relación con ningún otro. Puesto que los conjuntos Bi son finitos y totalmente ordenados, es claro que tienen un máximo, por lo que podemos aplicar el lema de Zorn, probando así que el conjunto A tiene un elemento maximal. Ahora tenemos que ver como extendemos el orden parcial R a un orden total R0 . Para que sea una extensión debe cumplirse: xRy =⇒ xR0 y Para definir el orden total R0 podemos apoyarnos en R siempre que sea posible, con lo que garantizamos que se cumpla la implicación. Tras esto, nos quedaría definir R0 para aquellos elementos que no estén relacionados en R. Si tenemos un par de elementos tales que (x, y) ∈ / R&(y, x) ∈ / R entonces, por definición, tenemos que x, y pertenecen a distintos Bi . Llegados a este punto podemos dar un orden “arbitrario” al conjunto finito de Bi de forma que bi R0 bi+1 Así nos queda: 0
xR y =
xRy si iRj
∃i x, y ∈ Bi
si x ∈ Bi &y ∈ Bj
Ejercicio 1.3: El lema de legibilidad única nos dice que las fórmulas bien formadas no son ambiguas, pueden leerse de un único modo. Reescribir las fórmulas que aparecen a continuación en notación polaca, usando la notación estándar, y las que aparecen en notación estándar, en polaca. a) ∨ ¬ → p q ↔ r p, → → ∧ → p q ∨ q r ∨ p r ¬ ∨ q s. b) (q → (p → q)), ((p ↔ q) → ((¬ q) ∨ r)). Hallar el árbol de descomposición de las fórmulas en b).
59 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
a) ¬(p → q) ∨ (r ↔ p) (((p → q) ∧ (q ∨ r)) → (p ∨ r) → (¬(q ∨ s)) b) Árbol de descomposición (q→(p→q)) q→ (p→q) p
p q
Notación polaca: → q → pq Árbol de descomposición ((p ↔ q) → ((¬q) ∨ r)) (p ↔ q) ((¬q) ∨ r) p q
(¬q) r q
Notación polaca: →↔ pq ∨ ¬qr
Ejercicio 1.4: Sea p una fórmula (bien formada). Probar que el número de paréntesis izquierdos en p es igual al número de paréntesis derechos. Sugerencia, usar inducción. Atendiendo a la notación dada en clase , tenemos un conjunto de elementos atómicos , que llamamos A y que le añadios los elementos > y ⊥. La familia de todas las fórmulas bien formadas (FBF) se constituye de la siguiente forma: FBF0 = A ∪ {>, ⊥} FBFn+1 = F BFn ∪ {(¬F1 ), (F1 =⇒ F2 ), (F1 ⇐⇒ F2 ), (F1 ∧ F2 ), (F1 ∨ F2 )} con F1 , F2 ∈ FBFn . Con esta notación vamos a demostrar el ejercicio usando inducción: 60 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Caso base: n = 0 FBF0 = {(a) : a ∈ A ∪ {>, ⊥}} El elemento (a) tiene el mismo número de parétesis derechos que izquierdos. Suponemos que esto también se cumple para el caso FBFn , vamos a ver que también se cumple para FBFn+1
FBFn+1 = F BFn ∪{(¬F1 ), (F1 =⇒ F2 ), (F1 ⇐⇒ F2 ), (F1 ∧F2 ), (F1 ∨F2 )}con F1 , F2 ∈ FBFn . Hemos supuesto que todos los elementos de FBFn tienen el mismo número de paréntesis derechos e izquierdos, los elementos que tenemos que comprobar que también lo cumplen son:(¬F1 ), (F1 =⇒ F2 ), (F1 ⇐⇒ F2 ), (F1 ∧ F2 ), (F1 ∨ F2 ). Es fácil ver que esto es cierto ya F1 , F2 ∈ FBFn y se les añade un paréntesis por la derecha y otro por la izquierda.
A.2.
Hoja 2
Asumimos genérica e informalmente la no trivialidad. Por ejemplo, cuando hablamos de conjuntos, lenguajes, etc., suponemos que no son vacíos (salvo que explícitamente se diga lo contrario), cuando hablamos de fórmulas p, q, r, . . . suponemos que están bien formadas, etcetera. En caso de duda, consultar con el intructor. Ejercicio 2.1: Con el lenguaje L = A∪{¬, →}, A 6= ∅, la regla de deducción modus ponens, y los axiomas 1. (p → (q → p)), 2. ((p → (q → r)) → ((p → q) → (p → r))), y 3. (((¬p) → (¬q)) → (((¬p) → q) → p)), comprobar que a) ` (p → p), b) ` (((¬p) → p) → p), c) {(p → q), (q → r)} ` (p → r).
Apartado a) Si sustituimos q por p obtenemos una instancia del primer axioma: (p → (p → p)) Sustituyendo ahora q por p → p en el primer axioma obtenemos: (p → ((p → p) → p)) 61 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
La sustitución de q por p → p y de r por p en el segundo axioma da lugar a la instancia: ((p → ((p → p) → p)) → ((p → (p → p)) → (p → p))) Aplicando Modus Ponens a las dos últimas fórmulas tenemos: ((p → (p → p)) → (p → p)) Y finalmente, aplicando Modus Ponens de nuevo con la primera y última fórmulas obtenidas en este ejercicio llegamos a: p→p Apartado b) Podemos repetir toda la demostración del apartado anterior instanciando todas las fórmulas sustituyendo todos los símbolos por ¬p con lo que llegaríamos a: (¬p → ¬p) Ahora sustituimos q por p en el axioma 3, obteniendo: (((¬p) → (¬p)) → (((¬p) → p) → p)) Aplicando Modus Ponens tenemos: (((¬p) → p) → p)
Apartado c) Sustituyendo p por q → r y q por p en el primer axioma tenemos la instanciación: ((q → r) → (p → (q → r))) Aplicando ahora Modus Ponens a esta formula junto con (q → r) tenemos: (p → (q → r)) Aplicando ahora Modus Ponens a la fórmula anterior junto con el segundo axioma llegamos a: ((p → q) → (p → r)) Finalmente, aplicando nuevamente Modus Ponens con (p → q) llegamos a (p → r) Solución del profesor Sea T = (p → q), (q → r) ` (p → r) 62 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
1. Escribimos el axioma 1 con (q → r) en vez de p y p en vez de q: ((q → t) → (p → (q → r))) 2. Tenemos la premisa en T : (q → r). 3. Modus ponens utilizando 1 y 2: (p → (q → r)) 4. (p → (q → r)) → ((p → q) → (p → r)) 5. Modus ponens utilizando 3 y 4: ((p → q) → (p → r)) 6. Tenemos la premisa en T : (p → q). 7. Modus ponens utilizando 5 y 6: (p → r)
Ejercicio 2.2: Demostrar la parte no trivial del lema de legibilidad única: si (p ∗ q) es una fbf, donde ∗ es una conectiva binaria, y (p ∗ q) = (r ∗0 s), entonces p = r, ∗ = ∗0 , y q = s. Sea (p ∗ q) = (r ∗0 s) donde p, q, r, s son FBF. Ningún segmento inicial de una FBF puede ser una FBF. Razón: Dado que toda FBF comienza con (, acaba necesariamente con ) y tiene el mismo número de paréntesis izquierdos que derechos (ver ejercicio 4 de la hoja 1), cualquier segmento inicial de una FBF no es una FBF porque tendría un número mayor de ( que de ). Por tanto, tenemos que r no puede ser un segmento inicial de p porque r no sería FBF y tenemos que p lo es. Por otro lado, p no puede ser un segmento inicial de r porque tenemos que p es una FBF, por lo tanto r no sería FBF. Obtenemos que p y r tienen el mismo número de símbolos, luego p = r. A partir de aquí, tenemos ∗ = ∗0 y, utilizando el mismo razonamiento, q = s. Ejercicio 2.3: Un grafo es coloreable con 4 colores, si es posible asignar a todo vértice uno de los 4 colores de modo que vértices adyacentes tengan colores distintos. Sea G un grafo con vértices {vα : α ∈ Λ}, y conjunto de aristas E (que podría ser vacio; las aristas son subconjuntos de G con cardinalidad 2). Sea L = A ∪ {¬, ∨, ∧}, A = {vα (i) : α ∈ Λ, i = 1, 2, 3, 4}. Interpretando vα (i) como “el vértice vα tiene color i", enunciar los axiomas de la teoría T según la cual el grafo (G, E) es coloreable con 4 colores. 63 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
El grafo será coloreable siempre que dos vértices del mismo color no estén conectados. Por tanto los axiomas serían:A Cada vértice tiene solamente un color {(¬vα (1) ∨ ¬vα (2)) ∧ (¬vα (1) ∨ ¬vα (3))∧ ∧(¬vα (1) ∨ ¬vα (4)) ∧ (¬vα (2) ∨ ¬vα (3))∧ ∧(¬vα (2) ∨ ¬vα (4)) ∧ (¬vα (3) ∨ ¬vα (4)) | α ∈ Λ} Dos vértices conectados por una arista no tienen el mismo color {(¬va (1)∨¬vb (1))∧(¬va (2)∨¬vb (2))∧(¬va (3)∨¬vb (3))∧(¬va (4)∨¬vb (4)) | E(a, b)}
A.3.
Hoja 3
Ejercicio 3.1: Sea σ una valoración Booleana. Expresar σ(p ∨ q) y σ(p ∧ q) en términos de σ(p) y σ(q), usando la suma y el producto en Z2 . Consideramos el 1 como verdadero y el 0 como falso. Apartado a) σ(p ∨ q) = ¬σ(¬p ∧ ¬q) = 1 + (1 + σ(p)) · (1 + σ(q)) Alternativamente: σ(p ∨ q) = σ(p) + σ(q) + σ(p) · σ(q) Apartado b) σ(p ∧ q) = σ(p) · σ(q)
Ejercicio 3.2: Demostrar que los siguientes conjuntos de conectivas son completos: {¬, ∨}, {¬, ∧}, {¬, →}, {→, ⊥}. Para ver que son completos debemos demostrar que podemos expresar el resto de conectivas a partir de las dadas. Vamos a ello:
64 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
{¬, ∨} a → b ≡ (¬a) ∨ b a 0 0 1 1
b 0 1 0 1
a→b 1 1 0 1
¬a 1 1 0 0
↔ 1 1 1 1
∨b 1 1 0 1
a ∧ b ≡ ¬(¬a ∨ ¬b) a 0 0 1 1
b 0 1 0 1
a∧b 0 0 0 1
↔ 1 1 1 1
¬a 1 1 0 0
¬( 0 0 0 1
∨ 1 1 1 0
¬b) 1 0 1 0
> ≡ a ∨ (¬a) a 0 1
> 1 1
a∨ 1 1
↔ 1 1
(¬a) 1 0
⊥≡ ¬(a ∨ (¬a)) a 0 1
⊥ 0 0
↔ 1 1
¬( 0 0
a∨ 1 1
(¬a)) 1 0
a ↔ b ≡ (a → b) ∧ (b → a) ≡ (¬a ∨ b) ∧ (¬b ∨ a) ≡ ¬ ¬(¬a ∨ b) ∨ ¬(¬b ∨ a) a 0 0 1 1
b 0 1 0 1
(a ↔ b) 1 0 0 1
↔ 1 1 1 1
¬( 1 0 0 1
¬( 0 0 1 0
¬a 1 1 0 0
∨ b) 1 1 0 1
∨ 0 1 1 0
¬( 0 1 0 0
{¬, ∧} a ∨ b ≡ ¬((¬a) ∧ (¬b)) a 0 0 1 1
b 0 1 0 1
a∨b 0 1 1 1
↔ 1 1 1 1
¬( 0 1 1 1
65 de 102
(¬a) 1 1 0 0
∧ 1 0 0 0
(¬b)) 1 0 1 0
¬b 1 0 1 0
∨ a)) 1 0 1 1
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
a → b ≡ ¬a ∨ b ≡ ¬(a ∧ (¬b)) a 0 0 1 1
b 0 1 0 1
a→b 1 1 0 1
↔ 1 1 1 1
(a ∧ 0 0 1 0
¬ 1 1 0 1
(¬b)) 1 0 1 0
> ≡ ¬(a ∧ (¬a)) a 0 1
> 1 1
↔ 1 1
(a ∧ 0 0
¬ 1 1
(¬a)) 1 0
⊥≡ a ∧ (¬a) a 0 1
⊥ 0 0
↔ 1 1
a∧ 0 0
(¬a) 1 0
a ↔ b ≡ (a ∧ b) ∨ (¬a ∧ ¬b) ≡ ¬ (¬(a ∧ b)) ∧ (¬((¬a) ∧ (¬b))) a 0 0 1 1
b 0 1 0 1
a↔b 1 0 0 1
↔ 1 1 1 1
¬( 1 0 0 1
(¬ 1 1 1 0
(a ∧ b)) 0 0 0 1
∧ 0 1 1 0
(¬ 0 1 1 1
((¬a) 1 1 0 0
{¬, →} a ∨ b ≡ (¬a) → b a 0 0 1 1
b 0 1 0 1
a∨b 0 1 1 1
↔ 1 1 1 1
(¬a) 1 1 0 0
→b 0 1 1 1
a ∧ b ≡ ¬(¬a ∨ ¬b) ≡ ¬(a → (¬b)) a 0 0 1 1
b 0 1 0 1
a∧b 0 0 0 1
↔ 1 1 1 1
¬ 0 0 0 1
66 de 102
(a → 1 1 1 0
(¬b)) 1 0 1 0
∧ 1 0 0 0
(¬b)))) 1 0 1 0
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
>≡a→a a 0 1
> 1 1
↔ 1 1
a→a 1 1
⊥≡ ¬(a → a) a 0 1
⊥ 0 0
↔ 1 1
¬ 0 0
(a → a) 1 1
a ↔ b ≡ (a → b) ∧ (b → a) ≡ ¬ (a → b) → (¬(b → a)) a 0 0 1 1
b 0 1 0 1
a↔b 1 0 0 1
↔ 1 1 1 1
¬ 1 0 0 1
((a → b) 1 1 0 1
→ 0 1 1 0
(¬ 0 1 0 0
(b → a))) 1 0 1 1
{→, ⊥} > ≡⊥→⊥ > 1
↔ 1
⊥ 0
→ 1
⊥ 0
¬a ≡ a →⊥ a 0 1
¬a 1 0
↔ 1 1
a→ 1 0
⊥ 0 0
a ∨ b ≡ ¬a → b ≡ (a →⊥) → b a 0 0 1 1
b 0 1 0 1
a∨b 0 1 1 1
↔ 1 1 1 1
(a → 1 1 0 0
⊥) 0 0 0 0
→b 0 1 1 1
a ∧ b ≡ ¬(¬a ∨ ¬b) ≡ ¬(a → ¬b) ≡ (a → (b →⊥)) →⊥
67 de 102
Lógica Matemática - 15/16 C1 - UAM
a 0 0 1 1
b 0 1 0 1
a∧b 0 0 0 1
Pedro Valero Mejía y Guillermo Rual
↔ 1 1 1 1
(a → 1 1 1 0
(b → 1 0 1 0
⊥)) 0 0 0 0
→⊥ 0 0 0 1
a ↔ b ≡ (a → b) ∧ (b → a) ≡ ((a → b) → ((b → a) →⊥)) →⊥ a 0 0 1 1
b 0 1 0 1
a↔b 1 0 0 1
↔ 1 1 1 1
((a → b) 1 1 0 1
→ 0 1 1 0
((b → a) 1 0 1 1
→ 0 1 0 0
⊥)) 0 0 0 0
→ 1 0 0 1
⊥ 0 0 0 0
Las equivalencias expresadas a lo largo del ejercicio se han obtenido forzando el cumplimiento de las tablas de verdad.
Ejercicio 3.3: Demostrar que el conjunto de conectivas {∨, ∧} no es completo. Sugerencia: usar monotonía. Sea C el conjunto de FBFs constituidas a partir del lenguaje {a, ∧, ∨}. Este conjunto puede describirse como: 1. a ∈ C 2. Si α, β ∈ C =⇒ (α ∧ β) , (α ∨ β) ∈ C 3. C es el menor conjunto de FBFs que satisface las propiedades 1 y 2. Cuando tengamos a = > tendremos que las fórmulas (a ∨ a), (a ∧ a) son también verdaderas y, por definición del conjunto C, cualquier fórmula ε ∈ C tendrá valor verdadero cuando a sea verdadera, ya que las conectivas ∨ y ∧ siempre evalúan a verdadero cuando a ambos lados tienen valores verdaderos. Por tanto, es imposible que la negación, ¬a, que toma valor ⊥ cuando a = >, se deduzca de ese conjunto y, por tanto, el conjunto no es completo.
Ejercicio 3.4: Leer con cuidado el Lema 2.1.2 p. 16, y demostrar la columna derecha de los apartados 4-7 (distributividad, absorción, De Morgan, tercero excluído). El lema simplemente nos da una serie de 8 equivalencias. Procedemos a demostrar las 4 construyendo las tablas de verdad asociadas y comprobando que la doble implicación siempre tiene valor verdadero. 68 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
(p ∧ (q ∨ r)) ↔ (p ∧ q) ∨ (p ∧ r) (p 0 0 0 0 1 1 1 1
∧ 0 0 0 0 0 1 1 1
(q 0 0 1 1 0 0 1 1
∨ 0 1 1 1 0 1 1 1
r)) 0 1 0 1 0 1 0 1
↔ 1 1 1 1 1 1 1 1
(p 0 0 1 1
∧ 0 0 1 1
(p 0 0 1 1
(p 0 0 0 0 1 1 1 1
∧ 0 0 0 0 0 0 1 1
q) 0 0 1 1 0 0 1 1
∨ 0 0 0 0 0 1 1 1
q)) 0 1 0 1
↔ 1 1 1 1
p 0 0 1 1
(p 0 0 0 0 1 1 1 1
(p ∧ (p ∨ q)) ↔ p ∨ 0 1 1 1
(¬(p ∧ q)) ↔ (¬p ∨ ¬q) (¬ 1 1 1 0
(p 0 0 1 1
q)) 0 1 0 1
∧ 0 0 0 1
↔ 1 1 1 1
¬p 1 1 0 0
∨ 1 1 1 0
¬q) 1 0 1 0
(p ∧ ¬p) ↔ ⊥ (p 0 1
Ejercicio 3.5:
∧ 0 0
¬p) 1 0
↔ 1 1
⊥ 0 0
Demostrar el Lema 2.1.3 p. 17.
El lema que queremos demostrar dice: P Lema A.3.1. Sea ⊂ P rop(A) y sean p, q ∈ P rop(A), entonces 1.
P P p ∧ q ⇐⇒ py q P P 2. p =⇒ p∨q P P ∪{p} q ⇐⇒ p→q 3. P
69 de 102
∧ 0 0 0 0 0 1 0 1
r) 0 1 0 1 0 1 0 1
Lógica Matemática - 15/16 C1 - UAM
4. Si
P
py
P
Pedro Valero Mejía y Guillermo Rual
p → q, entonces
P
q (Modus Ponens)
Vamos a demostrarlo 1. Por definición decimos que σ(p) = 1.
P
p si para todo modelo σ de
Si tenemos que para todo modelo σ de
P
P
tenemos que
, σ(p ∧ q) = > y sabemos que
σ(p ∧ q) = σ(p) ∧ σ(q) = > queda claro que σ(p) = > y σ(q) = >. Evidentemente esto también es cierto en sentido contrario, si tenemos σ(p) = > y σ(q) = > es claro que σ(p ∧ q) = σ(p) ∧ σ(q) = > 2. Puesto que tenemos σ(p ∨ q) = σ(p) ∨ σ(q) P Es claro que si σ(p) = > para todo modelo σ de P , entonces tendremos σ(p ∨ q) = σ(p) ∨ σ(q) = > para todo modelo σ de . P 3. Tomemos un modelo cualquier σ de . En caso de que la interpretación P P σ sea también un modelo en ∪{p}, es decir, además de ser modelo de tenemos σ(p) = >, tendremos también σ(q) = >. Es decir, dado σ tenemos que si σ(p) = > entonces σ(q) = > y que no sabremos nada de σ(q) en caso contrario. Esta situación coincide exactamente con σ(p → q) = σ(p) → σ(q). PorP otro lado, si tenemos σ(p → q) = σ(p) → σ(q) = > para P todo modelo σ de , entonces tenemos que, siempre que σ sea un modelo de y además se verifique σ(p) = >, se cumplirá P σ(q) = > (si σ(p) =⊥ no podemos asegurar que σ(q) = >). Por tanto, ∪{p} q. P 4. Tenemos que para todo modelo σ de , σ(p) = σ(p → q) = >. Es decir, tenemos que σ(p) = σ(¬p ∨ q) = ¬σ(p) ∨ σ(q) Sabiendo que σ(p) = > llegamos a > = (⊥ ∨ σ(q)) =⇒ σ(q) = >
Ejercicio 3.6: 2 son tautologías.
Comprobar que los tres axiomas en el ejercicio 1 de la hoja
Para demostrar que estos axiomas son tautologías debemos comprobar que para toda valoración de las proposiciones p y q, la interpretacion de las FBFs dadas es >. Vamos a verlo: 70 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
1. (p → (q → p)) (p 1 1 0 0
→ 1 1 1 1
(q 1 0 1 0
→ 1 1 0 1
p)) 1 1 0 0
2. ((p → (q → r)) → ((p → q) → (p → r))) ((p 1 1 1 1 0 0 0 0
→ 1 0 1 1 1 1 1 1
(q 1 1 0 0 1 1 0 0
r)) 1 0 1 0 1 0 1 0
→ 1 0 1 1 1 0 1 1
→ 1 1 1 1 1 1 1 1
((p 1 1 1 1 0 0 0 0
→ 1 1 0 0 1 1 1 1
q) 1 1 0 0 1 1 0 0
→ 1 0 1 1 1 1 1 1
(p 1 1 1 1 0 0 0 0
→ 1 0 1 0 1 1 1 1
r))) 1 0 1 0 1 0 1 0
3. (((¬p) → (¬q)) → (((¬p) → q) → p)) (((¬ p) 1 0 1 0
→ 1 1 0 1
(¬ q)) 1 1 0 0
→ 1 1 1 1
(((¬ p) 1 0 1 0
→ 0 1 1 1
q) 0 0 1 1
→ 1 1 0 1
p)) 0 1 0 1
Ejercicio 3.7: Comprobar que los ocho axiomas en las páginas 20-21 del libro son tautologías. Procedemos como en el ejercicio anterior> 1. > El símbolo atómico > es una tautología por definición, pues siempre tiene el valor verdadero. 2. p → (p ∨ q) p 1 1 0 0
q 1 0 1 0
(p 1 1 0 0
→ ( p ∨ q )) 1 1 1 1 1 1 1 0 1 0 1 1 1 0 0 0
71 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. ¬p → (¬q → ¬(p ∨ q)) p 1 1 0 0
q 1 0 1 0
(¬ 0 0 1 1
p 1 1 0 0
→ ( ¬ q → ¬ ( p ∨ q ))) 1 0 1 1 0 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1 0 1 1 0 0 0
p 1 1 0 0
q 1 0 1 0
(( p 1 1 0 0
(p 1 1 0 0
→ ( q → ( p ∧ q ))) 1 1 1 1 1 1 1 0 1 1 0 0 1 1 0 0 0 1 1 0 1 0 0 0
4. (p ∧ q) → p ∧ 1 0 0 0
q)→ p) 1 1 1 0 1 1 1 1 0 0 1 0
5. p → (q → (p ∧ q) p 1 1 0 0
q 1 0 1 0
6. (p → (q → r)) → ((p → q) → (p → r)) p 1 1 1 1 0 0 0 0
q 1 1 0 0 1 1 0 0
r 1 0 1 0 1 0 1 0
(( p 1 1 1 1 0 0 0 0
→ ( q → r )) → (( p → q ) → ( p → r ))) 1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 0 1 1 1 1 0 1 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 0 1 0 1 0 1 0 1 0
7. p → (¬p → ⊥) ⊥ p 0 1 0 0
( p → ( ¬ p → ⊥ )) 1 1 0 1 1 0 0 1 1 0 0 0
⊥ p 0 1 0 0
(( ¬ p → ⊥ ) → p ) 0 1 1 0 1 1 1 0 0 0 1 0
8. (¬p → ⊥) → p
72 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejercicio 3.8: Reescribir los ocho axiomas en las páginas 20-21 del libro usando sólo las conectivas en {¬, →}, y comprobar que dichos axiomas se deducen de los tres axiomas en el ejercicio 1 de la hoja 2. Tal y como hemos visto en teoría, por el teorema de completitud, existe una prueba de p a partir de los axiomas y modus ponens si y sólo si p es una tautología. Por tanto, comprobar que las siguientes fórmulas se deducien de los axiomas, basta con probar que son tautologías, es decir, que su tabla de verdad nos da valor verdadero para todas las interpreaciones posibles. 1. > >≡p→p Trivialmente podemos ver que se trata de una tautología. 2. p → (p ∨ q) p → (p ∨ q) ≡ p → ((¬p) → q) ≡ p → ((¬q) → p) La última equivalencia es una instancia del primer axioma. Para verlo basta con sustituir q por ¬q en ese axioma. 3. ¬p → (¬q → ¬(p ∨ q)) ¬p → (¬q → ¬(p ∨ q)) ≡ (¬p) → ((¬q) → (¬((¬p) → q))) ¬p 1 1 0 0
→ 1 1 1 1
(¬q 1 0 1 0
→ 1 1 0 1
¬ 1 0 0 0
(p 0 0 1 1
∨ 0 1 1 1
q)) 0 1 0 1
4. (p ∧ q) → p (p ∧ q) → p ≡ (¬((¬p) ∨ (¬q))) → p ≡ (¬(p → (¬q))) → p (p 0 0 1 1
∧ 0 0 0 1
q) 0 1 0 1
→ 1 1 1 1
p 0 0 1 1
5. p → (q → (p ∧ q)) p → (q → (p ∧ q)) ≡ p → (q → (¬(p → (¬q)))) 73 de 102
Lógica Matemática - 15/16 C1 - UAM
p 0 0 1 1
Pedro Valero Mejía y Guillermo Rual
→ 1 1 1 1
→ 1 0 1 1
(q 0 1 0 1
(p 0 0 1 1
∧ 0 0 0 1
q)) 0 1 0 1
6. (p → (q → r)) → ((p → q) → (p → r)) Ya está en el formato deseado y es uno de los axiomas. 7. p → (¬p → ⊥) p → (¬p → (¬(p → p))) p 0 1
→ 1 1
(¬p 1 0
→ 0 1
⊥) 0 0
8. (¬p → ⊥) → p (¬p → (¬(p → p))) → p (¬p 0 1
Ejercicio 3.9:
→ 1 0
⊥) 0 0
→ 1 1
p 1 0
Obtener ` (p → p) a partir del Lema de la Deducción.
El Lema de la Deducción nos dice: (T ∪ {p} ` q) =⇒ (T ` (p → q)) Tomando T = ∅ y q = p, tenemos {p} ` p cuya prueba es trivial, ya que p esta en la teoría. Por el Lema de la Deducción, concluimos ∅ ` (p → p), es decir ` (p → p)
Ejercicio 3.10: Decidir razonadamente si el conjunto de conectivas {¬, ⇐⇒ } es completo. No es completo debido a que tanto el ∧ como el ∨ generan siempre un numero impar de 0’s y 1’s, mientras que ⇐⇒ siempre genera un numero par de 0’s y un número par de 1’s y el ¬ solo intercambia el numero de 0’s por el número de 1’s. Por tanto, no es posible solo con ⇐⇒ y con ¬ generar un número impar de 0’s ó 1’s, y en consecuencia, no se puede encontrar una fórmula equivalente al ∧ o al ∨, es decir, {¬, ⇐⇒ } NO es completo. 74 de 102
Lógica Matemática - 15/16 C1 - UAM
A.4.
Pedro Valero Mejía y Guillermo Rual
Hoja 4
Asumimos genérica e informalmente la no trivialidad. Al escribir fórmulas, se permiten las abreviaciones razonables (por ejemplo, las que he usado en el primer problema). Ejercicio 4.1: Forma normal disyuntiva: una fbf está en forma normal disyuntiva si se expresa como p1 ∨ · · · ∨ pn , donde n ≥ 1, cada pi es de la forma qi,1 ∧ · · · ∧ qi,ni , con ni ≥ 1, y cada qi,j es o bien atómica o la negación de una fórmula atómica. Por ejemplo, si p, q, y r son átomos, entonces ¬p, p ∨ q, p ∧ q ∧ r, y p ∨ (q ∧ r) están en forma normal disyuntiva, mientras que p ∧ (q ∨ r) no lo está. Probar que toda fbf es equivalente a una fbf en forma normal disyuntiva (las formas normales conjuntivas se definen de modo análogo, intercambiando conjunciones y disyunciones, y el resultado también es cierto para ellas). Sea A un conjunto de variables proposicionales, una fbf es o bien: un elemento de A, > o ⊥ o bien, cualquier fórmula de la forma: (¬F1 ), (F1 ∧F2 ), (F1 ∨F2 ), (F1 → F2 ), (F1 ↔ F2 ). En el primer caso, dichas fórmulas atómicas ya estan en FND (basándonos en la definición). En el segundo caso, basta describir el algoritmo empleado para llevar a cabo esta conversión. El algoritmo es el siguiente: 1. Eliminación de la doble implicación Siempre que tengamos algo de la forma (A ↔ B) lo convertimos en la representación equivalente: ((A → B) ∧ (B → A)) 2. Eliminación de la implicación Siempre que tengamos una FBF de la forma: (A → B) lo transformamos en la representación equivalente: ((¬A) ∨ B) 3. Desplazar los ¬ hacia el interior Empleamos las leyes de De Morgan para transformar FBFs de la forma ¬(A ∨ B) y ¬(A ∧ B) en: (¬(A ∨ B)) ≡ ((¬A) ∧ (¬B)) (¬(A ∧ B)) ≡ ((¬A) ∨ (¬B))
75 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
4. Distribuir conjunciones hacia dentro sobre disyunciones Todas las FBFs de la forma (A∧(B ∨C)) las convertiremos en su representación equivalente: ((A ∧ B) ∨ (A ∧ C)) obteniendo una FBF en FND. Es decir, cualquier fórmula bien formada que no sea atómica puede ser transformada en FND aplicando sucesivamente 1-4.
Ejercicio 4.2: Sea A = {p, q, r}, sea L = A ∪ {¬, ∨, ∧, ), (}, y sea σ : A → {0, 1} una función arbitraria. Denotando también por σ su extensión única a una valoración Booleana definida en fbf(L), decidir razonadamente si existe una fbf F tal que σ(F ) = 1. Decidir razonadamente qué ocurre si la cardinalidad de A es 2015 en vez de 3. Por supuesto que existe la FBF definida: (p ∨ (¬p)) Para comprobarlo basta con ver que: ( σ(p ∨ (¬p)) = m´ax{σ(p), 1 + σ(p)} =
m´ax{0, 1} = 1 si σ(p) = 0 m´ax{1, 0} = 1 si σ(p) = 1
El problema no cambia al variar la cardinalidad de A, de modo que, cuando la cardinalidad de A sea 2015 seguimos teniendo la misma FBF. Deduzco que está mal mi razonamiento pero no se por qué. Debe haber alguna definición que no estoy entendiendo bien pero no se cual. Yo lo veo bien.
Ejercicio 4.3: Sea σ una valoración Booleana, y sea T := {p ∈ F BF (L) : σ(p) = 1}. Demostrar que T es una teoría completa. Una teoría será completa si dada una FBF cualquiera q se tiene que T ` q o T 0 q Si tenemos que σ(q) = 1 entonces q ∈ T , por definición de T , y por tanto, T ` q. Por otro lado, si σ(q) = 0 es claro que no puede deducirse q a partir de T . Vamos a demostrarlo. Toda FBF que pueda deducirse de T es una tautología (puesto que en clase hemos visto que T ` x =⇒ T x). Por la definición de tautología vista en clase, sabemos que todo modelo de T tendrá evaluación verdadera sobre la tautología. Es decir: 76 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
T ` x =⇒ σ(x) = 1 ∀x ∈ F BF (L) con lo que queda claro que si σ(x) = 0 =⇒ T 0 x Creo que la definicion de teoria completa no esta completa (valga la redundancia). Yo la tengo copiada como sigue, y me queda otra demostración: Usamos la siguiente definición: T es completa ⇔ T es consistente y ∀ FBF(L) p : T ` p ó T 0 p. 1. T es consistente: T es consistente ⇔ existe p ∈ FBF(L): T 0 p Basta tomar p ∈ / T, entonces σ(p) = 0 y por esta razón, p no puede ser consecuencia tautólogica de T. Por el Teorema de Validez, sabemos que si T 2 p entonces T 0 p. Además, siempre se puede tomar un p ∈ / T, con T6= ∅: si q ∈ T entonces p = (¬q) cumple p ∈ / T. 2. ∀ FBF(L) p : T ` p ó bien T 0 p Sea p ∈ FBF(L): T ` p. Queremos ver que, T 0 (¬p) T ` p =⇒ T p =⇒ (¬p) ∈ / T =⇒ T 2 (¬p) =⇒ T0 (¬p) La segunda implicación se debe a que, si p es consecuencia tautológica de T entonces toda valoración σ 0 que satisfaga T, satisface p. En particular, podemos tomar σ 0 = σ tal que σ(p) = 1. Entonces σ(¬p) = 0, es decir, (¬p) ∈ / T.
El otro caso es análogo: Sea p ∈ FBF(L): T ` (¬p). Queremos ver que, T 0 p T ` (¬p) =⇒ T (¬p) =⇒ p ∈ / T =⇒ T 2 p =⇒ T0 p Ejercicio 4.4: Sea G un grafo infinito, tal que todos sus subgrafos finitos pueden colorearse con cuatro colores. Decidir razonadamente si G puede colorearse con cuatro colores. Sea G = (V, E) un grafo infinito, definimos A = V × {1, 2, 3, 4} como un conjunto de átomos, donde cada átomo (v, i) indica que el nodo v tiene color i. Así, para P el grafo G = (V, E), poder colorearlo con 4 colores implica que el siguiente conjunto ⊂ PropA tiene un modelo: P = {(v, 1) ∨ (v, 2) ∨ (v, 3) ∨ (v, 4) : v ∈ V } ∪ {¬((v, i) ∧ (v, j)) : v ∈ V, 1 ≤ i < j ≤ 4} ∪{¬((v, i) ∧ (w, i)) : (v, w) ∈ E, 1 ≤ i ≤ 4} Puesto que todo subgrafo finito Pde G = (V, E) es coloreable con 4 colores, P tenemos que todo subconjunto finito de tiene un modelo y, por compacidad, tiene un modelo. 77 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejercicio 4.5: Sea X un conjunto parcialmente ordenado. Decidir razonadamente si el orden parcial puede extenderse a un orden lineal, o total. Sea (P, R) la representación de un conjunto (P) parcialmente ordenado (dada la relación R). Vamos a denominar como C el conjunto de todos los órdenes parciales (P, ≤) que extienden R, es decir, R ⊂≤. Podemos ver que los elementos de C satisfacen el lema de Zorn respecto a la relación ⊂ puesto que si tenemos una cadena: ≤1 ⊂≤2 ⊂ ... ⊂≤n entonces el orden parcial (P, ≤n ) será una cota superior. Por tanto, podemos aplicar el lema de Zorn y sabemos que hay un elemento maximal en C. Este elemento maximal, será tal que dados dos elementos cualesquiera de P , véase p1 y p2 , si hay un orden parcial ≤i que los relaciona (p1 ≤ p2 , por ejemplo), entonces también están relacionados en el orden maximal. Puesto que C es el conjunto de todos los ordenes parciales existentes sobre los elementos de P , dos elementos cualesquiera de P estarán relacionados por algún order parcial y por tanto estarán relacionados en el orden maximal. Es decir, el orden maximal es un orden total.
Ejercicio 4.6: primer orden.
Expresar “f es una función inyectiva" en un lenguaje de
∀x∀y(f (x) = f (y)) =⇒ (x = y)
Ejercicio 4.7: primer orden.
Expresar “f es una función sobreyectiva" en un lenguaje de
Siendo la función f de la forma f : A 7−→ B ∀y ∈ B ∃x ∈ A f (x) = y ∀y ∃x (f (x) = y) Me parece mejor esta definicion. 78 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejercicio 4.8: Una forma de decir que un conjunto X es finito consiste en afirmar que toda función inyectiva de X en X es sobreyectiva. Usar cuantificación sobre todas las funciones para probar que la noción “X es finito" puede expresarse en una lógica de segundo orden. Podemos expresar la noción “X es finito” como: ∀f (f ∈ F ∧ ((∀x1 ∀x2 (x1 ∈ X ∧ x2 ∈ X ∧ (f (x1 ) = f (x2 ) =⇒ x1 = x2 ))) ⇐⇒
(∀x2 (x2 ∈ X ∧ (∃x1 (x1 ∈ X ∧ (f (x1 ) = x2 ))))))) siendo F el espacio de funciones f : X 7−→ X
Ejercicio 4.9: Expresar la definición habitual de “f es continua" en un lenguaje de primer orden (usando epsilones y deltas; interpretamos que el dominio y el rango de f son los reales, con todas sus funciones habituales, valor absoluto, suma, etc.). Una función f será continua si y sólo si:
∀ε ∈ R ∃δ ∈ R ∀x1 , x2 ∈ R kx1 , x2 k < δ =⇒ f (x1 ), f (x2 ) < ε
∀x0 ∀ε (ε > 0 ∧ (∃δ (δ > 0 ∧ (∀x (( kx, x0 k < δ) =⇒ ( f (x), f (x0 ) < ε)))))) Me parece mejor esta definicion.
Ejercicio 4.10: Expresar la definición habitual de “f es uniformemente continua" en un lenguaje de primer orden (usando epsilones y deltas). Siendo la función f de la forma f : A 7−→ B
∀ε ∈ R ∃δ ∈ R (ε > 0)∧(δ > 0)∧∀x1 , x2 ∈ A kx1 , x2 k < δ
=⇒ f (x1 ), f (x2 ) < ε
∀ε (ε > 0 ∧ (∃δ (δ > 0 ∧ (∀x1 ∀x2 (( kx1 , x2 k < δ) =⇒ ( f (x1 ), f (x2 ) < ε)))))) Me parece mejor esta definicion.
79 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Ejercicio 4.11: Buscar los axiomas de la Aritmética de Peano, entender lo que dicen, y entregarlos escritos. Los 5 Axiomas de Peano son: 1. Existe un número natural 1. En otros términos,1 está en N, el conjunto de los números naturales. 2. Todo número natural n tiene un sucesor n* (este axioma es usado para definir posteriormente la suma). 3. 1 no es el sucesor de algún número natural. 4. Si hay dos números naturales n y m con el mismo sucesor, entonces n y m son el mismo número natural. 5. Si 1 pertenece a un conjunto K de números naturales, y dado un elemento cualquiera n, el sucesor n* también pertenece al conjunto K, entonces el conjunto K debe ser el conjunto de todos los números naturales. Este axioma es el principio de inducción matemática.
A.5.
Hoja 5
Asumimos genérica e informalmente la no trivialidad. Al escribir fórmulas, se permiten las abreviaciones razonables. Ejercicio 5.1: Probar que en ZFC no existe una cadena infinita descendente z1 3 z2 3 z3 3 . . . . La demostración de este hecho se basa en el axioma de Fundación, que dice: ∀x (x 6= ∅) =⇒ (∃y ∈ x(∀z ∈ x(z ∈ / y))) Supongamos que existe una cadena infinita descendente: z1 3 z2 3 z3 3 . . . entonces tendremos una serie de funciones f : N 7−→ zi tal que f (i) = zi . Estas funciones, por definición cumplen que f (n + 1) ∈ f (n). Definimos ahora el conjunto S = {f (n) con n ∈ N}, que representa el rango de f , que sabemos que puede ser visto como un conjunto debido al axioma de reemplazo. El axioma de fundación nos garantiza la existencia de B ∈ S tal que B ∩ S = ∅. Por definición de S, tenemos que ∃n0 tal que B = f (n0 ) pero hemos dicho, desde el principio, que f (n0 ) contiene a f (n0 + 1), que también es un elemento de S.
80 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Por tanto, llegamos a una contradicción, pues empezamos suponiendo que B ∩S = ∅, por lo que es imposible que exista la cadena infinita descendente que originó este razonamiento. Solución del profesor: N es un conjunto. n → zn es una función, luego su rango S = {z1 , z2 , . . .} es un conjunto. ∀zi ∈ S, S ∩ zi 3 zi+1 contradice fundación y no asumimos que dos zi son distintos. Por tanto se excluye z1 3 z2 3 . . . 3 zn 3 z1 .
Ejercicio 5.2: Sea T la teoría (en un lenguaje de primer orden) que se obtiene al a˜ nadir a los tres axiomas de la teoría de grupos, un cuarto axioma ∀x∀y(x = y). Probar que T es completa. Recordamos que una teoría será completa, por definición, si es consistente y ∀p, T ` p ∨ T ` ¬p, no puede ser que no podamos deducir ninguna. Juntando los tres axiomas vistos en clase y el que añade el enunciado tenemos: 1. ϕ1 : ∀x∀y∀z((x · y) · z) = (x · (y · z)) 2. ϕ2 : ∀x(x · e = e · x = x) 3. ϕ3 : ∀x∃y(x · y = e) 4. ϕ4 : ∀x∀y(x = y) El último axioma que hemos añadido hace que sólo haya un modelo de esta teoría, es decir, sólo hay un grupo que satisface todos estos axiomas simultáneamente y es el grupo trivial formado por el elemento neutro: G = {id}. Por tener un modelo, y aplicando el Teorema de Completitud (versión 2) tenemos que T es consistente. Puesto que sólo tenemos un modelo, es obvio cualquier FBF ϕ describirá una propiedad para la que pueden ocurrir dos opciones: 1. G satisface ϕ por lo que G(ϕ) = > =⇒ T ϕ. Evidentemente si la propiedad se satisface para el modelo de la teoría (el grupo G), su contrario no lo hará, es decir, en este caso tendríamos G 2 ¬ϕ =⇒ G 0 ¬ϕ 2. G no satisface ϕ, por lo que G(ϕ) =⊥ =⇒ G(¬ϕ) = T , es decir, G satisface su opuesto. Por tanto tendríamos G ϕ =⇒ G ` ϕ La idea clave de esta explicación es que nuestra teoría tiene un único grupo que es modelo lo que evita la posibilidad de que ciertos grupos de la teoría satisfagan ϕ y otros ¬ϕ, como ocurría con esta misma teoría antes de añadir el cuarto axioma.
Ejercicio 5.3: Sea T la teoría, en un lenguaje de primer orden L, que se obtiene al a˜ nadir a los axiomas de Peano la coleccion {ψn : n ∈ N}, donde ψn es
81 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
la fbf ∃x > n, y por cada número natural n, n es una constante en L cuya interpretación es n. Decidir razonadamente si T es consistente. Decidir razonadamente si T tiene un modelo. Observación: Nótese que cualquier L-estructura debe contener a N. Como hemos visto en clase, cualquier interpretación (en este caso la L-estructura) que satisfaga los axiomas de Peano debe ser N (en este sentido, N es único). En efecto vemos que N es un modelo de T pues satisface los axiomas de Peano y por ser infinito numerable satisface ψn con n ∈ N. Puesto que tiene un modelo sabemos también que es consistente por el teorema de completitud.
A.6.
Hoja 6
Asumimos genérica e informalmente la no trivialidad. Al escribir fórmulas, se permiten las abreviaciones razonables. Ejercicio 6.1: a) Tomando ∃ como abreviación de ¬∀¬, probar que el axioma de cuantificación para ∀ implica la siguiente vesión para ∃: si t puede sustituir a x en ϕ, entonces ϕ(t|x) → ∃xϕ(x). b) Del mismo modo, tomando ∀ como abreviación de ¬∃¬, probar que el axioma de cuantificación para ∃, “si t puede sustituir a x en ϕ, entonces ϕ(t|x) → ∃xϕ(x)", implica el axioma para ∀. Hecho por Pedro. Se aceptan correcciones. Apartado a) Recordemos que el axioma de cuantificación para ∀ nos dice que: ∀xϕ(x) → ϕ(t|x) Por definición de la implicación podemos ver que este axioma es equivalente a: ¬ϕ(t|x) → ¬∀xϕ(x) Si tomamos ∃ como abreviación de ¬∀¬ podemos escribir: ¬ϕ(t|x) → ∃x¬ϕ(x) Por último, podemos simplemente redefinir la fórmula ϕ para que incluya la negación por si misma con lo que obtenemos el resultado buscado. 82 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Apartado b) El axioma de cuantificación para ∃ es: ϕ(t|x) → ∃xϕ(x) Basándonos de nuevo en la definición de la implicación tenemos ¬∃xϕ(x) → ¬ϕ(t|x) Tomando la abreviación del enunciado llegamos a: ∀x¬ϕ(x) → ¬ϕ(t|x) Nuevamente podemos redefinir la función ϕ con lo que obtenemos el resultado deseado
Ejercicio 6.2: Probar que la regla de generalización para ∀ es equivalente a la siguiente regla de generalización para ∃: si x no aparece libre en ϕ, de ψ → ϕ deducimos (∃xψ) → ϕ. Hecho por Pedro. Se aceptan correcciones. Recordamos que la regla de generalización de ∀ nos dice que, siendo x una variable libre en ψ: ψ → ϕ =⇒ ψ → ∀xϕ Por definición de la implciación tenemos que la regla anterior es equivalente a: ¬ϕ → ¬ψ =⇒ (¬∀xϕ → ¬ψ) Reemplazando ¬∀¬ por ∃ tenemos: ¬ϕ → ¬ψ =⇒ (∃x¬ϕ → ¬ψ) Renombrando ¬ψ = a y ¬ϕ = b llegamos a: b → a =⇒ (∃xb) → a
Ejercicio 6.3: refutar:
Usamos φ |= ψ como abreviación de {φ} |= ψ. Probar o
a) ∃x(φ ∨ ψ) |= (∃xφ) ∨ (∃xψ). b) (∃xφ) ∨ (∃xψ) |= ∃x(φ ∨ ψ). c) ∃x(φ ∧ ψ) |= (∃xφ) ∧ (∃xψ). 83 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
d) (∃xφ) ∧ (∃xψ) |= ∃x(φ ∧ ψ). e) ∃x(φ → ψ) |= (∃xφ) → (∃xψ). f) (∃xφ) → (∃xψ) |= ∃x(φ → ψ). g) ∃x(φ → ψ) |= (∀xφ) → (∃xψ). h) (∀xφ) → (∃xψ) |= ∃x(φ → ψ). i) φ |= ∀xφ. j) ∀x(φ → ψ) |= (∀xφ) → (∀xψ). k) (∀xφ) → (∀xψ) |= ∀x(φ → ψ). l) ∃x(φ → ψ) |= (∀xφ) → (∃xψ). m) (∃xφ) → (∀xψ) |= ∀x(φ → ψ). n) ∀x(φ → ψ) |= (∃xφ) → (∃xψ).
Apartado a) Vamos a demostrar que ∃x(φ ∨ ψ) |= (∃xφ) ∨ (∃xψ) | {z } | {z } σ
Σ
Sea a cualquier modelo de Σ, si tomamos b ∈ A tenemos que a |= (φ(b) ∨ ψ(b)) =⇒ a |= (∃xφ) ∨ (∃xψ) =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado b) Vamos a demostrar que: (∃xφ) ∨ (∃xψ) |= ∃x(φ ∨ ψ) | {z } | {z } σ
Σ
Sea a cualquier modelo de Σ y sean b, c ∈ A tenemos que: a |= (φ(b) ∨ ψ(c)) =⇒ a |= ∃x(φ ∨ ψ) =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado c) 84 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Vamos a demostrar que ∃x(φ ∧ ψ) |= (∃xφ) ∧ (∃xψ) | {z } | {z } σ
Σ
Sea a cualquier modelo de Σ, si tomamos b ∈ A tenemos que a |= (φ(b) ∧ ψ(b)) =⇒ a |= (∃xφ) ∧ (∃xψ) =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado d) En esta ocasión vamos a ver que no es cierta la FBF: (∃xφ) ∧ (∃xψ) |= ∃x(φ ∧ ψ) | {z } | {z } σ
Σ
Sea a cualquier modelo de Σ y sean b, c ∈ A tenemos que: a |= (φ(b) ∧ ψ(c)) Si no es posible encontrar dos valores como los indicados que satisfagan b = c, no podremos concluir ∃x(φ ∧ ψ). Por ejemplo:
φ(a) = a es par =⇒ Σ = T ∧ σ =⊥ ψ(a) = a es impar
Con lo que cualquier FBF es modelo de Σ, pues es una tautología, pero σ nunca toma el valor verdadero. Apartado e) Vamos a ver que ∃x(φ → ψ) |= (∃xφ) → (∃xψ) {z } | {z } | σ
Σ
es falsa. Para ello basta con tomar: ψ(a) = a es par φ(a) = a es múltiplo de 3 En estas condiciones el conjunto {3, 5, 9} es un modelo de Σ, pues φ(5) → ψ(5) tiene valor verdadero, pero σ es falsa en {3, 5, 9}, puesto que ∃xφ es verdadero pero ∃xψ es falsa. 85 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Apartado f) Vamos a demostrar que (∃xφ) → (∃xψ) |= ∃x(φ → ψ) {z } | {z } | σ
Σ
Sea a cualquier modelo de Σ, tenemos dos opciones: ∃x ∈ A ψ En este caso es sencillo comprobar que σ es cierto, pues existe un x para el que la parte derecha de la implicación es verdad. ¬∃x ∈ Aφ ≡ ∀x ∈ A ¬ψ En este caso podemos ver que para cualquier x que tomemos la parte izquierda de la implicación que define σ tendrá valor de verdad falso, por lo que σ será verdadero. Apartado g) Vamos a demostrar que ∃x(φ → ψ) |= (∀xφ) → (∃xψ) {z } | {z } | σ
Σ
Sea a cualquier modelo de Σ, existe b ∈ A tal que: a |= φ(b) → ψ(b) =⇒ a |= φ → ψ(b) =⇒ a |= (∀xφ) → (∃xψ) =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ Solución del profesor: Si a (∃x(ϕ =⇒ ψ)), entonces ∃a ∈ A a ϕ(a|x) → ψ(a|x) Esto es equivalente a que o bien a ¬ϕ(a) o bien a ψ(a). Si a ψ(a), entonces a (∀xϕ(x) → ∃xψ(x)) Si a ¬ϕ(a), entonces a (¬∀xϕ(x)) Por tanto, a (∀xϕ(x) → ∃xψ(x)) Apartado h) Vamos a demostrar que (∀xφ) → (∃xψ) |= ∃x(φ → ψ) | {z } | {z } σ
Σ
86 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Sea a calquier modelo de Σ, tomamos b ∈ A tal que: a |= φ → ψ(b) =⇒ a |= φ(b) → ψ(b) =⇒ a |= ∃x(φ → ψ) =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado i) Vamos a demostrar que φ |= ∀xφ |{z} |{z} Σ
σ
Sea a cualquier modelo de Σ tenemos que a |= φ =⇒ a |= ∀xφ =⇒ a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado j) Vamos a demostrar que ∀x(φ → ψ) |= (∀xφ) → (∀xψ) | {z } | {z } σ
Σ
La única forma de que no sea cierto σ es tener una L-estructura en la que ∀xφ(x) ∧ ∃y ¬ψ(y) Sea a cualquier modelo de Σ tenemos a |= ∀x(φ → ψ) Por tanto a |= ∀xφ =⇒ a |= ∀xψ =⇒ a 2 ∃yψ Por tanto no puede ocurrir que σ no sea cierta. Apartado k) En esta ocasión vamos a ver que la FBF (∀xφ) → (∀xψ) |= ∀x(φ → ψ) | {z } | {z } σ
Σ
es falsa. 87 de 102
Lógica Matemática - 15/16 C1 - UAM
Por ejemplo:
Pedro Valero Mejía y Guillermo Rual
φ(a) = a es par ψ(a) = a es múltiplo de 4
Tomamos un modelo a de Σ que contenga en A los valores: {2, 3, 4}. Es sencillo ver que una L-estructura como la mencionada es un modelo de Σ pues ∀xφ tiene valor falso, lo que hace que Σ sea verdadero. Sin embargo, en estas condiciones es sencillo ver que σ es falso puesto que el caso concreto del 2 cumple que es par pero no es múltiplo de 4, es decir, φ(2) = > ∧ ψ(2) =⊥ =⇒ σ =⊥ =⇒ a 2 σ Apartado l) Vamos a demostrar que ∃x(φ → ψ) |= (∀xφ) → (∃xψ) {z } | {z } | σ
Σ
Sea a cualquier modelo de Σ y sea b ∈ A tenemos dos opciones: 1. φ(b) = > a |= φ(b) → ψ(b) =⇒ a |= ψ(b) =⇒ a |= φ → ψ(b) =⇒ a |= σ 2. φ(b) =⊥ En este caso ∀xφ =⊥ por lo que nos encontramos con que σ es una tautología y de manera trivial a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado m) Vamos a demostrar que (∃xφ) → (∀xψ) |= ∀x(φ → ψ) | {z } | {z } σ
Σ
Sea a cualquier modelo de Σ y sea b ∈ A, tenemos que a |= φ(b) → ∀xψ Aquí tenemos dos opciones: 1. ∃b φ(b) = > a |= φ(b) → ∀xψ =⇒ a |= ∀xψ =⇒ a |= ∀x(φ → ψ) =⇒ a |= σ 88 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
2. ¬∃b φ(b) = > En este caso tendremos que φ siempre evalúa a falso y por tanto σ siempre es verdadero. Por tanto a |= σ Puesto que para todo modelo a de Σ tenemos a |= σ, podemos concluir que Σ |= σ
Apartado n) Vamos a demostrar que ∀x(φ → ψ) |= (∃xφ) → (∃xψ) {z } | {z } | σ
Σ
Sea a cualquier modelo de Σ tenemos dos opciones 1. ∃b φ(b) = > a |= φ(b) → ψ(b) =⇒ a |= (∃xφ) → (∃xψ) =⇒ a |= σ 2. ¬∃b φ(b) = > En este caso tendremos que φ siempre evalúa a falso y por tanto σ siempre es verdadero. Por tanto a |= σ
Ejercicio 6.4: Usamos φ ` ψ como abreviación de {φ} ` ψ. Probar (sin usar completitud): a) φ ` ∀xφ. b) ∃x∀yφ(x, y) ` ∀y∃xφ(x, y). c) ` ∃x∀yφ(x, y) → ∀y∃xφ(x, y). d) ∀x∀yφ(x, y) ` ∀y∀xφ(x, y). e) ∀x∀yφ(x, y) ` ∀yφ(y, y). Abreviaturas: Axioma de Cuantificación (versión 1)(CA1), Axioma de Cuantificación (versión 2) (CA2) Regla de Generalización (versión 1) (G1), Regla de Generalización (versión 2) y Clausura Universal (UC). CA1: Si el término t puede sustituir al término x en φ entonces: ∀xφ(x) → φ(t|x). 89 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
CA2: Si el término t puede sustituir al térmio x en φ entonces: φ(t|x) → ∃xφ(x). (Demostrado en el Ejercicio 1) G1: Si x no aparece libre en φ entonces: de φ → ψ deducimos φ → ∀xψ G2: Si x no aparece libre en φ entonces: de φ → ψ deducimos ∃xφ → ψ (Demostrado en el Ejercicio 2) Apartado a) Solución del profesor: 1. φ premisa 2. Usamos la siguiente tautología: φ → (¬∀xφ → φ) 3. Obtenemos ¬∀xφ → φ usando los pasos anteriores y modus ponens. 4. Como no tenemos variables libres, podemos usar el axioma de generalización: ¬∀xφ → ∀xφ 5. Tenemos la tautología (¬∀xφ → ∀xφ) → ∀xφ. 6. Por modus ponens ∀xφ
Apartado b) 1. Por CA1: ∃x∀yφ(x, y) → ∃xφ(x, y) 2. Por UC: ∃xφ(x, y) → ∀y∃xφ(x, y)
Apartado c) Solución del profesor: Por cuantificación para ∀, como y puede sustituir a y: ∀yφ(x, y) → φ(x, y) Por cuantificación para ∃, como x puede sustituir a x: φ(x, y) → ∃xφ(x, y) Dado que {α → β, β → γ} ` α → γ: ∀yφ(x, y) → ∃xφ(x, y) 90 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Por generalización para ∃: ∃x∀yφ → ∃xφ Por generalización para ∀: ∃x∀yφ → ∀y∃xφ
Apartado d) Solución del profesor: 1. ∀x∀yφ(x, y) premisa. 2. Utilizamos el axioma de cuantificación ya que x puede sustituir a x ∀x∀yφ(x, y) → ∀yφ(x, y) 3. Utilizando modus ponens ∀yφ(x, y) 4. Dado que y puede sustituir a y utilizamos el axioma de cuantificación de nuevo ∀yφ(x, y) → φ(x, y) 5. Utilizando modus ponens obtenemos φ(x, y). 6. Por el apartado a) de este ejercicio: ∀xφ(x, y). 7. ∀y∀xφ(x, y). Apartado e) 1. Por el apartado d: ∀x∀yφ(x, y) → ∀y∀xφ(x, y) 2. Por CA1: ∀y∀xφ(x, y) → ∀y(φ(y|x, y)) (esto es, ∀y φ(y, y))
A.7.
Hoja 7
Asumimos genérica e informalmente la no trivialidad. Al escribir fórmulas, se permiten las abreviaciones razonables. Ejercicio 7.1: Leer los ejemplos 1-6 p.24 y los ejemplos 1-10 pp. 35-36 del libro. Sea σ una sentencia en el lenguaje de los anillos (Ejemplo 6 p.24), verdadera en todos los cuerpos de característica 0. Decidir razonadamente si la siguiente afirmación es verdadera o falsa: existe una N tal que para todo primo p > N , σ es verdad en todos los cuerpos de característica p. 91 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Sea σ verdadera en todos los cuerpos de característica 0, sea Fl la teoría de los cuerpos, y sea Fl(k) la teoría de los cuerpos con característica k. Con esta nomenclatura es evidente que Fl(0) ∪ {¬σ} es insatisfacible. Por tanto, podemos encontrar un subconjunto S de Fl(0) que contenga al menos Fl y a un conjunto finito de sentencias {n · 1 6= 0 : n = 2, 3, . . . , N } tal que al añadirle {¬σ}, sea insatisfacible. Así cualquier modelo de S será un cuerpo de característica ≥ N que no satisface {¬σ}, es decir, cualquier modelo de la teoría de los cuerpos con característica ≥ N satisfacerá {σ}, luego por el Teorema de Compacidad todos los cuerpos de característica ≥ N satisfacerán σ.
Ejercicio 7.2: buscarlo en el libro.
Dar un ejemplo no trivial de teoría completa. Sugerencia:
Según el libro, la teoría de los cuerpos algebraicos de característica 0 es completa (p 47). Dicha teoría se describe en la página 36 de la siguiente forma: ACF (0) := ACF ∪ {n · 1 6= 0 n = 2, 3, 5, 7, 11, . . . } Con ACF la teoría de los cuerpos algebraicos cuyos modelos son los cuerpos (anillos conmutativos con inverso multiplicativo) en los que todos los polinomios de grado mayor o igual que 2 tienen al menos un 0.
Ejercicio 7.3: Sea L el siguiente lenguaje de primer orden con igualdad: las constantes de L son {n : n ∈ N}, la única función unaria, S1 , las funciones binarias, +1 y ·1 , y la relación binaria <1 (los subrayados y subindices están para distinguir los símbolos de sus interpretaciones habituales). A efectos de este problema consideramos como versión oficial de los axiomas de Peano los N1-N9 p. 95 del libro, junto con el esquema de axiomas de la p. 111 (inducción), expresados en el lenguaje L de la forma obvia. a) Sea Σ1 la teoría, en el lenguaje L, que se obtiene al a˜ nadir a los axiomas de Peano la coleccion {ψn : n ∈ N}, donde ψn es la fbf ∃x(n <1 x). Decidir razonadamente si Σ1 es consistente. De modo más específico, decidir razonadamente si Σ1 tiene un modelo. Aún más específicamente, decidir si los números naturales de toda la vida, en cuya existencia todos creemos, son un modelo de Σ1 . De existir algún modelo, decidir razonadamente si es único. Sugerencia: recordar el primer Teorema de Incompletitud de Gödel, o el segundo. b) Sea Lc el lenguaje de primer orden que se obtiene al a˜ nadir a L una nueva constante c, y sea Σ2 la teoría, en el lenguaje Lc , que se obtiene al a˜ nadir a los axiomas de Peano la colección {φn : n ∈ N}, donde φn es la fbf n <1 c. Decidir razonadamente si Σ2 es consistente. De modo más específico, decidir razonadamente si Σ2 tiene un modelo. Decidir si los números naturales de toda la vida,
92 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
en cuya existencia todos creemos, son un modelo de Σ2 . De existir algún modelo, decidir razonadamente si es único. Sugerencia: recordar el primer Teorema de Incompletitud de Gödel, o el segundo.
Apartado a) Solución del profesor: Dados los axiomas de Peano más {∃x(n <1 x) : n ∈ N}, tenemos que N es un modelo si tomamos x = n + 1. Por incompletitud de Gödel, ∃σ Σ1 0 σ y Σ1 0 ¬σ. Por tanto, Σ1 ∪ {σ} y Σ1 ∪ {¬σ} son consistentes, luego tienen modelos distintos no isomorfos. Apartado b) Solución del profesor: Sea Lc = ϕn : n < c. Para cada subconjunto finito, {ϕn1 , . . . , ϕnk } y sea N = m´ax{n1 , . . . , nk } + 1 ∈ N. Interpretando c como N se tiene que N es un modelo de Peano+{ϕn1 , . . . , ϕnk }, luego Σ2 tiene un modelo por completitud, que no es N porque no podemos interpretar c como un elemento de N que satisfaga todas las ϕ. Sea ∗ N un modelo de Σ2 . Entonces c ∈∗ N c > 0, c > 1, . . .. c es un número natural infinito. El esquema de inducción no falla porque no hay una sentencia de primer orden que exprese la noción “x es finito”.
A.8.
Hoja 8
Los 7 primeros problemas en esta hoja proporcionan una “construcción" moderadamente explicita (Zorn) de modelos no estándar de los naturales. Consideramos probabilidades P finitamente aditivas, que sólo toman los valores 0 y 1. Ejercicio 8.1: Sea P una probabilidad finitamente aditiva, definida en un álgebra de subconjuntos de N, con valores en {0, 1}. Los conjuntos con probabilidad 1 forman un filtro. Definir filtro sin utilizar probabilidades, y probar que las dos definiciones coinciden. Comencemos por especificar las definiciones: Filtro
Definición A.8.1 Filtro. Un subconjunto no vacío F de un conjunto parcialmente ordenado (P, ≤) es un filtro si se dan las siguientes condiciones: 1. F no está vacío. 2. Para cada x ∈ F , x, y ∈ P , x ≤ y implica que y también está en F. 93 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
3. Para cada x, y ∈ F , existe cierto elemento z ∈ F , tal que z ≤ x y z ≤ y. Un filtro se dice propio si no es igual a todo el conjunto P. Filtro de conjuntos
Definición A.8.2 Filtro de conjuntos. Un filtro de conjuntos se obtiene tomando el conjunto potencia de un conjunto dado S, visto como orden parcial y ordenado por la inclusión de subconjuntos. Con ello tendremos que un filtro F sobre un conjunto S es un conjunto de subconjuntos de S con las siguientes propiedades: 1. S está en F . (F es no vacío) 2. F no contiene al conjunto vacío. (F es propio) 3. Si A y B están en F , también su intersección. (F es cerrado bajo intersecciones finitas) 4. Si A está en F y A es un subconjunto de B, entonces B está en F , para todos los subconjuntos B de S. Ahora damos la definición de filtro utilizando probabilidades, rescatando las siguientes definiciones:
Álgebra de conjuntos
Definición A.8.3 Álgebra de conjuntos. Dado un conjunto X, no vacío, y dado un subconjunto de sus partes M ⊂ P (X), se dice que M es un álgebra de conjuntos si: 1. M es no vacío. 2. M es cerrado Sn por la unión finita. Esto es, si tenemos A1 , A2 , . . . , An ∈ M, entonces i=1 Ai ∈ M. 3. M es cerrado por complementación. Es decir, si A ∈ M entonces Ac = X \A ∈ M.
Función de Probabilidad
Definición A.8.4 Función de Probabilidad. P:M → [0, 1] es una función definida en (Ω, M). Siendo Ω un conjunto. Si M es un álgebra entonces P es finitamente aditiva y cumple: 1. P (Ω) = 1. 2. A, B ∈ M y A ∩ B = ∅ ⇒ P (A ∪ B) = P (A) + P (B) (aditividad finita). Ya que tenemos que P : M 7−→ {0, 1}, lo que tenemos es que F = A : P (A) = 1, A ∈ M 94 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
A partir de las definiciones de álgebra y función de probabilidad anteriores hemos podido dar una definición de filtro. Veamos que coincide con la definición que no usa probabilidades. Debido a que P es una probabilidad, lo que tenemos es una cadena de inclusiones A1 ⊆ A2 ⊆ · · · ⊆ An = Ω con Ai ∈ F ; ya que el total debe estar en F y la probabilidad no puede sumar más de uno, luego ∀A, B ∈ F =⇒ A ∩ B 6= ∅. Llamamos S al álgebra de conjuntos de N, con valores en {0, 1}. Por construcción, tenemos que ambas definiciones son equivalentes, ya que El filtro no puede estar vacío pues contiene al total Ω (cuya probabilidad sabemos que es 1), Si Ai ∈ F , Aj ∈ S y Ai ⊆ Aj implica que Aj también está en F. La razón es que si Ai está en F es por que es un conjunto con probabilidad 1. No existen conjuntos con probabilidad mayor que 1 porque no existen conjuntos mayores que el total, y la probabilidad es finitamente aditiva. Por tanto, todo conjunto Aj en S con probabilidad mayor o igual que Ai debe tener probabilidad igual a 1 y por tanto estar en F . Si Ai , Aj ∈ F , i ≤ j , Ai ∩ Aj = Ai ∈ F . Esto es análogo a la tercera propiedad de filtros en la definición A.8.1 ya que la intersección de dos conjuntos de esa forma es siempre menor o igual que cada uno de ellos, en particular igual al menor de ellos, de modo que está en F .
Ejercicio 8.2: Probar que todo filtro de subconjuntos de un conjunto S, puede extenderse a un ultrafiltro (a un filtro maximal con respecto a la inclusión) en S. Sugerencia: Zorn. Recordemos que el lemma de zorn dice: “Todo conjunto parcialmente ordenado no vacío en el que toda cadena (subconjunto totalmente ordenado) tiene una cota superior, contiene al menos un elemento maximal”. Dado el conjunto S tomamos un filtro cualquiera F y a partir de él definimos F como la colección de filtros que contienen a F . Es sencillo ver que F no es vacío, pues contiene a F y, además, F está ordenador por inclusión. Consideramos ahora D = (Di ) una cadena en F y definimos D = ∪Di . Con esta definición es sencillo ver que D es un filtro, pues satisface las condiciones de la definición: Demostración. Si tomamos dos elementos x, y ∈ D entonces existen dos subíndices i, j tales que x ∈ Di y y ∈ Dj . Al ser D una cadena, para algún k ∈ {i, j} se ha de tener que x, y ∈ Dk . Como Dk es un filtro, x, y ∈ Dk ⊂ D. Por otro lado, si x ∈ D y tenemos un elemento x ≤ y, entonces para algún i tenemos x ∈ Di y al ser este un filtro, y ∈ Di ⊂ D. Ahora bien, como para todo i ∅∈ / Di , se tiene que ∅ ∈ / D. 95 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Queda concluido que D es un filtro propio que acota superiormente a la cadena D con lo que se satisfacen las hipótesis del lema de zorn. Como conlusión, existe un elemento maximal de F, que será un ultrafiltro.
Ejercicio 8.3: A ∈ U o Ac ∈ U .
Probar que si U es un ultrafiltro en S, para todo A ⊂ S, o
En primer lugar, nos damos cuenta de que no puede ocurrir: A ∈ U y Ac ∈ U puesto que por la propiedad de las intersecciones finitas se daría: A ∩ Ac ∈ U pero A ∩ Ac = ∅ y ∅ ∈ / U , si U es un filtro (en particular un ultrafiltro). Para todo conjunto A tenemos diferentes posibles casos. Si A ∈ U ya hemos completado el ejercicio. Si A ∈ / U definimos V como el filtro generado por U ∪ A. Al ser U un ultrafiltro contenido propiamente en V tenemos que, necesariamente, V = S, puesto que U es maximal y no puede haber otro filtro mayor que él (distinto del total). Por tanto U ∪ A no tiene la propiedad de intersección finita (de lo contrario sería un filtro). Así, existen u1 , ..., un ∈ U tales que u1 ∩ u2 ∩ ...un ∩ A = ∅ Por tanto ∩ui ⊂ Ac lo que implica que Ac ∈ U , por la definición de filtro. Ejercicio 8.4: Probar que si U es un ultrafiltro en S, y A1 ∪ · · · ∪ An = S, entonces existe una j ∈ {1, . . . , n} tal que Aj ∈ U . Si no existiera j ∈ {1, ..., n} tal que Aj ∈ U tendríamos que, para cada j, Acj ∈ U . Pero el filtro es cerrado por la intersección finita de modo que \ Acj ∈ U Pero, por definición tenemos que definición de filtro 1 .
T
Acj = ∅ que no puede pertenecer a U por
Q Ejercicio 8.5: Sea n∈N Xn un producto Q cartesiano de conjuntos no vacíos, y sea U un ultrafiltro en N. Para x, y ∈ n∈N Xn , definimos x ∼ y si x e y son iguales casi seguro, es decir si {n ∈ N : xn Q = yn } ∈ U . Probar que ∼ es una relación de equivalencia. Al conjunto U := n∈N Xn / ∼ se le denomina ultraproducto. 1
En caso de contener el vacío, la primera propiedad de filtro hace que el filtro sea el total.
96 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Si ∼ es una relación de equivalencia, entonces cumple las siguientes propiedades: x ∼ x Reflexiva x ∼ y =⇒ y ∼ x Simétrica x ∼ y, y ∼ z =⇒ x ∼ z Transitiva Q Tenemos que probar que para x, y ∈ Xn , U ultrafiltro en N n∈N def
{n ∈ N : xn = yn } ∈ U ⇐ ⇒x∼y Gracias a que la igualdad es una relación de equivalencia, tenemos que si x ∼ y, {n ∈ N : xn = yn } = {n ∈ N : yn = xn } =⇒ y ∼ x Debido a que la igualdad es simétrica, ambos conjuntos de índices contendrán los mismos elementos n, y si x ∼ y, entonces dicho conjunto de índices pertenece a U . PorQel mismo motivo, si {n ∈ N : xn = xn } ∈ U , entonces x ∼ x; ya que ∀x ∈ Xn , xn = xn ∀n. n∈N
Finalmente, tenemos que si xn = yn , yn = zn =⇒ xn = zn , es decir, x ∼ y, y ∼ z =⇒ x ∼ z
Ejercicio 8.6: Tomando Xn = N para todo n en la construcción anterior, probar que U es un modelo de los axiomas de Peano. Sugerencia: Buscar en la literatura el Teorema Fundamental de los Ultraproductos, de Łoś, e invocarlo. Atendiendo a la sugerencia del enunciado, invocamos el teorema fundamental de los ultraproductos. Teorema A.8.1 (Teorema Fundamental de los Ultraproductos de Łoś). Consideremos una familia {Mi }i∈I de modelos de un lenguaje formal L y sea U un ultrafiltro en I. Q Si φ(x1 , ..., xn ) ∈ Form(L) y f1 , ..., fn ∈ i∈I Mi , entonces U Y
M |= φ[[f1 ], . . . , [fn ]] ⇐⇒ {i ∈ I : Mi |= φ[f1 (i), . . . , fn (i)]} ∈ U
i∈I
En particular, si φ es una sentencia U Y
M |= φ ⇐⇒ {i ∈ I : Mi |= φ} ∈ U
i∈I
97 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Imitando la construcción del ejercicio anterior con Xn = N construimos el ultraproducto Y U= N/ ∼ n∈N
Ejercicio 8.7: Probar que si el ultrafiltro U contiene a todos los subconjuntos de N con complemento finito, entonces existe una c ∈ U tal que para todo n ∈ N, c > n. Sugerencia: tomar cn = n. El ultrafiltro U es un caso particular de filtro de Fréchet o también conocido como filtro cofinito. El filtro de Fréchet F en el conjunto X el conjunto de todos los subconjuntos A de X tales que el complemento de A en X es finito. Si un subconjunto de N tiene complemento finito, puesto que N es infinito, es obvio que el subconjunto en cuestión será infinito. Por tanto, queda claro que el ultrafiltro U está formado por todos los subconjuntos de N infinitos.
Ejercicio 8.8: Dada la MT con alfabeto {B, 1, 2}, definida por {(q0 1 2 q0 ), (q0 2 D q0 ), (q0 B D q0 )}, determinar su output cuando el input es 1 1 B B 1 B 2 B (el resto de la cinta son B 0 s). Describir en general que hace esta MT, y si se detiene el algún momento o no. Esta MT recorre la cinta buscando 1s, cuando encuentra un 1, lo cambia por un 2, y sigue avanzando hacia la derecha. Esta MT no para nunca, ya que en la cinta solo puede haber caracteres en el alfabeto {B, 1, 2}, si encuentra un 1 lo convierte en un 2, y si se encuentra un 2 ó un B avanza a la derecha, de manera que no parará nunca de desplazarse a la derecha. Para el input dado, realizará las siguientes acciones: 1. empezamos en el estado q0 y con el cabezal en el 1 de la izquierda. Reescribimos ese 1 por un 2 y pasamos al estado q0 . La cinta queda así: 2 | 1 | B | B | 1 | B | 2 | B . . . 2. como estamos en el estado q0 y leemos un 2, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 3. como estamos en el estado q0 y leemos un 1, lo cambiamos por un 2 y pasamos al estado q0 . La cinta queda así: 2 | 2 | B | B | 1 | B | 2 | B . . . 4. como estamos en el estado q0 y leemos un 2, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 5. como estamos en el estado q0 y leemos B, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 98 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
6. como estamos en el estado q0 y leemos B, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 7. como estamos en el estado q0 y leemos 1, lo cambiamos por un 2 y pasamos al estado q0 . La cinta queda así: 2 | 2 | B | B | 2 | B | 2 | B . . . 8. como estamos en el estado q0 y leemos un 2, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 9. como estamos en el estado q0 y leemos B, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 10. como estamos en el estado q0 y leemos un 2, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. 11. como estamos en el estado q0 y leemos B, avanzamos a la derecha y pasamos al estado q0 . La cinta no cambia. A partir de ahora, suponiendo una cadena infinita de símbolos B, la MT no parará de avanzar a la derecha.
99 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Bibliografía [Hal74] Paul Halmos. Naive Set Theory. Undergraduate Texts in Mathematics. Springer-Verlag, 1974. [vdD07] Lou van den Dries. Mathematical logic. http://www.math.uiuc.edu/ ~henson/Math570/Fall2009/Math570notes.pdf, Fall Semester 2007.
100 de 102
Lógica Matemática - 15/16 C1 - UAM
Pedro Valero Mejía y Guillermo Rual
Índice alfabético Álgebra de conjuntos, 94 Aridad, 3 Cardinalidad, 39 Clausura universal, 16 Codificación, 53 Conjunto recursivamente enumerable, 48 recursivo, 48 recursivo primitivo, 47 Consecuencia lógica, 29, 31 tautológica, 6 Consistencia (CON), 57 Demostración o prueba, 4 Demostración o prueba (II), 5 Equivalencia lógica, 7 Fórmula atómica, 27 bien formada, 27 cerrada, 27 Filtro, 93 de conjuntos, 94 Función de Probabilidad, 94 parcial, 46 recursiva, 48 recursiva primitiva, 46 Interpretación, 5 Isomorfismo, 34 L-estructura, 27 la paradoja de Russel, 17 Lenguaje de primer orden, 26 Los naturales, 18
Máquinas de Turing, 43 Menor, 19 Minimización no acotada, 48 Modelo, 6, 30 Palabra, 2 Primer Teorema de incompletitud de Gödel, 24 problema de la detención, 51 Producto de los naturales, 18 Proposición o fórmula bien formada, 2 Prueba, 30 Relación k-aria recursiva primitiva, 47 Satisfación, 9 Segundo Teorema de incompletitud de Gödel, 25 Sistema completo, 6 Sucesor, 18 Suma en los naturales, 18 Término, 27 constante, 36 Teoría, 4, 30 completa, 11 consistente, 7 de Σ (Teor(Σ)), 54 deducible, 54 recursiva, 54 Teorema de Cantor, 25 de compacidad, 13 de completitud, 10, 24 de completitud II, 12 de Löwenheim-Skolem generalizado, 39 de la deducción, 7 de Lindenbaum, 11 de Lowenheinn-Skolem, 39 de Presburger y Skolem, 24 101 de 102
Lógica Matemática - 15/16 C1 - UAM
Fundamental de los Ultraproductos de Łoś, 97 Primero de incompletitud, 55 Segundo de incompletitud, 57 Testigo de σ, 37 variable libre, 27 ligada, 27
102 de 102
Pedro Valero Mejía y Guillermo Rual