11-Resolucion en Logica de Primer Orden
11-Resolucion en Logica de Primer Orden
11-Resolucion en Logica de Primer Orden
Ejemplos
I ¬∃x.((P(x) ∨ ∃y .R(x, y )) ⊃ (∃z.R(x, z) ∨ P(a)))
Forma normal negada
Ejemplos
I ¬∃x.((P(x) ∨ ∃y .R(x, y )) ⊃ (∃z.R(x, z) ∨ P(a)))no está en
FNN.
I ∀x.((P(x) ∨ ∃y .R(x, y )) ∧ (∀z.¬R(x, z) ∧ ¬P(a)))
Forma normal negada
Ejemplos
I ¬∃x.((P(x) ∨ ∃y .R(x, y )) ⊃ (∃z.R(x, z) ∨ P(a)))no está en
FNN.
I ∀x.((P(x) ∨ ∃y .R(x, y )) ∧ (∀z.¬R(x, z) ∧ ¬P(a)))está en
FNN.
Forma normal negada
Toda fórmula es lógicamente equivalente a otra en FNN.
Forma normal negada
Toda fórmula es lógicamente equivalente a otra en FNN.
Dem.
Por inducción estructural usando:
¬(A ∧ B) ⇐⇒ ¬A ∨ ¬B
¬(A ∨ B) ⇐⇒ ¬A ∧ ¬B
¬¬A ⇐⇒ A
¬∀x.A ⇐⇒ ∃x.¬A
¬∃x.A ⇐⇒ ∀x.¬A
Forma normal negada
Toda fórmula es lógicamente equivalente a otra en FNN.
Dem.
Por inducción estructural usando:
¬(A ∧ B) ⇐⇒ ¬A ∨ ¬B
¬(A ∨ B) ⇐⇒ ¬A ∧ ¬B
¬¬A ⇐⇒ A
¬∀x.A ⇐⇒ ∃x.¬A
¬∃x.A ⇐⇒ ∀x.¬A
Ejemplos
I ¬∃x.(¬(P(x) ∨ ∃y .R(x, y )) ∨ (∃z.R(x, z) ∨ P(a))) se
transforma en
Forma normal negada
Toda fórmula es lógicamente equivalente a otra en FNN.
Dem.
Por inducción estructural usando:
¬(A ∧ B) ⇐⇒ ¬A ∨ ¬B
¬(A ∨ B) ⇐⇒ ¬A ∧ ¬B
¬¬A ⇐⇒ A
¬∀x.A ⇐⇒ ∃x.¬A
¬∃x.A ⇐⇒ ∀x.¬A
Ejemplos
I ¬∃x.(¬(P(x) ∨ ∃y .R(x, y )) ∨ (∃z.R(x, z) ∨ P(a))) se
transforma en
I ∀x.((P(x) ∨ ∃y .R(x, y )) ∧ (∀z.¬R(x, z) ∧ ¬P(a)))
Forma normal prenexa
Prop.
Si A0 es el resultado de skolemizar A, entonces A es satisfactible sii
A0 es satisfactible.
I Consecuencia: La skolemización preserva insatisfactibilidad.
I Esto es suficiente para poder aplicar el método de resolución,
tal como veremos.
¿Preservación de validez?
∃x.B
en A se reemplaza por
B{x ← f (x1 , . . . , xn )}
donde
I •{• ← •} es la operación usual de sustitución (sustituir todas
las ocurrencias libres de una variable en una expresión -
fórmula o término - por otra expresión).
I f es un sı́mbolo de función nuevo y las x1 , . . . , xn son las
variables de las que depende x en B.
I Si ∃x.B forma parte de una fórmula mayor, x solo depende de
las variables libres de B (por ejemplo, en ∀z.∀y .∃x.P(y , x) la
x depende de y ).
Definición de forma normal de Skolem (1/2)
1
Notar que se ligan en A dado que A es sentencia
Ejemplos
Considerar
la fórmula
∀x. P(a) ∨ ∃y .(Q(y ) ∧ ∀z.(P(y , z) ∨ ∃u.Q(x, u))) ∨ ∃w .Q(w )
La forma normal de Skolem es:
∀x.(P(a) ∨ (Q(g (x)) ∧ ∀z.(P(g (x), z) ∨ Q(x, f (x))))) ∨ Q(c)
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
1.3 ∀x.R(x, f (x), g (x))
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
1.3 ∀x.R(x, f (x), g (x))
2. Alternativa 2 (azul, rojo)
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
1.3 ∀x.R(x, f (x), g (x))
2. Alternativa 2 (azul, rojo)
2.1 ∀x.∃y .∃z.R(x, y , z)
2.2 ∀x.∃y .R(x, y , h(x, y ))
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
1.3 ∀x.R(x, f (x), g (x))
2. Alternativa 2 (azul, rojo)
2.1 ∀x.∃y .∃z.R(x, y , z)
2.2 ∀x.∃y .R(x, y , h(x, y ))
2.3 ∀x.R(x, k(x), h(x, k(x)))
3. La skolemización no es determinı́stica.
Ejemplos
I Considere la sentencia:
∀x.∃y .∃z.R(x, y , z)
1. Alternativa 1 (rojo, azul)
1.1 ∀x.∃y .∃z.R(x, y , z)
1.2 ∀x.∃z.R(x, f (x), z)
1.3 ∀x.R(x, f (x), g (x))
2. Alternativa 2 (azul, rojo)
2.1 ∀x.∃y .∃z.R(x, y , z)
2.2 ∀x.∃y .R(x, y , h(x, y ))
2.3 ∀x.R(x, k(x), h(x, k(x)))
3. La skolemización no es determinı́stica.
I Es mejor skolemizar de afuera hacia adentro.
Forma clausal
∀x1 . . . ∀xn .B
Forma clausal
∀x1 . . . ∀xn .B
∀x1 . . . ∀xn .B
∀x1 . . . ∀xn .B
(∀x.P(x)) ∧ ¬P(a)
I ¿Es satisfactible?
Resolución en lógica proposicional
(∀x.P(x)) ∧ ¬P(a)
(∀x.P(x)) ∧ ¬P(a)
(∀x.P(x)) ∧ ¬P(a)
donde σ es el MGU de
. . . .
{B1 = B2 , . . . , Bk−1 = Bk , Bk = D1 , . . . , Dj−1 = Dj }.
I Asumimos que las cláusulas {B1 , . . . , Bk , A1 , . . . , Am } y
{¬D1 , . . . , ¬Dj , C1 , . . . , Cn } no tienen variables en común; en
caso contrario se renombran las variables.
I Observar que σ(B1 ) = . . . = σ(Bk ) = σ(D1 ) = . . . = σ(Dj ).
I La cláusula σ({A1 , . . . , Am , C1 , . . . , Cn }) se llama resolvente
(de {B1 , . . . , Bk , A1 , . . . , Am } y {¬D1 , . . . , ¬Dj , C1 , . . . , Cn }).
Método de resolución
1. De C1 y C2
Ejemplo
1. En proposicional
{Q, A1 , . . . , Am } {¬Q, B1 , . . . , Bn }
{A1 , . . . , Am , B1 , . . . , Bn }
2. En primer orden
{B1 , . . . , Bk , A1 , . . . , Am } {¬D1 , . . . , ¬Dj , C1 , . . . , Cn }
σ({A1 , . . . , Am , C1 , . . . , Cn })
donde σ es el MGU de {B1 , . . . , Bk , D1 , . . . , Dj }.
Regla de resolución binaria
{B, A1 , . . . , Am } {¬D, C1 , . . . , Cn }
σ({A1 , . . . , Am , C1 , . . . , Cn })