Lenguajes de primer orden Lógica y Computabilidad I sı́mbolos lógicos y auxiliares: I Verano 2011 I I Lógica de Primer Orden - clase 1 ∀ ¬ → ( ) VAR es el conjunto de variables ∀ se llama cuantificador universal sı́mbolos de cada lenguaje particular L = C ∪ F ∪ P, donde I Lenguaje de lógica de primer orden, términos, fórmulas, variables libres y ligadas, interpretación, valuación, niveles de verdad, consecuencia semántica 0 x, x 0 , x 00 , x 000 , . . . son variables I Departamento de Computación - FCEyN - UBA x I I C es un conjunto de sı́mbolos de constantes (puede ser C = ∅) F es un conjunto de sı́mbolos de funciones (puede ser F = ∅) P es un conjunto de sı́mbolos de predicados (P = 6 ∅) 1 Términos 2 Fórmulas Para un lenguaje fijo L, definimos las fórmulas de L: Para un lenguaje fijo L, definimos los términos de L: 1. si P es un sı́mbolo de predicado n-ádico de L y t1 , . . . , tn son términos de L, entonces P(t1 , . . . , tn ) es una fórmula de L (atómica) 2. si ϕ es una fórmula de L entonces ¬ϕ es una fórmula de L 3. si ϕ y ψ son fórmulas de L entonces (ϕ → ψ) es una fórmula de L 4. si ϕ es una fórmula de L y x una variable entonces (∀x)ϕ es una fórmula de L 5. nada más es una fórmula de L 1. toda variable es un término 2. todo sı́mbolo de constante de L es un término 3. si f es un sı́mbolo de función n-ádico de L y t1 , . . . , tn son términos de L, entonces f (t1 , . . . , tn ) es un término de L 4. nada más es un término de L TERM(L) es el conjunto de todos los términos del lenguaje L Un término es cerrado si no tiene variables. FORM(L) es el conjunto de todas las fórmulas del lenguaje L Por ejemplo, para L = C ∪ F ∪ P, con C = {c, d}, F = {f } y P = {R} (f de aridad 3, R binario) son términos: c , d , x , f (c, d, x 0 ) Por ejemplo, para L = C ∪ F ∪ P, con C = {c, d}, F = {f } y P = {R} (f de aridad 3, R binario) son fórmulas: , f (c, f (x 000 , x 00 , x 00 ), x 0 ) R(d, x 0 ) 3 , (∀x 0 ) R(d, x 00 ) , (∀x 00 ) R(f (x 00 , x 0 , x 000 ), d) 4 Convenciones Variables libres y ligadas una aparición de una variable x en una fórmula está ligada si está dentro del alcance de un cuantificador. En caso contrario, dicha aparición está libre. I una variable está libre en una fórmula si todas sus apariciones están libres. I una variable está ligada en una fórmula si todas sus apariciones están ligadas. I una fórmula es una sentencia si todas las variables son ligadas (es decir, no hay apariciones libres de variables) Por ejemplo, (para un lenguaje con un sı́mbolo de predicado binario P) I en P(x, y ) , x está libre I en (∀y ) P(x, y ) , x está libre I en (∀x) P(x, y ) , x está ligada I en (∀x)(∀y ) P(x, y ) , x está ligada I en P(x, y ) → (∀x)(∀y ) P(x, y ) I I usamos x, y , z, . . . para variables I usamos a, b, c, d, . . . para sı́mbolos de constante I usamos f , g , h, . . . para sı́mbolos de función (la aridad siempre va a quedar clara del contexto) I usamos P, Q, R, . . . para sı́mbolos de predicado (la aridad siempre va a quedar clara del contexto) I escribimos (∃x)ϕ en lugar de ¬(∀x)¬ϕ I escribimos (ϕ ∨ ψ) en lugar de (¬ϕ → ψ) I escribimos (ϕ ∧ ψ) en lugar de ¬(ϕ → ¬ψ) I escribimos ϕ en lugar de (ϕ) cuando convenga I I I 5 Interpretación de un lenguaje la primera aparición de x está libre la segunda aparición de x está ligada entonces, x no está ni libre ni ligada 6 Ejemplos Una L-estructura A de un lenguaje L = C ∪ F ∪ P es I un conjunto A no vacı́o, se lo llama universo o dominio Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P} I las siguientes asignaciones: (f unaria, g binaria, P binario) I para cada sı́mbolo de constante c ∈ C, un elemento fijo L-estructura A cA ∈ A I I I para cada sı́mbolo de función n-aria f ∈ F, una función I fA : An → A I I I para cada sı́mbolo de predicado n-ario P ∈ P, una relación I PA ⊆ An A=Z cA = 0 dA = 1 fA (x) = −x gA (x, y ) = x + y PA (x, y ) sii x divide a y L-estructura B I I I I I I B = P(N) cB = ∅ dB = N fB (x) = x gB (x, y ) = x ∪ y PB (x, y ) sii x ⊆ y Las funciones fA y predicados PA son siempre totales. 7 8 No ejemplos Valuaciones Fijemos una L-estructura A con dominio A. Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P} Una valuación para A es una función v : VAR → A (f unaria, g binaria, P binario) Extendemos v a ṽ : TERM(L) → A, que interpreta un término t en una L-estructura A: I si t = x (variable) entonces L-estructura M I I I I I I M=Z cM = 0 dM = 1 fM (x) = 1/x gM (x, y ) = x y PM (x, y ) sii x divide a y L-estructura N I I I I I I en general I 1/x ∈ /Z I xy ∈ /Z ṽ (t) = v (x) N = funciones R → R cN = función identidad dN = función 0 fN (x) = derivada de x gN (x, y ) = x ◦ y PN (x, y ) sii x = y I ṽ (t) = cA I una función R → R puede no ser derivable Ejemplos L-estructura A I I I L-estructura B A=Z cA = 0 dA = 1 fA (x) = −x gA (x, y ) = x + y PA (x, y ) sii x divide a y Tenemos I I I I I I I 1. ϕ es de la forma P(t1 , . . . , tn ) (atómica) B = P(N) cB = ∅ dB = N fB (x) = x gB (x, y ) = x ∪ y PB (x, y ) sii x ⊆ y A |= P(t1 , . . . , tn )[v ] si v (x) = 2 I ṽ g (x, f (d)) = 2+(−1) = 1 para cualquier v ṽ g (c, f (d)) = 0+(−1) = −1 I A |= ¬ψ[v ] sii ṽ (t1 ), . . . , ṽ (tn ) ∈ PA no A |= ψ[v ] 3. ϕ es de la forma (ψ → ρ) si v (x) = {1, 2} ṽ g (x, f (d)) = {1, 2}∪N = {1, 2} para cualquier v ṽ g (c, f (d)) = ∅ ∪ N = ∅ sii 2. ϕ es de la forma ¬ψ Tenemos I 10 Sea A una L-estructura con dominio A y v una valuación de A. Definimos cuando ϕ es verdadera en A bajo la valuación v (notación: A |= ϕ[v ]) (f unaria, g binaria, P binario) I Sea v una valuación de A y sea a ∈ A. Definimos la valuación v (x = a) de la siguiente manera ( v (y ) x 6= y v (x = a) (y ) = a x =y Interpretación de una fórmula Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P} I si t = f (t1 , . . . , tn ) (función) entonces ṽ (t) = fA (ṽ (t1 ), . . . , ṽ (tn )) 9 I si t = c (constante) entonces A |= (ψ → ρ)[v ] no A |= ψ[v ] o A |= ρ[v ] 4. ϕ es de la forma (∀x)ψ A |= (∀x)ψ[v ] sii 11 sii para cualquier a ∈ A, A |= ψ[v (x = a)] 12 Notación (∧, ∨, ∃) Ejemplos Para L = C ∪ F ∪ P, con C = {c, d}, F = {f , g } y P = {P} (f unaria, g binaria, P binario) L-estructura A I I I I I I A=Z cA = 0 dA = 1 fA (x) = −x gA (x, y ) = x + y PA (x, y ) sii x divide a y Tenemos Sea A una L-estructura y v una valuación de A. Se deduce: L-estructura B I I I I I I 5. ϕ es de la forma (ψ ∨ ρ) B = P(N) cB = ∅ dB = N fB (x) = x gB (x, y ) = x ∪ y PB (x, y ) sii x ⊆ y A |= (ψ ∨ ρ)[v ] I I para v (x) = 0 A 6|= P(x, c)[v ] I para v (x) = {1, 2, 3} B 6|= P(x, c)[v ] I para cualquier v A 6|= (∀y )P(y , g (y , d))[v ] I para cualquier v B |= (∀y )P(y , g (y , d))[v ] A |= ρ[v ] A |= (ψ ∧ ρ)[v ] sii A |= ψ[v ] y A |= ρ[v ] A |= (∃x)ψ[v ] sii hay un a ∈ A tal que A |= ψ[v (x = a)] 14 13 3 niveles de verdad Ejemplos I A = hZ; <, 0i con la interpretación usual I Para un lenguaje L fijo. I I 1. ϕ es satisfacible si existe una L-estructura A y una valuación v de A tal que A |= ϕ[v ] I I I I I I 3. ϕ es universalmente válida (|= ϕ) si A |= ϕ[v ] para toda L-estructura A y toda valuación v de A I I D = h{0}; =i con la interpretación usual E = hN; ≤i con la interpretación usual |= (∀x) P(x) → P(x) 6|= P(x) → (∀x) P(x) I 15 C |= x < y → (∃z) (x < z ∧ z < y ) C |= (∃x) x < 0 (∃x)(∀y ) P(x, y ) es satisfacible I I B |6 = x < y → (∃z) (x < z ∧ z < y ) B 6|= (∃x) x < 0 C = hQ; <, 0i con la interpretación usual I decimos que A es un modelo de ϕ A |= (∀x)(∃y ) x < y A |= (∃y ) x < y A 6|= x < y → (∃z) (x < z ∧ z < y ) A |= (∃x) x < 0 B = hN; <, 0i con la interpretación usual I 2. ϕ es verdadera (o válida) en una L-estructura A (A |= ϕ) si A |= ϕ[v ] para toda valuación v de A I o 7. ϕ es de la forma (∃x)ψ para v (x) = ∅ B |= P(x, d)[v ] para v (x) = 1 A |= P(x, d)[v ] A |= ψ[v ] 6. ϕ es de la forma (ψ ∧ ρ) Tenemos I sii se entiende (∀x) P(x) → P(x) F = hN; pari con la interpretación usual, v (x) = 0 16 Algunos resultados sobre satisfacibilidad y validez Consecuencia semántica Sea Γ ⊆ FORM(L) y ϕ ∈ FORM(L) I si ϕ es una sentencia, A |= ϕ sii A |= ϕ[v ] I ϕ es universalmente válida sii ¬ϕ es insatisfacible I preservación de validez del Modus Ponens: I I I I ϕ es consecuencia semántica de Γ (Γ |= ϕ) si para toda L-estructura A y toda valuación v de A: si A |= Γ[v ] entonces A |= ϕ[v ] A |= ϕ[v ] y A |= (ϕ → ψ)[v ] entonces A |= ψ[v ] A |= ϕ y A |= (ϕ → ψ) entonces A |= ψ |= ϕ y |= (ϕ → ψ) entonces |= ψ Notación: clausura universal I I A |= Γ[v ] A |= ϕ sii A |= (∀x)ϕ |= ϕ sii |= (∀x)ϕ significa que para toda ψ ∈ Γ, A |= ψ[v ] 18 17 Ejemplos Lenguajes con igualdad L es un lenguaje con igualdad si tiene un sı́mbolo proposicional binario especial (el =) que sólo se interpreta como la igualdad. L = {P, Q}, con P y Q sı́mbolos de predicado 1-arios I Γ1 = I I I (∀x)(P(x) → Q(x)) Fijemos un lenguaje L con igualdad y con ningún otro sı́mbolo. Buscamos ϕ ∈ FORM(L) tal que {A : A |= ϕ} sea la clase de modelos I con exactamente 1 elemento Γ1 |6 = (∃x)P(x) Γ1 |= (∃x)P(x) → (∃x)Q(x) Γ1 |= (∀x)P(x) → (∀x)Q(x) ϕ = (∃x)(∀y )x = y I Γ2 = I I I (∀x)(P(x) → Q(x)) , (∃x)P(x) I Γ2 |= (∃x)Q(x) Γ2 |= (∃x)(P(x) ∧ Q(x)) Γ2 6|= (∃x)(¬P(x) ∧ Q(x)) ¬x=y z }| { ϕ = (∃x)(∃y ) x 6= y ∧(∀z)(z = x ∨ z = y ) I I Γ3 = I (∀x)(P(x) → Q(x)) , Γ3 |= ϕ con exactamente 2 elementos (∃x)(P(x) ∧ ¬Q(x)) con al menos 3 elementos ϕ = (∃x)(∃y )(∃z) x 6= y ∧ x 6= z ∧ y 6= z para cualquier ϕ I 19 con infinitos elementos... con finitos elementos. ¿Se podrá? 20