Soluciones de exámenes de “Lógica informática”

Anuncio
Soluciones de exámenes de
“Lógica informática”
José A. Alonso Jiménez
Grupo de Lógica Computacional
Dpto. de Ciencias de la Computación e Inteligencia Artificial
Universidad de Sevilla
Sevilla, 10 de Junio del 2004 (Versión del 8 de febrero de 2009)
2
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Esta obra está bajo una licencia Reconocimiento–NoComercial–CompartirIgual 2.5 Spain
de Creative Commons.
Se permite:
copiar, distribuir y comunicar públicamente la obra
hacer obras derivadas
Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor.
No comercial. No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera
una obra derivada, sólo puede distribuir la obra generada bajo una licencia
idéntica a ésta.
Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra.
Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular
de los derechos de autor.
Esto es un resumen del texto legal (la licencia completa). Para ver una copia de esta
licencia, visite http://creativecommons.org/licenses/by-nc-sa/2.5/es/ o envie una
carta a Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
Índice general
Curso 2006–07
Examen de Abril de 2007 (primer parcial) .
Examen de Junio de 2007 (segundo parcial)
Examen de Junio de 2007 . . . . . . . . . . .
Examen de Septiembre de 2007 . . . . . . .
Examen de Diciembre de 2007 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
. 6
. 9
. 12
. 18
. 22
Curso 2005–06
Examen de Abril de 2006 (primer parcial) .
Examen de Junio de 2006 (segundo parcial)
Examen de Junio de 2006 . . . . . . . . . . .
Examen de Septiembre de 2006 . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
27
28
32
37
47
Curso 2004–05
Examen de Abril de 2005 (primer parcial) .
Examen de Junio de 2005 (segundo parcial)
Examen de Junio de 2005 . . . . . . . . . . .
Examen de Septiembre de 2005 . . . . . . .
Examen de Diciembre de 2005 . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
55
56
60
61
67
74
Curso 2003–04
85
Examen de Junio de 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Examen de Septiembre de 2004 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
Curso 2002–03
101
Examen de Junio de 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Examen de Septiembre de 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Examen de Diciembre de 2003 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Curso 2001–02
123
Examen de Junio de 2002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Examen de Septiembre de 2002 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130
3
4
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Curso 2000–01
141
Examen de Junio de 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Examen de Septiembre de 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Examen de Diciembre de 2001 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
Curso 2006–07
5
6
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Abril de 2007 (primer parcial)
Ejercicio 1 Demostrar o refutar las siguientes afirmaciones:
1. F es satisfacible si y sólo si toda consecuencia lógica de F es satisfacible.
2. Todo conjunto de fórmulas inconsistente tiene al menos un subconjunto consistente.
3. Sea T un tablero de S1 , I un modelo de una hoja abierta de T y S2 ⊆ S1 . Entonces,
I |= S2 .
Solución:
Apartado 1: La proposición es verdadera. Veamos una prueba:
1. Si F es satisfacible, entonces toda consecuencia lógica de F es satisfacible.
Si F es satisfacible, entonces tiene algún modelo. Sea I un modelo de F (I |= F).
Tenemos que probar que para toda G tal que { F } |= G, G es satisfacible.
Sea G tal que { F } |= G. Por definición de consecuencia lógica, todo modelo de F es
también modelo de G. Por tanto, I |= G, de donde se deduce que G es satisfacible.
2. Si toda consecuencia lógica de F es satisfacible, entonces F es satisfacible.
Basta tener en cuenta que { F } |= F.
Apartado 2: Si consideramos sólo conjuntos no vacíos, la proposición es falsa. Como
ejemplo, podemos considerar el conjunto S = { p ∧ ¬ p} que es inconsistente y no tiene
ningún subconjunto no vacío consistente. Ahora bien, si consideramos el conjunto vacío,
la propusición es cierta, puesto que ∅ es un conjunto consistente de fórmulas, que es
subconjunto de cualquier conjunto de fórmulas inconsistente.
Apartado 3: La proposición es verdadera. En efecto, si T es un tablero de S1 , e I es
un modelo de una hoja abierta de T , entonces I |= S1 . Como S2 ⊆ S1 , se tiene también
que I |= S2 .
Ejercicio 2 Decidir, mediante tableros semánticos, si la fórmula
F : ( p ∧ q → r ∨ ¬s) → (¬r ∧ q → ¬ p)
es tautología. Si no lo es, calcular a partir del tablero, un modelo de ¬ F, una forma normal
conjuntiva de F y una forma clausal de F.
Solución:
Un tablero para la fórmula ¬ F es
Examen de Abril de 2007 (primer parcial)
1.
2.
3.
4.
5.
6.
7.
7
¬(( p ∧ q → r ∨ ¬s) → (¬r ∧ q → ¬ p))
p ∧ q → r ∨ ¬s
¬(¬r ∧ q → ¬ p)
¬r ∧ q
p
¬r
q
8. ¬( p ∧ q) (2)
10. ¬ p (8)
Cerrada
(10 y 5)
11. ¬q (8)
Cerrada
(11 y 7)
(1)
(1)
(3)
(3)
(4)
(4)
9. r ∨ ¬s (2)
12. r (9)
Cerrada
(12 y 6)
13. ¬s (9)
Abierta
{ p, ¬r, q, ¬s}
Como el tablero tiene una rama abierta, la fórmula ¬ F no es insatisfacible y, por
tanto, la fórmula F no es tautología. Un modelo de ¬ F es la interpretación I tal que
I ( p) = I (q) = 1 e I (r ) = I (s) = 0.
Por otra parte, de las ramas abiertas del tablero obtenemos una forma normal disyuntiva de ¬ F, FND (¬ F ) = p ∧ ¬r ∧ q ∧ ¬s. Por tanto, una forma normal conjuntiva de
F será la fórmula ¬ p ∨ r ∨ ¬q ∨ s. De aquí, una forma clausal de F es {{¬ p, r, ¬q, s}}.
Ejercicio 3 Usando resolución proposicional, comprobar la consistencia del siguiente conjunto
de fórmulas: { p ↔ ¬q, q → p, r → q, q → r ∧ p, ¬(q → r ) ∨ p}
Solución:
En primer lugar, calculamos las formas clausales de cada fórmula del conjunto:
p ≡ ¬q ≡
≡
≡
≡
( p → ¬q) ∧ (¬q → p)
(¬ p ∨ ¬q) ∧ (¬¬q ∨ p)
(¬ p ∨ ¬q) ∧ (q ∨ p)
{{¬ p, ¬q}, { p, q}}
q → p ≡ ¬q ∨ p
≡ {{¬q, p}}
r → q ≡ ¬r ∨ q
≡ {{¬r, q}}
q → r ∧ p ≡ ¬ q ∨ (r ∧ p )
≡ (¬q ∨ r ) ∧ (¬q ∨ p))
≡ {{¬q, r }, {¬q, p}}
8
José A. Alonso: Soluciones de exámenes de “Lógica informática”
¬(q → r ) ∨ p ≡ ¬(¬q ∨ r ) ∨ p
≡ ( q ∧ ¬r ) ∨ p
≡ (q ∨ p) ∧ (¬r ∨ p)
≡ {{q, p}, {¬r, p}}
Aplicando resolución proposicional al conjunto de cláusulas
{{¬ p, ¬q}, { p, q}, {¬q, p}, {¬r, q}, {¬q, r }, {¬r, p}}
se obtiene el siguiente grafo:
Obsérvese que el grafo es saturado y que las cláusulas no subsumidas son { p}, {¬q}
y {¬r }. Por tanto, el conjunto de fórmulas es consistente. Un modelo del mismo es una
interpretación I tal que I ( p) = 1 e I (q) = I (r ) = 0.
Examen de Junio de 2007 (segundo parcial)
9
Examen de Junio de 2007 (segundo parcial)
Ejercicio 4 Se considera la siguiente sentencia: “Existe una persona tal que si dicha persona
paga, entonces todas las personas pagan”.
1. Formalizar la sentencia usando el símbolos P( x ) para representar que x es una persona
que paga.
2. Decidir, mediante tableros semánticos, la validez de la sentencia.
3. Decidir, mediante resolución, la validez de la sentencia.
Solución:
Apartado 1: Una formalización de la sentencia es
∃ x ( P( x ) → ∀yP(y)).
Apartado 2: Para decidir la sentencia calculamos un tablero semántico de su negación
1 ¬∃ x ( P( x ) → ∀yP(y))
2 ¬( P( a) → ∀yP(y))
(1 a )
3 P( a)
(2)
4 ¬∀yP(y)
(2)
5 ¬ P(b)
(4)
6 ¬( P(b) → ∀yP(y))
(1b )
7 P(b)
(6)
8 ¬∀yP(y)
(6)
Cerrada (7 y 5)
Como el tablero es cerrado, la sentencia es válida.
Apartado 2: Para decidir la sentencia calculamos una forma clausal de su negación
≡
≡
≡
≡
≡sat
≡
¬∃ x ( P( x ) → ∀yP(y))
∀ x ¬( P( x ) → ∀yP(y))
∀ x ( P( x ) ∧ ¬∀yP(y))
∀ x ( P( x ) ∧ ∃y¬ P(y))
∀ x ∃y( P( x ) ∧ ¬ P(y))
∀ x ( P( x ) ∧ ¬ P( f ( x )))
{{ P( x )}, {¬ P( f ( x ))}}
Se obtienen dos cláusulas C1 = { P( x )} y C2 = {¬ P( f ( x ))}. Para resolverlas, le aplicamos a la C1 el renombramiento θ = [ x/x1 ] obteniendo C1 θ = C1 = { P( x1 )} y al resolver
con C2 , utilizando el unificador [ x1 / f ( x )] se obtiene la cláusula vacía. Por tanto, la sentencia es válida.
Ejercicio 5 Se considera la siguiente argumentación: “Hay estudiantes inteligentes y hay
estudiantes trabajadores. Por tanto, hay estudiantes inteligentes y trabajadores”.
10
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1. Formalizar la argumentación usando los siguientes símbolos:
P( x ) para representar que x es un estudiante inteligente y
Q( x ) para representar que x es un estudiante trabajador.
2. Decidir, mediante resolución, la validez de la argumentación mostrando una prueba o un
contraejemplo de Herbrand obtenido a partir de la resolución.
Solución:
Apartado 1: La formalización de la argumentación es
∃ xP( x ) ∧ ∃ xQ( x ) |= ∃ x ( P( x ) ∧ Q( x )).
Apartado 2: En primer lugar calculamos una forma clausal de la premisa
≡
≡
≡sat
≡sat
≡
∃ xP( x ) ∧ ∃ xQ( x )
∃ xP( x ) ∧ ∃yQ(y)
∃ x ∃y( P( x ) ∧ Q(y))
∃y( P( a) ∧ Q(y))
( P( a) ∧ Q(b))
{{ P( a)}, { Q(b)}}
En segundo lugar, calculamos una forma clausal de la negación de la conclusión
¬∃ x ( P( x ) ∧ Q( x ))
≡ ∀ x ¬( P( x ) ∧ Q( x ))
≡ ∀ x (¬ P( x ) ∨ ¬ Q( x ))
≡ {{¬ P( x ), ¬ Q( x )}}
Finalmente calculamos las resolventes de las cláusula obtenidas
Al no obtenerse la cláusula vacía, la argumentación no es válida. Un contramodelo de
Herbrand es la interpretación I = (U, I ) con U = { a, b}, I ( P) = { a} e I ( Q) = {b}.
Ejercicio 6 Se considera la siguiente argumentación: “Todo lo existente tiene una causa.
Luego hay una causa de todo lo existente”.
1. Formalizar la argumentación usando los siguientes símbolos:
Examen de Junio de 2007 (segundo parcial)
11
E( x ) para representar que x es un ente existente y
C ( x, y) para representar que x es una causa de y.
2. Decidir la validez de la argumentación mostrando una prueba o un contraejemplo.
Solución:
Apartado 1: Una formalización de la argumentación es
∀ x ( E( x ) → ∃yC (y, x )) |= ∃ x ∀y( E(y) → C (y, x )).
Apartado 2: La argumentación no es válida. Un contraejemplo es la interpretación
I = (U, I ) con U = {1, 2}, I ( E) = {2} e I (C ) = {1, 2}. En efecto, la premisa es verdadera en I ya que
∀ x ( E( x ) → ∃ y C ( y, x ))
V 1 F 1 V
2
V V 2 V 1 2
y la conclusión es falsa en I ya que
∃ x ∀ y( E( y) → C ( y, x ))
F 1 F 2 V 2 F F 2 1
2 F 2 V 2 F F 2 2
Ejercicio 7
1. ¿Existe alguna fórmula F tal que todos los modelos de F tengan al menos dos elementos?
2. ¿Existe alguna fórmula F tal que todos los modelos de F tengan dos elementos como máximo?
3. ¿Existe alguna fórmula F tal que todos los modelos de F tengan exactamente dos elementos?
4. ¿Existe alguna fórmula F tal que todos los modelos de F tengan exactamente tres elementos?
Solución:
Apartado 1: Sí, la fórmula ∃ x ∃y( x 6= y)
Apartado 2: Sí, la fórmula ∃ x ∃y∀z( x = z ∨ y = z).
Apartado 3: Sí, la fórmula ∃ x ∃y( x 6= y ∧ ∀z( x = z ∨ y = z)).
Apartado 4: Sí, la fórmula ∃ x ∃y∃z( x 6= y ∧ x 6= z ∧ y 6= z ∧ ∀u( x = u ∨ y = u ∨ z =
u)).
12
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2007
Ejercicio 8 Sea F1 la fórmula ¬ p → ¬q y F2 la fórmula ¬(¬q ∧ r ). Se pide:
1. Decidir, mediante tableros semánticos, si { F1 , F2 } es consistente.
2. A partir del apartado anterior, calcular una fórmula G que esté en forma normal disyuntiva
y que sea equivalente a ( F1 ∧ F2 ).
Solución:
Apartado 1: El tablero es
1. ¬ p → ¬q
2. ¬(¬q ∧ r )
3. ¬¬ p (1)
5. p (3)
6. ¬¬q (2)
8. q (6)
Abierta
{ p, q}
7. ¬r (2)
Abierta
{ p, ¬r }
4. ¬q (1)
9. ¬¬q (2)
Cerrada
(9 y 4)
10. ¬r (2)
Abierta
{¬q, ¬r }
Apartado 2: La fórmula G es ( p ∧ q) ∨ ( p ∧ ¬r ) ∨ (¬q ∧ ¬r ).
Ejercicio 9 Se considera la siguiente argumentación:
1. Quien intente entrar en un país y no tenga pasaporte, encontrará algún aduanero
que le impida el paso.
2. A algunas personas motorizadas que intentan entrar en un país le impiden el paso
únicamente personas motorizadas.
3. Ninguna persona motorizada tiene pasaporte.
4. Por tanto, ciertos aduaneros están motorizados.
Las premisas pueden formalizarse por:
1. ∀ x ( E( x ) ∧ ¬ P( x ) → ∃y( A(y) ∧ I (y, x )))
2. ∃ x ( M ( x ) ∧ E( x ) ∧ ∀y( I (y, x ) → M(y)))
3. ∀ x ( M ( x ) → ¬ P( x ))
Examen de Junio de 2007
13
Decidir, mediante resolución, si el argumento es correcto (es decir, si la conclusión es consecuencia lógica de las premisas).
Solución:
La formalización de la conclusión es ∃ x ( A( x ) ∧ M( x )).
Para hacer la resolución, en primer lugar se calculan las formas clausales de las premisas y de la negación de la conclusión:
≡
≡
≡
≡
≡
≡sat
≡
∀ x ( E( x ) ∧ ¬ P( x ) → ∃y( A(y) ∧ I (y, x )))
∀ x (¬( E( x ) ∧ ¬ P( x )) ∨ ∃y( A(y) ∧ I (y, x )))
∀ x ((¬ E( x ) ∨ ¬¬ P( x )) ∨ ∃y( A(y) ∧ I (y, x )))
∀ x ((¬ E( x ) ∨ P( x )) ∨ ∃y( A(y) ∧ I (y, x )))
∀ x ∃y((¬ E( x ) ∨ P( x )) ∨ ( A(y) ∧ I (y, x )))
∀ x ∃y((¬ E( x ) ∨ P( x ) ∨ A(y)) ∧ (¬ E( x ) ∨ P( x ) ∨ I (y, x )))
∀ x ((¬ E( x ) ∨ P( x ) ∨ A( f ( x ))) ∧ (¬ E( x ) ∨ P( x ) ∨ I ( f ( x ), x )))
{{¬ E( x ), P( x ), A( f ( x ))}, {¬ E( x ), P( x ), I ( f ( x ), x )}}
≡
≡
≡sat
≡
∃ x ( M( x ) ∧ E( x ) ∧ ∀y( I (y, x ) → M(y)))
∃ x ( M( x ) ∧ E( x ) ∧ ∀y(¬ I (y, x ) ∨ M(y)))
∃ x ∀y( M( x ) ∧ E( x ) ∧ (¬ I (y, x ) ∨ M(y)))
∀y( M( a) ∧ E( a) ∧ (¬ I (y, a) ∨ M(y)))
{{ M( a)}, { E( a)}, {¬ I (y, a), M(y)}}
∀ x ( M( x ) → ¬ P( x ))
≡ ∀ x (¬ M( x ) ∨ ¬ P( x ))
≡ {{¬ M( x ), ¬ P( x )}}
¬∃ x ( A( x ) ∧ M( x ))
≡ ∀ x ¬( A( x ) ∧ M( x ))
≡ ∀ x (¬ A( x ) ∨ ¬ M( x ))
≡ {{¬ A( x ), ¬ M( x )}}
La demostración, por resolución lineal, es
14
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{¬ E( x ), P( x ), A( f ( x ))}
{¬ E( x ), P( x ), I ( f ( x ), x )}
{ M( a)}
{ E( a)}
{¬ I (y, a), M(y)}
{¬ M( x ), ¬ P( x )}
{¬ A( x ), ¬ M( x )}
{¬ A( x ), ¬ I ( x, a)}
{¬ A( f ( a)), ¬ E( a), P( a)}
Premisa 1a
Premisa 1b
Premisa 2a
Premisa 2b
Premisa 2c
Premisa 3
Conclusión
Resolvente de 7.2 y 5.2 con
Resolvente de 8.2 y 2.3 con
{¬ A( f ( a)), P( a)}
{ P( a), ¬ E( a)}
{ P( a)}
{¬ M( a)}
Resolvente de 9.2 y 4.1
Resolvente de 10.2 y 1.3 con
Resolvente de 11.2 y 4.1
Resolvente de 12.1 y 6.2 con
Resolvente de 13.1 y 3.1
De manera gráfica
σ = [y/x ]
θ1 = [ x/x1 ],
θ2 = [ x/x2 ],
σ = [ x2 /a, x1 / f ( a)]
σ = [ x/a]
σ = [ x/a]
Examen de Junio de 2007
Por tanto, el argumento es correcto.
Ejercicio 10 Formalizar las siguiente sentencias utilizando los símbolos indicados:
1. Los chinos tienen como máximo un hijo.
(Símbolos: C ( x ) representa que x es chino y H ( x, y) representa que x es hijo de y).
15
16
José A. Alonso: Soluciones de exámenes de “Lógica informática”
2. Hay exactamente un participante.
(Símbolos: P( x ) representa que x es un participante).
3. Ningún socio del club está en deuda con el tesorero del club.
(Símbolos: S( x ) representa que x es socio del club, D ( x, y) representa que x está en deuda
con y y a representa al tesorero del club).
4. No hay ningún pez que se coma a todos los peces.
(Símbolos: P( x ) representa que x es un pez y C ( x, y) representa que x se come a y).
Solución:
1. Los chinos tienen como máximo un hijo
∀ x (C ( x ) → ∀y∀z( H (y, x ) ∧ H (z, x ) → y = z))
2. Hay exactamente un participante.
∃ x ( P( x ) ∧ ∀y( P(y) → x = y)).
3. Ningún socio del club está en deuda con el tesorero del club.
¬∃ x (S( x ) ∧ D ( x, a)).
4. No hay ningún pez que se coma a todos los peces.
¬∃ x ( P( x ) ∧ ∀y( P(y) → C ( x, y))).
Ejercicio 11 Sean S y T conjuntos de fórmulas. Demostrar o refutar las siguientes sentencias:
1. Si S es consistente y T es inconsistente, entonces S ∪ T es consistente.
2. Si S es consistente y T es inconsistente, entonces S ∪ T es inconsistente.
3. Si S es consistente y T es inconsistente, entonces S ∩ T es consistente.
4. Si S es consistente y T es inconsistente, entonces S ∩ T es inconsistente.
Solución:
Apartado 1: Es falso, ya que en el apartado 2 se demuestra que S ∪ T es inconsistente.
Apartado 2: Es cierto, ya que si S ∪ T es consistente, entonces existe una interpretación I que es modelo de S ∪ T. Entonces I también es modelo de T (ya que si F es una
fórmula de T, entonces F ∈ S ∪ T y, por ser I modelo de S ∪ T. I ( F ) = 1). Por tanto, T
es consistente, que es una contradicción.
Apartado 3: Es cierto, ya que al ser S consistente existe un modelo I de S. Entonces
I es modelo de S ∩ T (ya que si F es una fórmula de S ∩ T, entonces F ∈ S y, por ser I
modelo de S, I ( F ) = 1). Por tanto, S ∩ T es consistente.
Examen de Junio de 2007
17
Apartado 4: Es falso, ya que en el apartado 3 se demuestra que S ∩ T es consistente.
Ejercicio 12 Probar mediante deducción natural:
1. q → r, r → p ` ¬(¬ p ∧ q)
2. ( p ∧ q) → r ` ( p → r ) ∨ (q → r )
3. ∀ x.( P( x ) → Q( x )), ∀y.( Q(y) → R(y)) ` ∀z.P(z) → ∀z.R(z)
4. ¬∃ x.∃y.( P( x, y) → Q( x, y)) ` ∀ x.∀y.( P( x, y) ∧ ¬ Q( x, y))
18
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Septiembre de 2007
Ejercicio 13 Decidir, mediante el método de los tableros semánticos, si la siguiente fórmula es
una tautología.
(( p ↔ (q ↔ r )) ↔ (( p ↔ q) ↔ r )) ∧ (¬ p → ¬q)
En el caso de que no lo sea, construir un contramodelo a partir del tablero.
Solución:
El tablero es
1.¬((( p ↔ (q ↔ r )) ↔ (( p ↔ q) ↔ r )) ∧ (¬ p → ¬q))
2.¬((( p ↔ (q ↔ r )) ↔ (( p ↔ q) ↔ r )))
(1)
3.
4.
5.
6.
¬(¬ p → ¬q) (1)
¬ p (3)
¬¬q (3)
q (5)
Abierta
{¬ p, q}
Por tanto, la fórmula no es una tautología y un contramodelo de la fórmula es la
interpretación I tal que I ( p) = 0 e I (q) = 1.
Ejercicio 14 Decidir por resolución si el siguiente conjunto es consistente
S = { ∀ x ( P( a, x ) → P(b, f ( x ))),
∀ x ( P( f ( x ), x ) → (∀zP(z, b))),
P( a, f ( a)) ∧ P( f (b), b),
¬∃ x ( P( x, a) ∧ P( f ( x ), b))}
En el caso de que S sea consistente, construir un modelo de Herbrand de S a partir de la resolución.
Solución:
Las formas clausales de las fórmulas del problema son:
de (∀ x )[ P( a, x ) → P(b, f ( x ))], S1 = {{¬ P( a, x ), P(b, f ( x ))}};
de (∀ x )[ P( f ( x ), x ) → (∀z) P(z, b)], S2 = {{¬ P( f ( x ), x ), P(z, b)}};
de P( a, f ( a)) ∧ P( f (b), b), S3 = {{ P( a, f ( a))}, { P( f (b), b)}};
de ¬(∃ x )[ P( x, a) ∧ P( f ( x ), b), S4 = {{¬ P( x, a), ¬ P( f ( x ), b)}}.
Vamos a calcular la saturación, por resolución y factorización, de S1 ∪ S2 ∪ S3 ∪ S4 .
Las cláusulas iniciales son
Examen de Septiembre de 2007
19
1 {¬ P( a, x ), P(b, f ( x ))}
2 {¬ P( f ( x ), x ), P(z, b)}
3 { P( a, f ( a))}
4 { P( f (b), b)}
5 {¬ P( x, a), ¬ P( f ( x ), b)}
Al resolver 3 con 3 no se obtiene resolvente.
Al resolver 4 con 3 y 4 no se obtiene resolvente.
Al resolver 1 con 3, 4 y 1 se obtiene
6 { P(b, f ( f ( a)))} (resolvente de 1 y 3).
Al resolver 6 con 3, 4, 1 y 6 no se obtiene resolvente.
Al resolver 2 con 3, 4, 1, 6 y 2 se obtiene
7 { P(z, b)} (resolvente de 2 y 4) y
8 {− P( f ( x ), x ), P(b, f (b))} (resolvente de 2 y 1).
La cláusula 7 subsume a la 2 y a la 4.
Al resolver 7 con 3, 1, 6 y 7 se obtiene
9 { P(b, f (b))} (resolvente de 7 y 1)
La cláusula 9 subsume a la 8
Al resolver 9 con 3, 1, 6, 7 y 9 no se obtiene resolventes.
Al resolver 5 con 3, 1, 6, 7, 9 y 5 se obtiene
10 {¬ P( x, a)} (resolvente de 5 y 7) La cláusula 10 subsume a la 5
Por tanto, el saturado es
1 {¬ P( a, x ), P(b, f ( x ))}
3 { P( a, f ( a))}
6 { P(b, f ( f ( a)))}
7 { P(z, b)}
9 { P(b, f (b))}
10 {¬ P( x, a)}
El universo de Herbrand es UH = { a, f ( a), f ( f ( a)), . . . , b, f (b), f ( f (b)), . . . } y un
modelo de Herbrand es I = { P( a, f ( a)), P(b, f ( f ( a))), P(b, f (b)), P(z, b) : z ∈ UH }
Ejercicio 15 Formalizar las siguiente sentencias utilizando los símbolos indicados:
1. Todo aquel que entre en el país y no sea un VIP será cacheado por un aduanero.
(Símbolos: E( x ): “x entra en el país”, V ( x ): “x es un VIP”, C ( x, y): “x cachea a y” y
A( x ): “x es aduanero”).
2. A algunas personas motorizadas que entran en un país, le impiden el paso únicamente
personas motorizadas.
(Símbolos: E( x ): “x entra en un país”, I ( x, y): “x impide el paso a y” y M( x ): “x está
motorizada”).
3. Los aficionados al fútbol aplauden a cualquier futbolista extranjero.
20
José A. Alonso: Soluciones de exámenes de “Lógica informática”
(Símbolos: A( x ): “x es aficionado al fútbol”, E( x ): “x es un futbolista extranjero” y
A( x, y): “x aplaude a y”).
4. Todo deprimido que estima a un submarinista es listo.
(Símbolos: D ( x ) : “x está deprimido”, E( x, y) : “x estima a y”, L( x ) : “x es listo” y
S( x ) : “x es submarinista”).
Solución:
1. Todo aquel que entre en el país y no sea un VIP será cacheado por un aduanero
∀ x ( E( x ) ∧ ¬V ( x ) → (∃y( A(y) ∧ C (y, x ))))
2. A algunas personas motorizadas que entran en un país, le impiden el paso únicamente
personas motorizadas
∃ x ( M( x ) ∧ E( x ) ∧ (∀y( I (y, x ) → M(y)))).
3. Los aficionados al fútbol aplauden a cualquier futbolista extranjero
∀ x ( A( x ) → (∀y( E(y) → A( x, y))))
4. Todo deprimido que estima a un submarinista es listo
∀ x ( D ( x ) ∧ (∃y(S(y) ∧ E( x, y))) → L( x ))
Ejercicio 16 Demostrar o refutar las siguientes sentencias:
1. Existen cláusulas C1 , C2 y D tales que D es una resolvente de C1 y C2 , D ⊂ C1 y D 6= C1 .
2. Existen cláusulas C1 , C2 y D tales que D es una resolvente de C1 y C2 y D = C1 .
3. Existen cláusulas C1 , C2 y D tales que D es una resolvente de C1 y C2 , C1 ⊂ D y C2 no
es una tautología.
Solución:
Apartado 1: Es cierto. Por ejemplo, C1 = { p, q}, C2 = {¬ p} y D = {q}.
Apartado 2: Es cierto. Por ejemplo, C1 = { p, ¬ p}, C2 = { p, ¬ p} y D = { p, ¬ p}
Apartado 3: Es falso, ya que al ser D una resolvente de C1 y C2 , existe un literal L tal
que L ∈ C1 , Lc ∈ C2 y
D = (C1 \ { L}) ∪ (C2 \ { Lc }).
Puesto que C1 ⊂ D, se tiene que L ∈ C2 . Por tanto, C2 es una tautología.
Ejercicio 17 Probar mediante deducción natural:
1. p ∨ ¬q, r ∨ q ` p ∨ r
Examen de Septiembre de 2007
2. ( p → r ) ∧ (q → r ) ` r ∨ (¬ p ∧ ¬q)
3. ∀ x.P( x ) ∧ ∀y.Q(y), ∀y.( Q(y) → R(y)) ` ∀z.( P(z) ∧ R(z))
4. ¬∃ x.∃y.( P( x, y) ∧ ¬ Q(y, x )) ` ∀ x.∀y.( P( x, y) → Q(y, x ))
21
22
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Diciembre de 2007
Ejercicio 18 Decidir, mediante tableros semánticos, si la fórmula
( p → q) ∨ ( p → r ) → ( p → (q ∧ r ))
es una tautología y, a partir del tablero, calcular una forma normal conjuntiva de la fórmula.
Solución:
El problema se reduce a decidir si {¬(( p → q) ∨ ( p → r ) → ( p → q ∧ r ))} es inconsistente.
1.
2.
3.
4.
5.
¬(( p → q) ∨ ( p → r ) → ( p → q ∧ r ))
( p → q ) ∨ ( p → r ) (1)
¬( p → q ∧ r ) (1)
p (3)
¬(q ∧ r ) (3)
6. ¬q (5)
8. p → q (2)
10. ¬ p (8)
Cerrada
4 y 10
11. q (8)
Cerrada
6 y 11
7. ¬r (5)
9. p → r (2)
12. ¬ p (9)
Cerrada
9y4
13. r (9)
Abierta
[ p, ¬q, r ]
14. p → q (2)
16. ¬ p (8)
Cerrada
4 y 16
17. q (8)
Abierta
[ p, q, ¬r ]
15. p → r (2)
17. ¬ p (9)
Cerrada
17 y 4
18. r (9)
Cerrada
18 y 7
Por tanto, ( p → q) ∨ ( p → r ) → ( p → (q ∧ r )) no es una tautología.
Para calcular una forma normal conjuntiva de la fórmula dada, F, se observa que
¬ F ≡ ( p ∧ ¬ q ∧ r ) ∨ ( p ∧ q ∧ ¬r )
Por tanto,
F ≡ (¬ p ∨ q ∨ ¬r ) ∧ (¬ p ∨ ¬q ∨ r )
y
(¬ p ∨ q ∨ ¬r ) ∧ (¬ p ∨ ¬q ∨ r )
es una forma normal conjuntiva de F,
Ejercicio 19 Decidir por resolución si la la fórmula ∃ x ( P( x, a) ∧ P( f ( x ), b)) es consecuencia
del conjunto de fórmulas
Examen de Diciembre de 2007
23
S = { ∀ x ( P( a, x ) → P(b, f ( x ))),
∀ x ( P( f ( x ), x ) → (∀zP(z, b))),
P( a, f ( a)) ∧ P( f (b), b)}
En el caso de que no lo sea, construir a partir de la resolución un modelo de Herbrand de S que
no sea modelo de la fórmula.
Solución:
Las formas clausales de las fórmulas del problema son:
de (∀ x )[ P( a, x ) → P(b, f ( x ))], S1 = {{¬ P( a, x ), P(b, f ( x ))}};
de (∀ x )[ P( f ( x ), x ) → (∀z) P(z, b)], S2 = {{¬ P( f ( x ), x ), P(z, b)}};
de P( a, f ( a)) ∧ P( f (b), b), S3 = {{ P( a, f ( a))}, { P( f (b), b)}};
de ¬(∃ x )[ P( x, a) ∧ P( f ( x ), b), S4 = {{¬ P( x, a), ¬ P( f ( x ), b)}}.
Vamos a calcular la saturación, por resolución y factorización, de S1 ∪ S2 ∪ S3 ∪ S4 .
Las cláusulas iniciales son
1 {¬ P( a, x ), P(b, f ( x ))}
2 {¬ P( f ( x ), x ), P(z, b)}
3 { P( a, f ( a))}
4 { P( f (b), b)}
5 {¬ P( x, a), ¬ P( f ( x ), b)}
Al resolver 3 con 3 no se obtiene resolvente.
Al resolver 4 con 3 y 4 no se obtiene resolvente.
Al resolver 1 con 3, 4 y 1 se obtiene
6 { P(b, f ( f ( a)))} (resolvente de 1 y 3).
Al resolver 6 con 3, 4, 1 y 6 no se obtiene resolvente.
Al resolver 2 con 3, 4, 1, 6 y 2 se obtiene
7 { P(z, b)} (resolvente de 2 y 4) y
8 {− P( f ( x ), x ), P(b, f (b))} (resolvente de 2 y 1).
La cláusula 7 subsume a la 2 y a la 4.
Al resolver 7 con 3, 1, 6 y 7 se obtiene
9 { P(b, f (b))} (resolvente de 7 y 1)
La cláusula 9 subsume a la 8
Al resolver 9 con 3, 1, 6, 7 y 9 no se obtiene resolventes.
Al resolver 5 con 3, 1, 6, 7, 9 y 5 se obtiene
10 {¬ P( x, a)} (resolvente de 5 y 7) La cláusula 10 subsume a la 5
Por tanto, el saturado es
24
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
3
6
7
9
10
{¬ P( a, x ), P(b, f ( x ))}
{ P( a, f ( a))}
{ P(b, f ( f ( a)))}
{ P(z, b)}
{ P(b, f (b))}
{¬ P( x, a)}
El universo de Herbrand es UH = { a, f ( a), f ( f ( a)), . . . , b, f (b), f ( f (b)), . . . } y un
modelo de Herbrand es I = { P( a, f ( a)), P(b, f ( f ( a))), P(b, f (b)), P(z, b) : z ∈ UH }
Ejercicio 20 Formalizar las siguiente sentencias utilizando el símbolo de relación P( x ) para
representar que x es un planeta:
1. Hay como máximo un planeta.
2. Hay exactamente un planeta.
3. Hay al menos dos planetas.
4. Hay a lo sumo dos planetas,
5. Hay exactamente dos planetas.
Solución:
1. Hay como máximo un planeta.
∀ x ∀y( P( x ) ∧ P(y) → x = y)
2. Hay exactamente un planeta.
∃ x ( P( x ) ∧ ∀y( P(y) → x = y))
3. Hay al menos dos planetas.
∃ x ∃y( P( x ) ∧ P(y) ∧ x 6= y)
4. Hay a lo sumo dos planetas,
∀ x ∀y∀z( P( x ) ∧ P(y) ∧ P(z) → ( x = y ∨ x = z ∨ y = z))
5. Hay exactamente dos planetas.
∃ x ∃y( P( x ) ∧ P(y) ∧ x 6= y ∧ ∀z( P(z) → z = x ∨ z = y))
Ejercicio 21 Demostrar o refutar las siguientes sentencias:
1. Existe un conjunto finito de cláusulas S que es inconsistente y tiene un conjunto infinito
de resolventes; es decir, existe una sucesión infinita de cláusulas C1 , C2 , . . . tal que para
todo i se tiene que Ci ∈ S o existen j, k < i tales que Ci es una resolvente de Cj y Ck .
Examen de Diciembre de 2007
2. Todo conjunto inconsistente de cláusula tiene una refutación por resolución positiva.
25
26
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Curso 2005–06
27
28
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Abril de 2006 (primer parcial)
Ejercicio 22 Decidir, mediante tableros semánticos, si la fórmula
p ∧ (q ∨ s) → ( p ↔ q) ∨ ( p ↔ r )
es una tautología, En el caso de que no lo sea, construir un contramodelo a partir del tablero.
Solución:
Para decidir si p ∧ (q ∨ s) → ( p ↔ q) ∨ ( p ↔ r ) es una tautología, vamos a intentar
construir un tablero completo cerrado de su negación. El tablero se muestra en la figura
1. Al tener una rama completa abierta, la fórmula original no es una tautología y un
1.
2.
3.
4.
5.
6.
7.
¬( p ∧ (q ∨ s) → ( p ↔ q) ∨ ( p ↔ r ))
p ∧ (q ∨ s)
¬(( p ↔ q) ∨ ( p ↔ r ))
p
q∨s
¬( p ↔ q)
¬( p ↔ r )
8. q (5)
(1)
(1)
(2)
(2)
(3)
(3)
9. s (5)
10. ¬( p → q) (6)
12. p
(10)
13. ¬q
(10)
14. ¬( p → r ) (7)
16. p
(14)
17. ¬r
(14)
Abierta: { p, ¬q, ¬r, s}
11. ¬(q → p) (6)
15. ¬(r → p) (7)
Figura 1: Tablero
contramodelo de ella es la interpretación v tal que v( p) = 1, v(q) = 0, v(r ) = 0 y
v(s) = 1.
Ejercicio 23 Decidir, mediante resolución, si
{C → A, G → D, ¬( B ∧ C ∧ G → E)} |= A ∧ B ∧ D.
Examen de Abril de 2006 (primer parcial)
29
En el caso que no lo sea, construir un contramodelo a partir de la resolución.
Solución:
En primer lugar, calculamos las formas clausales de las hipótesis y de la negación de
la conclusión.
C → A ≡ ¬C ∨ A
≡ {{¬C, A}}
G → D ≡ ¬G ∨ D
≡ {{¬ G, D }}
¬( B ∧ C ∧ G → E) ≡ ¬(¬( B ∧ C ∧ G ) ∨ E)
≡ ¬¬( B ∧ C ∧ G ) ∧ ¬ E
≡ B ∧ C ∧ G ∧ ¬E
≡ {{ B}, {C }, { G }, {¬ E}}
¬( A ∧ B ∧ D ) ≡ ¬ A ∨ ¬ B ∨ ¬ D
≡ {{¬ A, ¬ B, ¬ D }}
Una refutación por resolución del conjunto de las cláusulas obtenidas es
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
{¬C, A}
{¬ G, D }
{ B}
{C }
{G}
{¬ E}
{¬ A, ¬ B, ¬ D }
{ A}
{D}
{¬ B, ¬ D }
{¬ D }
Resolvente de 1 y 4
Resolvente de 2 y 5
Resolvente de 7 y 8
Resolvente de 3 y 10
Resolvente de 9 y 11
Por tanto, el conjunto de cláusulas es inconsistente y se verifica la relación de consecuencia.
Ejercicio 24 Juan está matriculado en tres asignaturas, Álgebra, Lógica y Dibujo. Juan comenta
que
Me gusta al menos una de las tres asignaturas. Si me gustase el Álgebra
pero no el Dibujo, me gustaría la Lógica. O me gusta el Dibujo y la Lógica,
o bien ninguna de las dos. Si me gustase el Dibujo, entonces me gustaría el
Álgebra.
Los comentarios de Juan pueden formalizarse por
{ A ∨ D ∨ L, ( A ∧ ¬ D ) → L, ( D ∧ L) ∨ (¬ D ∧ ¬ L), D → A}
30
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Decidir, mediante resolución, si los comentarios de Juan son consistentes y, en su caso, calcular
sus modelos a partir de la resolución. ¿Qué asignaturas le gustan a Juan?
Solución:
En primer lugar, calculamos las formas clausales de los comentarios.
A ∨ D ∨ L ≡ {{ A, D, L}}
( A ∧ ¬ D ) → L ≡ ¬( A ∧ ¬ D ) ∨ L
≡ (¬ A ∨ ¬¬ D ) ∨ L
≡ (¬ A ∨ D ) ∨ L
≡ {{¬ A, D, L}}
( D ∧ L) ∨ (¬ D ∧ ¬ L) ≡ ( D ∨ (¬ D ∧ ¬ L)) ∧ ( L ∨ (¬ D ∧ ¬ L))
≡ (( D ∨ ¬ D ) ∧ ( D ∨ ¬ L)) ∧ (( L ∨ ¬ D ) ∧ ( L ∨ ¬ L))
≡ ( D ∨ ¬ L) ∧ ( L ∨ ¬ D )
≡ {{ D, ¬ L}, { L, ¬ D }}
D → A ≡ ¬D ∨ A
≡ {{¬ D, A}}
Vamos a demostrar que el conjunto de cláusulas obtenidas no es refutable por resolución.
∗ 1. { A, D, L}
∗ 2. {¬ A, D, L}
∗ 3. { D, ¬ L}
∗ 4. { L, ¬ D }
∗ 5. {¬ D, A}
∗ 6. { D, L}
Resolvente de 1 y 2. Subsume a 1 y 2.
7. { L}
Resolvente de 6 y 3. Subsume a 6 y 3.
8. { D }
Resolvente de 7 y 4. Subsume a 4.
9. { A}
Resolvente de 8 y 5. Subsume a 5.
En este momento, las únicas cláusulas no subsumidas son la 7, 8 y 9 con las que no se
pueden formar ninguna resolvente. Por tanto, el conjunto de cláusulas es consistente, los
comentarios de Juan son consistentes, un modelo es la interpretación v tal que v( A) = 1,
v( D ) = 1 y v( L) = 1 y a Juan le gustan las tres asignaturas.
Ejercicio 25 Demostrar o refutar las siguientes proposiciones:
1. Existe un conjunto de fórmulas S y una fórmula F tal que S |= F y S |= ¬ F.
2. Existe un conjunto de fórmulas S y una fórmula F tal que S 6|= F y S 6|= ¬ F.
Solución:
Solución del apartado 1: La proposición es cierta. Sean S = { p ∧ ¬ p} y F la fórmula
p. Entonces
Examen de Abril de 2006 (primer parcial)
31
S |= F (ya que { p ∧ ¬ p} |= p) y
S |= ¬ F (ya que { p ∧ ¬ p} |= ¬ p).
Solución del apartado 2: La proposición es cierta. Sean S = { p} y F la fórmula q.
Entonces
S 6|= F (ya que { p} 6|= q puesto que la interpretación I1 tal que I1 ( p) = 1 y I1 (q) = 0
es un contramodelo) y
S 6|= ¬ F (ya que { p} 6|= ¬q puesto que la interpretación I2 tal que I2 ( p) = 1 y
I2 (q) = 1 es un contramodelo).
Ejercicio 26 Demostrar por deducción natural con Jape
1. ( p ∨ q) ∧ ( p → r ) ` p ∨ r.
2. ` (¬ p → q) → (( p → q) → q).
Ejercicio 27 Demostrar por deducción natural con Jape
1. ¬(¬q ∧ p) ` p → q.
2. ¬ p ∨ (r → q) ` ¬q → ¬( p ∧ r ).
32
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2006 (segundo parcial)
Ejercicio 28 Decidir, mediante resolución, si
|= (∃ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] → (∀ x )(∀y)[ Q(y) → P( x, y)]]
En el caso de que no se verifique, obtener un contramodelo a partir de la resolución.
Solución:
En primer lugar se calcula una forma clausal de la negación de la fórmula.
≡
≡
≡
≡
≡
≡
≡sat
≡
¬(∃ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] → (∀ x )(∀y)[ Q(y) → P( x, y)]]
¬(∃ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] → (∀u)(∀v)[ Q(v) → P(u, v)]]
(∀ x )¬[(∀y)[ P( x, y) ∨ ¬ Q(y)] → (∀u)(∀v)[ Q(v) → P(u, v)]]
(∀ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] ∧ ¬(∀u)(∀v)[ Q(v) → P(u, v)]]
(∀ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] ∧ (∃u)(∃v)¬[ Q(v) → P(u, v)]]
(∀ x )[(∀y)[ P( x, y) ∨ ¬ Q(y)] ∧ (∃u)(∃v)[ Q(v) ∧ ¬ P(u, v)]]
(∀ x )(∃u)(∃v)(∀y)[( P( x, y) ∨ ¬ Q(y)) ∧ ( Q(v) ∧ ¬ P(u, v))]
(∀ x )(∀y)[( P( x, y) ∨ ¬ Q(y)) ∧ ( Q( g( x )) ∧ ¬ P( f ( x ), g( x )))]
{{ P( x, y), ¬ Q(y)}, { Q( g( x ))}, {¬ P( f ( x ), g( x ))}}
La demostración por resolución es
1
2
3
4
5
{ P( x, y), ¬ Q(y)}
{ Q( g( x ))}
{¬ P( f ( x ), g( x ))}
{ P( x, g(z))}
Res. de 1 y 2[ x/z] con σ = [y/g(z)]
Res. de 3[ x/u] y 4 con σ = [ x/ f (u), z/u]
Ejercicio 29 Decidir, mediante tableros semánticos, si
{(∀ x )[(∃y)[ P( x, y) ∨ P(y, x )] → P( x, x )],
(∃ x )(∃y) P( x, y)} |= (∃ x ) P( x, x )
En el caso de que no se verifique, obtener un contramodelo a partir del tablero.
Solución:
Examen de Junio de 2006 (segundo parcial)
1.
2.
3.
4.
5.
6.
7.
9.
10.
11.
33
(∀ x )[(∃y)[ P( x, y) ∨ P(y, x )] → P( x, x )]
(∃ x )(∃y) P( x, y)
¬(∃ x ) P( x, x )
(∃y) P( a, y) (2)
P( a, b) (4)
(∃y)[ P( a, y) ∨ P(y, a)] → P( a, a) (1)
¬(∃y)[ P( a, y) ∨ P(y, a)] (6)
¬( P( a, b) ∨ P(b, a)) (7)
¬ P( a, b) (9)
¬ P(b, a) (9)
Cerrada (5–10)
8. P( a, a) (6)
12. ¬ P( a, a) (3)
Cerrada (8–12)
Como las ramas son cerradas, se tiene que
{(∀ x )[(∃y)[ P( x, y) ∨ P(y, x )] → P( x, x )],
(∃ x )(∃y) P( x, y)} |= (∃ x ) P( x, x )
Ejercicio 30 Se considera el siguiente conjunto de fórmulas
T = { (∀y) P(0, y, y),
(∀ x )(∀y)(∀z)[ P( x, y, z) → P(s( x ), y, s(z))],
Q (0),
(∀ x )[ Q( x ) → Q(s(s( x )))] }
Demostrar por resolución lineal que
T |= (∃ x )(∃y)[ P( x, s(y), s(s(0))) ∧ Q(s( x ))]
y, a partir de la demostración encontrar todos los términos t1 y t2 tales que
T |= P(t1 , s(t2 ), s(s(0))) ∧ Q(s(t1 ))
Solución:
En primer lugar se calcula las formas clausales de las fórmulas de T:
(∀y) P(0, y, y)
≡ {{ P(0, y, y)}}
(∀ x )(∀y)(∀z)[ P( x, y, z) → P(s( x ), y, s(z))]
≡ (∀ x )(∀y)(∀z)[¬ P( x, y, z) ∨ P(s( x ), y, s(z))]
≡ {{¬ P( x, y, z), P(s( x ), y, s(z))}}
Q (0)
≡ {{ Q(0)}}
34
José A. Alonso: Soluciones de exámenes de “Lógica informática”
(∀ x )[ Q( x ) → Q(s(s( x )))]
≡ (∀ x )[¬ Q( x ) ∨ Q(s(s( x )))]
≡ {{¬ Q( x ), Q(s(s( x )))}}
y de la negación de la conclusión
¬(∃ x )(∃y)[ P( x, s(y), s(s(0))) ∧ Q(s( x ))]
≡ (∀ x )(∀y)¬( P( x, s(y), s(s(0))) ∧ Q(s( x )))
≡ (∀ x )(∀y)[¬ P( x, s(y), s(s(0))) ∨ ¬ Q(s( x )))
≡ {{¬ P( x, s(y), s(s(0))), ¬ Q(s( x ))}}
La base de conocimiento es
C1 = {{ P(0, y, y)}
C2 = {¬ P( x, y, z), P(s( x ), y, s(z))}
C2 = { Q(0)}
C4 = {¬ Q( x ), Q(s(s( x )))}
y el objetivo es
{¬ P( x, s(y), s(s(0))), ¬ Q(s( x ))}}
El grafo de resolución se muestra en la figura 2 (página 35).
La solución correspondiente a la segunda rama es
t1 = xσ1 σ2 σ3 = s( x1 )σ2 σ3 = s(0)σ3 = s(0)
t2 = yσ1 σ2 σ3 = yσ2 σ3 = 0σ3 = 0
Ejercicio 31 Decidir, mediante resolución, si
|= (∀ x )(∀y)[ R( x, y) → (∃z)[ R( x, z) ∧ R(z, y)]]
En el caso de que no se verifique, obtener un contramodelo a partir de la resolución.
Solución:
En primer lugar se calcula una forma clausal de la negación de la fórmula.
¬(∀ x )(∀y)[ R( x, y) → (∃z)[ R( x, z) ∧ R(z, y)]]
≡
(∃ x )(∃y)¬( R( x, y) → (∃z)[ R( x, z) ∧ R(z, y)])
≡
(∃ x )(∃y)[ R( x, y) ∧ ¬(∃z)[ R( x, z) ∧ R(z, y)]]
≡
(∃ x )(∃y)[ R( x, y) ∧ (∀z)¬( R( x, z) ∧ R(z, y))]
≡
(∃ x )(∃y)[ R( x, y) ∧ (∀z)[¬ R( x, z) ∨ ¬ R(z, y)]]
≡
(∃ x )(∃y)(∀z)[ R( x, y) ∧ (¬ R( x, z) ∨ ¬ R(z, y))]
≡sat (∀z)[ R( a, b) ∧ (¬ R( a, z) ∨ ¬ R(z, b))]
≡
{{ R( a, b)}, {¬ R( a, z), ¬ R(z, b)}}
La saturación por resolución es
Examen de Junio de 2006 (segundo parcial)
Figura 2: Grafo de resolución
35
36
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
{ R( a, b)}
{¬ R( a, z), ¬ R(z, b)}
{¬ R(b, b)}
Res. de 1.1 y 2.1 con σ = [z/b]
{¬ R( a, a)}
Res. de 1.1 y 2.2 con σ = [z/a]
Por tanto, el conjunto de cláusulas es consistente, la fórmula inicial no es válida y un
contramodelo de Herbrand es (U, I ) donde U = { a, b}, I ( R) = {( a, b)}.
Ejercicio 32 Demostrar por deducción natural con Jape
1. ∃ x.( p( x ) ∧ q( x )), ∀y.( p(y) → r (y)) ` ∃ x.(r ( x ) ∧ q( x ))
2. ∀ x.r ( x, x ), ∀ x.∀y.∀z.(¬r ( x, y) ∧ ¬r (y, z) → ¬r ( x, z)) ` ∀ x.∀y.(r ( x, y) ∨ r (y, x ))
Ejercicio 33 Demostrar por deducción natural con Jape
1. ∃ x.∃y.( R( x, y) ∨ R(y, x )) ` ∃ x.∃y.R( x, y)
2. ∀ x.( p( x ) → ∃y.q(y)), actuali ` ∀ x.∃y.( p( x ) → q(y))
Examen de Junio de 2006
37
Examen de Junio de 2006
Ejercicio 34 Sea F la fórmula ( p → q) → ¬(q ∨ r ) ∧ ¬ p.
1. Decidir, mediante tablero semántico, si F es una tautología.
2. Si F no es una tautología, calcular, a partir de su tablero semántico, los contramodelos de
F, una forma normal disyuntiva de ¬ F y una forma normal conjuntiva de F.
Solución:
Apartado 1: Decidiremos la validez de F construyendo el tablero semántico de ¬ F.
1. ¬(( p → q) → ¬(q ∨ r ) ∧ ¬ p)
2. p → q (1)
3. ¬(¬(q ∨ r ) ∧ ¬ p) (1)
4. ¬¬(q ∨ r ) (3)
6. q ∨ r (4)
7. ¬ p
9. q (6)
Abierta
{¬ p, q}
(2)
8. q
10. r (6)
Abierta
{¬ p, r }
11. q (6)
Abierta
{q}
4. ¬¬ p (3)
13. p (5)
(2)
14. ¬ p (2)
Cerrada
13–14
15. q (2)
Abierta
{ p, q}
12. r (6)
Abierta
{q, r }
Puesto que el tablero de ¬ F tiene ramas abiertas, la fórmula ¬ F tiene modelos y, por
tanto, F no es una tautología.
Nótese que para decidir que F no es una tautología bastaba desarrollar hasta encontrar la primera rama abierta. Hemos desarrollado el tablero completo para encontrar los
contramodelos de F que se piden en el siguiente apartado.
Apartado 2: Los contramodelos de F son los modelos de ¬ F y se obtienen a partir de las
ramas abiertas del tablero de ¬ F. Los contramodelos son
I1
I2
I3
I4
I5
p
0
0
−
−
1
q
1
−
1
1
1
r
−
1
−
1
−
38
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Puesto que I3 está contenido en I1 , I4 y I5 , los contramodelos se reducen I2 y I3 . Por
tanto,
¬ F ≡ (¬ p ∧ r ) ∨ q
y una forma normal disyuntiva de ¬ F es
(¬ p ∧ r ) ∨ q
Además,
F ≡
≡
≡
≡
≡
¬¬ F
¬((¬ p ∧ r ) ∨ q)
¬(¬ p ∧ r ) ∧ ¬q
(¬¬ p ∨ ¬r ) ∧ ¬q
( p ∨ ¬r ) ∧ ¬ q
y una forma normal conjuntiva de F es
( p ∨ ¬r ) ∧ ¬q.
Ejercicio 35 Demostrar o refutar las siguientes proposiciones:
1. Si { F → G, F } es consistente, entonces { G } es consistente.
2. Si S es un conjunto inconsistente de fórmulas, entonces el tablero semántico cerrado de
S obtenido aplicando las reglas α antes que las reglas β tiene menos nodos que el tablero
semántico cerrado de S obtenido aplicando las reglas β antes que las reglas α.
Solución:
Apartado 1: La proposición es cierta. En efecto, supongamos que { F → G, F } es
consistente, entonces existe un modelo v del conjunto. Por tanto, v( F → G ) = 1 y v( F ) =
1. Por la definición del valor de verdad del condicional, v( G ) = 1. Por consiguiente, { G }
es consistente.
Apartado 2: La proposición es falsa. Como contraejemplo consideremos el conjunto
S = { p1 ∧ ( p2 ∧ p3 ), q ∨ r, ¬q, ¬r }.
El tablero semántico cerrado de S obtenido aplicando las reglas α antes que las reglas β
es
Examen de Junio de 2006
1.
2.
3.
4.
5.
6.
7.
8.
39
p1 ∧ ( p2 ∧ p3 )
q∨r
¬q
¬r
p1 (1)
p2 ∧ p3 (1)
p2 (6)
p3 (6)
9. q (2)
Cerrada
9–3
10. r (2)
Cerrada
10–4
y el tablero semántico cerrado de S obtenido aplicando las reglas β antes que las reglas
α es
1.
2.
3.
4.
p1 ∧ ( p2 ∧ p3 )
q∨r
¬q
¬r
5. q (2)
Cerrada
5–3
6. r (2)
Cerrada
6–4
El número de nodos del primer tablero es mayor que el número de nodos del segundo
tablero.
Ejercicio 36 Se consideran las siguientes fórmulas:
F1 = (∀ x )(∃ x1 )(∀y)(∃y1 )(∀z)(∃z1 ) P( x, x1 , y, y1 , z, z1 )
F2 = (∃ x )(∀ x1 )(∃y)(∀y1 )(∃z)(∃u) P(z, x, x1 , y, y1 , u)
F3 = (∃ x )(∀ x1 )(∃y)(∃y1 )(∀z)(∃z1 ) P( x, x1 , y, y1 , z, z1 )
Decidir, por resolución, las siguientes relaciones. Para las que no se verifiquen, dar un contramodelo.
1.
F1 |= F2
2.
F3 |= F2
Solución:
Apartado 1: Decidir F1 |= F2 se reduce a decidir si { F1 , ¬ F2 } es inconsistente. Lo haremos por resolución. En primer lugar calculamos una forma clausal de F1
40
José A. Alonso: Soluciones de exámenes de “Lógica informática”
≡sat
≡sat
≡sat
≡
(∀ x )(∃ x1 )(∀y)(∃y1 )(∀z)(∃z1 ) P( x, x1 , y, y1 , z, z1 )
(∀ x )(∀y)(∃y1 )(∀z)(∃z1 ) P( x, f 1 ( x ), y, y1 , z, z1 )
(∀ x )(∀y)(∀z)(∃z1 ) P( x, f 1 ( x ), y, f 2 ( x, y), z, z1 )
(∀ x )(∀y)(∀z) P( x, f 1 ( x ), y, f 2 ( x, y), z, f 3 ( x, y, z))
{{ P( x, f 1 ( x ), y, f 2 ( x, y), z, f 3 ( x, y, z))}}
y una forma clausal de ¬ F2
≡
≡sat
≡sat
≡
¬(∃ x )(∀ x1 )(∃y)(∀y1 )(∃z)(∃u) P(z, x, x1 , y, y1 , u)
(∀ x )(∃ x1 )(∀y)(∃y1 )(∀z)(∀u)¬ P(z, x, x1 , y, y1 , u)
(∀ x )(∀y)(∃y1 )(∀z)(∀u)¬ P(z, x, f 4 ( x ), y, y1 , u)
(∀ x )(∀y)(∀z)(∀u)¬ P(z, x, f 4 ( x ), y, f 5 ( x, y), u)
{{¬ P(z, x, f 4 ( x ), y, f 5 ( x, y), u)}}
Las cláusulas obtenidas son
C1 : { P( x, f 1 ( x ), y, f 2 ( x, y), z, f 3 ( x, y, z))}
C2 : {¬ P(z, x, f 4 ( x ), y, f 5 ( x, y), u)}
Para calcular una resolvente de C1 y C2 separamos las variables aplicándole a C1 el renombramiento θ = [ x/x1 , y/y1 , z/z1 ] con lo que se obtiene
C1 θ = { P( x1 , f 1 ( x1 ), y1 , f 2 ( x1 , y1 ), z1 , f 3 ( x1 , y1 , z1 ))}
y calculamos un unificador de máxima generalidad de P( x1 , f 1 ( x1 ), y1 , f 2 ( x1 , y1 ), z1 , f 3 ( x1 , y1 , z1 ))
y P(z, x, f 4 ( x ), y, f 5 ( x, y), u)
=
=
=
=
=
=
=
=
unif (( P( x1 , f 1 ( x1 ), y1 , f 2 ( x1 , y1 ), z1 , f 3 ( x1 , y1 , z1 )) = P(z, x, f 4 ( x ), y, f 5 ( x, y), u)),
e)
unif (( x1 = z, f 1 ( x1 ) = x, y1 = f 4 ( x ), f 2 ( x1 , y1 ) = y, z1 = f 5 ( x, y), f 3 ( x1 , y1 , z1 ) = u)),
e)
unif (( f 1 ( x1 ) = x, y1 = f 4 ( x ), f 2 ( x1 , y1 ) = y, z1 = f 5 ( x, y), f 3 ( x1 , y1 , z1 ) = u)),
[z/x1 ])
unif ((y1 = f 4 ( f 1 ( x1 )), f 2 ( x1 , y1 ) = y, z1 = f 5 ( f 1 ( x1 ), y), f 3 ( x1 , y1 , z1 ) = u)),
[z/x1 , x/ f 1 ( x1 )])
unif (( f 2 ( x1 , f 4 ( f 1 ( x1 ))) = y, z1 = f 5 ( f 1 ( x1 ), y), f 3 ( x1 , f 4 ( f 1 ( x1 )), z1 ) = u), )
[z/x1 , x/ f 1 ( x1 ), y1 / f 4 ( f 1 ( x1 ))])
unif ((z1 = f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 )))), f 3 ( x1 , f 4 ( f 1 ( x1 )), z1 ) = u)),
[z/x1 , x/ f 1 ( x1 ), y1 / f 4 ( f 1 ( x1 )), y/ f 2 ( x1 , f 4 ( f 1 ( x1 )))])
unif (( f 3 ( x1 , f 4 ( f 1 ( x1 )), f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 ))))) = u)),
[z/x1 , x/ f 1 ( x1 ), y1 / f 4 ( f 1 ( x1 )), y/ f 2 ( x1 , f 4 ( f 1 ( x1 ))), z1 / f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 ))))])
unif (()),
[z/x1 , x/ f 1 ( x1 ), y1 / f 4 ( f 1 ( x1 )), y/ f 2 ( x1 , f 4 ( f 1 ( x1 ))), z1 / f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 )))),
u/ f 3 ( x1 , f 4 ( f 1 ( x1 )), f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 )))))])
[z/x1 , x/ f 1 ( x1 ), y1 / f 4 ( f 1 ( x1 )), y/ f 2 ( x1 , f 4 ( f 1 ( x1 ))), z1 / f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 )))),
u/ f 3 ( x1 , f 4 ( f 1 ( x1 )), f 5 ( f 1 ( x1 ), f 2 ( x1 , f 4 ( f 1 ( x1 )))))]
Por tanto, la resolvente de C1 y C2 es la cláusula vacía. De lo que se sigue que { F1 , ¬ F2 }
Examen de Junio de 2006
41
es inconsistente y F1 |= F2 .
Apartado 2: Decidir F3 |= F2 se reduce a decidir si { F3 , ¬ F2 } es inconsistente. Lo haremos por resolución. En primer lugar calculamos una forma clausal de F3
≡sat
≡sat
≡sat
≡sat
≡
(∃ x )(∀ x1 )(∃y)(∃y1 )(∀z)(∃z1 ) P( x, x1 , y, y1 , z, z1 )
(∀ x1 )(∃y)(∃y1 )(∀z)(∃z1 ) P( a, x1 , y, y1 , z, z1 )
(∀ x1 )(∃y1 )(∀z)(∃z1 ) P( a, x1 , f 6 ( x1 ), y1 , z, z1 )
(∀ x1 )(∀z)(∃z1 ) P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, z1 )
(∀ x1 )(∀z) P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, f 8 ( x1 , z))
{{ P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, f 8 ( x1 , z))}}
Las cláusulas de ¬ F2 y F3 son
C2 : {¬ P(z, x, f 4 ( x ), y, f 5 ( x, y), u)}
C3 : { P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, f 8 ( x1 , z))}
Para calcular una resolvente de C2 y C3 calculamos un unificador de máxima generalidad de los literales P(z, x, f 4 ( x ), y, f 5 ( x, y), u) y P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, f 8 ( x1 , z)).
=
=
=
=
=
unif (( P(z, x, f 4 ( x ), y, f 5 ( x, y), u) = P( a, x1 , f 6 ( x1 ), f 7 ( x1 ), z, f 8 ( x1 , z)),
e)
unif ((z = a, x = x1 , f 4 ( x ) = f 6 ( x1 ), y = f 7 ( x1 ), f 5 ( x, y) = z, u = f 8 ( x1 , z)),
e)
unif (( x = x1 , f 4 ( x ) = f 6 ( x1 ), y = f 7 ( x1 ), f 5 ( x, y) = z, u = f 8 ( x1 , z)),
[z/a])
unif (( f 4 ( x1 ) = f 6 ( x1 ), y = f 7 ( x1 ), f 5 ( x, y) = z, u = f 8 ( x1 , z)),
[z/a, x/x1 ])
unif (( f 4 ( x1 ) = f 6 ( x1 ), y = f 7 ( x1 ), f 5 ( x, y) = z, u = f 8 ( x1 , z)),
[z/a, x/x1 ])
“No unificable”
Por tanto, C2 y C3 no tienen resolventes. De lo que se sigue que { F3 , ¬ F2 } es consistente
y F3 6|= F2 . Un contramodelo de Herbrand se obtiene haciendo
I ( P) = { P( a, t1 , f 6 (t1 ), f 7 (t1 ), t, f 8 (t1 , t)) : t, t1 ∈ UH },
donde UH representa el universo de Herbrand definido recursivamente por
a ∈ UH,
Si t ∈ UH, entonces f 4 (t), f 6 (t), f 7 (t) ∈ UH
Si t1 , t2 ∈ UH entonces f 5 (t1 , t2 ), f 8 (t1 , t2 ) ∈ UH.
Ejercicio 37 Se considera el conjunto S = {(∀ x )[ P( x, y) → ¬ Q(z)], P( x, v), (∃u) Q(u)}
1. Probar que S es consistente.
2. Decidir si S tiene o no un modelo, justificando la respuesta.
42
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Solución:
Apartado 1: Probar que S es consistente se reduce a probar que
S1 = {(∃ x )(∃y)(∃z)(∃v)[(∀ x )[ P( x, y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
lo es. Lo haremos por resolución. Comenzamos calculando una forma clausal de S1
≡
≡
≡sat
≡
(∃ x )(∃y)(∃z)(∃v)[(∀ x )[ P( x, y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
(∃ x )(∃y)(∃z)(∃v)[(∀ x1 )[ P( x1 , y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
(∃ x )(∃y)(∃z)(∃v)(∃u)(∀ x1 )[(¬ P( x1 , y) ∨ ¬ Q(z)) ∧ P( x, v) ∧ Q(u)]
(∀ x1 )[(¬ P( x1 , b) ∨ ¬ Q(c)) ∧ P( a, d) ∧ Q(e)]
{{¬ P( x1 , b), ¬ Q(c)}, { P( a, d)}, { Q(e)}}
Las cláusulas obtenidas son
C1 : {¬ P( x1 , b), ¬ Q(c)}
C2 : { P( a, d)}
C3 : { Q(e)}
Entre las cláusulas no hay resolventes. Por tanto, S1 es consistente y un modelo de Herbrand de S1 es { P( a, d), Q(e)}. Es decir, el universo es U = { a, b, c, d, e}, la interpretación
de P es I ( P) = {( a, d)} y la de Q es I ( Q) = {e}. Además, (U, I ) con la asignación A tal
que A( x ) = a, A(y) = b, A(z) = c y A(v) = d verifica el conjunto S. En efecto,
{(∀ x )[ P( x, y) → ¬ Q(z)], P( x, v), (∃u) Q(u)}
1
1 11 c
1 ad
1e 1 e
Apartado 2: Decidir si S tiene modelo se reduce a decidir si
S2 = {(∀ x )(∀y)(∀z)(∀v)[(∀ x )[ P( x, y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
lo es. Lo haremos por resolución. Comenzamos calculando una forma clausal de S1
≡
≡
≡sat
≡
(∀ x )(∀y)(∀z)(∀v)[(∀ x )[ P( x, y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
(∀ x )(∀y)(∀z)(∀v)[(∀ x1 )[ P( x1 , y) → ¬ Q(z)] ∧ P( x, v) ∧ (∃u) Q(u)]
(∀ x )(∀y)(∀z)(∀v)(∃u)(∀ x1 )[(¬ P( x1 , y) ∨ ¬ Q(z)) ∧ P( x, v) ∧ Q(u)]
(∀ x )(∀y)(∀z)(∀v)(∀ x1 )[(¬ P( x1 , y) ∨ ¬ Q(z)) ∧ P( x, v) ∧ Q( f ( x, y, z, v))]
{{¬ P( x1 , y), ¬ Q(z)}, { P( x, v)}, { Q( f ( x, y, z, v))}}
Las cláusulas obtenidas son
C1 : {¬ P( x1 , y), ¬ Q(z)}
C2 : { P( x, v)}
C3 : { Q( f ( x, y, z, v))}
Una refutación es
Examen de Junio de 2006
1
2
3
4
5
43
{¬ P( x1 , y), ¬ Q(z)}
{ P( x, v)}
{ Q( f ( x, y, z, v))}
{¬ Q(z)}
Res. de 1 y 2 con σ = [ x/x1 , v/y]
Res. de 4[z/z1 ] y 3 con σ = [z1 / f ( x, y, z, v)]
Por tanto, S2 es inconsistente y S no tiene modelos.
Ejercicio 38 Se considera el siguiente argumento:
Algunas personas admiran a los que tienen bigote. Algunas personas no
simpatizan con nadie que admire a los que tienen bigote. Luego algunas
personas no son simpáticas a todos.
1. Formalizar el argumento utilizando los símbolos B( x ): x tiene bigote, A( x, y): x admira
y, S( x, y): x simpatiza con y.
2. Dedidir, mediante cualquiera de los métodos de demostración estudiados en el curso, la
validez del argumento.
Solución:
Apartado 1: La formalización es la siguiente
Algunas personas admiran a los que tienen bigote:
F1 : (∃ x )(∀y)[ B(y) → A( x, y)]
Algunas personas no simpatizan con nadie que admire a los que tienen bigote:
F2 : (∃ x )(∀y)[(∀z)[ B(z) → A(y, z)] → ¬S( x, y)]
Algunas personas no son simpáticas a todos:
F3 : (∃ x )¬(∀y)S( x, y)
Apartado 2: Vamos a decidir por resolución si { F1 , F2 } |= F3 . En primer lugar calculamos
una forma clausal de F1
(∃ x )(∀y)[ B(y) → A( x, y)]
≡
(∃ x )(∀y)[¬ B(y) ∨ A( x, y)]
≡sat (∀y)[¬ B(y) ∨ A( a, y)]
≡
{{¬ B(y), A( a, y)}}
una forma clausal de F2
44
José A. Alonso: Soluciones de exámenes de “Lógica informática”
≡
≡
≡
≡
≡sat
≡sat
≡
≡
(∃ x )(∀y)[(∀z)[ B(z) → A(y, z)] → ¬S( x, y)]
(∃ x )(∀y)[¬(∀z)[ B(z) → A(y, z)] ∨ ¬S( x, y)]
(∃ x )(∀y)[(∃z)¬( B(z) → A(y, z)) ∨ ¬S( x, y)]
(∃ x )(∀y)[(∃z)[ B(z) ∧ ¬ A(y, z)] ∨ ¬S( x, y)]
(∃ x )(∀y)(∃z)[( B(z) ∧ ¬ A(y, z)) ∨ ¬S( x, y)]
(∀y)(∃z)[( B(z) ∧ ¬ A(y, z)) ∨ ¬S(b, y)]
(∀y)[( B( f (y)) ∧ ¬ A(y, f (y))) ∨ ¬S(b, y)]
(∀y)[( B( f (y)) ∨ ¬S(b, y)) ∧ (¬ A(y, f (y)) ∨ ¬S(b, y))]
{{ B( f (y)), ¬S(b, y)}, {¬ A(y, f (y)), ¬S(b, y)}}
y una forma clausal de ¬ F3
¬(∃ x )¬(∀y)S( x, y)
≡ (∀ x )¬¬(∀y)S( x, y)
≡ (∀ x )(∀y)S( x, y)
≡ {{S( x, y)}}
Una refutación es
1
2
3
4
5
6
7
8
{¬ B(y), A( a, y)}
{ B( f (y)), ¬S(b, y)}
{¬ A(y, f (y)), ¬S(b, y)}
{S( x, y)}
{¬ A(y, f (y))}
{ B( f (y))}
{ A( a, f (y))}
Res. de 4 y 3 con σ = [ x/b]
Res. de 4 y 2 con σ = [ x/b]
Res. de 6 y 1[y/y1 ] con σ = [y1 / f (y)]
Res. de 7 y 5 con σ = [y/a]
Por tanto, { F1 , F2 , ¬ F3 } es inconsistente y { F1 , F2 } |= F3 .
Ejercicio 39 Probar mediante deducción natural:
1. |= (( p ∧ q) → (r ∨ s)) → (( p → r ) ∨ (q → s))
2. {(∀ x )[ Q( x ) → ¬ R( x )],
(∀ x )[ P( x ) → Q( x ) ∨ S( x )],
(∃ x )[ P( x ) ∧ R( x )]}
|= (∃ x )[ P( x ) ∧ S( x )]
Solución:
Apartado 1: |= (( p ∧ q) → (r ∨ s)) → (( p → r ) ∨ (q → s))
La solución se muestra en la figura 3 (página 45).
Apartado 2: {(∀ x )[ Q( x ) → ¬ R( x )],
(∀ x )[ P( x ) → Q( x ) ∨ S( x )],
(∃ x )[ P( x ) ∧ R( x )]}
|= (∃ x )[ P( x ) ∧ S( x )]
Examen de Junio de 2006
45
1
( p ∧ q ) → (r ∨ s )
Supuesto
2
p ∨ ¬p
LEM
3
p
Supuesto
4
q ∨ ¬q
LEM
5
q
Supuesto
6
p∧q
I∧ 3, 5
7
r∨s
E→ 1, 6
8
r
Supuesto
9
p
Supuesto
10
r
Hyp
11
p→r
I→ 9 − 10
12
( p → r ) ∨ (q → s)
I∨ 11
13
s
Supuesto
14
q
Supuesto
15
s
Hyp
16
q→s
I→ 14 − 15
17
( p → r ) ∨ (q → s)
I∨ 16
18
( p → r ) ∨ (q → s)
E∨ 7, 8 − 12, 13 − 17
19
¬q
Supuesto
20
q
Supuesto
21
⊥
E¬ 19, 20
22
s
E⊥ 21
23
q→s
I→ 20 − 22
24
( p → r ) ∨ (q → s)
I∨ 23
25
( p → r ) ∨ (q → s)
E∨ 4, 5 − 18, 19 − 24
26
¬p
Supuesto
27
p
Supuesto
28
⊥
E¬ 26, 27
29
r
E⊥ 28
30
p→r
I→ 27 − 29
31
( p → r ) ∨ (q → s)
I∨ 30
32
( p → r ) ∨ (q → s)
E∨ 2, 3 − 25, 26 − 31
33
(( p ∧ q) → (r ∨ s)) → (( p → r ) ∨ (q → s)) I→ 1 − 32
Figura 3: Apartado 1
46
José A. Alonso: Soluciones de exámenes de “Lógica informática”
La solución se muestra en la figura 4 (página 46).
1
(∀ x )[ Q( x ) → ¬ R( x )]
2
(∀ x )[ P( x ) → Q( x ) ∨ S( x )] Supuesto
3
(∃ x )[ P( x ) ∧ R( x )]
Supuesto
4
actual i
Supuesto
5
P (i ) ∧ R (i )
Supuesto
6
P (i ) → Q (i ) ∨ S (i )
E∀ 2
7
P (i )
E∧ 5
8
Q (i ) ∨ S (i )
E→ 6, 7
9
Q (i )
Supuesto
10
Q (i ) → ¬ R (i )
E∀ 1, 4
11
¬ R (i )
E→ 10, 9
12
R (i )
E∧ 5
13
⊥
E¬ 11, 12
14
S (i )
E⊥ 13
15
P (i ) ∧ S (i )
I∧ 7, 14
16
(∃ x )[ P( x ) ∧ S( x )]
I∃ 15, 4
17
S (i )
Supuesto
18
P (i ) ∧ S (i )
I∧ 7, 17
19
(∃ x )[ P( x ) ∧ S( x )]
I∃ 18, 4
20
(∃ x )[ P( x ) ∧ S( x )]
E∨ 8, 9 − 16, 17 − 19
21
(∃ x )[ P( x ) ∧ S( x )]
E∃ 3, 4 − 20
Supuesto
Figura 4: Apartado 2
Examen de Septiembre de 2006
47
Examen de Septiembre de 2006
Ejercicio 40 Sea F la fórmula
(( p ∨ q) ↔ ¬( p ∨ q)) ∨ (((¬ p ∨ q) → ¬((q ∧ r ) → ¬ p)) ∧ (r → ¬(q ∨ p)))
Decidir, mediante tablero semántico, si F es satisfacible. En el caso de que lo sea, calcular un
modelo I de F a partir del tablero y comprobar que I es modelo de F.
Solución:
La fórmula F es satisfacible si el tablero semántico de F tiene una rama abierta. En la
figura 5 se muestra una rama abierta del tablero semántico de F. Por tanto, F es safisfacible.
1. (( p ∨ q) ↔ ¬( p ∨ q)) ∨ (((¬ p ∨ q) → ¬((q ∧ r ) → ¬ p)) ∧ (r → ¬(q ∨ p)))
2. ( p ∨ q) ↔ ¬( p ∨ q)
(1)
3. ((¬ p ∨ q) → ¬((q ∧ r ) → ¬ p)) ∧ (r → ¬(q ∨ p))
4, (¬ p ∨ q) → ¬((q ∧ r ) → ¬ p) (3)
5. r → ¬(q ∨ p) (3)
6.
8.
9.
10.
¬(¬ p ∨ q) (4)
¬¬ p (6)
¬ q (6)
p (8)
11. ¬r (5)
Abierta
{ p, ¬q, ¬r }
12. ¬(q ∨ p)
7. ¬((q ∧ r ) → ¬ p)
(1)
(4)
(5)
Figura 5: Rama abierta del tablero semántico
La interpretación I tal que I ( p) = 1, I (q) = 0 y I (r ) = 1 es un modelo de F. Efectivamente,
48
José A. Alonso: Soluciones de exámenes de “Lógica informática”
I ((( p ∨ q) ↔ ¬( p ∨ q)) ∨ (((¬ p ∨ q) → ¬((q ∧ r ) → ¬ p)) ∧ (r → ¬(q ∨ p))))
1 0
0 1
0 0
1
0
0
1
1
1
1
Ejercicio 41 Decidir si el siguiente conjunto de fórmulas es consistente
S = { (∀ x )[ A( x ) ∧ (∃y)[¬ B(y) → C ( x, y)]],
(∃ x ) A( x ),
¬(∀y)(∃z)C (z, y),
(∀y)(∃ x )(∀z)[( B( x ) → A(z)) → (¬C (y, z) → ¬ B(y))] }
Si S es consistente, obtener razonadamente un modelo de S.
Solución:
Vamos a decidir la consistencia de S usando resolución, Para ello, comenzamos calculando una forma clausal de S.
≡
≡
≡
≡sat
≡
(∀ x )[ A( x ) ∧ (∃y)[¬ B(y) → C ( x, y)]]
(∀ x )[ A( x ) ∧ (∃y)[¬¬ B(y) ∨ C ( x, y)]]
(∀ x )[ A( x ) ∧ (∃y)[ B(y) ∨ C ( x, y)]]
(∀ x )(∃y)[ A( x ) ∧ ( B(y) ∨ C ( x, y))]
(∀ x )[ A( x ) ∧ ( B( f ( x )) ∨ C ( x, f ( x )))]
{{ A( x )}, { B( f ( x )), C ( x, f ( x ))}}
(∃ x ) A( x )
≡sat A( a)
≡
{{ A( a)}}
¬(∀y)(∃z)C (z, y)
≡
(∃y)(∀z)¬C (z, y)
≡sat (∀z)¬C (z, b)
≡sat {{¬C (z, b)}}
Examen de Septiembre de 2006
≡
≡
≡
≡
≡
≡
≡sat
≡
49
(∀y)(∃ x )(∀z)[( B( x ) → A(z)) → (¬C (y, z) → ¬ B(y))]
(∀y)(∃ x )(∀z)[(¬ B( x ) ∨ A(z)) → (¬¬C (y, z) ∨ ¬ B(y))]
(∀y)(∃ x )(∀z)[(¬ B( x ) ∨ A(z)) → (C (y, z) ∨ ¬ B(y))]
(∀y)(∃ x )(∀z)[¬(¬ B( x ) ∨ A(z)) ∨ (C (y, z) ∨ ¬ B(y))]
(∀y)(∃ x )(∀z)[(¬¬ B( x ) ∧ ¬ A(z)) ∨ (C (y, z) ∨ ¬ B(y))]
(∀y)(∃ x )(∀z)[( B( x ) ∧ ¬ A(z)) ∨ (C (y, z) ∨ ¬ B(y))]
(∀y)(∃ x )(∀z)[( B( x ) ∨ C (y, z) ∨ ¬ B(y)) ∧ (¬ A(z) ∨ C (y, z) ∨ ¬ B(y))]
(∀y)(∀z)[( B( g(y)) ∨ C (y, z) ∨ ¬ B(y)) ∧ (¬ A(z) ∨ C (y, z) ∨ ¬ B(y))]
{{ B( g(y)), C (y, z), ¬ B(y)}, {¬ A(z), C (y, z), ¬ B(y)}}
La forma de clausal de S es el conjunto cuyas cláusulas son
C1
C2
C3
C4
C5
C6
= { A( x )}
= { B( f ( x )), C ( x, f ( x ))}
= { A( a)}
= {¬C (z, b)}
= { B( g(y)), C (y, z), ¬ B(y)}
= {¬ A(z), C (y, z), ¬ B(y)}
Para decidir la consistencia de S puede ignorarse la cláusula C3 = { A( a)}, ya que está
subsumida por la C1 = { A( x )}. Vamos a calcular la saturación de S por resolución.
En el primer paso, elegimos la cláusula C1 = { A( x )} que no genera ninguna resolvente con las cláusulas elegidas.
En el segundo paso, elegimos la cláusula C4 = {¬C (z, b)} que no genera ninguna
resolvente con las cláusulas elegidas.
En el tercer paso, elegimos la cláusula C2 = { B( f ( x )), C ( x, f ( x ))} que no genera
ninguna resolvente con las cláusulas elegidas.
En el cuarto paso, elegimos la cláusula C6 = {¬ A(z), C (y, z), ¬ B(y)} que genera las
siguientes resolventes:
la resolvente de C6 = {¬ A(z), C (y, z), ¬ B(y)} y C1 = { A( x )} con unificador
{ x/z} es
C7 = {C (y, z), ¬ B(y)}
la resolvente de C6 = {¬ A(z), C (y, z), ¬ B(y)} y C4 = {¬C (z, b)} aplicándole a
C6 la sustitución {z/x } y unificando con {z/y, x/b} es {¬ A(b), ¬ B(y)} que al
simplificarse con C1 se transforma en
C8 = {¬ B(y)}
la resolvente de C6 = {¬ A(z), C (y, z), ¬ B(y)} y C2 = { B( f ( x )), C ( x, f ( x ))} con
unificador {y/ f ( x )} es {¬ A(z), C ( f ( x ), z), C ( x, f ( x ))} que al simplificarse con C1
se transforma en
C9 = {C ( f ( x ), z), C ( x, f ( x ))}
50
José A. Alonso: Soluciones de exámenes de “Lógica informática”
La cláusula C8 subsume a las cláusulas C7 , C6 y C5 .
En el quinto paso, elegimos la cláusula C8 = {¬ B(y)} que genera con C2 = { B( f ( x )), C ( x, f ( x ))}
y unificador {y/ f ( x ) la resolvente
C10 = {C ( x, f ( x ))}
que subsume las cláusulas C2 y C9 .
En el sexto paso, elegimos la cláusula C10 = {C ( x, f ( x ))} que no genera ninguna
resolvente.
Se ha terminado la saturación sin encontrar la cláusula vacía. Por tanto, S es consistente.
Para obtener un modelo nos fijamos en las cláusulas que quedan después de la saturación: C1 = { A( x )}, C4 = {¬C (z, b)}, C8 = {¬ B(y)} y C10 = {C ( x, f ( x ))}. El universo
de Herbrand es U = {b, f (b), f ( f (b)), . . . }. Sea I la interpretación de Herbrand tal que
A I = U, B I = ∅ y C I = {( x, f ( x )) : x ∈ U }. Fácilmente se comprueba que I es un
modelo de las cláusulas anteriores y del conjunto S.
0
0
Un modelo finito es I 0 = (U 0 , I 0 ) con U 0 = {0, 1}, b I = 1, f I = {(0, 0), (1, 0)},
0
0
0
A I = {0, 1}, B I = ∅ y C I = {(0, 0), (1, 0)}.
Ejercicio 42 Demostrar o refutar las siguientes proposiciones:
1. Para toda fórmula F, toda subfórmula G de F y toda variable libre x de G, se tiene que x
es una variable libre de F.
2. Para toda fórmula F y toda fórmula G, se tiene (∃ x )[ F ∧ G ] ≡ (∃ x ) F ∧ (∃ x ) G.
3. Para ninguna fórmula F y ninguna fórmula G, se tiene (∃ x )[ F ∧ G ] ≡ (∃ x ) F ∧ (∃ x ) G.
Solución:
Apartado 1 Es falso como se observa tomando como F la fórmula (∀ x ) P( x ) y como
G la fórmula P( x ). Entonces, G es una subfórmula de F y x es una variable libre de G
que no es una variable libre de F.
Apartado 2 Es falso como se observa tomando como F la fórmula P( x ) y como G la
fórmula Q( x ). Entonces (∃ x )[ F ∧ G ] 6≡ (∃ x ) F ∧ (∃ x ) G ya que hay interpretaciones en
las que se verifica (∃ x ) P( x ) ∧ (∃ x ) Q( x ) y no se verifica (∃ x )[ P( x ) ∧ Q( x )]. Por ejemplo,
I = (U, I ) con U = {0, 1}, P I = {0} y Q I = {1}.
Apartado 2 Es falso como se observa tomando como F y G la misma fórmula. Otro
contraejemplo consiste en tomar como F ó G una fórmula en la que no ocurra la variable
x.
Ejercicio 43 Decidir, por resolución, si la fórmula
(∀ x )(∃y)(∀z)[ P(z, y) ↔ ¬ P(z, x )]
es consecuencia lógica de la fórmula
Examen de Septiembre de 2006
51
(∃y)(∀ x )[ P( x, y) ↔ P( x, x )].
Solución:
Lo decidiremos por resolución. Para ello calculamos las formas clausales de la hipótesis y de la negación de ls conclusión.
≡
≡
≡sat
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡sat
≡sat
≡
(∃y)(∀ x )[ P( x, y) ↔ P( x, x )]
(∃y)(∀ x )[( P( x, y) → P( x, x )) ∧ ( P( x, x ) → P( x, y)]
(∃y)(∀ x )[(¬ P( x, y) ∨ P( x, x )) ∧ (¬ P( x, x ) ∨ P( x, y)]
(∀ x )[(¬ P( x, a) ∨ P( x, x )) ∧ (¬ P( x, x ) ∨ P( x, a)]
{{¬ P( x, a), P( x, x )}, {¬ P( x, x ), P( x, a)}}
¬(∀ x )(∃y)(∀z)[ P(z, y) ↔ ¬ P(z, x )]
¬(∀ x )(∃y)(∀z)[( P(z, y) → ¬ P(z, x )) ∧ (¬ P(z, x ) → P(z, y))]
¬(∀ x )(∃y)(∀z)[(¬ P(z, y) ∨ ¬ P(z, x )) ∧ (¬¬ P(z, x ) ∨ P(z, y))]
(∃ x )(∀y)(∃z)[¬((¬ P(z, y) ∨ ¬ P(z, x )) ∧ ( P(z, x ) ∨ P(z, y)))]
(∃ x )(∀y)(∃z)[¬(¬ P(z, y) ∨ ¬ P(z, x )) ∨ ¬( P(z, x ) ∨ P(z, y))]
(∃ x )(∀y)(∃z)[(¬¬ P(z, y) ∧ ¬¬ P(z, x )) ∨ (¬ P(z, x ) ∧ ¬ P(z, y))]
(∃ x )(∀y)(∃z)[( P(z, y) ∧ P(z, x )) ∨ (¬ P(z, x ) ∧ ¬ P(z, y))]
(∃ x )(∀y)(∃z)[( P(z, y) ∨ (¬ P(z, x ) ∧ ¬ P(z, y))) ∧ ( P(z, x ) ∨ (¬ P(z, x ) ∧ ¬ P(z, y)))]
(∃ x )(∀y)(∃z)[( P(z, y) ∨ ¬ P(z, x )) ∧ ( P(z, y) ∨ ¬ P(z, y))∧
( P(z, x ) ∨ ¬ P(z, x )) ∧ ( P(z, x ) ∨ ¬ P(z, y))]
(∀y)(∃z)[( P(z, y) ∨ ¬ P(z, b)) ∧ ( P(z, y) ∨ ¬ P(z, y))∧
( P(z, b) ∨ ¬ P(z, b)) ∧ ( P(z, b) ∨ ¬ P(z, y))]
(∀y)[( P( f (y), y) ∨ ¬ P( f (y), b)) ∧ ( P( f (y), y) ∨ ¬ P( f (y), y))∧
( P( f (y), b) ∨ ¬ P( f (y), b)) ∧ ( P( f (y), b) ∨ ¬ P( f (y), y))]
{{ P( f (y), y), ¬ P( f (y), b)}, { P( f (y), y), ¬ P( f (y), y)},
{ P( f (y), b), ¬ P( f (y), b)}, { P( f (y), b), ¬ P( f (y), y)}}
La conclusión es consecuencia de la hipótesis syss el conjunto S formado por las
cláusulas obtenidas es inconsistente. Las cláusulas obtenidas son
C1 = {¬ P( x, a), P( x, x )}
C2 = {¬ P( x, x ), P( x, a)}
C3 = { P( f (y), y), ¬ P( f (y), b)}
C4 = { P( f (y), y), ¬ P( f (y), y)}
C5 = { P( f (y), b), ¬ P( f (y), b)}
C6 = { P( f (y), b), ¬ P( f (y), y)}
Para decidir la consistencia de S pueden ignorarse las cláusulas C4 y C5 porque son
tautológicas. Vamos a calcular la saturación de S por resolución.
En el primer paso, elegimos la cláusula C1 = {¬ P( x, a), P( x, x )} que no genera ninguna resolvente no–tautológica con las cláusulas elegidas.
En el segundo paso, elegimos la cláusula C2 = {¬ P( x, x ), P( x, a)} que no genera
ninguna resolvente no–tautológica con las cláusulas elegidas.
52
José A. Alonso: Soluciones de exámenes de “Lógica informática”
En el tercer paso, elegimos la cláusula C3 = { P( f (y), y), ¬ P( f (y), b)}. La única resolvente no–tautológica de C3 con las cláusulas elegidas es
C7 = {¬ P( f ( a), b), P( f ( a), f ( a))}
resolvente de C3 con C1 = {¬ P( x, a), P( x, x )} usando el unificador {y/a, x/ f ( a)}.
En el cuarto paso, elegimos la cláusula C6 = { P( f (y), b), ¬ P( f (y), y)}. La única resolvente no–tautológica de C6 con las cláusulas elegidas es
C8 = { P( f ( a), b), ¬ P( f ( a), f ( a))}
resolvente de C6 con C2 = {¬ P( x, x ), P( x, a)} usando el unificador {y/a, x/ f ( a)}.
En el quinto paso, elegimos la cláusula C7 = {¬ P( f ( a), b), P( f ( a), f ( a))}. Las resolventes no–tautológicas de C7 con las cláusulas elegidas son
{ P( f ( a), f ( a)), ¬ P( f ( a), a)} resolvente de C7 y C6 = { P( f (y), b), ¬ P( f (y), y)} con
unificador {y/a}. La resolvente está subsumida en C1 = {¬ P( x, a), P( x, x )} y se
elimina.
{¬ P( f ( a), b), P( f ( a), a)} resolvente de C7 y C2 = {¬ P( x, x ), P( x, a)} con unificador { x/ f ( a)}. La resolvente está subsumida en C3 = { P( f (y), y), ¬ P( f (y), b)} y
se elimina.
En el sexto paso, elegimos la cláusula C8 = { P( f ( a), b), ¬ P( f ( a), f ( a))}. Las resolventes no–tautológicas de C7 con las cláusulas elegidas son
{¬ P( f ( a), f ( a)), P( f ( a), a)} resolvente de C8 y C3 = { P( f (y), y), ¬ P( f (y), b)} con
unificador {y/a}. La resolvente está subsumida en C2 = {¬ P( x, x ), P( x, a)} y se
elimina.
{ P( f ( a), b), ¬ P( f ( a), a)} resolvente de C8 y C1 = {¬ P( x, a), P( x, x )} con unificador { x/ f ( a)}. La resolvente está subsumida en C6 = { P( f (y), b), ¬ P( f (y), y)} y
se elimina.
Se ha terminado la saturación sin encontrar la cláusula vacía. Por tanto, S es consistente y se verifica que (∃y)(∀ x )[ P( x, y) ↔ P( x, x )] 6|= (∀ x )(∃y)(∀z)[ P(z, y) ↔ ¬ P(z, x )]
Para obtener un contramodelo nos fijamos en las cláusulas que quedan después de
la saturación:
C1 = {¬ P( x, a), P( x, x )}
C2 = {¬ P( x, x ), P( x, a)}
C3 = { P( f (y), y), ¬ P( f (y), b)}
C6 = { P( f (y), b), ¬ P( f (y), y)}
C7 = {¬ P( f ( a), b), P( f ( a), f ( a))}
C8 = { P( f ( a), b), ¬ P( f ( a), f ( a))}
Un modelo de las cláusulas anteriores es I = (U, I ) con U = {0}, a I = 0, b I = 0,
f I = {(0, 0)} y P I = ∅. Se tiene que
I |= (∃y)(∀ x )[ P( x, y) ↔ P( x, x )]
I 6|= (∀ x )(∃y)(∀z)[ P(z, y) ↔ ¬ P(z, x )]
Examen de Septiembre de 2006
53
Ejercicio 44 Probar mediante deducción natural:
1. ( p → r ) ∨ (q → s) |= ( p ∧ q) → (r ∨ s)
2. {(∀ x )[ P( x ) → ( R( x ) → S( x ))], (∃ x )[ P( x ) ∨ ¬ R( x )]} |= (∃ x )[ R( x ) → S( x )]
Solución:
Apartado 1: ( p → r ) ∨ (q → s) |= ( p ∧ q) → (r ∨ s)
1
( p → r ) ∨ (q → s) Premisa
2
p∧q
Supuesto
3
p→r
Supuesto
4
p
E∧ 2
5
r
E→ 3, 4
6
r∨s
I∨ 5
7
q→s
Supuesto
8
q
E∧ 2
9
s
E→ 3, 4
10
r∨s
I∨ 5
11
r∨s
E∨ 1, 3 − 6, 7 − 10
12
( p ∧ q ) → (r ∨ s )
I→ 2 − 11
Apartado 2: {(∀ x )[ P( x ) → ( R( x ) → S( x ))], (∃ x )[ P( x ) ∨ ¬ R( x )]} |= (∃ x )[ R( x ) →
S( x )]
54
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
(∀ x )[ P( x ) → ( R( x ) → S( x ))] Premisa
2
(∃ x )[ P( x ) ∨ ¬ R( x )]
Premisa
3
actual i, P(i ) ∨ ¬ R(i )
Supuesto
4
P (i )
Supuesto
5
P(i ) → ( R(i ) → S(i ))
E∀ 1
6
R (i ) → S (i )
E→ 5, 4
7
¬ R (i )
Supuesto
8
R (i )
Supuesto
9
⊥
E¬ 7, 8
10
S (i )
E⊥ 9
11
R (i ) → S (i )
I→ 8 − 10
12
R (i ) → S (i )
E∨ 3, 4 − 6, 7 − 11
13
(∃ x )[ R( x ) → S( x )]
I∃ 12
14
(∃ x )[ R( x ) → S( x )]
E∃ 2, 3 − 13
Curso 2004–05
55
56
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Abril de 2005 (primer parcial)
Ejercicio 45 Sea F la fórmula p ∨ q ↔ ¬r. Calcular una forma normal conjuntiva de F y, a
partir de ella, determinar los contramodelos de F y decidir si F es una tautología.
Solución:
Cálculo de la forma normal conjuntiva:
≡
≡
≡
≡
p ∨ q ↔ ¬r
( p ∨ q → ¬r ) ∧ (¬r → p ∨ q)
(¬( p ∨ q) ∨ ¬r ) ∧ (¬¬r ∨ p ∨ q)
((¬ p ∧ ¬q) ∨ ¬r ) ∧ (r ∨ p ∨ q)
((¬ p ∨ ¬r ) ∧ (¬q ∨ ¬r )) ∧ (r ∨ p ∨ q)
[por (1)]
[por (2)]
[por (3) y (5)]
[por (7)]
Los contramodelos de F son
p q r
I1 1
1
I2
1 1
I3 0 0 0
Por tanto, F no es una tautología.
Ejercicio 46 Decidir, mediante deducción natural, si { p → r, r → ¬q} |= ¬( p ∧ q).
Solución:
1
p→r
premisa
2
r → ¬q
premisa
3
p∧q
supuesto
4
p
E∧ 3
5
q
E∧ 3
6
r
E→ 1, 4
7
¬q
E→ 2, 6
8
⊥
E¬ 7, 5
9
¬( p ∧ q)
I¬ 3 − 8
Ejercicio 47 Decidir, mediante tableros semánticos, si { p → r, q → r } |= p ∨ q → r.
Examen de Abril de 2005 (primer parcial)
57
Solución:
El problema se reduce a decidir si { p → r, q → r, ¬( p ∨ q → r )} es inconsistente; es
decir, si tiene un tablero completo cerrado.
1. p → r
2. q → r
3. ¬(( p ∨ q) → r )
4. p ∨ q (3)
5. ¬r (3)
6. ¬ p (1)
8. ¬q (2)
10. p (4)
Cerrada
7. r (1)
Cerrada
9. r (2)
Cerrada
11. q (4)
Cerrada
Como el tablero completo es cerrado, la relación de consecuencia se verifica.
Ejercicio 48 ¿Es cierto que si F → G y F son satisfacibles, entonces G es satisfacible? Si es
cierto, dar una explicación. Si no es cierto, dar un contraejemplo.
Solución:
Es falso. Un contraejemplo consiste en F := p y G := p ∧ ¬ p ya que entonces F → G
y F son satisfacibles (con el modelo I tal que I ( p) = 0) pero G es insatisfacible.
Ejercicio 49 Demostrar por deducción natural con Jape
1. p ∨ q, ¬q ∨ r ` p ∨ r.
2. ( p → q) → ((¬ p → q) → q).
Solución:
Solución del apartado 1. p ∨ q, ¬q ∨ r ` p ∨ r
58
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
p∨q
premisa
2
¬p ∨ r
premisa
3
p
supuesto
4
p∨r
I∨ 3
5
q
supuesto
6
¬q
supuesto
7
⊥
E¬ 6, 5
8
p∨r
E⊥ 7
9
r
supuesto
10
p∨r
I∨ 9
11
p∨r
E∨ 2, 6 − 8, 9 − 10
12
p∨r
E∨ 1, 3 − 4, 5 − 11
Solución del apartado 2. ` ( p → q) → ((¬ p → q) → q)
1
p→q
supuesto
2
¬p → q
supuesto
3
¬q
supuesto
4
¬p
MT1, 3
5
q
E→ 2, 4
6
⊥
E¬ 3, 5
7
q
RAA3 − 6
8
(¬ p → q) → q
I→ 2 − 7
9
( p → q) → ((¬ p → q) → q) I→ 1 − 8
Ejercicio 50 Demostrar por deducción natural con Jape
1. ( p ∨ (q → p)) ∧ q ` p.
2. ¬( p ∧ ¬q) ` p → q.
Solución:
Solución del apartado 1. ( p ∨ (q → p)) ∧ q ` p
Examen de Abril de 2005 (primer parcial)
59
1
( p ∨ (q → p)) ∧ q premisa
2
p ∨ (q → p)
E∧ 1
3
p
supuesto
4
q→p
supuesto
5
q
E∧ 1
6
p
E→ 4, 5
7
p
E∨ 2, 3 − 3, 4 − 6
Solución del apartado 2. ¬( p ∧ ¬q) ` p → q
1
¬( p ∧ ¬q)
premisa
2
p
supuesto
3
¬q
supuesto
4
p ∧ ¬q
I∧ 2, 3
5
⊥
E¬ 1, 4
6
q
RAA3 − 5
7
p→q
I→ 2 − 6
60
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2005 (segundo parcial)
Ejercicio 51 Decidir, mediante deducción natural, si
{(∀ x )[ R( x ) → Q( x )], (∃ x )[ P( x ) ∧ ¬ Q( x )]} |= (∃ x )[ P( x ) ∧ ¬ R( x )].
Ejercicio 52 Decidir, mediante resolución, si
{((∀ x ) P( x )) → ((∀ x ) Q( x ))} |= (∀ x )[ P( x ) → Q( x )]
En el caso de que no se verifique, obtener un contramodelo a partir de la resolución.
Ejercicio 53 Decidir, mediante resolución, si la siguiente fórmula es válida
¬(∀ x )(∀y)(∃z)[ R( x, y) ∧ ( R(y, z) → ¬ R(z, z))]
Obtener, a partir de la resolución, un contramodelo en el caso de que no sea válida.
Ejercicio 54 Decidir, mediante tableros semánticos, si
¬(∃ x ) P( x ) |= (∀y)[((∃z) P(z)) → P(y)].
Ejercicio 55 Demostrar por deducción natural con Jape
1. ∃ x.( P( x ) → ∀y.Q(y)) ` ∃ x.∀y.( P( x ) → Q(y))
2. ∃y.∃z.(∀ x.¬ R( x, y) ∨ ∀ x.¬ R( x, z)) ` ¬∀y.∀z.∃ x.( R( x, y) ∧ R( x, z))
Ejercicio 56 Demostrar por deducción natural con Jape
1. ∃ x.( P( x ) → ∀y.( P(y) → Q(y))), ¬∃ x.Q( x ) ` ¬∀ x.P( x )
2. ¬∃ x.( P( x ) ∧ ¬∀y.( Q(y) → R( x, y))), ∃ x.( P( x ) ∧ ∃y.¬ R( x, y)) ` ∃ x.¬ Q( x )
Examen de Junio de 2005
61
Examen de Junio de 2005
Ejercicio 57 Decidir, mediante tablero semántico, si
{¬ p → (q ∧ r )} |= q → p
En el caso de que no se verifique, obtener un contramodelo a partir del tablero.
Solución:
El tablero semántico correspondiente a la relación de consecuencia es
¬ p → (q ∧ r ), ¬(q → p)
¬ p → (q ∧ r ), q, ¬ p
¬¬ p, q, ¬ p
q ∧ r, q, ¬ p
Cerrada
r, q, ¬ p
Abierta
A partir de la hoja abierta {r, q, ¬ p} se tiene que la interpretación I tal que
I ( p) = 0, I (q) = 1, I (r ) = 1
es un contramodelo de la relación y, por tanto,
{¬ p → (q ∧ r )} 6|= q → p
Ejercicio 58 Decidir, mediante resolución, si
(∃ x )(∃y)[( R( x, y) ∨ P( x, y)) → (∀z)(∀w)[ R(z, w) ∧ Q(z, w)]]
es consecuencia lógica de
¬(∃ x )(∃y)[ Q( x, y) → P( x, y)]
En el caso de que no se verifique, obtener un contramodelo a partir de la resolución.
Solución:
En primer lugar se calcula la forma clausal de la premisa:
¬(∃ x )(∃y)[ Q( x, y) → P( x, y)]
≡ (∀ x )(∀y)¬( Q( x, y) → P( x, y))
≡ (∀ x )(∀y)[ Q( x, y) ∧ ¬ P( x, y)]
≡ {{ Q( x, y)}, {¬ P( x, y)}}
62
José A. Alonso: Soluciones de exámenes de “Lógica informática”
En segundo lugar se calcula la forma clausal de la negación de la conclusión:
≡
≡
≡
≡
≡
≡sat
≡sat
≡
≡
¬(∃ x )(∃y)[( R( x, y) ∨ P( x, y)) → (∀z)(∀w)[ R(z, w) ∧ Q(z, w)]]
(∀ x )(∀y)¬(( R( x, y) ∨ P( x, y)) → (∀z)(∀w)[ R(z, w) ∧ Q(z, w)])
(∀ x )(∀y)[( R( x, y) ∨ P( x, y)) ∧ ¬(∀z)(∀w)[ R(z, w) ∧ Q(z, w)]]
(∀ x )(∀y)[( R( x, y) ∨ P( x, y)) ∧ (∃z)(∃w)¬( R(z, w) ∧ Q(z, w))]
(∀ x )(∀y)[ R( x, y) ∨ P( x, y)] ∧ (∃z)(∃w)[¬ R(z, w) ∨ ¬ Q(z, w)]]
(∀ x )(∀y)[ R( x, y) ∨ P( x, y)] ∧ (∀ x )(∀y)(∃z)(∃w)[¬ R(z, w) ∨ ¬ Q(z, w)]
(∀ x )(∀y)[ R( x, y) ∨ P( x, y)] ∧ (∀ x )(∀y)(∃w)[¬ R( f ( x, y), w) ∨ ¬ Q( f ( x, y), w)]
(∀ x )(∀y)[ R( x, y) ∨ P( x, y)] ∧ (∀ x )(∀y)[¬ R( f ( x, y), g( x, y)) ∨ ¬ Q( f ( x, y), g( x, y))]
(∀ x )(∀y)[( R( x, y) ∨ P( x, y)) ∧ (¬ R( f ( x, y), g( x, y)) ∨ ¬ Q( f ( x, y), g( x, y)))]
{{ R( x, y), P( x, y)}}, {¬ R( f ( x, y), g( x, y)), ¬ Q( f ( x, y), g( x, y))}}
El problema de decidir si se verifica la relación de consecuencias se reduce al de
decidir si el conjunto S de las cláusulas obtenidas es inconsistente. Este último problema
se reduce a determinar si se puede obtener la cláusula vacía por resolución a partir de
S.
Veamos cómo puede obtenerse la cláusula vacía por resolución a partir de S. Los
elementos de S son
C1 := { Q( x, y)}
C2 := {¬ P( x, y)}
C3 := { R( x, y), P( x, y)}
C4 := {¬ R( f ( x, y), g( x, y)), ¬ Q( f ( x, y), g( x, y))}
Por resolución de C2 y C3 se obtiene
C5 := { R( x, y)}
Por resolución de C5 y C4 aplicando a C5 el renombramiento { x/x 0 , y/y0 } y usando el
unificador { x 0 / f ( x, y), y0 /g( x, y)} se obtiene
C6 := {¬ Q( f ( x, y), g( x, y))}
Por resolución de C6 y C1 aplicando a C1 el renombramiento { x/x 0 , y/y0 } y usando el
unificador { x 0 / f ( x, y), y0 /g( x, y)} se obtiene
C7 := Ejercicio 59 Demostrar o refutar las siguientes proposiciones:
1. Si F es una fórmula satisfacible, entonces todas las subfórmulas de F son satisfacibles.
2. Existen fórmulas válidas tales que todas sus subfórmulas son válidas.
Solución:
Solución del apartado 1: La proposición es falsa. Un contraejemplo es la fórmula
F := ¬( p ∧ ¬ p). La fórmula F es satisfacible (de hecho, F es válida) y la subfórmula
p ∧ ¬ p de F no es satisfacible.
Examen de Junio de 2005
63
Solución del apartado 2: La proposición es falsa ya que toda fórmula tiene alguna
subfórmula atómica y para cada fórmula atómica existe alguna interpretación en la que
no se verifica.
Ejercicio 60 Se sabe que:
Si todo el que estudia aprueba, entonces todo el que estudia recibe un regalo.
Hay quien estudia y no recibe ningún regalo.
No es verdad que todo el que estudia aprueba.
Formalizar los conocimientos anteriores y probar que el conjunto de fórmulas obtenidas es consistente, proporcionando una estructura que sea modelo de cada una de las fórmulas.
Solución:
Para la formalización, usaremos el siguiente lenguaje:
E( x ) : “x estudia”
A( x ) : “x aprueba”
R( x ) : “x recibe un regalo”
Las fórmulas correspondientes a los conocimientos del problema son:
(∀ x )[ E( x ) → A( x )] → (∀y)[ E(y) → R(y)]
(∃ x )[ E( x ) ∧ ¬ R( x )]
¬(∀ x )[ E( x ) → A( x )]
Buscaremos el modelo mediante el método de los tableros semánticos:
1. (∀ x )[ E( x ) → A( x )] → (∀y)[ E(y) → R(y)]
2. (∃ x )[ E( x ) ∧ ¬ R( x )]
3. ¬(∀ x )[ E( x ) → A( x )]
4.
6.
7.
8.
9.
10.
11.
¬(∀ x )[ E( x ) → A( x )] (1)
E ( a ) ∧ ¬ R ( a ) (2)
E ( a ) (6)
¬ R ( a ) (6)
¬( E(b) → A(b)) (3)
E ( b ) (9)
¬ A ( b ) (9)
5. (∀y)[ E(y) → R(y)] (1)
La rama izquierda es una rama completa y abierta. Por tanto, se puede extraer un
modelo a partir de dicha rama. El universo es U = { a, b} y la interpretación de las
64
José A. Alonso: Soluciones de exámenes de “Lógica informática”
relaciones es I ( E) = { a, b}, I ( A) = ∅, I ( R) = ∅. Además, al no distinguirse b de a
en las interpretaciones puede identificarse con a dando lugar a un nuevo modelo con
universo U 0 = { a} e interpretaciones I 0 ( E) = { a}, I 0 ( A) = ∅, I 0 ( R) = ∅.
Ejercicio 61 Probar mediante deducción natural:
1. p ∧ ¬(q → r ) ` ( p ∧ q) ∧ ¬r
2. ¬(∀ x ) P( x ) ` (∃ x )¬ P( x )
3. {(∀ x )(∀y)[((∃z) R(y, z)) → R( x, y)], (∃ x )(∃y) R( x, y)} ` (∀ x )(∀y) R( x, y)
Solución:
Solución del apartado 1: p ∧ ¬(q → r ) ` ( p ∧ q) ∧ ¬r
Examen de Junio de 2005
65
1
p ∧ ¬(q → r )
premisa
2
p
E∧ 1
3
¬q
supuesto
4
¬(q → r )
E∧ 1
5
q
supuesto
6
¬r
supuesto
7
⊥
E¬ 5, 3
8
r
RAA 6 − 7
9
q→r
I→ 5 − 8
10
⊥
E¬ 4, 9
11
q
RAA 3 − 10
12
p∧q
I∧ 2, 11
13
r
supuesto
14
¬(q → r )
E∧ 1
15
q
supuesto
16
r
hipotesis 13
17
q→r
I→ 15 − 16
18
⊥
E¬ 14, 17
19
¬r
I¬ 13 − 18
20
( p ∧ q ) ∧ ¬r
I∧ 12, 19
Solución del apartado 2: ¬(∀ x ) P( x ) ` (∃ x )¬ P( x )
66
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
¬(∀ x ) P( x )
premisa
2
¬(∃ x )¬ P( x )
supuesto
3
actual i
supuesto
4
¬ P (i )
supuesto
5
(∃ x )¬ P( x )
I∃ 4, 3
6
⊥
E¬ 2, 5
7
P (i )
RAA 4 − 6
8
(∀ x ) P( x )
I∀ 3 − 7
9
⊥
E¬ 1, 8
10
(∃ x )¬ P( x )
RAA 2 − 9
Solución del apartado 3:
{(∀ x )(∀y)[((∃z) R(y, z)) → R( x, y)], (∃ x )(∃y) R( x, y)} ` (∀ x )(∀y) R( x, y)
1
(∀ x )(∀y)[((∃z) R(y, z)) → R( x, y)] premisa
2
(∃ x )(∃y) R( x, y)
supuesto
3
actual a
supuesto
4
actual b
supuesto
5
actual c, (∃y) R(c, y)
supuestos
6
actual d, R(c, d)
supuestos
7
(∀y)[((∃z) R(y, z)) → R( a, y)]
E∀ 1, 3
8
((∃z) R(b, z)) → R( a, b)
E∀ 7, 4
9
(∀y)[((∃z) R(y, z)) → R(b, y)]
E∀ 1, 4
10
((∃z) R(c, z)) → R(b, c)]
E∀ 9, 5,1
11
R(b, c)
E→ 10, 5,2
12
(∃z) R(b, z)
I∃ 11, 5,1
13
R( a, b)
E→ 8, 12
14
R( a, b)
E∃ 5,2, 6 − 13
15
R( a, b)
E∃ 2, 5 − 14
16
(∀y) R( a, y)
I∀ 4 − 15
17
(∀ x )(∀y) R( x, y)
I∀ 3 − 16
Examen de Septiembre de 2005
67
Examen de Septiembre de 2005
Ejercicio 62 Decidir, mediante tablero semántico, si
1. {r → ¬( p ∧ ¬q), (( p → r ) → (¬q ↔ r )) ∧ ¬r } |= q
2. |= (( p → q) → r ) → (q → r )
En el caso de que no se verifique, obtener un contramodelo a partir del tablero.
Solución:
Apartado 1. El tablero correpondiente al primer apartado es
1. r → ¬( p ∧ ¬q)
2. (( p → r ) → (¬q ↔ r )) ∧ ¬r
3. ¬q
4. ( p → r ) → (¬q ↔ r )
(2)
5. ¬r
(2)
6. ¬( p → r ) (4)
8. p
(6)
9. ¬r
(6)
10. ¬r
(1)
Abierta
{ p, ¬q, ¬r }
7. ¬q ↔ r (4)
11. ¬( p ∧ ¬q) (1)
Puesto que el tablero tiene una rama abierta, resulta que
{r → ¬( p ∧ ¬q), (( p → r ) → (¬q ↔ r )) ∧ ¬r } 6|= q
Un contramodelo es la valoración v tal que v( p) = 1, v(q) = 0 y v(r ) = 0.
Apartado 2. El tablero correpondiente al segundo apartado es
68
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1.
2.
3.
4.
5.
¬((( p → q) → r ) → (q → r ))
( p → q) → r
¬(q → r )
q
¬r
6. ¬( p → q) (2)
8. p
(6)
9. ¬q
(6)
Cerrada
(4 y 9)
(1)
(1)
(3)
(3)
7. r
(2)
Cerrada
(5 y 7)
Puesto que el tablero es cerrado, resulta que
|= (( p → q) → r ) → (q → r )
Ejercicio 63 Decidir, mediante resolución, si
|= (∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]
En el caso de que no se verifique, obtener un contramodelo a partir de la resolución.
Solución:
La fórmula
(∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]
es válida syss
{¬(∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]}
es inconsistente. Para decidir su consistencia, empezamos calculando su forma clausular.
¬(∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]
≡
(∀ x )(∃y)(∃z)[¬(( P(y) → Q(z)) → ( P( x ) → Q( x )))]
≡
(∀ x )(∃y)(∃z)[( P(y) → Q(z)) ∧ ¬( P( x ) → Q( x ))]
≡
(∀ x )(∃y)(∃z)[(¬ P(y) ∨ Q(z)) ∧ ( P( x ) ∧ ¬ Q( x ))]
≡sat (∀ x )[(¬ P( f ( x )) ∨ Q( g( x ))) ∧ ( P( x ) ∧ ¬ Q( x ))]
≡
{{¬ P( f ( x )), Q( g( x ))}, { P( x )}, {¬ Q( x )}}
Una demostración por resolución es
Examen de Septiembre de 2005
1
2
3
4
5
{¬ P( f ( x )), Q( g( x ))}
{ P( x )}
{¬ Q( x )}
{ Q( g( x ))}
69
Hipótesis
Hipótesis
Hipótesis
Resolvente de 1 y 2 con θ2 = [ x/x2 ] y σ = [ x2 / f ( x )]
Resolvente de 3 y 4 con θ1 = [ x/x3 ] y σ = [ x3 /g( x )]
Al obtenerse la cláusula vacía por resolución a partir de la forma clausular de
{¬(∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]}
resulta que el conjunto es inconsistente y, por tanto,
|= (∃ x )(∀y)(∀z)[( P(y) → Q(z)) → ( P( x ) → Q( x )))]
Ejercicio 64 Demostrar o refutar las siguientes proposiciones:
1. Para todo conjunto de fórmula S y para toda fórmula F se verifica que si S 6|= F entonces
S |= ¬ F.
2. Para toda fórmula F se tiene que si G es una forma de Skolem de F entonces |= F ↔ G.
Solución:
Solución del apartado 1. El apartado 1 es falso. Un ejemplo que lo refuta consiste en
tomar como S el conjunto ∅ y como F la fórmula p, ya que ∅ 6|= p (un contramodelo es
la valoración v tal que v( p) = 0) y ∅ 6|= ¬ p (un contramodelo es la valoración v tal que
v( p) = 1).
Solución del apartado 2. El apartado 2 es falso. Un ejemplo que lo refuta consiste en
tomar como F la fórmula (∃ x ) P( x ) y como G la fórmula P( a), ya que 6|= (∃ x ) P( x ) ↔
P( a) (un contramodelo es la interpretación I = (U, I ) con U = {1, 2}, a I = 1 y P I =
{2}).
Ejercicio 65 En una pecera nadan una serie de peces. Se observa que:
1. Hay algún pez x que para cualquier pez y, si el pez x no se come al pez y entonces existe
un pez z tal que z es un tiburón o bien z protege al pez y.
2. No hay ningún pez que se coma a todos los demás.
3. Ningún pez protege a ningún otro.
Decidir, utilizando el método de resolución, si de las observaciones se deduce que existe algún
tiburón en la pecera.
(N OTA : En la formalización, usar el siguiente glosario C ( x, y) significa que “x se come a y”,
P( x, y) significa que “x protege a y” y T ( x ) significa que “x es un tiburón”.)
Solución:
La formalización de las observaciones y de la negación de la conclusión es:
70
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1. Hay algún pez x que para cualquier pez y, si el pez x no se come al pez y entonces
existe un pez z tal que z es un tiburón o bien z protege al pez y.
(∃ x )(∀y)[¬C ( x, y) → (∃z)[ T (z) ∨ P(z, y)]].
2. No hay ningún pez que se coma a todos los demás.
¬(∃ x )(∀y)C ( x, y).
3. Ningún pez protege a ningún otro.
¬(∃ x )(∃y) P( x, y).
4. No existe ningún tiburón en la pecera.
¬(∃ x ) T ( x ).
Para aplicar la resolución, se necesita calcular las formas clausulares de las fórmulas
anteriores.
(∃ x )(∀y)[¬C ( x, y) → (∃z)[ T (z) ∨ P(z, y)]]
≡
(∃ x )(∀y)[¬¬C ( x, y) ∨ (∃z)[ T (z) ∨ P(z, y)]]
≡
(∃ x )(∀y)[C ( x, y) ∨ (∃z)[ T (z) ∨ P(z, y)]]
≡
(∃ x )(∀y)(∃z)[C ( x, y) ∨ T (z) ∨ P(z, y)]
≡sat (∀y)(∃z)[C ( a, y) ∨ T (z) ∨ P(z, y)]
a constante de Skolem
≡sat (∀y)[C ( a, y) ∨ T ( f (y)) ∨ P( f (y), y)]
f función de Skolem
≡
{{C ( a, y), T ( f (y)), P( f (y), y)}}
≡
≡sat
≡
¬(∃ x )(∀y)C ( x, y)
(∀ x )(∃y)¬C ( x, y)
(∀ x )¬C ( x, g( x )) g función de Skolem
{{¬C ( x, g( x ))}}
¬(∃ x )(∃y) P( x, y)
≡ (∀ x )(∀y)¬ P( x, y)
≡ {{¬ P( x, y)}}
¬(∃ x ) T ( x )
≡ (∀ x )¬ T ( x )
≡ {{¬ T ( x )}}
Una demostración por resolución a partir de las cláusulas anteriores es
1
2
3
4
5
6
7
{C ( a, y), T ( f (y)), P( f (y), y)}
{¬C ( x, g( x ))}
{¬ P( x, y)}
{¬ T ( x )}
{C ( a, y), P( f (y), y)}
{ P( f ( g( a)), g( a))}
Hipótesis
Hipótesis
Hipótesis
Hipótesis
Resolvente de 4 y 1 con σ = [ x/ f (y)]
Resolvente de 5 y 2 con σ = [ x/a, y/g( a)]
Resolvente de 6 y 3 con σ = [ x/g( a), y/g( a)]
Examen de Septiembre de 2005
71
Por tanto, de las observaciones se deduce que existe algún tiburón en la pecera.
Ejercicio 66 Probar mediante deducción natural:
1. ` (( p → (q ∧ ¬r )) → p) → p
2. ∃ x.( P( x ) ∧ ¬ Q( x )) → ∀y.( P(y) → R(y)),
∃ x.( P( x ) ∧ S( x )),
∀ x.( P( x ) → ¬ R( x ))
` ∃ x.(S( x ) ∧ Q( x ))
3. ` ¬∃ x.∀y.( P(y, x ) ↔ ¬ P(y, y))
Solución:
Solución del apartado 1: ` (( p → (q ∧ ¬r )) → p) → p
1
p ∨ ¬p
LEM
2
p
supuesto
3
( p → (q ∧ ¬r )) → p
supuesto
4
p
hyp2
5
(( p → (q ∧ ¬r )) → p) → p I→ 3 − 4
6
¬p
supuesto
7
( p → (q ∧ ¬r )) → p
supuesto
8
¬( p → (q ∧ ¬r ))
MT6, 7
9
p
supuesto
10
⊥
E¬ 9, 6
11
q ∧ ¬r
E⊥ 10
12
p → ( q ∧ ¬r )
I→ 9 − 11
13
⊥
E¬ 12, 8
14
p
E⊥ 13
15
(( p → (q ∧ ¬r )) → p) → p I→ 7 − 14
16
(( p → (q ∧ ¬r )) → p) → p E∨ 1, 2 − 5, 6 − 15
Solución del apartado 2: ∃ x.( P( x ) ∧ ¬ Q( x )) → ∀y.( P(y) → R(y)),
∃ x.( P( x ) ∧ S( x )),
∀ x.( P( x ) → ¬ R( x ))
` ∃ x.(S( x ) ∧ Q( x ))
72
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
(∃ x )[ P( x ) ∧ ¬ Q( x )] → (∀y)[ P(y) → R(y)]
premisa
2
(∃ x )[ P( x ) ∧ S( x )]
premisa
3
(∀ x )[ P( x ) → ¬ R( x )]
premisa
4
actual i, P(i ) ∧ S(i )
supuesto
5
S (i )
E∧ 4
6
¬ Q (i )
supuesto
7
P (i )
E∧ 4
8
P (i ) ∧ ¬ Q (i )
I∧ 7, 6
9
(∃ x )[ P( x ) ∧ ¬ Q( x )]
I∃ 7, 6
10
(∀y)[ P(y) → R(y)]
E→ 1, 9
11
P (i ) → R (i )
E∀ 10, 4
12
P (i ) → ¬ R (i )
E∀ 3, 4
13
R (i )
E→ 11, 7
14
¬ R (i )
E→ 12, 7
15
⊥
E¬ 13, 14
16
Q (i )
RAA 6 − 15
17
S (i ) ∧ Q (i )
I∧ 5, 16
18
(∃ x )[S( x ) ∧ Q( x )]
I∃ 17, 4
19
(∃ x )[S( x ) ∧ Q( x )]
E∃ 2, 4 − 18
Solución del apartado 3: ` ¬∃ x.∀y.( P(y, x ) ↔ ¬ P(y, y))
Examen de Septiembre de 2005
73
1
(∃ x )(∀y)[ P(y, x ) ↔ ¬ P(y, y)]
supuesto
2
actual i, (∀y)[ P(y, i ) ↔ ¬ P(y, y)]
supuestos
3
P(i, i ) ↔ ¬ P(i, i )
E∀ 2
4
P(i, i ) ∨ ¬ P(i, i )
LEM
5
P(i, i )
supuesto
6
P(i, i ) → ¬ P(i, i )
E↔ 3
7
¬ P(i, i )
E→ 6, 5
8
⊥
E¬ 5, 7
9
¬ P(i, i )
supuesto
10
¬ P(i, i ) → P(i, i )
E↔ 3
11
P(i, i )
E→ 10, 9
12
⊥
E¬ 11, 9
13
⊥
E∨ 4, 5 − 8, 9 − 12
14
⊥
E∃ 1, 2 − 13
15
¬(∃ x )(∀y)[ P(y, x ) ↔ ¬ P(y, y)]
E¬ 1 − 14
74
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Diciembre de 2005
Ejercicio 67 Probar mediante deducción natural (usando Jape si lo deseas)
1. ` ( p → ¬q) ∧ ( p → ¬r ) → ( p → ¬(q ∨ r ))
2. ∀ x.(∃y.R( x, y) → ∃y.(∀z.R(y, z) ∧ R( x, y))), ∃ x.∃y.R( x, y) ` ∃ x.∀y.R( x, y)
3. ∀ x.( P( x ) → ∀y.( Q(y) → R( x, y))), ∃ x.( P( x ) ∧ ∃y.¬ R( x, y)) ` ¬∀ x.Q( x )
Solución:
Solución del apartado 1: ` ( p → ¬q) ∧ ( p → ¬r ) → ( p → ¬(q ∨ r ))
1
( p → ¬ q ) ∧ ( p → ¬r )
supuesto
2
p
supuesto
3
q∨r
supuesto
4
q
supuesto
5
p → ¬q
E∧ 1
6
¬q
E→ 5, 2
7
⊥
E¬ 4, 6
8
r
supuesto
9
p → ¬r
E∧ 1
10
¬r
E→ 9, 8
11
⊥
E¬ 8, 10
12
⊥
E∨ 3, 4 − 7, 8 − 11
13
¬(q ∨ r )
I¬ 3 − 12
14
p → ¬(q ∨ r )
I→ 2 − 13
15
( p → ¬q) ∧ ( p → ¬r ) → ( p → ¬(q ∨ r )) I→ 1 − 14
Solución del apartado 2:
∀ x.(∃y.R( x, y) → ∃y.(∀z.R(y, z) ∧ R( x, y))), ∃ x.∃y.R( x, y) ` ∃ x.∀y.R( x, y)
Examen de Diciembre de 2005
75
1
∀ x.(∃y.R( x, y) → ∃y.(∀z.R(y, z) ∧ R( x, y))) premisa
2
∃ x.∃y.R( x, y)
premisa
3
actual j, ∃y.R( j, y)
supuesto
4
∃y.R( j, y) → ∃y.(∀z.R(y, z) ∧ R( j, y))
E∀ 1, 2,1
5
∃y.(∀z.R(y, z) ∧ R( j, y))
E→ 4, 2,2
6
actual k, ∀z.R(k, z) ∧ R( j, k )
supuesto
7
∀z.R(k, z)
E∧ 6,2
8
∃ x.∀y.R( x, y)
I∃ 7
9
∃ x.∀y.R( x, y)
E∃ 6 − 8
10
∃ x.∀y.R( x, y)
E∃ 2, 3 − 9
Solución del apartado 3:
∀ x.( P( x ) → ∀y.( Q(y) → R( x, y))), ∃ x.( P( x ) ∧ ∃y.¬ R( x, y)) ` ¬∀ x.Q( x )
1
∀ x.( P( x ) → ∀y.( Q(y) → R( x, y))) premisa
2
∃ x.( P( x ) ∧ ∃y.¬ R( x, y))
premisa
3
∀ x.Q( x )
supuesto
4
actual i, P(i ) ∧ ∃y.¬ R(i, y)
supuesto
5
∃y.¬ R(i, y)
E∧ 4
6
actual j, ¬ R(i, j)
supuesto
7
P(i ) → ∀y.( Q(y) → R(i, y))
E∀ 1, 4,1
8
P (i )
E∧ 4,2
9
∀y.( Q(y) → R(i, y))
E→ 7, 8
10
Q( j) → R(i, j)
E∀ 9, 6,1
11
Q( j)
E∀ 3, 6,1
12
R(i, j)
E→ 10, 11
13
⊥
E¬ 5,2, 12
14
⊥
E∃ 5, 6 − 13
15
⊥
E∃ 2, 4 − 14
16
¬∀ x.Q( x )
I¬ 3 − 15
76
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Ejercicio 68 Mediante tableros semánticos, determinar cuáles de las siguientes fórmulas son
tautologías y calcular una forma normal conjuntiva de las que no lo sean.
1. ((¬ p → q) ∨ (¬q → r )) → (¬r → ( p ∨ q))
2. ((¬ p → q) ∨ (¬q → r )) → ((¬ p ∨ ¬q) → r )
Solución:
Solución del apartado 1: El árbol semántico correspondiente a la negación de la fórmula es
¬(((¬ p → q) ∨ (¬q → r )) → (¬r → ( p ∨ q)))
(¬ p → q) ∨ (¬q → r ), ¬(¬r → ( p ∨ q))
(¬ p → q) ∨ (¬q → r ), ¬r, ¬( p ∨ q)
(¬ p → q) ∨ (¬q → r ), ¬r, ¬ p, ¬q
¬ p → q, ¬r, ¬ p, ¬q
¬q → r, ¬r, ¬ p, ¬q
¬¬ p, ¬r, ¬ p, ¬q
q, ¬r, ¬ p, ¬q
¬¬q, ¬r, ¬ p, ¬q
r, ¬r, ¬ p, ¬q
Cerrada
Cerrada
Cerrada
Cerrada
Como todas las ramas son cerradas, la fórmula dada es una tautología.
Solución del apartado 2: El árbol semántico correspondiente a la negación de la
fórmula es
Examen de Diciembre de 2005
77
¬(((¬ p → q) ∨ (¬q → r )) → ((¬ p ∨ ¬q) → r ))
(¬ p → q) ∨ (¬q → r ), ¬((¬ p ∨ ¬q) → r )
(¬ p → q) ∨ (¬q → r ), ¬ p ∨ ¬q, ¬r
¬ p → q, ¬ p ∨ ¬q, ¬r
¬¬ p, ¬ p ∨ ¬q, ¬r
p, ¬ p ∨ ¬q, ¬r
p, ¬ p, ¬r
p, ¬q, ¬r
Cerrada
Abierta
¬q → r, ¬ p ∨ ¬q, ¬r
q, ¬ p ∨ ¬q, ¬r
q, ¬ p, ¬r
q, ¬q, ¬r
Abierta
Cerrada
¬¬q, ¬ p ∨ ¬q, ¬r
r, ¬ p ∨ ¬q, ¬r
q, ¬ p ∨ ¬q, ¬r
Cerrada
q, ¬ p, ¬r
q, ¬q, ¬r
Abierta
Cerrada
Como hay ramas abiertas, la forma dada no es tautología.
A partir del tablero podemos calcula una forma normal conjuntiva de la fórmula dada F. La fórmula inicial del tablero es ¬ F y las hojas abiertas son { p, ¬q, ¬r } y
{q, ¬ p, ¬r }. Por tanto,
¬ F ≡ ( p ∧ ¬ q ∧ ¬r ) ∨ ( q ∧ ¬ p ∧ ¬r )
Por consiguiente,
¬¬ F ≡ ¬(( p ∧ ¬q ∧ ¬r ) ∨ (q ∧ ¬ p ∧ ¬r ))
y
F ≡ (¬ p ∨ q ∨ r ) ∧ (¬q ∨ p ∨ r ))
Una forma normal conjuntiva de la fórmula ((¬ p → q) ∨ (¬q → r )) → ((¬ p ∨
¬q) → r ) es (¬ p ∨ q ∨ r ) ∧ (¬q ∨ p ∨ r ))
Ejercicio 69 Demostrar o refutar las siguientes proposiciones:
1. Sean G1 una forma normal disyuntiva de F1 y G2 una forma normal disyuntiva de F2 . Si
F1 y F2 son equivalentes, entonces G1 y G2 son fórmulas iguales.
2. Para toda fórmula F se tiene que si G1 es una forma normal conjuntiva de F y G2 es una
forma normal normal disyuntiva de F, entonces G1 y G2 son fórmulas distintas.
78
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Solución:
Solución del apartado 1: La proposición es falsa. Para obterner un contraejemplo
se condideran F1 como la fórmula p, F2 como la fórmula p, G1 como la fórmula p y G2
como la fórmula p ∨ q ∨ ¬q. Entonces, F1 y F2 son equivalentes, G1 es una forma normal
diyuntiva de F1 , G2 es una forma normal diyuntiva de F2 y G1 no es igual que G2 .
Solución del apartado 1: La proposición es falsa. Para obterner un contraejemplo se
condideran como F, G1 y G2 la fórmula p. Entonces, G1 es una forma normal conjuntiva
de F, G2 es una forma normal normal disyuntiva de F y G1 es igual que G2 .
Ejercicio 70 Consideremos los dos siguientes enunciados en castellano
E1 : Algunos robots sólo obedecen a los amigos del programador jefe.
E2 : Todos los robots obedecen a los amigos del programador jefe.
y las cuatro fórmulas que siguen
F1 : (∀ x )(∀y)[ P( x ) ∧ S(y, c) → R( x, y)]
F2 : (∃ x )[ P( x ) ∧ (∀y)[ R( x, y) → S(y, c)]]
F3 : (∀y)[S(y, c) → ¬(∃ x )[ P( x ) ∧ ¬ R( x, y)]]
F4 : (∃ x )(∀y)[ P( x ) ∧ ¬( R( x, y) ∧ ¬S(y, c))]
1. En una interpretación adecuada, dos de las fórmulas formalizan E1 y las otras dos formalizan E2 . Explicar cuál es la interpretación y cuáles son las fórmulas que corresponden a
cada uno de los dos enunciados.
2. Demostrar, calculando sus forma clausales, que las dos fórmulas correspondientes a E1 son
lógicamente equivalentes. Hacer lo mismo con las dos fórmulas correspondientes a E2 .
3. Consideremos ahora los nuevos enunciados:
E3 : Alvaro es amigo del programador jefe, pero Benito no le obedece.
E4 : Benito no es un robot.
Demostrar, mediante resolución, que E4 es consecuencia de E2 y E3 .
Solución:
Solución del apartado 1: La interpretación adecuada de los símbolos de las fórmulas
es
Examen de Diciembre de 2005
P( x )
R( x, y)
S( x, y)
c
79
: x es un robot
: x obedece a y
: x es amigo de y
: el programador jefe
Las fórmulas F1 y F3 representan el enunciado E2 y las fórmulas F2 y F4 representan el
enunciado E1 .
Solución del apartado 2: Para probar la equivalencia de las fórmulas que representan el enunciado E2 , calculamos una forma clausal de F1
(∀ x )(∀y)[ P( x ) ∧ S(y, c) → R( x, y)]
≡ (∀ x )(∀y)[¬( P( x ) ∧ S(y, c)) ∨ R( x, y)]
≡ (∀ x )(∀y)[(¬ P( x ) ∨ ¬S(y, c)) ∨ R( x, y)]
≡ {{¬ P( x ), ¬S(y, c), R( x, y)}}
y una forma clausal de F3
≡
≡
≡
≡
≡
≡
(∀y)[S(y, c) → ¬(∃ x )[ P( x ) ∧ ¬ R( x, y)]]
(∀y)[¬S(y, c) ∨ ¬(∃ x )[ P( x ) ∧ ¬ R( x, y)]]
(∀y)[¬S(y, c) ∨ (∀ x )[¬( P( x ) ∧ ¬ R( x, y))]]
(∀y)[¬S(y, c) ∨ (∀ x )[¬ P( x ) ∨ ¬¬ R( x, y)]]
(∀y)[¬S(y, c) ∨ (∀ x )[¬ P( x ) ∨ R( x, y)]]
(∀y)(∀ x )[¬S(y, c) ∨ (¬ P( x ) ∨ R( x, y))]
{{¬S(y, c), ¬ P( x ), R( x, y))}}
Puesto que
{{¬ P( x ), ¬S(y, c), R( x, y)}} = {{¬S(y, c), ¬ P( x ), R( x, y))}}
las fórmulas F1 y F3 son equivalentes.
Para probar la equivalencia de las fórmulas que representan el enunciado E1 , calculamos una forma clausal de F2
≡
≡
≡sat
≡
(∃ x )[ P( x ) ∧ (∀y)[ R( x, y) → S(y, c)]]
(∃ x )(∀y)[ P( x ) ∧ ( R( x, y) → S(y, c))]
(∃ x )(∀y)[ P( x ) ∧ (¬ R( x, y) ∨ S(y, c))]
(∀y)[ P( a1 ) ∧ (¬ R( a1 , y) ∨ S(y, c))]
{{ P( a1 )}, {¬ R( a1 , y), S(y, c)}}
y una forma clausal de F3
≡
≡
≡sat
≡
(∃ x )(∀y)[ P( x ) ∧ ¬( R( x, y) ∧ ¬S(y, c))]
(∃ x )(∀y)[ P( x ) ∧ (¬ R( x, y) ∨ ¬¬S(y, c))]
(∃ x )(∀y)[ P( x ) ∧ (¬ R( x, y) ∨ S(y, c))]
(∀y)[ P( a1 ) ∧ (¬ R( a1 , y) ∨ S(y, c))]
{{ P( a1 )}, {¬ R( a1 , y), S(y, c)}}
Puesto que
{{ P( a1 )}, {¬ R( a1 , y), S(y, c)}} = {{ P( a1 )}, {¬ R( a1 , y), S(y, c)}}
80
José A. Alonso: Soluciones de exámenes de “Lógica informática”
las fórmulas F1 y F3 son equivalentes.
Solución del apartado 3: Para la formalización ampliamos el vocabulario del apartado 1 introduciendo la constante a para representar a Alvaro y la constante b para
representar a Benito.
La formalización del enunciado E3 es
S( a, c) ∧ ¬ R(b, a)
y su forma clausal es
{{S( a, c)}, {¬ R(b, a)}}
Para demostrar E4 por resolución consideramos la formalización de su negación
¬¬ P(b)
y calculamos su forma clausal
{{ P(b)}}
Para demostrar mediante resolución, que E4 es consecuencia de E2 y E3 , basta demostrar que el conjunto formado por las formas clausales de E2 , E3 y la negación de E4
es inconsistente. Una demostración por resolución lineal es
1
2
3
4
5
6
7
{¬ P( x ), ¬S(y, c), R( x, y)}
{S( a, c)}
{¬ R(b, a)}
{ P(b)}
{¬ P(b), ¬S( a, c)}
{¬S( a, c)}
Hipótesis E2
Hipótesis E3
Hipótesis E3
Negación de E4
Resolvente de 3 y 1 con σ = { x/b, y/a}
Resolvente de 5 y 4
Resolvente de 6 y 2
Ejercicio 71 Se considera el siguiente argumento:
Todo deprimido que estima a un submarinista es listo.
Cualquiera que se estime a sí mismo es listo.
Ningún deprimido se estima a sí mismo.
Por tanto, ningún deprimido estima a un submarinista.
Decidir, utilizando el método de resolución, si el argumento es válido. Si no es válido encontrar
una interpretación en la que las premisas sean todas verdaderas y la conclusión sea falsa.
(N OTA : En la formalización, usar el siguiente vocabulario D ( x ) significa que x está deprimido,
S( x ) significa que x es submarinista, L( x ) significa que x es listo y E( x, y) significa que x estima
a y.)
Solución:
La formalización de Todo deprimido que estima a un submarinista es listo es
(∀ x )[ D ( x ) ∧ (∃y)[S(y) ∧ E( x, y)] → L( x )]
Examen de Diciembre de 2005
81
El cálculo de su forma clausal es
(∀ x )[ D ( x ) ∧ (∃y)[S(y) ∧ E( x, y)] → L( x )]
≡ (∀ x )[¬( D ( x ) ∧ (∃y)[S(y) ∧ E( x, y)]) ∨ L( x )]
≡ (∀ x )[(¬ D ( x ) ∨ ¬(∃y)[S(y) ∧ E( x, y)]) ∨ L( x )]
≡ (∀ x )[(¬ D ( x ) ∨ (∀y)¬(S(y) ∧ E( x, y))) ∨ L( x )]
≡ (∀ x )[(¬ D ( x ) ∨ (∀y)(¬S(y) ∨ ¬ E( x, y))) ∨ L( x )]
≡ (∀ x )(∀y)[(¬ D ( x ) ∨ (¬S(y) ∨ ¬ E( x, y))) ∨ L( x )]
≡ {{¬ D ( x ), ¬S(y), ¬ E( x, y), L( x )}}
La formalización de Cualquiera que se estime a sí mismo es listo es
(∀ x )[ E( x, x ) → L( x )]
El cálculo de su forma clausal es
(∀ x )[ E( x, x ) → L( x )]
≡ (∀ x )[¬ E( x, x ) ∨ L( x )]
≡ {{¬ E( x, x ), L( x )}}
La formalización de Ningún deprimido se estima a sí mismo es
¬(∃ x )[ D ( x ) ∧ E( x, x )]
El cálculo de su forma clausal es
¬(∃ x )[ D ( x ) ∧ E( x, x )]
≡ (∀ x )¬( D ( x ) ∧ E( x, x ))
≡ (∀ x )[¬ D ( x ) ∨ ¬ E( x, x )]
≡ {{¬ D ( x ), ¬ E( x, x )}}
La formalización de Ningún deprimido estima a un submarinista es
¬(∃ x )(∃y)[ D ( x ) ∧ S(y) ∧ E( x, y)]
El cálculo de la forma clausal de su negación es
¬¬(∃ x )(∃y)[ D ( x ) ∧ S(y) ∧ E( x, y)]
≡
(∃ x )(∃y)[ D ( x ) ∧ S(y) ∧ E( x, y)]
≡sat D ( a) ∧ S(b) ∧ E( a, b)
≡
{{ D ( a)}, {S(b)}, { E( a, b)}}
El argumento es válido syss el conjunto formado por las cláusulas anteriores es inconsistente. Lo haremos por resolución. En principio, las cláusulas usables son
1
2
3
4
5
6
{¬ D ( x ), ¬S(y), ¬ E( x, y), L( x )}
{¬ E( x, x ), L( x )}
{¬ D ( x ), ¬ E( x, x )}
{ D ( a)}
{S(b)}
{ E( a, b)}
y no hay ninguna cláusula usada.
En el paso 1 elegimos la cláusula más ligera de las usables, la 4, y al hacer resolución
con las usadas no se obtiene ninguna resolvente. Las usables son la 1, 2, 3, 5 y 6. La
82
José A. Alonso: Soluciones de exámenes de “Lógica informática”
usada es la 4.
En el paso 2 elegimos la cláusula más ligera de las usables, la 5, y al hacer resolución
con las usadas no se obtiene ninguna resolvente. Las usables son la 1, 2, 3 y 6. Las usadas
son la 4 y 5.
En el paso 3 elegimos la cláusula más ligera de las usables, la 6, y al hacer resolución
con las usadas no se obtiene ninguna resolvente. Las usables son la 1, 2 y 3. Las usadas
son la 4, 5 y 6.
En el paso 4 elegimos la cláusula más ligera de las usables, la 2, y al hacer resolución
con las usadas no se obtiene ninguna resolvente. Las usables son la 1 y 3. Las usadas
son la 2, 4, 5 y 6.
En el paso 5 elegimos la cláusula más ligera de las usables, la 3, y al hacer resolución
con las usadas se obtiene la resolvente
7 {¬ E( a, a)} Resolvente de 3 y 4 con σ = { x/a}
Las usables son la 1 y 7. Las usadas son la 2, 3, 4, 5 y 6.
En el paso 6 elegimos la cláusula más ligera de las usables, la 7, y al hacer resolución
con las usadas no se obtiene ninguna resolvente. Las usables son la 1. Las usadas son la
2, 4, 5, 6 y 7.
En el paso 7 elegimos la cláusula más ligera de las usables, la 1, y al hacer resolución
con las usadas se obtienen las resolventes
8 {¬S(y), ¬ E( a, y), L( a)} Resolvente de 1 y 4 con σ = { x/a}
9 {¬ D ( x ), ¬ E( x, b), L( x )} Resolvente de 1 y 5 con σ = {y/b}
10 {¬ D ( a), ¬S(b), L( a)}
Resolvente de 1 y 6 con σ = { x/a, y/b}
Las usables son la 8, 9 y 10. Las usadas son la 1, 2, 3, 4, 5, 6 y 7.
En el paso 8 elegimos la cláusula más ligera de las usables, la 10, y al hacer resolución
con las usadas se obtienen las resolventes
11 {¬S(b), L( a)} Resolvente de 10 y 4
12 {¬ D ( a), L( a)} Resolvente de 10 y 5
La cláusula 11 subsume a la 10. Las usables son la 8, 9, 11 y 12. Las usadas son la 1, 2, 3,
4, 5, 6 y 7.
En el paso 9 elegimos la cláusula más ligera de las usables, la 11, y al hacer resolución
con las usadas se obtienen la resolvente
13 { L( a)} Resolvente de 11 y 5
La cláusula 13 subsume a la 8, 11 y 12. Las usables son la 9 y 13. Las usadas son la 1, 2,
3, 4, 5, 6 y 7.
En el paso 10 elegimos la cláusula más ligera de las usables, la 13, y al hacer resolución con las usadas no se obtienen resolventes. Las usable es la 9. Las usadas son la 1, 2,
3, 4, 5, 6, 7 y 13.
En el paso 11 elegimos la cláusula más ligera de las usables, la 9, y al hacer resolución
con las usadas no se obtienen resolventes. No queda niguna usable. Las usadas son la
1, 2, 3, 4, 5, 6, 7, 9 y 13.
Examen de Diciembre de 2005
83
Al haber agotado el conjunto de cláusulas usables sin encontrar la cláusula vacía, el
conjunto es consistente y el argumento no es válido. A partir de las cláusulas usadas
1
2
3
4
5
6
7
9
13
{¬ D ( x ), ¬S(y), ¬ E( x, y), L( x )}
{¬ E( x, x ), L( x )}
{¬ D ( x ), ¬ E( x, x )}
{ D ( a)}
{S(b)}
{ E( a, b)}
{¬ E( a, a)}
{¬ D ( x ), ¬ E( x, b), L( x )}
{ L( a)}
Se construye una interpretación en la que las premisas sean todas verdaderas y la conclusión sea falsa; en efecto, la interpretación I = (U, I ) con dominio U = { a, b} y
D I = { a}, S I = {b}, L I = { a} y E I = {( a, b)} cumple las condiciones exigidas.
84
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Curso 2003–04
85
86
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2004
Ejercicio 72 Probar ( E ∨ F ) → G |= ( E → G ) ∧ ( F → G )
(a) Mediante deducción natural.
(b) Por resolución.
Solución:
Solución del apartado (a): Demostración por deducción natural:
1
(E ∨ F) → G
premisa
2
E
supuesto
3
E∨F
I∨ 2
4
G
E→ 1, 3
5
E→G
I→ 2 − 4
6
F
supuesto
7
E∨F
I∨ 6
8
G
E→ 1, 7
9
F→G
I→ 6 − 8
10
(E → G) ∧ ( F → G)
I∧ 5, 9
Solución del apartado (b): Demostración por resolución: En primer lugar se transforma la premisa a forma clausal:
≡
≡
≡
≡
(E ∨ F) → G
¬( E ∨ F ) ∨ G
[por (2)]
(¬ E ∧ ¬ F ) ∨ G
[por (4)]
(¬ E ∨ G ) ∧ (¬ F ∨ G ) [por (7)]
{{¬ E, G }, {¬ F, G }}
A continuación, se transforma la negación de la conclusión a forma clausal:
≡
≡
≡
≡
≡
≡
≡
¬(( E → G ) ∧ ( F → G ))
¬((¬ E ∨ G ) ∧ (¬ F ∨ G ))
¬(¬ E ∨ G ) ∨ ¬(¬ F ∨ G )
(¬¬ E ∧ ¬ G ) ∨ (¬¬ F ∧ ¬ G )
(E ∧ ¬G) ∨ ( F ∧ ¬G)
(( E ∧ ¬ G ) ∨ F ) ∧ (( E ∧ ¬ G ) ∨ ¬ G )
(( E ∨ F ) ∧ (¬ G ∨ F )) ∧ (( E ∨ ¬ G ) ∧ (¬ G ∨ ¬ G ))
{{ E, F }, {¬ G, F }, { E, ¬ G }, {¬ G }}
[por (2)]
[por (3)]
[por (4)]
[por (5)]
[por (6)]
[por (7)]
Examen de Junio de 2004
87
Finalmente, se construye una refutación de las cláusulas obtenidas:
1
2
3
4
5
6
7
8
9
10
{¬ E, G }
{¬ F, G }
{ E, F }
{¬ G, F }
{ E, ¬ G }
{¬ G }
{¬ E}
{¬ F }
{ F}
Resolvente de 1 y 6
Resolvente de 2 y 6
Resolvente de 3 y 7
Resolvente de 8 y 9
Ejercicio 73 El ejercicio tiene tres apartados.
(a) Pruébese que E → ( F → G ) 6|= ( E → F ) → G mediante tableros semánticos.
(b) Descríbanse todos los modelos de E → ( F → G ) que no son modelos de ( E → F ) → G.
(c) La fórmula E → ( F → G ) → ( E → F ) → G, ¿es una tautología? Razónese la respuesta.
Solución:
Solución del apartado (a): Demostración por tableros semánticos:
E → ( F → G ), ¬(( E → F ) → G )
E → ( F → G ), E → F, ¬ G
¬ E, E → F, ¬ G
¬ E, ¬ G
¬ E, F, ¬ G
Abierto
Abierto
F → G, E → F, ¬ G
¬ F, E → F, ¬ G
¬ F, ¬ E, ¬ G
¬ F, F, ¬ G
G, E → F, ¬ G
Cerrado
Abierto
Cerrado
Solución del apartado (b): Los modelos de E → ( F → G ) que no son modelos de la
fórmula ( E → F ) → G son los modelos de las hojas abiertas del árbol anterior; es decir,
cualquier interpretación I tal que I ( E) = 0 y I ( G ) = 0.
Solución del apartado (c): La fórmula E → ( F → G ) → ( E → F ) → G no es
88
José A. Alonso: Soluciones de exámenes de “Lógica informática”
una tautología, porque si lo fuera se tendría que E → ( F → G ) |= ( E → F ) → G en
contradicción con el apartado (a).
Ejercicio 74 Sea L un lenguaje de primer orden con un símbolo de predicado, Q, (de aridad
2) y un símbolo de función, f , (de aridad 1). Se considera la estructura I dada por: Universo:
{ a, b}, Q I = {( a, b), (b, a)}, f I ( a) = a y f I (b) = a. Decidir cuáles de las siguientes fórmulas
se satisfacen en la estructura:
1. (∀ x )[ Q( f ( x ), x ) → Q( x, x )]
2. (∃ x )[ Q( f ( x ), x ) → Q( x, x )]
Solución:
Solución para la primera fórmula:
I((∀ x )[ Q( f ( x ), x ) → Q( x, x )]) = V ⇔ I[x/a] ( Q( f ( x ), x ) → Q( x, x )) = V y
I[x/b] ( Q( f ( x ), x ) → Q( x, x )) = V
I[x/a] ( Q( f ( x ), x ) → Q( x, x )) = Q I ( f I ( a), a) → Q I ( a, a) =
= Q I ( a, a) → Q I ( a, a) =
=F→F=
=V
I[x/b] ( Q( f ( x ), x ) → Q( x, x )) = Q I ( f I (b), b) → Q I (b, b) =
= Q I ( a, b) → Q I (b, b) =
=V→F=
=F
Por tanto, I((∀ x )[ Q( f ( x ), x ) → Q( x, x )]) = F
Solución para la segunda fórmula:
I((∃ x )[ Q( f ( x ), x ) → Q( x, x )]) = V ⇔ I[x/a] ( Q( f ( x ), x ) → Q( x, x )) = V ó
I[x/b] ( Q( f ( x ), x ) → Q( x, x )) = V
I[x/a] ( Q( f ( x ), x ) → Q( x, x )) = V
Por tanto, I((∃ x )[ Q( f ( x ), x ) → Q( x, x )]) = V
Ejercicio 75 Sabemos que
1. Cualquiera que estudie lo suficiente aprueba todas las asignaturas.
2. Cuando alguien que celebra su cumpleaños en julio ha aprobado todas las asignaturas, se
le obsequia con un regalo.
3. Quien recibe un regalo sin estudiar lo suficiente, nunca es obsequiado con un móvil.
Examen de Junio de 2004
89
4. Pablo es un alumno que, a pesar de no estudiar lo suficiente, recibió un móvil como regalo.
Se pide:
(a) Formalizar los conocimientos anteriores teniendo en cuenta que los predicados del texto
se representan así: C ( x ) = “x celebra su cumpleaños en julio”; A( x ) = “x ha aprobado
todas las asignaturas”; S( x ) = “x estudia lo suficiente”; R( x, y) = “x recibe el regalo y”.
Y las constantes a y b representan respectivamente a Pablo y al móvil.
(b) Obtener el conjunto de cláusulas de las fórmulas anteriores y probar que es inconsistente
dando un subconjunto de su extensión de Herbrand que lo sea.
(c) Probar, mediante resolución, que el enunciado “Si Pablo recibe un móvil como regalo,
entonces ha aprobado todas las asignaturas” es consecuencia lógica de los enunciados 1
y 3.
Solución:
Solución del apartado (a): Formalización del discurso:
F1
F2
F3
F4
:
:
:
:
(∀ x )[S( x ) → A( x )]
(∀ x )[C ( x ) ∧ A( x ) → (∃y) R( x, y)]
(∀ x )[(∃y) R( x, y) ∧ ¬S( x ) → ¬ R( x, b)]
¬S( a) ∧ R( a, b)
Solución del apartado (b.1): Cálculo del conjunto de cláusulas de las fórmulas anteriores:
F1 : (∀ x )[S( x ) → A( x )]
≡
(∀ x )[¬S( x ) ∨ A( x )] [por (4)]
≡
{{¬S( x ), A( x )}}
[por (4)]
F2 :
≡
≡
≡
≡sat
≡
(∀ x )[C ( x ) ∧ A( x ) → (∃y) R( x, y)]
(∀ x )[¬(C ( x ) ∧ A( x )) ∨ (∃y) R( x, y)]
(∀ x )[(¬C ( x ) ∨ ¬ A( x )) ∨ (∃y) R( x, y)]
(∀ x )(∃y)[¬C ( x ) ∨ ¬ A( x ) ∨ R( x, y)]
(∀ x )[¬C ( x ) ∨ ¬ A( x ) ∨ R( x, f ( x ))]
{{¬C ( x ), ¬ A( x ), R( x, f ( x ))}}
F3 :
≡
≡
≡
≡
≡
≡
≡
(∀ x )[(∃y) R( x, y) ∧ ¬S( x ) → ¬ R( x, b)]
(∀ x )[¬((∃y) R( x, y) ∧ ¬S( x )) ∨ ¬ R( x, b)]
(∀ x )[(¬(∃y) R( x, y) ∨ ¬¬S( x )) ∨ ¬ R( x, b)]
(∀ x )[¬(∃y) R( x, y) ∨ S( x )) ∨ ¬ R( x, b)]
(∀ x )[((∀y)¬ R( x, y) ∨ S( x )) ∨ ¬ R( x, b)]
(∀ x )[(∀y)[¬ R( x, y) ∨ S( x )] ∨ ¬ R( x, b)]
(∀ x )(∀y)[¬ R( x, y) ∨ S( x ) ∨ ¬ R( x, b)]
{{¬ R( x, y), S( x ), ¬ R( x, b)}}
[por (4)]
[por (5)]
[por (18)]
[ f función de Skolem]
[por (4)]
[por (5)]
[por (7)]
[por (9)]
[por (12)]
[por (12)]
90
José A. Alonso: Soluciones de exámenes de “Lógica informática”
F4 :
≡
¬S( a) ∧ R( a, b)
{{¬S( a)}, { R( a, b)}}
Solución del apartado (b.2): Demostración de la inconsistencia del conjunto de cláusulas:
1
2
3
4
5
6
7
{¬S( x ), A( x )}
{¬C ( x ), ¬ A( x ), R( x, f ( x ))}
{¬ R( x, y), S( x ), ¬ R( x, b)}
{¬S( a)}
{ R( a, b)}
{S( a)}
Resolvente de 3 y 5 con σ1 = [ x/a, y/b]
Resolvente de 6 y 4 con σ2 = e
Por tanto, un subconjunto de su extensión de Herbrand inconsistente es el formado por
C3 σ1 = {¬ R( a, b), S( a)}
C5 σ1 = { R( a, b)}
C4 σ2 = {¬S( a)}
Solución del apartado (c): La formalización de la conclusión es
R( a, b) → A( a)
La forma clausal de su negación es
{{ R( a, b)}, {¬ A( a)}}
La demostración por resolución es
1
2
3
4
5
6
6
{¬S( x ), A( x )}
{¬ R( x, y), S( x ), ¬ R( x, b)}
{ R( a, b)}
{¬ A( a)}
{S( a)}
Resolvente de 3 y 5 con σ = [ x/a, y/b]
{ A( a)}
Resolvente de 5 y 1 con σ = [ x/a]
Resolvente de 6 y 4 con σ2 = e
Examen de Septiembre de 2004
91
Examen de Septiembre de 2004
Ejercicio 76 En un texto de Lewis Carroll, el tío Jorge y el tío Jaime discuten acerca de la
barbería del pueblo, atendida por tres barberos: Alberto, Benito y Carlos. Los dos tíos aceptan las
siguientes premisas:
1. Si Carlos no está en la barbería, entonces ocurrirá que si tampoco está Alberto, Benito
tendrá que estar para atender el establecimiento.
2. Si Alberto no está, tampoco estará Benito.
El tío Jorge concluye de todo esto que Carlos no puede estar ausente, mientras que el tío Jaime
afirma que sólo puede concluirse que Carlos y Alberto no pueden estar ausentes a la vez. Decidir
con el método de los tableros semánticos cuál de los dos tiene razón.
Solución:
En la representación del problema usaremos los siguientes símbolos proposicionales
a representa que Alberto está en la barbería
b representa que Benito está en la barbería
c representa que Carlos está en la barbería
Luego,
¬ a representa que Alberto está ausente
¬b representa que Benito está ausente
¬c representa que Carlos está ausente
Con dicha notación, la representación de la primera premisa es
¬c → (¬ a → b)
y la de la segunda es
¬ a → ¬b
La representación de la conclusión del tío Jorge es ¬¬c. Por tanto, el tío Jorge tiene
razón si
{¬c → (¬ a → b), ¬ a → ¬b} |= ¬¬c
o, equivalentemente, si {¬c → (¬ a → b), ¬ a → ¬b, ¬¬¬c} es inconsistente. Puesto que
el tablero del tío Jorge (figura 6) no es cerrado, el conjunto {¬c → (¬ a → b), ¬ a →
¬b, ¬c} es consistente (por ejemplo, es posible que Alberto esté en la barbería y Carlos
no esté). Por tanto, el tío Jorge no tiene razón.
La representación de la conclusión del tío Jaime es ¬(¬c ∧ ¬ a). Por tanto, el tío Jaime
tiene razón si
{¬c → (¬ a → b), ¬ a → ¬b} |= ¬(¬c ∧ ¬ a)
o, equivalentemente, si {¬c → (¬ a → b), ¬ a → ¬b, ¬¬(¬c ∧ ¬ a)} es inconsistente.
Puesto que el tablero del tío Jaime (figura 7) es cerrado, el conjunto {¬c → (¬ a →
b), ¬ a → ¬b, ¬¬(¬c ∧ ¬ a)} es inconsistente. Por tanto, el tío Jaime tiene razón.
Ejercicio 77 Probar que la fórmula ( E → ( F ∧ G )) → ( E → F ) ∨ ( E → G ) es una tautología
92
José A. Alonso: Soluciones de exámenes de “Lógica informática”
¬c → (¬ a → b), ¬ a → ¬b, ¬¬¬c
¬c → (¬ a → b), ¬ a → ¬b, ¬c
¬¬c, ¬ a → ¬b, ¬c
¬ a → b, ¬ a → ¬b, ¬c
Cerrada
¬¬ a, ¬ a → ¬b, ¬c
b, ¬ a → ¬b, ¬c
a, ¬ a → ¬b, ¬c
b, ¬¬ a, ¬c
b, ¬b, ¬c
Cerrada
a, ¬¬ a, ¬c
a, ¬b, ¬c
b, a, ¬c
a, ¬c
Abierta
Abierta
Abierta
Figura 6: Tablero del tío Jorge
¬c → (¬ a → b), ¬ a → ¬b, ¬¬(¬c ∧ ¬ a)
¬c → (¬ a → b), ¬ a → ¬b, ¬c ∧ ¬ a
¬c → (¬ a → b), ¬ a → ¬b, ¬c, ¬ a
¬¬c, ¬ a → ¬b, ¬c, ¬ a
¬ a → b, ¬ a → ¬b, ¬c, ¬ a
Cerrada
¬¬ a, ¬ a → ¬b, ¬c, ¬ a
Cerrada
b, ¬ a → ¬b, ¬c, ¬ a
b, ¬¬ a, ¬c, ¬ a
b, ¬b, ¬c, ¬ a
Cerrada
Cerrada
Figura 7: Tablero del tío Jaime
Examen de Septiembre de 2004
93
(a) Mediante deducción natural.
(b) Usando formas normales.
(c) Por tableros semánticos.
Solución:
Solución del apartado (a): Deducción natural:
1
(E → ( F ∧ G)
supuesto
2
E
supuesto
3
F∧G
E→ 1, 2
4
F
E∧ 3
5
E→F
I→ 2 − 4
6
(E → F) ∨ (E → G)
I∨ 5
7
( E → ( F ∧ G ) → ( E → F ) ∨ ( E → G ) I→ 1 − 6
Solución del apartado (b): Forma normal conjuntiva:
≡
≡
≡
≡
≡
≡
( E → ( F ∧ G )) → ( E → F ) ∨ ( E → G )
¬(¬ E ∨ ( F ∧ G )) ∨ (¬ E ∨ F ) ∨ (¬ E ∨ G )
(¬¬ E ∧ ¬( F ∧ G )) ∨ (¬ E ∨ F ) ∨ (¬ E ∨ G )
( E ∧ (¬ F ∨ ¬ G )) ∨ (¬ E ∨ F ) ∨ (¬ E ∨ G )
( E ∧ (¬ F ∨ ¬ G )) ∨ (¬ E ∨ F ∨ G )
( E ∨ (¬ E ∨ F ∨ G )) ∧ ((¬ F ∨ ¬ G ) ∨ (¬ E ∨ F ∨ G ))
( E ∨ ¬ E ∨ F ∨ G ) ∧ (¬ F ∨ ¬ G ∨ ¬ E ∨ F ∨ G )
[por (2)]
[por (4)]
[por (3) y (5)]
[por (7)]
Puesto que en cada una de las dos conjunciones hay un par de literales complementarios, la fórmula es una tautología.
Solución del apartado (c): Tablero semántico
94
José A. Alonso: Soluciones de exámenes de “Lógica informática”
¬(( E → ( F ∧ G )) → (( E → F ) ∨ ( E → G )))
E → ( F ∧ G ), ¬(( E → F ) ∨ ( E → G ))
E → ( F ∧ G ), ¬( E → F ), ¬( E → G )
E → ( F ∧ G ), E, ¬ F, ¬( E → G )
E → ( F ∧ G ), E, ¬ F, ¬ G
¬ E, E, ¬ F, ¬ G
F ∧ G, E, ¬ F, ¬ G
Cerrada
F, G, E, ¬ F, ¬ G
Cerrada
Ejercicio 78 Probar la inconsistencia del conjunto de fórmulas:
U = {¬ E → F ∨ G, E → F ∨ G, G → F, F → E, E → ¬ F }
(a) Demostrando que no tiene modelos.
(b) Por resolución
Solución:
Solución del apartado (a): Cálculo de modelos de U
E F G ¬E → F ∨ G E → F ∨ G G → F F → E E → ¬F
1 1 1
0
1 1 0
0
1 0 1
0
1 0 0
0
0 1 1
0
0 1 0
0
0 0 1
0
0 0 0
0
Puesto que cada una de las 8 interpretaciones falsifica alguna fórmula de U, el conjunto
U no tiene modelos.
Solución del apartado (b): Las formas clausales de las fórmulas de U son
Examen de Septiembre de 2004
95
¬E → F ∨ G
≡ ¬¬ E ∨ F ∨ G [por (2)]
≡ E∨F∨G
[por (5)]
≡ {{ E, F, G }}
E → F∨G
≡ ¬E ∨ F ∨ G
[por (2)]
≡ {{¬ E, F, G }}
G→F
≡ ¬G ∨ F
[por (2)]
≡ {{¬ G, F }}
F→E
≡ ¬F ∨ E
[por (2)]
≡ {{¬ F, E}}
E → ¬F
≡ ¬E ∨ ¬F
[por (2)]
≡ {{¬ E, ¬ F }}
Una refutación de U por resolución es
1
2
3
4
5
6
7
8
9
10
11
12
{ E, F, G }
{¬ E, F, G }
{¬ G, F }
{¬ F, E}
{¬ E, ¬ F }
{¬ F }
{¬ G }
{ E, G }
{ E}
{ F, G }
{G}
Resolvente de 4 y 5
Resolvente de 6 y 3
Resolvente de 1 y 6
Resolvente de 8 y 7
Resolvente de 2 y 10
Resolvente de 10 y 6
Resolvente de 11 y 7
Ejercicio 79 Sea L un lenguaje de primer orden con un símbolo de predicado P de aridad 2.
(a) Probar que las fórmulas (∀ x )(∃y) P( x, y) y (∃ x )(∀y) P( x, y) no son equivalentes dando
una estructura que sea modelo de la primera pero no de la segunda.
(b) En la estructura M cuyo universo es | M | = { a, b, c} y P M = {( a, a), ( a, b), ( a, c)},
¿cuáles de las siguientes fórmulas se satisfacen y cuáles no?
1. (∀ x )(∃y) P( x, y) → (∃ x )(∀y) P( x, y)
2. (∃ x )(∀y) P( x, y) → (∀ x )(∃y) P( x, y)
3. ¬[(∀ x )(∃y) P( x, y) ∧ (∃ x )(∀y) P( x, y)]
96
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Solución:
Solución del apartado (a): Basta encontrar un modelo de Herbrand de
S = {(∀ x )(∃y) P( x, y), ¬(∃ x )(∀y) P( x, y)}
Para ello calculamos una forma clausal del conjunto anterior
(∀ x )(∃y) P( x, y)
≡sat (∀ x ) P( x, f ( x )) [ f función de Skolem]
≡
{{ P( x, f ( x )}}
≡
≡sat
≡
¬(∃ x )(∀y) P( x, y)
(∀ x )(∃y)¬ P( x, y)
(∀ x )¬ P( x, g( x )) [g función de Skolem]
{{¬ P( x, g( x )}}
Una forma clausal de S es {{ P( x, f ( x )}, {¬ P( x, g( x )}}.
El universo de Herbrand de S es UH(S) = { a, f ( a), f ( f ( a)), . . . , g( a), g( g( a)), . . . }.
Un modelo de Herbrand de S es I = { P( x, f ( x )) : x ∈ UH(S)}.
Solución del apartado (b.1):
M((∀ x )(∃y) P( x, y) → (∃ x )(∀y) P( x, y)) =
H→ (M((∀ x )(∃y) P( x, y)), M((∃ x )(∀y) P( x, y)))
M((∀ x )(∃y) P( x, y)) = V
M[x/b] ((∃y) P( x, y)) = V
(1)
⇐⇒ M[x/a] ((∃y) P( x, y)) = V y
M[x/b] ((∃y) P( x, y)) = V y
M[x/c] ((∃y) P( x, y)) = V
(2)
⇐⇒ M[x/b,y/a] ( P( x, y)) = V o
M[x/b,y/b] ( P( x, y)) = V o
M[x/b,y/c ( P( x, y)) = V
(3)
M[x/b,y/a] ( P( x, y)) = P M (b, a) = F
(4)
M[x/b,y/b] ( P( x, y)) = P M (b, b) = F
(5)
M[x/b,y/c] ( P( x, y)) = P M (b, c) = F
(6)
De (3), (4), (5) y (6) se tiene
M[x/b] ((∃y) P( x, y)) = F
(7)
De (7) y (2) se tiene
M((∀ x )(∃y) P( x, y)) = F
(8)
Examen de Septiembre de 2004
97
De (8) y (1) se tiene
M((∀ x )(∃y) P( x, y) → (∃ x )(∀y) P( x, y)) = V
Solución del apartado (b.2):
M((∃ x )(∀y) P( x, y) → (∀ x )(∃y) P( x, y)) =
H→ (M((∃ x )(∀y) P( x, y)), M((∀ x )(∃y) P( x, y)))
M((∃ x )(∀y) P( x, y)) = V
M[x/a] ((∀y) P( x, y)) = V
(9)
⇐⇒ M[x/a] ((∀y) P( x, y)) = V o
M[x/b] ((∀y) P( x, y)) = V o
M[x/c] ((∀y) P( x, y)) = V
(10)
⇐⇒ M[x/a,y/a] ( P( x, y)) = V y
M[x/a,y/b] ( P( x, y)) = V y
M[x/a,y/c] ( P( x, y)) = V
(11)
M[x/a,y/a] ( P( x, y)) = P M ( a, a) = V
(12)
M[x/a,y/b] ( P( x, y)) = P M ( a, b) = V
(13)
M[x/a,y/c] ( P( x, y)) = P M ( a, c) = V
(14)
De (11), (12), (13) y (14) se tiene
M[x/a] ((∀y) P( x, y)) = V
(15)
De (10) y (15) se tiene
M((∃ x )(∀y) P( x, y)) = V
(16)
De (9), (16) y (8) se tiene
M((∃ x )(∀y) P( x, y) → (∀ x )(∃y) P( x, y)) = H→ (V, F) = F
Solución del apartado (b.3):
=
=
=
=
=
M(¬[(∀ x )(∃y) P( x, y) ∧ (∃ x )(∀y) P( x, y)])
H¬ (M((∀ x )(∃y) P( x, y) ∧ (∃ x )(∀y) P( x, y)))
H¬ ( H∧ (M((∀ x )(∃y) P( x, y)), M((∃ x )(∀y) P( x, y))))
H¬ ( H∧ (F, V))
H¬ (F)
V
[por (8) y (16)]
98
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Ejercicio 80 Decidir cuáles de las siguientes afirmaciones se cumplen. Para ello, dar una prueba
por resolución y otra por deducción natural de cada una de las válidas y calcular un modelo de
Herbrand de las que no lo son.
1. (∀ x ) P( x ) ∨ (∀ x ) Q( x ) |= (∀ x )[ P( x ) ∨ Q( x )]
2. (∀ x )[ P( x ) ∨ Q( x )] |= (∀ x ) P( x ) ∨ (∀ x ) Q( x )
3. (∃ x )[ P( x ) ∧ Q( x )] |= (∃ x ) P( x ) ∧ (∃ x ) Q( x )
Solución:
Solución del apartado (1): Para decidir si (∀ x ) P( x ) ∨ (∀ x ) Q( x ) |= (∀ x )[ P( x ) ∨
Q( x )], basta comprobar si S = {(∀ x ) P( x ) ∨ (∀ x ) Q( x ), ¬(∀ x )[ P( x ) ∨ Q( x )]} es inconsistente. Comprobaremos la inconsistencia de S por resolución. Para ello, comenzamos
calculando una forma clausal de S.
(∀ x ) P( x ) ∨ (∀ x ) Q( x )
≡
(∀ x ) P( x ) ∨ (∀y) Q(y)
≡
(∀ x )(∀y)[ P( x ) ∨ Q(y)]
≡
{{ P( x ), Q(y)}}
¬(∀ x )[ P( x ) ∨ Q( x )]
≡
(∃ x )¬( P( x ) ∨ Q( x ))
≡
(∃ x )[¬ P( x ) ∧ ¬ Q( x )]
≡sat ¬ P( a) ∧ ¬ Q( a)
≡
{{¬ P( a)}, {¬ Q( a)}}
Una demostración por resolución de S es
1
2
3
4
5
{ P( x ), Q(y)}
{¬ P( a)}
{¬ Q( a)}
{ Q( a)}
Resolvente de 1 y 2
Resolvente de 3 y 4
La demostración por deducción natural se muestra en la figura 8 (99).
Solución del apartado (2): Para decidir si (∀ x )[ P( x ) ∨ Q( x )] |= (∀ x ) P( x ) ∨ (∀ x ) Q( x )
basta comprobar si S = {(∀ x )[ P( x ) ∨ Q( x )], ¬((∀ x ) P( x ) ∨ (∀ x ) Q( x ))} es inconsistente.
Comprobaremos la inconsistencia de S por resolución. Para ello, comenzamos calculando una forma clausal de S.
(∀ x )[ P( x ) ∨ Q( x )]
≡ {{ P( x ), Q( x )}}
Examen de Septiembre de 2004
99
1
(∀ x ) P( x ) ∨ (∀ x ) Q( x ) premisa
2
∀ xP( x )
supuesto
3
actual i
supuesto
4
P (i )
E∀ 2, 3
5
P (i ) ∨ Q (i )
I∨ 4
6
(∀ x )[ P( x ) ∨ Q( x )]
I∀ 3 − 5
7
∀ xQ( x )
supuesto
8
actual j
supuesto
9
P( j)
E∀ 7, 8
10
P( j) ∨ Q( j)
I∨ 9
11
(∀ x )[ P( x ) ∨ Q( x )]
I∀ 7 − 10
12
(∀ x )[ P( x ) ∨ Q( x )]
E∨ 1, 2 − 6, 7 − 11
Figura 8: Deducción natural del ejercicio 5.1
≡
≡
≡
≡
≡sat
≡
¬((∀ x ) P( x ) ∨ (∀ x ) Q( x ))
¬((∀ x ) P( x ) ∨ (∀y) Q(y))
¬(∀ x ) P( x ) ∧ ¬(∀y) Q(y)
(∃ x )¬ P( x ) ∧ (∃y)¬ Q(y)
(∃ x )(∃y)[¬ P( x ) ∧ ¬ Q(y)]
¬ P( a) ∧ ¬ Q(b)
[a y b constantes de Skolem]
{{¬ P( a)}, {¬ Q(b)}}
Las cláusulas de la forma clausal de S son:
1 { P( x ), Q( x )}
2 {¬ P( a)}
3 {¬ Q(b)}
Veamos el proceso de saturación por resolución:
Al resolver 2 con 2 no se obtiene resolvente.
Al resolver 3 con 2 y 3 no se obtiene resolvente.
Al resolver 1 con 2, 3 y 1 se obtiene
4 { Q( a)} (resolvente de 1 y 2)
5 { P(b)} (resolvente de 1 y 3)
Al resolver 4 con 2, 3, 1 y 4 no se obtiene resolvente.
100
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Al resolver 5 con 2, 3, 1, 4 y 5 no se obtiene resolvente.
Al no obtenerse la cláusula vacía, se tiene que S es consistente y, por tanto,
(∀ x )[ P( x ) ∨ Q( x )] 6|= (∀ x ) P( x ) ∨ (∀ x ) Q( x ).
Además, un modelo de Herbrand de S es I = (U, I ) con U = { a, b}, P I = {b} y
Q I = { a }.
Solución del apartado (3): Para decidir si (∃ x )[ P( x ) ∧ Q( x )] |= (∃ x ) P( x ) ∧ (∃ x ) Q( x )
basta comprobar si S = {(∃ x )[ P( x ) ∧ Q( x )], ¬((∃ x ) P( x ) ∧ (∃ x ) Q( x )) es inconsistente.
Comprobaremos la inconsistencia de S por resolución. Para ello, comenzamos calculando una forma clausal de S.
(∃ x )[ P( x ) ∧ Q( x )]
≡sat P( a) ∧ Q( a)
≡
{{ P( a)}, { Q( a)}}
¬((∃ x ) P( x ) ∧ (∃ x ) Q( x ))
≡
¬((∃ x ) P( x ) ∧ (∃y) Q(y))
≡
¬(∃ x ) P( x ) ∨ ¬(∃y) Q(y)
≡
(∀ x )¬ P( x ) ∨ (∀y)¬ Q(y)
≡
(∀ x )(∀y)[¬ P( x ) ∨ ¬ Q(y)]
≡
{{¬ P( x ), ¬ Q(y)}}
Una demostración por resolución de S es
{ P( a)}
{ Q( a)}
{¬ P( x ), ¬ Q(y)}
{¬ Q(y)}
Resolvente de 1 y 3
Resolvente de 2 y 4
1
2
3
4
5
Demostración por deducción natural:
1
(∃ x )[ P( x ) ∧ Q( x )]
premisa
2
actual i, P(i ) ∧ Q(i )
supuestos
3
P (i )
E∧ 2
4
(∃ x ) P( x )
I∃ 3
5
Q (i )
E∧ 2
6
(∃ x ) Q( x )
I∃ 5
7
(∃ x ) P( x ) ∧ (∃ x ) Q( x ) I∧ 4, 6
8
(∃ x ) P( x ) ∧ (∃ x ) Q( x ) E∃ 1, 2 − 7
Curso 2002–03
101
102
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2003
Ejercicio 81 Consideremos los conjuntos de fórmulas:
S = { p → q, q ↔ r ∧ s, ¬s ∧ r → q, ¬q}
T = {q ∨ r, ¬q ∨ ¬r }
1. Probar, mediante tableros semánticos, que S es consistente.
2. Calcular, razonadamente, todos los modelos de S.
3. Probar, mediante resolución lineal, que S ∪ T es inconsistente.
4. Teniendo en cuenta los apartados anteriores, obtener una fórmula F, formada exclusivamente por las variables q y r, tal que: F 6∈ TAUT y S |= F.
Solución:
Solución del apartado 1: Un tablero semántico de S se muestra en la figura 9. Al
tener hojas abiertas, el conjunto S es consistente.
Solución del apartado 2: La hojas abiertas son
S1 = {¬ p, ¬q, ¬r, s}
S2 = {¬ p, ¬q, ¬r }
S3 = {¬ p, ¬q, ¬r, ¬s}
Por tanto, los modelos de S son las valoraciones v tales que v( p) = v(q) = v(r ) = 0.
Solución del apartado 3: En primer lugar, tenemos que calcular las formas clausales
de las fórmulas de S ∪ T.
p→q
≡ ¬p ∨ q
[por (2)]
≡ {{¬ p, q}}
q ↔ r∧s
≡ ( q → r ∧ s ) ∧ (r ∧ s → q )
≡ (¬q ∨ (r ∧ s)) ∧ (¬(r ∧ s) ∨ q)
≡ (¬q ∨ (r ∧ s)) ∧ ((¬r ∨ ¬s) ∨ q)
≡ ((¬q ∨ r ) ∧ (¬q ∨ s)) ∧ ((¬r ∨ ¬s) ∨ q)
≡ {{¬q, r }, {¬q, s}, {¬r, ¬s, q}}
¬s ∧ r → q ≡ ¬(¬s ∧ r ) ∨ q
≡ (¬¬s ∨ ¬r ) ∨ q
≡ ( s ∨ ¬r ) ∨ q
≡ {{s, ¬r, q}}
¬q
≡ {{¬q}}
q∨r
≡ {{q, r }}
¬ q ∨ ¬r
≡ {{¬q, ¬r }}
[por (1)]
[por (2)]
[por (3)]
[por (6)]
[por (2)]
[por (3)]
[por (5)]
Examen de Junio de 2003
103
p → q, q ↔ r ∧ s, ¬s ∧ r → q, ¬q
p → q, q → r ∧ s, r ∧ s → q, ¬s ∧ r → q, ¬q
¬ p, q → r ∧ s, r ∧ s → q, ¬s ∧ r → q, ¬q
q, . . . , ¬q
Cerrada
¬ p, q → r ∧ s, ¬(r ∧ s), ¬s ∧ r → q, ¬q
. . . , q, . . . , ¬q
Cerrada
¬ p, ¬(r ∧ s), ¬s ∧ r → q, ¬q
¬ p, r ∧ s, ¬(r ∧ s), ¬s ∧ r → q, ¬q
Cerrada
¬ p, ¬(r ∧ s), ¬(¬s ∧ r ), ¬q
¬ p, ¬(r ∧ s), q, ¬q
Cerrada
¬ p, ¬r, ¬(¬s ∧ r ), ¬q
¬ p, ¬s, ¬(¬s ∧ r ), ¬q
¬ p, ¬r, ¬¬s, ¬q
¬ p, ¬r, ¬q
¬ p, ¬s, ¬¬s, ¬q
¬ p, ¬s, ¬r, ¬q
¬ p, ¬r, s, ¬q
Abierta
Cerrada
Abierta
Abierta
Figura 9: Tablero
104
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Una resolución lineal con las cláusulas obtenidas es
1 {¬ p, q}
2 {¬q, r }
3 {¬q, s}
4 {¬r, ¬s, q}
5 {s, ¬r, q}
6 {¬q}
7 {q, r }
8 {¬q, ¬r }
9 {s, q}
Resolvente de 7 y 5
10 {q, ¬r }
Resolvente de 9 y 4
11 {q}
Resolvente de 10 y 7
12 Resolvente de 11 y 6
Solución del apartado 4: Puesto que en cualquier modelo v de S se verifica que
v(q) = v(r ) = 0, entonces la fórmula ¬q ∧ ¬r es una consecuencia no tautológica de S.
Ejercicio 82 Supongamos conocidos los siguientes hechos acerca del número de aprobados de
dos asignaturas A y B:
1. Si todos los alumnos aprueban la asignatura A, entonces todos aprueban la asignatura B.
2. Si algún delegado de la clase aprueba A y B, entonces todos los alumnos aprueban A.
3. Si nadie aprueba B, entonces ningún delegado aprueba A.
4. Si Manuel no aprueba B, entonces nadie aprueba B.
Se pide:
(a) Formalizar los enunciados anteriores en un lenguaje de primer orden usando los siguientes
símbolos de predicado: D ( x ): “x es un delegado”, Ap( x, y): “x aprueba la asignatura y”.
Las constantes a, b, m denotarán la asignatura A, la asignatura B y a Manuel, respectivamente.
(b) Obtener una forma clausal para el conjunto de fórmulas del apartado anterior.
(c) Probar, mediante resolución, que si Manuel es un delegado y aprueba la asignatura A,
entonces todos los alumnos aprueban las asignaturas A y B.
Solución:
Solución del apartado (a) Formalización:
1. Si todos los alumnos aprueban la asignatura A, entonces todos aprueban la asignatura B.
(∀ x ) Ap( x, a) → (∀y) Ap(y, b).
Examen de Junio de 2003
105
2. Si algún delegado de la clase aprueba A y B, entonces todos los alumnos aprueban
A.
(∃ x )[ D ( x ) ∧ Ap( x, a) ∧ Ap( x, b)] → (∀y) Ap(y, a).
3. Si nadie aprueba B, entonces ningún delegado aprueba A.
¬(∃ x ) Ap( x, b) → ¬(∃y)[ D (y) ∧ Ap(y, a)].
4. Si Manuel no aprueba B, entonces nadie aprueba B.
¬ Ap(m, b) → ¬(∃ x ) Ap( x, b).
Solución del apartado (b) Formas clausales:
1
2
3
4
{¬ Ap(c, a), Ap(y, b)}
{¬ D ( x ), ¬ Ap( x, a), ¬ Ap( x, b), Ap(y, a)}
{ Ap(d, b), ¬ D (y), ¬ Ap(y, a)}
{ Ap(m, b), ¬ Ap( x, b)}
donde c, d y e son constantes de Skolem.
Solución del apartado (c) Resolución:
Antes de hacer la resolución se formaliza la negación de la conclusión (Si Manuel
es un delegado y aprueba la asignatura A, entonces todos los alumnos aprueban las
asignaturas A y B):
¬( D (m) ∧ Ap(m, a) → (∀ x )[ Ap( x, a) ∧ Ap( x, b)])
y se calcula las cláusulas correspondientes:
5 { D (m)}
6 { Ap(m, a)}
7 {¬ Ap(e, a), ¬ Ap(e, b)}
La resolución es
106
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{¬ Ap(c, a), Ap(y, b)}
{¬ D ( x ), ¬ Ap( x, a), ¬ Ap( x, b), Ap(y, a)}
{ Ap(d, b), ¬ D (y), ¬ Ap(y, a)}
{ Ap(m, b), ¬ Ap( x, b)}
{ D (m)}
{ Ap(m, a)}
{¬ Ap(e, a), ¬ Ap(e, b)}
{ Ap(d, b), ¬ Ap(m, a)}
{ Ap(d, b)}
{ Ap(m, b)}
{¬ D (m), ¬ Ap(m, a), Ap(y, a)}
{¬ Ap(m, a), Ap(y, a)}
{ Ap(y, a)}
{ Ap(y, b)}
{¬ Ap(e, b)}
Resolvente de 5.1 y 3.2
Resolvente de 8.2 y 6.1
Resolvente de 9.1 y 4.2
Resolvente de 10.1 y 2.3
Resolvente de 11.1 y 5.1
Resolvente de 12.1 y 6.1
Resolvente de 13.1 y 1.1
Resolvente de 7.1 y 13.1
Resolvente de 15.1 y 14.1
Ejercicio 83 El ejercicio tiene dos apartados.
1. Consideramos el lenguaje L1 = { P, f , a, b, c} y el conjunto de fórmulas:
S = { P(c, a) → (∀z) P(z, b), (∀ x )[ P( f ( x ), x ) → (∀z) P(z, x )], ¬ P(b, c)}
Probar, proporcionando un modelo de Herbrand, que S 6|= P( f ( a), a) ∨ ¬ P( f (b), b).
2. Consideramos el lenguaje L2 = { a, b, P}. Sea F la fórmula
¬ P( x, a) ∧ ¬ P( x, b) ∧ (∃y)(∃z) P(y, z)
Probar que F es consistente y que NO tiene ningún modelo de Herbrand (en el lenguaje
L2 ). ¿Contradice esto el teorema de Herbrand?
Solución:
Solución del apartado (1): Las formas clausales de las fórmulas del problema son:
de P(c, a) → (∀z) P(z, b), S1 = {{¬ P(c, a), P(z, b)}};
de (∀ x )[ P( f ( x ), x ) → (∀z) P(z, x )], S2 = {{¬ P( f ( x ), x ), P(z, x )}};
de ¬ P(b, c), S3 = {{¬ P(b, c)}};
de ¬( P( f ( a), a) ∨ ¬ P( f (b), b)), S4 = {{¬ P( f ( a), a)}, { P( f (b), b)}}.
Vamos a calcular la saturación, por resolución y factorización, de S1 ∪ S2 ∪ S3 ∪ S4 .
Las cláusulas iniciales son
Examen de Junio de 2003
107
1 {¬ P(c, a), P(z, b)}
2 {¬ P( f ( x ), x ), P(z, x )}
3 {¬ P(b, c)}
4 {¬ P( f ( a), a)}
5 { P( f (b), b)}
Al resolver 3 con 3 no se obtiene resolvente.
Al resolver 4 con 3 y 4 no se obtiene resolvente.
Al resolver 5 con 3, 4 y 5 no se obtiene resolvente.
Al resolver 1 con 3, 4, 5 y 1 no se obtiene resolvente.
Al resolver 2 con 3, 4, 5, 1 y 2 se obtiene
6 { P(z, b)} (resolvente de 2 y 5) y
7 {¬ P( f (c), c)} (resolvente de 2 y 3)
La cláusula 6 subsume a la 1 y a la 5
Al resolver 6 con 3, 4, 2 y 6 no se obtiene resolvente.
Al resolver 7 con 3, 4, 2, 6 y 7 no se obtiene resolvente.
Por tanto, el saturado es
2 {¬ P( f ( x ), x ), P(z, x )}
3 {¬ P(b, c)}
4 {¬ P( f ( a), a)}
6 { P(z, b)}
7 {¬ P( f (c), c)}
El universo de Herbrand es UH = { a, f ( a), f ( f ( a)), . . . , b, f (b), f ( f (b)), . . . c, f (c), f ( f (c)), . . . }
y un modelo de Herbrand es I = { P(z, b) : z ∈ UH }.
Solución del apartado (2): Para demostrar que F es consistente basta mostrar una
estructura I deL2 y una asignación A en I tales que I A |= F. Sea I = (U, I ) con
U = {1, 2}, a I = 1, b I = 1 y P I = {(1, 2)}. Sea A tal que A( x ) = 1. Entonces, I A |= F
(ya que
I A ( F ) = I A (¬ P( x, a) ∧ ¬ P( x, b) ∧ (∃y)(∃z) P(y, z))
= I A (¬ P( x, a)) ∧ I A (¬ P( x, b)) ∧ I A ((∃y)(∃z) P(y, z))
=V
puesto que
I A (¬ P( x, a)) = ¬ P I ( A( x ), a I )
= ¬ P I (1, 1)
= ¬F
=V
I A (¬ P( x, b)) = ¬ P I ( A( x ), b I )
= ¬ P I (1, 1)
= ¬F
=V
108
José A. Alonso: Soluciones de exámenes de “Lógica informática”
I A ((∃y)(∃z) P(y, z)) = V porque
I A[y/1,z/2] ( P(y, z)) = P I (1, 2)
)
=V
Veamos que F no tiene ningún modelo de Herbrand (en el lenguaje L2 ). El universo
de Herbrand de L2 es UH = { a, b}, la base de Herbrand es BH = { P( a, a), P( a, b), P(b, a), P(b, b)}.
Las interpretaciones de Herbrand de L2 son los 16 subconjuntos de BH. Sea I una interpretación de Herbrand de L2 . Demostraremos que I 6|= F distinguiendo tres casos:
Caso 1: I = ∅. Entonces, I 6|= F (ya que ∅ 6|= (∃y)(∃z) P(y, z)).
Caso 2: P( a, a) ∈ I ó P(b, a) ∈ I. Entonces, I 6|= F (ya que I 6|= ¬ P( x, a)).
Caso 3: P( a, b) ∈ I ó P(b, b) ∈ I. Entonces, I 6|= F (ya que I 6|= ¬ P( x, b)).
El que F sea consistente y no tenga modelo de Herbrand no contradice el teorema de
Herbrand, ya que F no está en forma clausal (tiene un cuantificador existencial).
Examen de Septiembre de 2003
109
Examen de Septiembre de 2003
Ejercicio 84 Dadas las fórmulas A : (s → p) ∨ (t → q) y B : (s → q) ∨ (t → p), se pide:
1. Probar que A |= B:
(a) Mediante tableros semánticos.
(b) Mediante resolución por entradas.
2. Describir, razonadamente, todos los modelos de A y, a continuación, pruébese nuevamente
que A |= B, utilizando la definición de consecuencia lógica.
3. ¿Es ¬ B → ¬ A una tautología?
Solución:
Solución del apartado (1.a): El tablero semántico de { A, ¬ B} es
(s → p) ∨ (t → q), ¬((s → q) ∨ (t → p))
(s → p) ∨ (t → q), ¬(s → q), ¬(t → p)
(s → p) ∨ (t → q), s, ¬q, ¬(t → p)
(s → p) ∨ (t → q), s, ¬q, t, ¬ p
s → p, s, ¬q, t, ¬ p
¬s, s, ¬q, t, ¬ p
p, s, ¬q, t, ¬ p
Cerrada
Cerrada
Como todas las hojas son cerradas, A |= B.
t → q, s, ¬q, t, ¬ p
¬t, s, ¬q, t, ¬ p
q, s, ¬q, t, ¬ p
Cerrada
Cerrada
Solución del apartado (1.b): En primer lugar, calculamos la forma clausal de A
(s → p) ∨ (t → q) ≡ (¬s ∨ p) ∨ (¬t ∨ q) [por (2)]
≡ {{¬s, p, ¬t, q}}
y la forma clausal de ¬ B
110
José A. Alonso: Soluciones de exámenes de “Lógica informática”
¬((s → q) ∨ (t → p)) ≡ ¬((¬s ∨ q) ∨ (¬t ∨ p))
≡ ¬(¬s ∨ q) ∧ ¬(¬t ∨ p)
≡ (¬¬s ∧ ¬q) ∧ (¬¬t ∧ ¬ p)
≡ (s ∧ ¬q) ∧ (t ∧ ¬ p)
≡ {{s}, {¬q}, {t}, {¬ p}}
[por (2)]
[por (4)]
[por (4)]
[por (5)]
Una resolución por entradas de las cláusulas obtenidas es
1
2
3
4
5
6
7
8
9
{¬s, p, ¬t, q}
{s}
{¬q}
{t}
{¬ p}}
{ p, ¬t, q}
{¬t, q}
{q}
Resolvente de 1 y 2
Resolvente de 6 y 5
Resolvente de 6 y 4
Resolvente de 8 y 3
Solución del apartado 2: Para calcular los modelos de A construimos el tablero de
A:
(s → p) ∨ (t → q)
s→p
¬s
t→q
p
¬t
q
Abierta Abierta Abierta Abierta
Los modelos de A son las cuatro interpretaciones Ij tales que I1 (s) = 0, I2 ( p) = 1,
I3 (t) = 0 ó I4 (q) = 0. Como las cuatro son modelos de B, se tiene que A 6|= B.
Solución del apartado 3: En el apartado anterior encontramos una interpretación I 0
tal que I 0 ( A) = 1 y I 0 ( B) = 0. Para dicha interpretación,
I 0 (¬ B → ¬ A) = H→ ( I 0 (¬ B), I 0 (¬ A))
= H→ ( H¬ ( I 0 ( B)), H¬ ( I 0 ( A)))
= H→ ( H¬ (0), H¬ (1))
= H→ (1, 0))
=0
Por tanto, ¬ B → ¬ A no es una tautología.
Ejercicio 85 Este ejercicio tiene dos apartados.
Examen de Septiembre de 2003
111
1. Hallar las formas prenexa, de Skolem y clausal de la fórmula:
¬(∃ x )(∀z)[ P( x ) → ¬ Q(z)] ∨ ((∃z) A(y, z) → (∃u) B(y, u))
2. Consideremos el lenguaje L1 = { P, f , a, b} y el conjunto de fórmulas:
S = {(∀ x )[ P( a, x ) → P(b, f ( x ))], (∀ x )[ P( f ( x ), x ) → (∀z) P(z, b)], P( a, f ( a)) ∧
P( f (b), b)}
Probar, proporcionando un modelo de Herbrand, que S 6|= (∃ x )[ P( x, a) ∧ P( f ( x ), b)].
Solución:
Solución del apartado 1:
1.– Forma prenexa:
≡
≡
≡
≡
≡
≡
¬(∃ x )(∀z)[ P( x ) → ¬ Q(z)] ∨ ((∃z) A(y, z) → (∃u) B(y, u))
¬(∃ x )(∀z)[ P( x ) → ¬ Q(z)] ∨ ((∃v) A(y, v) → (∃u) B(y, u))
¬(∃ x )(∀z)[¬ P( x ) ∨ ¬ Q(z)] ∨ (¬(∃v) A(y, v) ∨ (∃u) B(y, u))
(∀ x )(∃z)¬(¬ P( x ) ∨ ¬ Q(z)) ∨ ((∀v)¬ A(y, v) ∨ (∃u) B(y, u))
(∀ x )(∃z)[¬¬ P( x ) ∧ ¬¬ Q(z)] ∨ ((∀v)¬ A(y, v) ∨ (∃u) B(y, u))
(∀ x )(∃z)[ P( x ) ∧ Q(z)] ∨ ((∀v)¬ A(y, v) ∨ (∃u) B(y, u))
(∃u)(∀ x )(∃z)(∀v)[( P( x ) ∧ Q(z)) ∨ (¬ A(y, v) ∨ B(y, u))]
2.– Forma de Skolem:
(∃u)(∀ x )(∃z)(∀v)[( P( x ) ∧ Q(z)) ∨ (¬ A(y, v) ∨ B(y, u))]
≡sat (∃y)(∃u)(∀ x )(∃z)(∀v)[( P( x ) ∧ Q(z)) ∨ (¬ A(y, v) ∨ B(y, u))]
≡sat (∃u)(∀ x )(∃z)(∀v)[( P( x ) ∧ Q(z)) ∨ (¬ A(c, v) ∨ B(c, u))]
≡sat (∀ x )(∃z)(∀v)[( P( x ) ∧ Q(z)) ∨ (¬ A(c, v) ∨ B(c, d))]
≡sat (∀ x )(∀v)[( P( x ) ∧ Q( f ( x ))) ∨ (¬ A(c, v) ∨ B(c, d))]
[por (2)]
[por (4)]
[por (8) y (9)]
[por (5)]
[por (7)]
[por (11)–(18)]
[cierre existencial]
[c constante de Skolem]
[d constante de Skolem]
[ f función de Skolem]
3.– Forma clausual:
(∀ x )(∀v)[( P( x ) ∧ Q( f ( x ))) ∨ (¬ A(c, v) ∨ B(c, d))]
≡
(∀ x )(∀v)[( P( x ) ∨ ¬ A(c, v) ∨ B(c, d)) ∧ [( Q( f ( x )) ∨ ¬ A(c, v) ∨ B(c, d))] [por (20)]
≡
{{( P( x ), ¬ A(c, v), B(c, d)}, { Q( f ( x )), ¬ A(c, v), B(c, d)}}
Solución del apartado 2: Las formas clausales de las fórmulas del problema son:
de (∀ x )[ P( a, x ) → P(b, f ( x ))], S1 = {{¬ P( a, x ), P(b, f ( x ))}};
de (∀ x )[ P( f ( x ), x ) → (∀z) P(z, b)], S2 = {{¬ P( f ( x ), x ), P(z, b)}};
de P( a, f ( a)) ∧ P( f (b), b), S3 = {{ P( a, f ( a))}, { P( f (b), b)}};
de ¬(∃ x )[ P( x, a) ∧ P( f ( x ), b), S4 = {{¬ P( x, a), ¬ P( f ( x ), b)}}.
Vamos a calcular la saturación, por resolución y factorización, de S1 ∪ S2 ∪ S3 ∪ S4 .
Las cláusulas iniciales son
112
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1 {¬ P( a, x ), P(b, f ( x ))}
2 {¬ P( f ( x ), x ), P(z, b)}
3 { P( a, f ( a))}
4 { P( f (b), b)}
5 {¬ P( x, a), ¬ P( f ( x ), b)}
Al resolver 3 con 3 no se obtiene resolvente.
Al resolver 4 con 3 y 4 no se obtiene resolvente.
Al resolver 1 con 3, 4 y 1 se obtiene
6 { P(b, f ( f ( a)))} (resolvente de 1 y 3).
Al resolver 6 con 3, 4, 1 y 6 no se obtiene resolvente.
Al resolver 2 con 3, 4, 1, 6 y 2 se obtiene
7 { P(z, b)} (resolvente de 2 y 4) y
8 {− P( f ( x ), x ), P(b, f (b))} (resolvente de 2 y 1).
La cláusula 7 subsume a la 2 y a la 4.
Al resolver 7 con 3, 1, 6 y 7 se obtiene
9 { P(b, f (b))} (resolvente de 7 y 1)
La cláusula 9 subsume a la 8
Al resolver 9 con 3, 1, 6, 7 y 9 no se obtiene resolventes.
Al resolver 5 con 3, 1, 6, 7, 9 y 5 se obtiene
10 {¬ P( x, a)} (resolvente de 5 y 7) La cláusula 10 subsume a la 5
Por tanto, el saturado es
1 {¬ P( a, x ), P(b, f ( x ))}
3 { P( a, f ( a))}
6 { P(b, f ( f ( a)))}
7 { P(z, b)}
9 { P(b, f (b))}
10 {¬ P( x, a)}
El universo de Herbrand es UH = { a, f ( a), f ( f ( a)), . . . , b, f (b), f ( f (b)), . . . } y un
modelo de Herbrand es I = { P( a, f ( a)), P(b, f ( f ( a))), P(b, f (b)), P(z, b) : z ∈ UH }
Ejercicio 86 Consideremos los siguientes hechos acerca de la sucesión de los integrantes de la
monarquía inglesa:
1. El primogénito de un rey hereda la corona de dicho rey.
2. Si alguien derrota a un rey entonces hereda su corona.
3. Si alguien hereda la corona de un rey entonces se convierte en rey.
4. Enrique VIII era el primogénito de Enrique VII.
5. Ricardo III era rey y Enrique VII derrotó a Ricardo III.
Examen de Septiembre de 2003
113
Se pide:
(a) Formalizar los enunciados anteriores en un lenguaje de primer orden usando los símbolos de predicado: D ( x, y): x derrota a y, H ( x, y): x hereda la corona de y, R( x ): x es
rey, P( x, y): x es el primogénito de y. Las constantes a, b, c denotarán, respectivamente, a
Ricardo III, Enrique VII y Enrique VIII.
(b) A partir de la información anterior, probar, mediante resolución, que Enrique VIII fue rey.
Solución:
Solución del apartado (a) La formalización del problema es:
1. El primogénito de un rey hereda la corona de dicho rey:
(∀ x )(∀y)[ R(y) ∧ P( x, y) → H ( x, y)].
2. Si alguien derrota a un rey entonces hereda su corona:
(∀ x (∀y)[ D ( x, y) ∧ R(y) → H ( x, y)].
3. Si alguien hereda la corona de un rey entonces se convierte en rey :
(∀ x )[(∃y)[ R(y) ∧ H ( x, y)] → R( x )].
4. Enrique VIII era el primogénito de Enrique VII:
P(c, b).
5. Ricardo III era rey y Enrique VII derrotó a Ricardo III:
R( a) ∧ D (b, a).
Solución del apartado (b) Resolución:
Para realizar la refutación tenemos que formalizar la negación de la conclusión y
obtener las correspondientes formas clausales.
La formalización de la negación de la conclusión es ¬ R(c).
Las cláusulas correspondientes a los hechos y a la negación de la conclusión son
1 {¬ R(y), ¬ P( x, y), H ( x, y)}
2 {¬ D ( x, y), ¬ R(y), H ( x, y)}
3 {¬ R(y), ¬ H ( x, y), R( x )}
4 { P(c, b)}
5 { R( a)}
6 { D (b, a)}
7 {¬ R(c)}
Una refutación es
114
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{¬ R(y), ¬ P( x, y), H ( x, y)}
{¬ D ( x, y), ¬ R(y), H ( x, y)}
{¬ R(y), ¬ H ( x, y), R( x )}
{ P(c, b)}
{ R( a)}
{ D (b, a)}
{¬ R(c)}
{¬ R(y), ¬ H (c, y)}
{¬ R(y), ¬ P(c, y)}
{¬ R(b)}
{¬ R(y), ¬ H (b, y)}
{¬ H (b, a)}
{¬ D (b, a), ¬ R( a)}
{¬ R( a)}
.
Resolvente 7.1 y 3.3
Resolvente 8.2 y 1.3
Resolvente 9.2 y 4.1
Resolvente 10.1 y 3.3
Resolvente 11.1 y 5.1
Resolvente 12.1 y 2.3
Resolvente 13.1 y 6.1
Resolvente 14.1 y 5.1
Examen de Diciembre de 2003
115
Examen de Diciembre de 2003
Ejercicio 87 Sean F y G las siguientes fórmulas:
F : ( p → q) ∧ ((r → ¬t) ∧ (q → r ))
G : ¬(¬t ↔ (¬t ∧ p)) → ¬( p → ¬t)
1. Probar mediante un tablero semántico que F → ( p → ¬t) es una tautología.
2. Utilizando una forma normal, probar que G es satisfactible.
3. Probar mediante resolución que { F, G } |= r → p.
Solución:
Solución del apartado 1: El tablero semántico de ¬( F → ( p → ¬t)) se muestra en la
figura 10. Al ser todas las hojas cerradas, F → ( p → ¬t) es una tautología.
¬((( p → q) ∧ (r → ¬t) ∧ (q → r )) → ( p → ¬t))
( p → q) ∧ (r → ¬t) ∧ (q → r ), ¬( p → ¬t)
p → q, (r → ¬t) ∧ (q → r ), ¬( p → ¬t)
p → q, r → ¬t, q → r, ¬( p → ¬t)
p → q, r → ¬t, q → r, p, ¬¬t
p → q, r → ¬t, q → r, p, t
p → q, ¬r, q → r, p, t
p → q, ¬t, q → r, p, t
Cerrada
¬ p, ¬r, q → r, p, t
Cerrada
q, ¬r, q → r, p, t
q, ¬r, ¬q, p, t
q, ¬r, r, p, t
Cerrada
Cerrada
Figura 10: Tablero
116
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Solución del apartado 2: Demostraremos la satisfacibilidad de G calculando una
FND (forma normal disyuntiva) de G:
¬(¬t ↔ (¬t ∧ p)) → ¬( p → ¬t)
≡ ¬((¬t → (¬t ∧ p)) ∧ ((¬t ∧ p) → ¬t)) → ¬( p → ¬t)
≡ ¬¬((¬¬t ∨ (¬t ∧ p)) ∧ (¬(¬t ∧ p) ∨ ¬t)) ∨ ¬(¬ p ∨ ¬t)
≡ ((t ∨ (¬t ∧ p)) ∧ (¬(¬t ∧ p) ∨ ¬t)) ∨ ¬(¬ p ∨ ¬t)
≡ ((t ∨ (¬t ∧ p)) ∧ ((¬¬t ∨ ¬ p) ∨ ¬t)) ∨ (¬¬ p ∧ ¬¬t)
≡ ((t ∨ (¬t ∧ p)) ∧ ((t ∨ ¬ p) ∨ ¬t)) ∨ ( p ∧ t)
≡ ((t ∨ (¬t ∧ p)) ∧ V) ∨ ( p ∧ t)
≡ t ∨ (¬t ∧ p) ∨ ( p ∧ t)
[por (1)]
[por (2)]
[por (5)]
[por (3) y (4)]
[por (5)]
Por tanto, G es satisfacible y tiene dos modelos principales: v1 tal que v1 (t) = 1 y v2 tal
que v2 (t) = 0 y v2 ( p) = 1.
Solución del apartado 3: En primer lugar, calculamos las formas clausales:
( p → q) ∧ ((r → ¬t) ∧ (q → r ))
≡ (¬ p ∨ q) ∧ ((¬r ∨ ¬t) ∧ (¬q ∨ r )) [por (2)]
≡ {{¬ p, q}, {¬r, ¬t}, {¬q, r }}
¬(¬t ↔ (¬t ∧ p)) → ¬( p → ¬t)
≡ (t ∨ (¬t ∧ p)) ∨ ( p ∧ t)
≡ ((t ∨ ¬t) ∧ (t ∨ p)) ∨ ( p ∧ t)
≡ (V ∧ (t ∨ p)) ∨ ( p ∧ t)
≡ (t ∨ p) ∨ ( p ∧ t)
≡ (t ∨ p ∨ p) ∧ (t ∨ p ∨ t)
≡ {{t, p}}
¬(r → p)
≡ ¬(¬r ∨ p)
≡ ¬¬r ∧ ¬ p
≡ r ∧ ¬p
≡ {{r }, {¬ p}}
[por el apartado anterior]
[por (6)]
[por (6)]
[por (2)]
[por (4)]
[por (5)]
Una resolución de las cláusulas obtenidas es
1 {¬ p, q}
2 {¬r, ¬t}
3 {¬q, r }}
4 {t, p}
5 {r }
6 {¬ p}
7 {¬t}
Resolvente de 2 y 5
8 { p}
Resolvente de 7 y 4
9 Resolvente de 8 y 6
Examen de Diciembre de 2003
117
Ejercicio 88 Consideremos el lenguaje de primer orden L = { a, f , P, Q, R} y el conjunto de
fórmulas de L
S = { (∀ x )[ Q( x ) → R( x )],
(∀ x )(∀y)[ P( x, y) → P(y, x )],
(∀ x )¬ P( x, x ),
(∀ x )[ P( f ( x ), x ) → Q( f ( x ))],
(∀ x )[ R( x ) ↔ P( x, f ( x ))],
Q( f ( a))}
1. Definir razonadamente un modelo I de S cuyo universo sea U = {1, 2, 3, 4, 5}.
2. Probar utilizando un modelo de Herbrand que S 6|= (∀ x )[ R( x ) → Q( x )].
3. Probar mediante resolución que S |= (∀ x )[ R( x ) → R( f ( x ))].
Solución:
Solución del apartado 1: Tenemos que encontrar una estructura I = (U, I ) de L, con
U = {1, 2, 3, 4, 5}, que sea modelo de las 6 fórmulas de S:
F1
F2
F3
F4
F5
F6
:
:
:
:
:
:
(∀ x )[ Q( x ) → R( x )],
(∀ x )(∀y)[ P( x, y) → P(y, x )],
(∀ x )¬ P( x, x ),
(∀ x )[ P( f ( x ), x ) → Q( f ( x ))],
(∀ x )[ R( x ) ↔ P( x, f ( x ))],
Q( f ( a))
Calculamos las consecuencias básicas de las fórmulas anteriores con sus argumentos limitados a los 5 primeros elementos del universo de Herbrand de L; es decir,
a, f ( a), f ( f ( a)), f ( f ( f ( a))), f ( f ( f ( f ( a)))) y f ( f ( f ( f ( f ( a)))))
118
José A. Alonso: Soluciones de exámenes de “Lógica informática”
F7 :
F8 :
F9 :
F10 :
F11 :
F12 :
F13 :
F14 :
F15 :
F16 :
F17 :
F18 :
F19 :
F20 :
F21 :
F22 :
F23 :
R( f ( a))
P( f ( a), f ( f ( a)))
P( f ( f ( a)), f ( a))
Q( f ( f ( a)))
R( f ( f ( a)))
P( f ( f ( a)), f ( f ( f ( a))))
P( f ( f ( f ( a))), f ( f ( a)))
Q( f ( f ( f ( a))))
R( f ( f ( f ( a))))
P( f ( f ( f ( a))), f ( f ( f ( f ( a)))))
P( f ( f ( f ( f ( a)))), f ( f ( f ( a))))
Q( f ( f ( f ( f ( a)))))
R( f ( f ( f ( f ( a)))))
P( f ( f ( f ( f ( a)))), f ( f ( f ( f ( f ( a))))))
P( f ( f ( f ( f ( f ( a))))), f ( f ( f ( f ( a)))))
Q( f ( f ( f ( f ( f ( a))))))
R( f ( f ( f ( f ( f ( a))))))
Las consecuencias anteriores, ordenadas, son:
P( f ( a), f ( f ( a)))
P( f ( f ( a)), f ( a))
P( f ( f ( a)), f ( f ( f ( a))))
P( f ( f ( f ( a))), f ( f ( a)))
P( f ( f ( f ( a))), f ( f ( f ( f ( a)))))
P( f ( f ( f ( f ( a)))), f ( f ( f ( a))))
P( f ( f ( f ( f ( a)))), f ( f ( f ( f ( f ( a))))))
P( f ( f ( f ( f ( f ( a))))), f ( f ( f ( f ( a)))))
Q( f ( a))
Q( f ( f ( a)))
Q( f ( f ( f ( a))))
Q( f ( f ( f ( f ( a)))))
Q( f ( f ( f ( f ( f ( a))))))
R( f ( a))
R( f ( f ( a)))
R( f ( f ( f ( a))))
R( f ( f ( f ( f ( a)))))
R( f ( f ( f ( f ( f ( a))))))
Un modelo de las consecuencias es
[de F6 y F1 ]
[de F7 y F5 ]
[de F8 y F2 ]
[de F9 y F4 ]
[de F10 y F1 ]
[de F11 y F5 ]
[de F12 y F2 ]
[de F13 y F4 ]
[de F14 y F1 ]
[de F15 y F5 ]
[de F16 y F2 ]
[de F17 y F4 ]
[de F18 y F1 ]
[de F19 y F5 ]
[de F20 y F2 ]
[de F21 y F4 ]
[de F22 y F1 ]
Examen de Diciembre de 2003
119
a I = 1,
f I = {(1, 2), (2, 1), (3, 1), (4, 1), (5, 1)},
P I = {(1, 2), (2, 1)},
Q I = {1, 2},
R I = {1, 2}
que puede comprobase fácilmente que es un modelo de S.
Solución del apartado 2: El universo de Herbrand de L es UH = { a, f ( a), f ( f ( a)), . . . }.
Un modelo de Herbrand de S en el que no se cumple la fórmula (∀ x )[ R( x ) → Q( x )] es
I = { P( x, f ( x )), P( f ( x ), x ), Q( f ( x )), R( x ) : x ∈ UH}.
Vamos a comprobarlo,
I |= (∀ x )[ Q( x ) → R( x )], ya que R se cumple para todos los elementos de UH.
I |= (∀ x )(∀y)[ P( x, y) → P(y, x )], ya que en P es simétrica en I.
I |= (∀ x )¬ P( x, x ), ya que todas las ocurrencias de P en I tiene sus dos argumentos
distintos.
I |= (∀ x )[ P( f ( x ), x ) → Q( f ( x ))], ya que para todo x ∈ UH, Q( f ( x )) ∈ I.
I |= (∀ x )[ R( x ) ↔ P( x, f ( x )), ya que R( x ) y P( x, f ( x )) se verifican en I para todo
x ∈ UH.
I |= Q( f ( a)), ya que Q( f ( a)) ∈ UH.
I 6|= (∀ x )[ R( x ) → Q( x )], ya que R( a) ∈ UH pero Q( a) 6∈ UH.
Solución del apartado 3: En primer lugar, calculamos las formas clausales de las fórmulas de S y de la negación de (∀ x )[ R( x ) → R( f ( x ))]:
120
José A. Alonso: Soluciones de exámenes de “Lógica informática”
F1 :
≡
≡
(∀ x )[ Q( x ) → R( x )]
(∀ x )[¬ Q( x ) ∨ R( x )]
{{¬ Q( x ), R( x )}}
[por (2)]
F2 :
≡
≡
(∀ x )(∀y)[ P( x, y) → P(y, x )]
(∀ x )(∀y)[¬ P( x, y) ∨ P(y, x )]
{{¬ P( x, y), P(y, x )}}
[por (2)]
F3 :
≡
(∀ x )¬ P( x, x )
{{¬ P( x, x )}}
F4 :
≡
≡
(∀ x )[ P( f ( x ), x ) → Q( f ( x ))]
(∀ x )[¬ P( f ( x ), x ) ∨ Q( f ( x ))]
{{¬ P( f ( x ), x ), Q( f ( x ))}}
F5 :
≡
≡
≡
(∀ x )[ R( x ) ↔ P( x, f ( x ))]
(∀ x )[( R( x ) → P( x, f ( x ))) ∧ ( P( x, f ( x )) → R( x ))] [por (1)]
(∀ x )[(¬ R( x ) ∨ P( x, f ( x ))) ∧ (¬ P( x, f ( x )) ∨ R( x ))] [por (2)]
{{¬ R( x ), P( x, f ( x ))}, {¬ P( x, f ( x )), R( x )}}
F6 :
≡
Q( f ( a))
{{ Q( f ( a))}}
≡
≡
≡
≡
≡sat
≡sat
¬(∀ x )[ R( x ) → R( f ( x ))]
¬(∀ x )[¬ R( x ) ∨ R( f ( x ))]
(∃ x )¬(¬ R( x ) ∨ R( f ( x )))
(∃ x )(¬¬ R( x ) ∧ ¬ R( f ( x )))
(∃ x )( R( x ) ∧ ¬ R( f ( x )))
R(b) ∧ ¬ R( f (b))
{{ R(b)}, {¬ R( f (b))}}
Una resolución de las cláusulas obtenidas es
1
2
3
4
5
6
7
8
9
10
11
12
13
{¬ Q( x ), R( x )}
{¬ P( x, y), P(y, x )}
{¬ P( x, x )}
{¬ P( f ( x ), x ), Q( f ( x ))}
{¬ R( x ), P( x, f ( x ))}
{¬ P( x, f ( x )), R( x )}
{ R(b)}
{¬ R( f (b))}
{¬ Q( f (b))}
{ P(b, f (b))}
{ P( f (b), b)}
{ Q( f (b))}
Resolvente de 8 y 1
Resolvente de 7 y 5
Resolvente de 10 y 2
Resolvente de 11 y 4
Resolvente de 12 y 9
[por (2)]
[por (2)]
[por (8)]
[por (6)]
[por (7)]
[b constante de Skolem]
Examen de Diciembre de 2003
121
Ejercicio 89 Calcular formas prenexa, de Skolem y clausal de la siguiente fórmula:
(∀ x )[(∃z) P(z) → Q( x )] → ((∀z) A(y, z) → (∃u) B(y, u))
Solución:
1.– Forma prenexa:
≡
≡
≡
≡
≡
≡
(∀ x )[(∃z) P(z) → Q( x )] → ((∀z) A(y, z) → (∃u) B(y, u))
(∀ x )[(∃z) P(z) → Q( x )] → ((∀v) A(y, v) → (∃u) B(y, u))
¬(∀ x )[¬(∃z) P(z) ∨ Q( x )] ∨ (¬(∀v) A(y, v) ∨ (∃u) B(y, u))
(∃ x )[¬(¬(∃z) P(z) ∨ Q( x ))] ∨ ((∃v)¬ A(y, v) ∨ (∃u) B(y, u))
(∃ x )[¬¬(∃z) P(z) ∧ ¬ Q( x )] ∨ ((∃v)¬ A(y, v) ∨ (∃u) B(y, u))
(∃ x )[(∃z) P(z) ∧ ¬ Q( x )] ∨ ((∃v)¬ A(y, v) ∨ (∃u) B(y, u))
(∃ x )(∃z)(∃v)(∃u)[( P(z) ∧ ¬ Q( x )) ∨ (¬ A(y, v) ∨ B(y, u))]
[por rectificación]
[por (2)]
[por (8)]
[por (6)]
[por (7)]
[por (11)–(18)]
2.– Forma de Skolem:
(∀ x )[(∃z) P(z) → Q( x )] → ((∀z) A(y, z) → (∃u) B(y, u))
≡sat (∃y)[(∀ x )[(∃z) P(z) → Q( x )] → ((∀z) A(y, z) → (∃u) B(y, u))] [cierre existencial]
≡
(∃y)(∃ x )(∃z)(∃v)(∃u)[( P(z) ∧ ¬ Q( x )) ∨ (¬ A(y, v) ∨ B(y, u))] [por anterior]
≡
( P(c) ∧ ¬ Q(b)) ∨ (¬ A( a, d) ∨ B( a, e))
[constantes de Skolem]
3.– Forma clausal
(∀ x )[(∃z) P(z) → Q( x )] → ((∀z) A(y, z) → (∃u) B(y, u))
≡sat ( P(c) ∧ ¬ Q(b)) ∨ (¬ A( a, d) ∨ B( a, e))
[anterior]
≡
( P(c) ∨ (¬ A( a, d) ∨ B( a, e))) ∧ (¬ Q(b) ∨ (¬ A( a, d) ∨ B( a, e))) [por (20)]
≡
{{( P(c), ¬ A( a, d), B( a, e)}, {¬ Q(b), ¬ A( a, d), B( a, e)}}
122
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Curso 2001–02
123
124
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2002
Ejercicio 90 Consideremos la fórmula proposicional
A : (r → p) ∧ (¬r → q ∨ s) → p ∨ q ∨ s
y el conjunto de fórmulas
U = {r ↔ p ∨ q, s → p, ¬s ∧ ¬r → s ∨ t}.
1. Probar, mediante tableros semánticos, que A es una tautología.
2. Probar, razonadamente, que U es consistente, mostrando para ello un modelo de U.
3. Probar, mediante resolución lineal, que U |= ¬ p → (q ∨ t).
4. Sea B la fórmula anterior ¬ p → (q ∨ t). ¿Podemos eliminar alguna fórmula de U de
manera que la fórmula B sea consecuencia lógica del conjunto de fórmulas restante?
Solución:
Solución del apartado 1: El tablero semántico de ¬ A se muestra en la figura 11.
Como todas las hojas son cerradas, A es una tautología.
Solución del apartado 2: Sea I una interpretación. Para que I sea modelo de las dos
implicaciones de U basta que sus consecuentes sean falsos en I; es decir, I ( p) = 0 y
I (s) = I (t) = 0. Sean I tal que I ( p) = 0, para que I sea modelo de la equivalencia, basta
que I (r ) = I (q). Por tanto, una interpretación I tal que I ( p) = 0, I (q) = 0, I (r ) = 0,
I (s) = 0 y I (t) = 0 es un modelo de U.
Solución del apartado 3: En primer lugar, calculamos formas clausales de las fórmulas de U y de la negación de la conclusión:
Examen de Junio de 2002
125
¬((r → p) ∧ (¬r → q ∨ s) → p ∨ q ∨ s)
(r → p) ∧ (¬r → q ∨ s), ¬( p ∨ q ∨ s)
r → p, ¬r → q ∨ s, ¬( p ∨ q ∨ s)
r → p, ¬r → q ∨ s, ¬ p, ¬(q ∨ s)
r → p, ¬r → q ∨ s, ¬ p, ¬q, ¬s
¬r, ¬r → q ∨ s, ¬ p, ¬q, ¬s
p, ¬r → q ∨ s, ¬ p, ¬q, ¬s
Cerrada
¬r, ¬¬r, ¬ p, ¬q, ¬s
¬r, q ∨ s, ¬ p, ¬q, ¬s
Cerrada
¬r, q, ¬ p, ¬q, ¬s
¬r, s, ¬ p, ¬q, ¬s
Cerrada
Cerrada
Figura 11: Tablero
126
José A. Alonso: Soluciones de exámenes de “Lógica informática”
≡
≡
≡
≡
≡
r ↔ p∨q
(r → p ∨ q ) ∧ ( p ∨ q → r )
(¬r ∨ ( p ∨ q)) ∧ (¬( p ∨ q) ∨ r )
(¬r ∨ ( p ∨ q)) ∧ ((¬ p ∧ ¬q) ∨ r )
(¬r ∨ p ∨ q) ∧ ((¬ p ∨ r ) ∧ (¬q ∨ r ))
{{¬r, p, q}, {¬ p, r }, {¬q, r }}
s→p
≡ ¬s ∨ p
≡ {{¬s, p}}
[por (1)]
[por (2)]
[por (4)]
[por (7)]
[por (2)]
≡
≡
≡
≡
¬ s ∧ ¬r → s ∨ t
¬(¬s ∧ ¬r ) ∨ (s ∨ t)
(¬¬s ∨ ¬¬r ) ∨ (s ∨ t)
(s ∨ r ) ∨ (s ∨ t)
{{s, r, t}}
[por (2)]
[por (3)]
[por (5)]
≡
≡
≡
≡
≡
¬(¬ p → (q ∨ t))
¬(¬¬ p ∨ (q ∨ t))
¬( p ∨ (q ∨ t))
¬ p ∧ ¬(q ∨ t)
¬ p ∧ (¬q ∧ ¬t)
{{¬ p}, {¬q}, {¬t}}
[por (2)]
[por (5)]
[por (4)]
[por (4)]
Una resolución lineal con las cláusulas obtenidas es
1 {¬r, p, q}
2 {¬ p, r }
3 {¬q, r }
4 {¬s, p}
5 {s, r, t}
6 {¬ p}
7 {¬q}
8 {¬t}
9 {s, r }
Resolvente de 5 y 8
10 {r, p}
Resolvente de 9 y 4
11 { p, q}
Resolvente de 10 y 1
12 { p}
Resolvente de 11 y 7
13 Resolvente de 12 y 6
Solución del apartado 4: Sean
F1 : r ↔ p ∨ q
F2 : s → p
F3 : ¬s ∧ ¬r → s ∨ t
las fórmulas de U. Veamos que no puede eliminarse ninguna sin perder la consecuencia:
Examen de Junio de 2002
127
{ F2 , F3 } 6|= B: Sea I1 tal que
I1 ( p)0 =, I1 (q) = 0, I1 (r ) = 1, I1 (s) = 0 y I1 (t) = 0.
Entonces, I1 ( F2 ) = I1 ( F3 ) = 1 y I1 ( B) = 0.
{ F1 , F3 } 6|= B: Sea I2 tal que
I2 ( p)0 =, I2 (q) = 0, I2 (r ) = 0, I2 (s) = 1 y I2 (t) = 0.
Entonces, I2 ( F1 ) = I2 ( F3 ) = 1 y I2 ( B) = 0.
{ F1 , F2 } 6|= B: Sea I3 tal que
I3 ( p)0 =, I3 (q) = 0, I3 (r ) = 0, I3 (s) = 0 y I3 (t) = 0.
Entonces, I3 ( F1 ) = I3 ( F2 ) = 1 y I3 ( B) = 0.
Ejercicio 91 En cierto país oriental se ha celebrado la fase final del campeonato mundial de fútbol. Cierto diario deportivo ha publicado las siguientes estadísticas de tan magno acontecimiento:
A todos los porteros que no vistieron camiseta negra les marcó un gol algún delantero
europeo.
Algún portero jugó con botas blancas y sólo le marcaron goles jugadores con botas blancas.
Ningún portero se marcó un gol a sí mismo.
Ningún jugador con botas blancas vistió camiseta negra.
Se pide:
1. Formalizar los enunciados anteriores en un lenguaje de primer orden usando los siguientes
símbolos de predicado: P( x ): “x es portero”, D ( x ): “x es delantero europeo”, N ( x ): “x
viste camiseta negra”, B( x ): “x juega con botas blancas”, M( x, y): “x marcó un gol a y”.
2. Obtener una forma clausal para el conjunto de fórmulas del apartado anterior.
3. Probar, mediante resolución, que algún delantero europeo jugó con botas blancas.
Solución:
Solución del apartado 1:
A todos los porteros que no vistieron camiseta negra les marcó un gol algún delantero europeo.
(∀ x )[ P( x ) ∧ ¬ N ( x ) → (∃y)[ D (y) ∧ M(y, x )]].
128
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Algún portero jugó con botas blancas y sólo le marcaron goles jugadores con botas
blancas.
(∃ x )[ P( x ) ∧ B( x ) ∧ (∀y)[ M(y, x ) → B(y)]].
Ningún portero se marcó un gol a sí mismo.
¬(∃ x )[ P( x ) ∧ M( x, x )].
Ningún jugador con botas blancas vistió camiseta negra.
¬(∃ x )[ B( x ) ∧ N ( x )]
Solución del apartado 2: Cálculo de formas clausales:
≡
≡
≡
≡
≡
≡sat
≡
(∀ x )[ P( x ) ∧ ¬ N ( x ) → (∃y)[ D (y) ∧ M(y, x )]]
(∀ x )[¬( P( x ) ∧ ¬ N ( x )) ∨ (∃y)[ D (y) ∧ M(y, x )]]
(∀ x )[(¬ P( x ) ∨ ¬¬ N ( x )) ∨ (∃y)[ D (y) ∧ M(y, x )]]
(∀ x )[(¬ P( x ) ∨ N ( x )) ∨ (∃y)[ D (y) ∧ M(y, x )]]
(∀ x )(∃y)[(¬ P( x ) ∨ N ( x )) ∨ ( D (y) ∧ M(y, x ))]
(∀ x )(∃y)[((¬ P( x ) ∨ N ( x )) ∨ D (y)) ∧ ((¬ P( x ) ∨ N ( x )) ∨ M(y, x ))]
(∀ x )[((¬ P( x ) ∨ N ( x )) ∨ D ( f ( x ))) ∧ ((¬ P( x ) ∨ N ( x )) ∨ M( f ( x ), x ))]
{{¬ P( x ), N ( x ), D ( f ( x ))}, {¬ P( x ), N ( x ), M( f ( x ), x )}}
≡
≡
≡sat
≡
(∃ x )[ P( x ) ∧ B( x ) ∧ (∀y)[ M(y, x ) → B(y)]]
(∃ x )[ P( x ) ∧ B( x ) ∧ (∀y)[¬ M(y, x ) ∨ B(y)]] [por (2)]
(∃ x )(∀y)[ P( x ) ∧ B( x ) ∧ (¬ M(y, x ) ∨ B(y))] [por (15)]
(∀y)[ P( a) ∧ B( a) ∧ (¬ M(y, a) ∨ B(y))]
[por Skolem]
{{ P( a)}, { B( a)}, {¬ M(y, a), B(y)}}
≡
≡
≡
¬(∃ x )[ P( x ) ∧ M( x, x )]
(∀ x )¬( P( x ) ∧ M( x, x ))
(∀ x )[¬ P( x ) ∨ ¬ M( x, x )]
{{¬ P( x ), ¬ M( x, x )}}
[por (9)]
[por (5)]
≡
≡
≡
¬(∃ x )[ B( x ) ∧ N ( x )]
(∀ x )¬( B( x ) ∧ N ( x ))
(∀ x )[¬ B( x ) ∨ ¬ N ( x )]
{{¬ B( x ), ¬ N ( x )}}
[por (9)]
[por (5)]
[por (2)]
[por (5)]
[por (7)]
[por (18)]
[por (19)]
[por Skolem]
Solución del apartado 3: Para demostrar que “algún delantero europeo jugó con botas blancas” se calcula una forma clausal de su negación:
¬(∃ x )[ D ( x ) ∧ B( x )]
≡ (∀ x )¬( D ( x ) ∧ B( x )) [por (9)]
≡ (∀ x )[¬ D ( x ) ∨ ¬ B( x )] [por (5)]
≡ {{¬ D ( x ), ¬ B( x )}}
Una refutación por resolución de las cláusulas obtenidas es
Examen de Junio de 2002
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{¬ P( x ), N ( x ), D ( f ( x ))}
{¬ P( x ), N ( x ), M( f ( x ), x )}
{ P( a)}
{ B( a)}
{¬ M(y, a), B(y)}
{¬ P( x ), ¬ M( x, x )}
{¬ B( x ), ¬ N ( x )}
{¬ D ( x ), ¬ B( x )}
{¬ D ( x ), ¬ M( x, a)}
{¬ D ( f ( a)), ¬ P( a), N ( a)}
{¬ D ( f ( a)), N ( a)}
{¬ P( a), N ( a)}
{ N ( a)}
{¬ B( a)}
129
Resolvente de 8 y 5 con σ = [y/x ]
Resolvente de 9 y 2 con θ2 = [ x/y] y σ = [y/a, x/ f ( a)]
Resolvente de 10 y 3
Resolvente de 11 y 1
Resolvente de 12 y 3
Resolvente de 13 y 7
Resolvente de 14 y 4
Ejercicio 92 Este ejercicio tiene dos apartados.
1. Consideremos el lenguaje de primer orden L1 = { P, f } y las fórmulas de L1 :
F1 : (∀ x )(∃y) P( x, f (y)), F2 : (∃y)(∀ x ) P( x, f (y)) y F3 : (∃y)(∀ x ) P( x, y).
(a) Hallar una L1 estructura, I , tal que I |= F1 pero I 6|= F2 .
(b) Hallar una L1 estructura, I 0 , tal que I 0 |= F3 pero I 0 6|= F2 .
2. Consideremos ahora el lenguaje L2 = { a, b, P, Q} y la fórmula, F, siguiente:
(∀ x )(∃y)[ P( x, y) ∧ ¬ Q( x, a)].
Hallar un modelo de Herbrand de F.
Solución:
Solución del apartado (1a): Sea I = (U, I ) con U = {1, 2}, f I = {(1, 1), (2, 2)} (es
decir, la identidad en U) y P I = {(1, 1), (2, 2)} (es decir, la igualdad en U). Entonces,
I |= F1 pero I 6|= F2 .
0
Solución del apartado (1b): Sea I 0 = (U 0 , I 0 ) con U 0 = {1, 2}, f I = {(1, 2), (2, 2)}
0
(es decir, la constante 2 en U) y P I = {(1, 2), (2, 2)} (es decir, la relación menor o igual
en U). Entonces, I 0 |= F3 pero I 0 6|= F2 .
Solución del apartado (2a): El universo de Herbrand de L2 es UH = { a, b}. Un
modelo de Herbrand de F es I = { P( a, a), P( a, b), P(b, a), P(b, b)}.
130
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Septiembre de 2002
Ejercicio 93 Sean A : ¬r → s ∧ ¬u, B : (r ∨ s) ∧ (u → r ) y U el conjunto de fórmulas:
U = {q ∨ r ∨ s, r → q ∨ t, q → ¬ p, t → u, u → ¬s, p}
(a) Probar, mediante tableros semánticos que A y B son lógicamente equivalentes.
(b) Hallar, razonadamente, todos los modelos de U. ¿Es U consistente?
(c) Probar, mediante resolución lineal, que la fórmula A es consecuencia lógica de U.
(d) Decidir razonadamente si la fórmula ¬ B es, o no, consecuencia lógica de U.
Solución:
Solución del apartado (a): El tablero semántico de ¬( A ↔ B) es
¬((¬r → s ∧ ¬u) ↔ ((r ∨ s) ∧ (u → r )))
1
2
Subtablero 1
Subtablero 2
donde el subtablero 1 se muestra en la Figura 2 (página 130) y el subtablero 2 en la
Figura 3 (página131)
¬((¬r → s ∧ ¬u) → ((r ∨ s) ∧ (u → r )))
¬r → s ∧ ¬u, ¬((r ∨ s) ∧ (u → r ))
¬r → s ∧ ¬u, ¬(r ∨ s)
¬r → s ∧ ¬u, ¬(u → r )
¬r → s ∧ ¬u, ¬r, ¬s
¬r → s ∧ ¬u, u, ¬r
¬¬r, ¬r, ¬s
s ∧ ¬u, ¬r, ¬s
¬¬r, u, ¬r
s ∧ ¬u, u, ¬r
Cerrada
s, ¬u, ¬r, ¬s
Cerrada
s, ¬u, u, ¬r
Cerrada
Figura 12: Subtablero 1
Cerrada
Examen de Septiembre de 2002
131
¬(((r ∨ s) ∧ (u → r )) → (¬r → s ∧ ¬u))
(r ∨ s) ∧ (u → r ), ¬(¬r → s ∧ ¬u)
r ∨ s, u → r, ¬(¬r → s ∧ ¬u)
r ∨ s, u → r, ¬r, ¬(s ∧ ¬u)
r ∨ s, ¬u, ¬r, ¬(s ∧ ¬u)
r ∨ s, r, ¬r, ¬(s ∧ ¬u)
Cerrada
r, ¬u, ¬r, ¬(s ∧ ¬u)
Cerrada
s, ¬u, ¬r, ¬(s ∧ ¬u)
s, ¬u, ¬r, ¬s
s, ¬u, ¬r, ¬¬u
Cerrada
Cerrada
Figura 13: Subtablero 2
132
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Al tener todas sus hojas cerradas, A y B son equivalentes.
Solución del apartado (b): Consideremos las fórmulas de U:
F1
F2
F3
F4
F5
F6
:
:
:
:
:
:
q∨r∨s
r → q∨t
q → ¬p
t→u
u → ¬s
p
Sea v un modelo de U. Por F6 , se tiene
v( p) = 1
(1)
Por (1) y F3 ,
v(q) = 0
(2)
Por (2) y F1 ,
v (r ∨ s ) = 1
(3)
Por (3), se distingue dos casos. En el primer caso,
v (r ) = 1
(4)
Por (4) F2 y (2),
v(t) = 1
(5)
Por (5) y F4 ,
v(u) = 1
(6)
Por (6) y F5 ,
v(s) = 0
(7)
Por tanto, hemos encontrado un modelo v1 tal que
v1 ( p) = 1, v1 (q) = 0, v1 (r ) = 1, v1 (s) = 0, v1 (t) = 1, v1 (u) = 1
En el segundo caso,
v (r ) = 0
(4’)
Por (4’) y (3),
v(s) = 1
(5’)
Por (5’) y F5 ,
v(u) = 0
(6’)
Por (6’) y F4 ,
v(t) = 0
(7’)
Examen de Septiembre de 2002
133
Por tanto, hemos encontrado otro modelo v2 tal que
v2 ( p) = 1, v2 (q) = 0, v2 (r ) = 0, v2 (s) = 1, v2 (t) = 0, v2 (u) = 0
Puesto que U tiene modelos, es consistente.
Solución del apartado 3: En primer lugar, calculamos las formas clausales de las
fórmulas de U y de la fórmula ¬ A:
F1 : q ∨ r ∨ s
≡ {{q, r, s}}
F2 : r → q ∨ t
≡ ¬r ∨ q ∨ t
≡ {{¬r, q, t}}
[por (2)]
F3 : q → ¬ p
≡ ¬q ∨ ¬ p
≡ {{¬q, ¬ p}}
[por (2)]
F4 : t → u
≡ ¬t ∨ u
≡ {{¬t, u}}
[por (2)]
F5 : u → ¬s
≡ ¬u ∨ ¬s
≡ {{¬u, ¬s}}
[por (2)]
F6 : p
≡ {{ p}}
¬ A : ¬(¬r → s ∧ ¬u) ≡ ¬(¬¬r ∨ (s ∧ ¬u))
≡ ¬(r ∨ (s ∧ ¬u))
≡ ¬r ∧ ¬(s ∧ ¬u))
≡ ¬r ∧ (¬s ∨ ¬¬u))
≡ ¬r ∧ (¬s ∨ u))
≡ {{¬r }}, {¬s, u}}
[por (2)]
[por (5)]
[por (4)]
[por (3)]
[por (5)]
Una resolución lineal con las cláusulas obtenidas es
134
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
8
9
10
11
12
13
14
{q, r, s}
{¬r, q, t}
{¬q, ¬ p}
{¬t, u}
{¬u, ¬s}
{ p}
{¬r }
{¬s, u}
{q, r, u}
{q, r, ¬s}
{q, r }
{q}
{¬ p}
Resolvente de 1 y 8
Resolvente de 9 y 5
Resolvente de 10 y 1
Resolvente de 11 y 7
Resolvente de 12 y 3
Resolvente de 13 y 6
Solución del apartado (d): Puesto que los modelos de U, calculados en el apartado
(b), son las valoraciones v1 y v2 tales que
v1 ( p) = 1, v1 (q) = 0, v1 (r ) = 1, v1 (s) = 0, v1 (t) = 1, v1 (u) = 1
para determinar
v2 ( p) = 1, v2 (q) = 0, v2 (r ) = 0, v2 (s) = 1, v2 (t) = 0, v2 (u) = 0
si ¬ B es consecuencia de U basta calcular el valor de ¬ B en dichas valoraciones.
v1 (¬((r ∨ s) ∧ (u → r ))) = H¬ (v1 (r ∨ s) ∧ (u → r ))
= H¬ ( H∧ (v1 (r ∨ s), v1 (u → r )))
= H¬ ( H∧ ( H∨ (v1 (r ), v1 (s)), H→ (v1 (u), v1 (r ))))
= H¬ ( H∧ ( H∨ (1, 0), H→ (1, 1)))
= H¬ ( H∧ (1, 1))
= H¬ (1)
=0
Por tanto, ¬ B no es consecuencia de U.
Nótese que el cálculo anterior puede simplificarse (por el método de Quine) en
¬ ( ( r ∨ s ) ∧ ( u → r )))
0
1 1 0
1
1 1 1
Ejercicio 94 Consideremos el lenguaje de primer orden L = { a, P, Q} (siendo a un símbolo de
constante y P y Q predicados de aridad 1). Sea F la fórmula de L
(∀ x )[ P( x ) → ( Q( x ) ∨ Q( a))] → ((∃ x ) P( x ) → (∃ x )[ Q( x ) ∨ Q( a)])
(a) Calcular formas clausales para F y ¬ F.
(b) Probar, utilizando resolución básica, que F es lógicamente válida.
(c) Describir un modelo de Herbrand de F.
Examen de Septiembre de 2002
135
Solución:
Solución del apartado (a): Cálculo de una forma clausal de F:
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡sat
≡
≡
≡
(∀ x )[ P( x ) → ( Q( x ) ∨ Q( a))] → ((∃ x ) P( x ) → (∃ x )[ Q( x ) ∨ Q( a)])
(∀ x )[ P( x ) → ( Q( x ) ∨ Q( a))] → ((∃y) P(y) → (∃z)[ Q(z) ∨ Q( a)])
¬(∀ x )[¬ P( x ) ∨ ( Q( x ) ∨ Q( a))] ∨ (¬(∃y) P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])
(∃ x )¬(¬ P( x ) ∨ ( Q( x ) ∨ Q( a))) ∨ ((∀y)¬ P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])
(∃ x )[¬¬ P( x ) ∧ ¬( Q( x ) ∨ Q( a))) ∨ ((∀y)¬ P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])
(∃ x )[ P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))] ∨ ((∀y)¬ P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])
(∃ x )[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ ((∀y)¬ P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])]
(∃ x )[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (∃z)[(∀y)¬ P(y) ∨ ( Q(z) ∨ Q( a))]]
(∃ x )(∃z)[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (∀y)[¬ P(y) ∨ ( Q(z) ∨ Q( a))]]
(∃ x )(∃z)(∀y)[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (¬ P(y) ∨ ( Q(z) ∨ Q( a)))]
(∀y)[( P(b) ∧ (¬ Q(b) ∧ ¬ Q( a))) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a)))]
(∀y)[( P(b) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a))))∧
(¬ Q(b) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a))))∧
(¬ Q( a) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a))))]
(∀y)[( P(b) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a))))∧
(¬ Q(b) ∨ (¬ P(y) ∨ ( Q(c) ∨ Q( a))))]
{{ P(b), ¬ P(y), Q(c), Q( a)}, {¬ Q(b), ¬ P(y), Q(c), Q( a)}}
[rectificación]
[por (2)]
[por (8) y (9)]
[por (6)]
[por (7) y (6)]
[por (14)]
[por (18)]
[por (12)]
[por (16)]
[Skolem]
[distributiva]
[tautología]
2.– Cálculo de una forma clausal de ¬ F:
¬((∀ x )[ P( x ) → ( Q( x ) ∨ Q( a))] → ((∃ x ) P( x ) → (∃ x )[ Q( x ) ∨ Q( a)]))
≡
¬((∃ x )[ P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))] ∨ ((∀y)¬ P(y) ∨ (∃z)[ Q(z) ∨ Q( a)])
≡
¬(∀y)(∃ x )(∃z)[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (¬ P(y) ∨ ( Q(z) ∨ Q( a)))]
≡
(∃y)(∀ x )(∀z)¬[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (¬ P(y) ∨ ( Q(z) ∨ Q( a)))]
≡sat (∀ x )(∀z)¬[( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∨ (¬ P(b) ∨ ( Q(z) ∨ Q( a)))]
≡
(∀ x )(∀z)[¬( P( x ) ∧ (¬ Q( x ) ∧ ¬ Q( a))) ∧ ¬(¬ P(b) ∨ ( Q(z) ∨ Q( a)))]
≡
(∀ x )(∀z)[(¬ P( x ) ∨ ¬(¬ Q( x ) ∧ ¬ Q( a))) ∧ (¬¬ P(b) ∧ ¬( Q(z) ∨ Q( a)))]
≡
(∀ x )(∀z)[(¬ P( x ) ∨ (¬¬ Q( x ) ∨ ¬¬ Q( a))) ∧ ( P(b) ∧ (¬ Q(z) ∧ ¬ Q( a)))]
≡
(∀ x )(∀z)[(¬ P( x ) ∨ ( Q( x ) ∨ Q( a))) ∧ ( P(b) ∧ (¬ Q(z) ∧ ¬ Q( a)))]
≡
{{¬ P( x ), Q( x ), Q( a)}, { P(b)}, {¬ Q(z)}, {¬ Q( a)}}
[por anterior]
[por (12)–(18)]
[por (8) y (9)]
[por Skolem]
[por (6)]
[por (5) y (6)]
[por (5), (6) y
[por (7)]
Solución del apartado (b): Sustituyendo en la forma clausal de ¬ F calculada anteriormente, la x y la z por b se obtiene un conjunto de cláusulas que tienen una refutación
básica. En efecto,
136
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
{¬ P(b), Q(b), Q( a)}
{ P(b)}
{¬ Q(b)}
{¬ Q( a)}
{ Q(b), Q( a)}
Resolvente de 1 y 2
{ Q( a)}
Resolvente de 5 y 3
Resolvente de 6 y 4
Solución del apartado (c): A la vista de la forma clausal de F del apartado (a), se observa que un modelo de Herbrand de F es el conjunto vacío (es decir, ningún elemento
verifica P ni ninguno verifica Q).
Ejercicio 95 Consideremos el LPO L = { a, b, P, Q, R, T }. Escribir fórmulas de L que expresen
las siguientes afirmaciones:
1. Pilar dirigió algún drama pero no dirigió ninguna comedia.
2. Pedro dirigió una comedia de mayor duración que cualquiera de las dirigidas por Pilar.
3. Pedro no dirigió comedias salvo que Pilar dirigiera algún drama.
4. Pilar dirigió todo drama que no dirigió Pedro.
P( x ) expresará que “x es una comedia”, Q( x ) que “x es un drama”, R( x, y) expresará que
“x dirigió y” y T ( x, y) que “x es de mayor duración que y”. Las constantes a y b denotarán,
respectivamente, a Pedro y a Pilar.
Solución:
1. Pilar dirigió algún drama pero no dirigió ninguna comedia.
(∃y)[ Q(y) ∧ R(b, y)] ∧ ¬(∃z)[ P(z) ∧ R(b, y)]
2. Pedro dirigió una comedia de mayor duración que cualquiera de las dirigidas por
Pilar.
(∃ x )[ P( x ) ∧ R( a, x ) ∧ (∀y)[ P(y) ∧ R(b, y) → T ( x, y)]]
3. Pedro no dirigió comedias salvo que Pilar dirigiera algún drama.
(∃ x )[ P( x ) ∧ R( a, x )] → (∃y)[ Q(y) ∧ R(b, y)]
4. Pilar dirigió todo drama que no dirigió Pedro.
(∀ x )[ Q( x ) ∧ ¬ R( a, x ) → R(b, x )]
Ejercicio 96 Consideremos las fórmulas del LPO, L = { P, Q}
Examen de Septiembre de 2002
137
F1 : (∃ x )[ P( x ) ∧ Q( x )].
F2 : (∃ x ) P( x ) ∧ (∃ x ) Q( x ),
F3 : (∃ x )(∃y)[ P( x ) ∧ Q(y)]
(a) Hallar una L estructura I tal que I |= F2 pero I 6|= F1 .
(b) Probar que todo modelo de F1 es modelo de F2 .
(c) Probar que F2 y F3 son lógicamente equivalentes.
Solución:
Solución del apartado (a): Vamos a buscar formas clausales de F2 y ¬ F1 y saturar por
resolución el conjunto de las cláusulas obtenidas para hallar un modelo de Herbrand de
{ F2 , ¬ F1 }.
F2 :
≡
≡
≡sat
≡
(∃ x ) P( x ) ∧ (∃ x ) Q( x )
(∃ x ) P( x ) ∧ (∃y) Q(y) [rectificación]
(∃ x )(∃y)[ P( x ) ∧ Q(y)] [por (11)–(18)]
P( a) ∧ Q(b)
[por Skolem]
{{ P( a)}, { Q(b)}}
¬ F1 : ¬(∃ x )[ P( x ) ∧ Q( x )]
≡
(∀ x )¬( P( x ) ∧ Q( x ))
≡
(∀ x )[¬ P( x ) ∨ ¬ Q( x )]
≡
{{¬ P( x ), ¬ Q( x )}}
[por (9)]
[por (5)]
Las cláusulas obtenidas son
1 { P( a)}
2 { Q(b)}
3 {¬ P( x ), ¬ Q( x )}
Veamos el proceso de saturación, por resolución:
Al resolver 1 con 1 no se obtiene resolvente.
Al resolver 2 con 1 y 2 no se obtiene resolvente.
Al resolver 3 con 1, 2 y 3 se obtiene
4 {¬ Q( a)} (resolvente de 3 y 1)
5 {¬ P(b)} (resolvente de 3 y 2)
Al resolver 4 con 1, 2, 3 y 4 no se obtiene resolvente.
Al resolver 5 con 1, 2, 3, 4 y 5 no se obtiene resolvente.
A la vista del saturado, un modelo es I = (U, I ) con U = { a, b}, P I = { a}, Q I = {b}.
Solución del apartado (b): Probar que todo modelo de F1 es modelo de F2 , equivale
a probar que F1 |= F2 que, a su vez, equivale a probar que { F1 , ¬ F2 } es inconsistente.
Probaremos la última condición por resolución. Para ello, empezamos calculando unas
138
José A. Alonso: Soluciones de exámenes de “Lógica informática”
formas clausales de F1 y ¬ F2 .
F1 : (∃ x )[ P( x ) ∧ Q( x )]
≡sat P( a) ∧ Q( a)
[por Skolem]
≡
{{ P( a)}, { Q( a)}}
¬ F2 : ¬((∃ x ) P( x ) ∧ (∃ x ) Q( x ))
≡
¬(∃ x )(∃y)[ P( x ) ∧ Q(y)]
[por apartado (a)]
≡
(∀ x )(∀y)¬( P( x ) ∧ Q(y)) [por (9)]
≡
(∀ x )(∀y)[¬ P( x ) ∨ ¬ Q(y)] [por (5)]
≡
{{¬ P( x ), ¬ Q(y)}}
La resolución es
1 { P( a)}
2 { Q( a)}
3 {¬ P( x ), ¬ Q(y)}
4 {¬ Q(y)}
Resolvente de 1 y 3
5 Resolvente de 4 y 2
Solución del apartado (c): Para probar que F2 y F3 son lógicamente equivalentes,
basta probar que F2 |= F3 y F3 |= F2 . Lo haremos por resolución. Para ello, necesitaremos
formas clausales de F2 , ¬ F2 , F3 y ¬ F3 .
F2 : (∃ x ) P( x ) ∧ (∃ x ) Q( x )
≡sat {{ P( a)}, { Q(b)}}
[por anterior]
¬ F2 : ¬((∃ x ) P( x ) ∧ (∃ x ) Q( x ))
≡
{{¬ P( x ), ¬ Q(y)}}
[por anterior]
F3 : (∃ x )(∃y)[ P( x ) ∧ Q(y)]
≡sat P(c) ∧ Q(d)
[por Skolem]
≡
{{ P(c)}, { Q(d)}}
¬ F3 : ¬(∃ x )(∃y)[ P( x ) ∧ Q(y)]
≡
(∀ x )(∀y)¬( P( x ) ∧ Q(y)) [por (9)]
≡
(∀ x )(∀y)[¬ P( x ) ∨ ¬ Q(y)] [por (5)]
≡
(∀ x )(∀y)[¬ P( x ) ∨ ¬ Q(y)] [por (5)]
≡
{{¬ P( x ), ¬ Q(y)}}
Demostración, por resolución, de F2 |= F3 :
Examen de Septiembre de 2002
1
2
3
4
5
{ P( a)}
{ Q(b)}
{¬ P( x ), ¬ Q(y)}
{¬ Q(y)}
Resolvente de 1 y 3
Resolvente de 4 y 2
Demostración, por resolución, de F3 |= F2 :
1
2
3
4
5
{ P(c)}
{ Q(d)}
{¬ P( x ), ¬ Q(y)}
{¬ Q(y)}
Resolvente de 1 y 3
Resolvente de 4 y 2
139
140
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Curso 2000–01
141
142
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Junio de 2001
Ejercicio 97 Este ejercicio tiene 3 apartados.
1. Decidir, utilizando el método que se indica, si cada una de las fórmulas siguientes es insatisfactible o una tautología.
A : ( p ∧ q ↔ p ∨ q) → ( p → q)
B : ( p → ¬(q → ¬r )) ∧ (r → ¬q)
C : (q → p ∧ r ) ∧ ¬( p ↔ p ∨ q)
Los métodos que deben usarse son: tableros semánticos para A, formas normales para B y
resolución para C.
2. Describir, razonadamente, todos los modelos de cada una de las fórmulas anteriores.
3. Se considera el conjunto U = { p ∨ q → r ∨ s, r ∧ t → s, r ∧ ¬t → ¬u}. Decidir,
mediante tableros semánticos, si U |= p → s ∨ ¬u.
Solución:
Solución del apartado (1.a): La fórmula A es una tautología ya que el tablero semántico de {¬ A}
¬(( p ∧ q ↔ p ∨ q) → ( p → q))
p ∧ q ↔ p ∨ q, ¬( p → q)
p ∧ q → p ∨ q, p ∨ q → p ∧ q, ¬( p → q)
p ∧ q → p ∨ q, p ∨ q → p ∧ q, p, ¬q
p ∧ q → p ∨ q, ¬( p ∨ q), p, ¬q
p ∧ q → p ∨ q, p ∧ q, p, ¬q
p ∧ q → p ∨ q, ¬ p, p, ¬q
p ∧ q → p ∨ q, q, p, ¬q
Cerrada
Cerrada
tiene todas las hojas cerradas.
Solución del apartado (1.b): Vamos a calcular una forma normal disyuntiva de B:
Examen de Junio de 2001
≡
≡
≡
≡
≡
≡
≡
≡
( p → ¬(q → ¬r )) ∧ (r → ¬q)
(¬ p ∨ ¬(¬q ∨ ¬r )) ∧ (¬r ∨ ¬q)
(¬ p ∨ (¬¬q ∧ ¬¬r )) ∧ (¬r ∨ ¬q)
(¬ p ∨ (q ∧ r )) ∧ (¬r ∨ ¬q)
(¬ p ∧ (¬r ∨ ¬q)) ∨ ((q ∧ r ) ∧ (¬r ∨ ¬q))
((¬ p ∧ ¬r ) ∨ (¬ p ∧ ¬q)) ∨ ((q ∧ r ) ∧ (¬r ∨ ¬q))
((¬ p ∧ ¬r ) ∨ (¬ p ∧ ¬q)) ∨ ((q ∧ r ∧ ¬r ) ∨ (q ∧ r ∧ ¬q))
((¬ p ∧ ¬r ) ∨ (¬ p ∧ ¬q)) ∨ (F ∨ F)
(¬ p ∧ ¬r ) ∨ (¬ p ∧ ¬q)
143
[por (2)]
[por (4)]
[por (5)]
[por (7)]
[por (6)]
[por (6)]
Por tanto, la fórmula B es satisfacible (por ejemplo, si I ( p) = I (r ) = 0, entonces I ( B) =
1), pero no es una tautología (por ejemplo, si I ( p) = 1, entonces I ( B) = 0).
Solución del apartado (1.c): En primer lugar, se calcula una forma clausal de ¬C.
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
≡
¬((q → p ∧ r ) ∧ ¬( p ↔ p ∨ q))
¬((q → p ∧ r ) ∧ ¬(( p → p ∨ q) ∧ ( p ∨ q → p)))
¬((¬q ∨ ( p ∧ r )) ∧ ¬((¬ p ∨ ( p ∨ q)) ∧ (¬( p ∨ q) ∨ p)))
¬(¬q ∨ ( p ∧ r )) ∨ ¬¬((¬ p ∨ ( p ∨ q)) ∧ (¬( p ∨ q) ∨ p)))
(¬¬q ∧ ¬( p ∧ r )) ∨ ((¬ p ∨ ( p ∨ q)) ∧ (¬( p ∨ q) ∨ p)))
(q ∧ (¬ p ∨ ¬r )) ∨ ((¬ p ∨ ( p ∨ q)) ∧ (¬( p ∨ q) ∨ p)))
(q ∧ (¬ p ∨ ¬r )) ∨ (V ∧ (¬( p ∨ q) ∨ p)))
(q ∧ (¬ p ∨ ¬r )) ∨ (¬( p ∨ q) ∨ p)
(q ∧ (¬ p ∨ ¬r )) ∨ ((¬ p ∧ ¬q) ∨ p)
(q ∧ (¬ p ∨ ¬r )) ∨ ((¬ p ∨ p) ∧ (¬q ∨ p))
(q ∧ (¬ p ∨ ¬r )) ∨ (V ∧ (¬q ∨ p))
(q ∧ (¬ p ∨ ¬r )) ∨ (¬q ∨ p)
(q ∨ (¬q ∨ p)) ∧ ((¬ p ∨ ¬r ) ∨ (¬q ∨ p))
V∧V
V
[por (1)]
[por (2)]
[por (3)]
[por (4) y (5)]
[por (3) y (5)]
[por (4)]
[por (7)]
[por (7)]
Puesto que ¬C es una tautología, C es insatisfacible.
Solución del apartado (2): Puesto que A es una tautología, todas las interpretaciones
son modelo de A. Los modelos de B son las interpretaciones I tales que I ( p) = I (r ) = 0
o bien I ( p) = I (q) = 0. Puesto que C es insatisfacible, no tiene modelos.
Solución del apartado (3): Un tablero semántico de U ∪ {¬( p → s ∨ ¬u)} es
144
José A. Alonso: Soluciones de exámenes de “Lógica informática”
p ∨ q → r ∨ s, r ∧ t → s, r ∧ ¬t → ¬u, ¬( p → s ∨ ¬u)
p ∨ q → r ∨ s, r ∧ t → s, r ∧ ¬t → ¬u, p, ¬(s ∨ ¬u)
p ∨ q → r ∨ s, r ∧ t → s, r ∧ ¬t → ¬u, p, ¬s, ¬¬u
p ∨ q → r ∨ s, r ∧ t → s, r ∧ ¬t → ¬u, p, ¬s, u
p ∨ q → r ∨ s, ¬(r ∧ t), r ∧ ¬t → ¬u, p, ¬s, u
. . . , s, . . . , ¬s, u
Cerrada
¬( p ∨ q), ¬(r ∧ t), r ∧ ¬t → ¬u, p, ¬s, u
r ∨ s, ¬(r ∧ t), r ∧ ¬t → ¬u, p, ¬s, u
¬ p, ¬q, ¬(r ∧ t), r ∧ ¬t → ¬u, p, ¬s, u
Cerrada
r, ¬(r ∧ t), r ∧ ¬t → ¬u, p, ¬s, u
s, . . . , ¬s, u
Cerrada
r, ¬r, r ∧ ¬t → ¬u, p, ¬s, u
r, ¬t, r ∧ ¬t → ¬u, p, ¬s, u
Cerrada
r, ¬t, ¬(r ∧ ¬t), p, ¬s, u
r, ¬t, ¬u, p, ¬s, u
Cerrada
r, ¬t, ¬r, p, ¬s, u
r, ¬t, ¬¬t, p, ¬s, u
Cerrada
Cerrada
Como todas las hojas son cerradas, U |= p → s ∨ ¬u.
Ejercicio 98 Las relaciones de parentesco verifican la siguientes propiedades generales:
Si x es hermano de y, entonces y es hermano de x.
Examen de Junio de 2001
145
Todo el mundo es hijo de alguien.
Nadie es hijo del hermano de su padre.
Cualquier padre de una persona es también padre de todos los hermanos de esa persona.
Nadie es hijo ni hermano de sí mismo.
Tenemos los siguientes miembros de la familia Peláez: Don Antonio, Don Luis, Antoñito y Manolito y sabemos que Don Antonio y Don Luis son hermanos, Antoñito y Manolito son hermanos, y Antoñito es hijo de Don Antonio. Se pide:
1. Formalizar los conocimientos anteriores en un lenguaje de primer orden usando tan solo:
A, L, a, m como constantes para D. Antonio, D. Luis, Antoñito y Manolito, respectivamente.
Los predicados: Her( x, y) = “x es hermano de y”, Hijo( x, y) = “x es hijo de y”.
2. Obtener una forma clausal para el conjunto de fórmulas obtenido en el apartado 1.
3. Decidir mediante resolución si Don Luis es el padre de Manolito o no.
Solución:
Solución del apartado (1): Formalización:
Si x es hermano de y, entonces y es hermano de x.
(∀ x )(∀y)[Her( x, y) → Her(y, x )].
Todo el mundo es hijo de alguien.
(∀ x )(∃y)Hijo( x, y).
Nadie es hijo del hermano de su padre.
(∀ x )(∀y)(∀z)[Hijo( x, y) ∧ Her(z, y) → ¬Hijo( x, z)].
Cualquier padre de una persona es también padre de todos los hermanos de esa
persona.
(∀ x )(∀y)[Hijo( x, y) → (∀z)[Her(z, x ) → Hijo(z, y)]].
Nadie es hijo ni hermano de sí mismo.
(∀ x )[¬Hijo( x, x ) ∧ ¬Her( x, x )].
Don Antonio y Don Luis son hermanos.
Her( A, L).
146
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Antoñito y Manolito son hermanos.
Her( a, m).
Antoñito es hijo de Don Antonio.
Hijo( a, A).
Solución del apartado (2): Cálculo de formas clausales:
≡
≡
(∀ x )(∀y)[Her( x, y) → Her(y, x )]
(∀ x )(∀y)[¬Her( x, y) ∨ Her(y, x )] [por (4)]
{{¬Her( x, y), Her(y, x )}}
≡sat
≡
(∀ x )(∃y)Hijo( x, y)
(∀ x )Hijo( x, f ( x ))
{{Hijo( x, f ( x ))}}
≡
≡
≡
(∀ x )(∀y)(∀z)[Hijo( x, y) ∧ Her(z, y) → ¬Hijo( x, z)]
(∀ x )(∀y)(∀z)[¬(Hijo( x, y) ∧ Her(z, y)) ∨ ¬Hijo( x, z)] [por (4)]
(∀ x )(∀y)(∀z)[¬Hijo( x, y) ∨ ¬Her(z, y) ∨ ¬Hijo( x, z)] [por (5)]
{{¬Hijo( x, y), ¬Her(z, y), ¬Hijo( x, z)}}
≡
≡
≡
(∀ x )(∀y)[Hijo( x, y) → (∀z)[Her(z, x ) → Hijo(z, y)]]
(∀ x )(∀y)[¬Hijo( x, y) ∨ (∀z)[¬Her(z, x ) ∨ Hijo(z, y)]]
(∀ x )(∀y)(∀z)[¬Hijo( x, y) ∨ ¬Her(z, x ) ∨ Hijo(z, y)]
{{¬Hijo( x, y), ¬Her(z, x ), Hijo(z, y)}}
≡
(∀ x )[¬Hijo( x, x ) ∧ ¬Her( x, x )]
{{¬Hijo( x, x )}, {¬Her( x, x )}}
≡
Her( A, L)
{{Her( A, L)}}
≡
Her( a, m)
{{Her( a, m)}}
≡
Hijo( a, A)
{{Hijo( a, A)}}
[Skolem f ]
[por (4)]
[por (16)]
Solución del apartado (3): Vamos a demostrar que Don Luis no es el padre de Manolito. Para ello suponemos lo contrario lo que da lugar a la cláusula {Hijo(m, L)}. Una
demostración por resolución de las cláusulas obtenidas es
Examen de Junio de 2001
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
147
{¬Her( x, y), Her(y, x )}
{Hijo( x, f ( x ))}
{¬Hijo( x, y), ¬Her(z, y), ¬Hijo( x, z)}
{¬Hijo( x, y), ¬Her(z, x ), Hijo(z, y)}
{¬Hijo( x, x )}
{¬Her( x, x )}
{Her( A, L)}
{Her( a, m)}
{Hijo( a, A)}
{Hijo(m, L)}
{¬Hijo( a, y), ¬Her( A, y)}
{¬Her(z, m), Hijo(z, L)}
{Hijo( a, L)}
{¬Her( A, L)}
Resolvente de 3 y 9 con σ = [ x/a, z/A]
Resolvente de 4 y 10 con σ = [ x/m, y/L]
Resolvente de 12 y 8 con σ = [z/a]
Resolvente de 13 y 11 con σ = [y/L]
Resolvente de 14 y 7 con σ = e
Ejercicio 99 Este ejercicio tiene dos apartados.
1. Calcular formas prenexa conjuntiva, de Skolem y clausal de la siguiente fórmula:
(∃ x )(∀u)[(∃y) P(u, f (y), a) → ( Q(u, x ) → (∃y)[ Q(y, z) ∧ P(u, y, z)])]
siendo a un símbolo de constante y f un símbolo de función de aridad 1.
2. Dada una fórmula proposicional F, sea T ( F ) = { G ∈ PROP : F |= G }. Probar que, para
cada A, B ∈ PROP,
(a) A → B es tautología
(b) A ≡ B
⇐⇒
⇐⇒
T ( B ) ⊆ T ( A ).
T ( B ) = T ( A ).
Solución:
Solución del apartado (1):
1.– Forma normal prenexa conjuntiva:
≡
≡
≡
≡
≡
≡
(∃ x )(∀u)[(∃y) P(u, f (y), a) → ( Q(u, x ) → (∃y)[ Q(y, z) ∧ P(u, y, z)])]
(∃ x )(∀u)[(∃y) P(u, f (y), a) → ( Q(u, x ) → (∃v)[ Q(v, z) ∧ P(u, v, z)])]
(∃ x )(∀u)[¬(∃y) P(u, f (y), a) ∨ (¬ Q(u, x ) ∨ (∃v)[ Q(v, z) ∧ P(u, v, z)])]
(∃ x )(∀u)[(∀y)¬ P(u, f (y), a) ∨ (¬ Q(u, x ) ∨ (∃v)[ Q(v, z) ∧ P(u, v, z)])]
(∃ x )(∀u)(∃v)[(∀y)¬ P(u, f (y), a) ∨ (¬ Q(u, x ) ∨ ( Q(v, z) ∧ P(u, v, z)))]
(∃ x )(∀u)(∃v)(∀y)[¬ P(u, f (y), a) ∨ (¬ Q(u, x ) ∨ ( Q(v, z) ∧ P(u, v, z)))]
(∃ x )(∀u)(∃v)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ Q(v, z)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ P(u, v, z))]
2.– Forma de Skolem:
[por rectificación]
[por (4)]
[por (9)]
[por (18)]
[por (12)]
[por (19)]
148
José A. Alonso: Soluciones de exámenes de “Lógica informática”
≡
≡sat
≡sat
≡sat
≡sat
(∃ x )(∀u)[(∃y) P(u, f (y), a) → ( Q(u, x ) → (∃y)[ Q(y, z) ∧ P(u, y, z)])]
(∃ x )(∀u)(∃v)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ Q(v, z)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ P(u, v, z))]
(∃z)(∃ x )(∀u)(∃v)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ Q(v, z)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ P(u, v, z))]
(∃ x )(∀u)(∃v)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ Q(v, b)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, x ) ∨ P(u, v, b))]
(∀u)(∃v)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ Q(v, b)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ P(u, v, b))]
(∀u)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ Q( g(u), b)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ P(u, g(u), b))]
[por cierre]
[Skolem b]
[Skolem c]
[Skolem g]
3.– Forma clausal:
(∃ x )(∀u)[(∃y) P(u, f (y), a) → ( Q(u, x ) → (∃y)[ Q(y, z) ∧ P(u, y, z)])]
≡sat (∀u)(∀y)[(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ Q( g(u), b)) ∧
(¬ P(u, f (y), a) ∨ ¬ Q(u, c) ∨ P(u, g(u), b))]
[Skolem g]
≡
{{¬ P(u, f (y), a), ¬ Q(u, c), Q( g(u), b)},
{¬ P(u, f (y), a), ¬ Q(u, c), P(u, g(u), b)}}
Solución del apartado (2a):
1.– Demostración de que si |= A → B, entonces T ( B) ⊆ T ( A): Supongamos que
|= A → B
(1)
Sea G ∈ T ( P). Tenemos que demostrar que G ∈ T ( A). Por la elección de G y la definición de T ( P), se tiene que
G ∈ PROP
(2)
B |= G
(3)
Para probar que A |= G, consideremos una interpretación I tal que
I ( A) = 1
(4)
Entonces, por (4) y (1)
I ( B) = 1
(5)
Por (5) y (3)
I (G) = 1
(6)
Luego,
A |= G
(7)
Por (2), (7) y la definición de T ( A), se tiene que G ∈ T ( A).
2.– Demostración de que si T ( B) ⊆ T ( A), entonces |= A → B: Supongamos que
T ( B) ⊆ T ( A)
(8)
Puesto que B |= B, se tiene que B ∈ T ( B) y, por (8), B ∈ T ( A). Luego, por la definición
de T ( A), A |= B y, por tanto, |= A → B.
Solución del apartado (2b):
Examen de Junio de 2001
A≡B
⇐⇒ A |= B y B |= A
⇐⇒ |= A → B y |= B → A
⇐⇒ T ( B) ⊆ T ( A) y T ( A) ⊆ T ( B)
⇐⇒ T ( A) = T ( B)
149
150
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Septiembre de 2001
Ejercicio 100 Este ejercicio tiene dos apartados.
(a) Probar que la siguiente fórmula es una tautología:
( p → r ) → ((q → r ) → ( p ∨ q → r ))
Primero utilizando tableros semánticos y después mediante resolución proposicional.
(b) Probar que:
(b.1) Si U es un conjunto de tautologías y A es una fórmula proposicional tal que U |= A,
entonces A es una tautología.
(b.2) Si A y B son dos cláusulas proposicionales y F es la fórmula ¬( A ∧ B), entonces
F es insatisfactible syss A y B contienen ambas un par complementario.
Solución:
Solución del apartado (a.1): Un tablero semántico de
{¬(( p → r ) → ((q → r ) → ( p ∨ q → r )))}
es
¬(( p → r ) → ((q → r ) → ( p ∨ q → r )))
p → r, ¬((q → r ) → ( p ∨ q → r ))
p → r, q → r, ¬( p ∨ q → r )
p → r, q → r, p ∨ q, ¬r
¬ p, q → r, p ∨ q, ¬r
r, q → r, p ∨ q, ¬r
Cerrada
¬ p, ¬q, p ∨ q, ¬r
¬ p, ¬q, p, ¬r
¬ p, ¬q, q, ¬r
Cerrada
Cerrada
¬ p, r, p ∨ q, ¬r
Cerrada
Examen de Septiembre de 2001
151
Como todas sus hojas son cerradas, la fórmula es una tautología.
Solución del apartado (a.2): En primer lugar, se calcula una forma clausal de
¬(( p → r ) → ((q → r ) → ( p ∨ q → r ))).
¬(( p → r ) → ((q → r ) → ( p ∨ q → r )))
¬(¬(¬ p ∨ r ) ∨ (¬(¬q ∨ r ) ∨ (¬( p ∨ q) ∨ r )))
¬¬(¬ p ∨ r ) ∧ ¬(¬(¬q ∨ r ) ∨ (¬( p ∨ q) ∨ r ))
(¬ p ∨ r ) ∧ ¬¬(¬q ∨ r ) ∧ ¬(¬( p ∨ q) ∨ r )
(¬ p ∨ r ) ∧ (¬q ∨ r ) ∧ (¬¬( p ∨ q) ∧ ¬r )
(¬ p ∨ r ) ∧ (¬q ∨ r ) ∧ ( p ∨ q) ∧ ¬r
{{¬ p, r }, {¬q, r }, { p, q}, {¬r }}
≡
≡
≡
≡
≡
≡
[por (2)]
[por (4)]
[por (5) y (4)]
[por (5) y (4)]
[por (5)]
Una demostración por resolución es
1
2
3
4
5
6
7
8
{¬ p, r }
{¬q, r }
{ p, q}
{¬r }
{¬ p}
{¬q}
{q}
Resolvente de 1 y 4
Resolvente de 2 y 4
Resolvente de 3 y 5
Resolvente de 7 y 6
Solución del apartado (b.1): Sea I una interpretación. Entonces, I |= U (por ser los
elementos de U tautologías), y I |= A (porque U |= A). Por tanto, A es una tautología.
Solución del apartado (b.2):
⇐⇒
⇐⇒
⇐⇒
⇐⇒
⇐⇒
F es insatisfacible
¬( A ∧ B) es insatisfacible
para toda interpretación I, I (¬( A ∧ B)) = 0
para toda interpretación I, I ( A ∧ B) = 1
para toda interpretación I, I ( A) = I ( B) = 1
A y B contienen ambas un par de literales complementarios [por ser A y B cláusulas]
Ejercicio 101 Sea
S = {(∀ x )¬ P( x, x ), (∀ x )(∀y)[ P( x, y) ∨ P(y, x )], (∀ x ) P( x, f ( x ))}
y sea F la fórmula
(∀ x )(∀y)[ P( x, y) → (∃z)[ P( x, z) ∧ P(z, y)]].
(a) Calcular una forma clausal de F y otra de ¬ F.
(b) Probar, utilizando un modelo de Herbrand, que S 6|= F.
152
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Solución:
Solución del apartado (a.1): Cálculo de una forma clausal de F:
≡
≡
≡
≡sat
≡
(∀ x )(∀y)[ P( x, y) → (∃z)[ P( x, z) ∧ P(z, y)]]
(∀ x )(∀y)[¬ P( x, y) ∨ (∃z)[ P( x, z) ∧ P(z, y)]]
(∀ x )(∀y)(∃z)[¬ P( x, y) ∨ ( P( x, z) ∧ P(z, y))]
(∀ x )(∀y)(∃z)[(¬ P( x, y) ∨ P( x, z)) ∧ (¬ P( x, y) ∨ P(z, y))]
(∀ x )(∀y)[(¬ P( x, y) ∨ P( x, f ( x, y))) ∧ (¬ P( x, y) ∨ P( f ( x, y), y))]
{{¬ P( x, y), P( x, f ( x, y))}, {¬ P( x, y), P( f ( x, y), y)}}
[por (4)]
[por (18)]
[por (19)]
[Skolem f ]
Solución del apartado (a.2): Cálculo de una forma clausal de ¬ F:
≡
≡
≡
≡
≡sat
≡
¬(∀ x )(∀y)[ P( x, y) → (∃z)[ P( x, z) ∧ P(z, y)]]
¬(∀ x )(∀y)(∃z)[¬ P( x, y) ∨ ( P( x, z) ∧ P(z, y))]
(∃ x )(∃y)(∀z)¬(¬ P( x, y) ∨ ( P( x, z) ∧ P(z, y)))
(∃ x )(∃y)(∀z)[¬¬ P( x, y) ∧ ¬( P( x, z) ∧ P(z, y))]
(∃ x )(∃y)(∀z)[ P( x, y) ∧ (¬ P( x, z) ∨ ¬ P(z, y))]
(∀z)[ P( a, b) ∧ (¬ P( a, z) ∨ ¬ P(z, b))]
{{ P( a, b)}, {¬ P( a, z), ¬ P(z, b)}}
[por (a.1)]
[por (8) y (9)]
[por (6)]
[por (7) y (5)]
[Skolem a y b]
Ejercicio 102 Se conocen los siguientes hechos:
1. Todos los ordenadores son máquinas.
2. El TX–150 es un ordenador.
3. Félix puede arreglar, o bien estropear, cualquier máquina.
4. Cada cosa puede ser arreglada por alguien.
5. Las cosas solamente desesperan a quienes no son capaces de arreglarlas.
6. El TX–150 desespera a Félix.
7. Ninguna máquina puede ser arreglada por sí misma.
Se pide:
(a) Formalizar los hechos anteriores utilizando los siguientes símbolos de predicado: O( x ): “x
es un ordenador”, M( x ): “x es una máquina”, A( x, y): “x puede arreglar y”, E( x, y): “x
estropea y” y D ( x, y): “x desespera a y” . Y a, b como constantes para TX–150 y Félix,
respectivamente.
(b) Utilizando resolución responder a las siguientes preguntas: ¿Puede arreglar Félix el TX–
150? ¿Estropea Félix el TX–150?
Examen de Septiembre de 2001
153
Solución:
Solución del apartado (a): Formalización:
1. Todos los ordenadores son máquinas.
(∀ x )[O( x ) → M( x )].
2. El TX–150 es un ordenador.
O ( a ).
3. Félix puede arreglar, o bien estropear, cualquier máquina.
(∀ x )[ M( x ) → A(b, x ) ∨ E(b, x )].
4. Cada cosa puede ser arreglada por alguien.
(∀ x )(∃y) A(y, x ).
5. Las cosas solamente desesperan a quienes no son capaces de arreglarlas.
(∀ x )(∀y)[ D ( x, y) → ¬ A(y, x )].
6. El TX–150 desespera a Félix.
D ( a, b).
7. Ninguna máquina puede ser arreglada por sí misma.
¬(∃ x )[ M( x ) ∧ A( x, x )].
Solución del apartado (b): En primer lugar, se calculan formas clausales de las fórmulas anteriores.
(∀ x )[O( x ) → M( x )]
≡ (∀ x )[¬O( x ) ∨ M( x )] [por (4)]
≡ {{¬O( x ), M( x )}}
O( a)
≡ {{O( a)}}
(∀ x )[ M( x ) → A(b, x ) ∨ E(b, x )]
≡ (∀ x )[¬ M( x ) ∨ A(b, x ) ∨ E(b, x )] [por (4)]
≡ {{¬ M( x ), A(b, x ), E(b, x )}}
(∀ x )(∃y) A(y, x )
≡sat (∀ x ) A( f ( x ), x ) [Skolem f ]
≡
{{ A( f ( x ), x )}}
154
José A. Alonso: Soluciones de exámenes de “Lógica informática”
(∀ x )(∀y)[ D ( x, y) → ¬ A(y, x )]
≡ (∀ x )(∀y)[¬ D ( x, y) ∨ ¬ A(y, x )] [por (4)]
≡ {{¬ D ( x, y), ¬ A(y, x )}}
D ( a, b)
≡ {{ D ( a, b)}}
¬(∃ x )[ M( x ) ∧ A( x, x )]
≡ (∀ x )¬( M( x ) ∧ A( x, x )) [por (8)]
≡ (∀ x )[¬ M( x ) ∨ ¬ A( x, x )] [por (5)]
≡ {{¬ M( x ), ¬ A( x, x )}}
Las cláusulas obtenidas son
1 {¬O( x ), M ( x )}
2 {O( a)}
3 {¬ M ( x ), A(b, x ), E(b, x )}
4 { A( f ( x ), x )}
5 {¬ D ( x, y), ¬ A(y, x )}
6 { D ( a, b)}
7 {¬ M ( x ), ¬ A( x, x )}
Vamos a demostrar que Félix no puede arreglar el TX-150. Para ello, suponemos lo
contrario, lo que da lugar a la cláusula
8
A(b, a)
Una refutación por resolución de las cláusulas anteriores es
5
6
8
9
10
{¬ D ( x, y), ¬ A(y, x )}
{ D ( a, b)}
{ A(b, a)}
{¬ A(b, a)}
Resolvente de 5 y 5
Resolvente de 9 y 8
Vamos a demostrar que Félix estropea el TX-150. Para ello, suponemos lo contrario,
lo que da lugar a la cláusula
11
¬ E(b, a)
Una refutación por resolución de la cláusula 11 junto con 1–7 es
Examen de Septiembre de 2001
1
2
3
5
6
10
11
12
13
14
15
{¬O( x ), M( x )}
{O( a)}
{¬ M( x ), A(b, x ), E(b, x )}
{¬ D ( x, y), ¬ A(y, x )}
{ D ( a, b)}
{¬ E(b, a)}
{ M( a)}
{¬ A(b, a)}
{ A(b, a), E(b, a)}
{ E(b, a)}
155
Resolvente de 1 y 2
Resolvente de 5 y 6
Resolvente de 3 y 11
Resolvente de 13 y 12
Resolvente de 14 y 10
156
José A. Alonso: Soluciones de exámenes de “Lógica informática”
Examen de Diciembre de 2001
Ejercicio 103 Sea A la fórmula proposicional
( p ∨ q ↔ ¬r ) ∧ (¬ p → s) ∧ (¬t → q) ∧ (s ∧ t → u).
(a) Probar que A es satisfactible.
(b) Demostrar por el método de tableros semánticos que A |= r → u.
(c) Probar por resolución proposicional que
{ p ∨ q ↔ ¬r, ¬ p → s, ¬t → q, s ∧ t → u} |= r → u.
Solución:
Solución del apartado (a): Vamos a demostrar la satisfacibildad de A mostrando un
modelo de A. Sea I una interpretación. Para que I verifique las implicaciones de A basta
que no verifique sus consecuentes; es decir, I (s) = 0, I (q) = 0 y I (u) = 0. Si I (q) = 0,
para que v verifique ( p ∨ q ↔ ¬r ), basta que I ( p) 6= I (r ) (por ejemplo, I ( p) = 1 y
I (r ) = 0). Por tanto, la interpretación I tal que
I ( p) = 1, I (q) = 0, I (r ) = 0, I (s) = 0 y I (u) = 0.
es un modelo de A.
Solución del apartado (b): Un tablero semántico de { A, ¬(r → u} se muestra en la
Figura 1 (página 157). Puesto que todas sus hojas son cerradas, se tiene que A |= r → u.
Solución del apartado (c): En primer lugar, se calcula formas clausales de las fórmulas de las hipótesis y de la negación de la conclusión:
≡
≡
≡
≡
≡
p ∨ q ↔ ¬r
( p ∨ q → ¬r ) ∧ (¬r → p ∨ q)
(¬( p ∨ q) ∨ ¬r ) ∧ (¬¬r ∨ p ∨ q)
((¬ p ∧ ¬q) ∨ ¬r ) ∧ (r ∨ p ∨ q)
((¬ p ∨ ¬r ) ∧ (¬q ∨ ¬r )) ∧ (r ∨ p ∨ q)
{{¬ p, ¬r }, {¬q, ¬r }, {r, p, q}}
¬p → s
≡ ¬¬ p ∨ s [por (2)]
≡ p∨s
[por (5)]
≡ {{ p, s}}
¬t → q
≡ ¬¬t ∨ q [por (2)]
≡ t∨q
[por (5)]
≡ {{t, q}}
[por (1)]
[por (2)]
[por (3) y (5)]
[por (7)]
Examen de Diciembre de 2001
157
( p ∨ q ↔ ¬r ) ∧ (¬ p → s) ∧ (¬t → q) ∧ (s ∧ t → u), ¬(r → u)
p ∨ q ↔ ¬r, (¬ p → s) ∧ (¬t → q) ∧ (s ∧ t → u), ¬(r → u)
p ∨ q → ¬r, ¬r → p ∨ q, (¬ p → s) ∧ (¬t → q) ∧ (s ∧ t → u), ¬(r → u)
p ∨ q → ¬r, ¬r → p ∨ q, ¬ p → s, (¬t → q) ∧ (s ∧ t → u), ¬(r → u)
p ∨ q → ¬r, ¬r → p ∨ q, ¬ p → s, ¬t → q, s ∧ t → u, ¬(r → u)
p ∨ q → ¬r, ¬r → p ∨ q, ¬ p → s, ¬t → q, s ∧ t → u, r, ¬u
¬( p ∨ q), ¬r → p ∨ q, ¬ p → s, ¬t → q, s ∧ t → u, r, ¬u
¬r, . . . , r, ¬u
¬ p, ¬q, ¬r → p ∨ q, ¬ p → s, ¬t → q, s ∧ t → u, r, ¬u
Cerrada
¬ p, . . . , ¬¬ p, . . .
¬ p, ¬q, ¬r → p ∨ q, s, ¬t → q, s ∧ t → u, r, ¬u
Cerrada
¬ p, ¬q, ¬r → p ∨ q, s, ¬t → q, ¬(s ∧ t), r, ¬u
. . . , u, r, ¬u
Cerrada
. . . , s, . . . , ¬s, . . .
¬ p, ¬q, ¬r → p ∨ q, s, ¬t → q, ¬t, r, ¬u
Cerrada
. . . , ¬¬t, ¬t, . . .
. . . , ¬q, . . . , q, . . .
Cerrada
Cerrada
Figura 14: Árbol semántico
158
José A. Alonso: Soluciones de exámenes de “Lógica informática”
s∧t → u
≡ ¬(s ∧ t) ∨ u
[por (2)]
≡ (¬s ∨ ¬t) ∨ u [por (3)]
≡ {{¬s, ¬t, u}}
¬(r → u)
¬(¬r ∨ u)
[por (2)]
¬¬r ∧ ¬u
[por (4)]
r ∧ ¬u
[por (5)]
{{r }}, {¬u}}
≡
≡
≡
≡
Una resolución de las cláusulas obtenidas es
1 {¬ p, ¬r }
2 {¬q, ¬r }
3 {r, p, q}
4 { p, s}
5 {t, q}
6 {¬s, ¬t, u}
7 {r }
8 {¬u}
9 {¬q}
Resolvente de 7 y 2
10 {¬ p}
Resolvente de 7 y 1
11 {¬s, ¬t}
Resolvente de 8 y 6
12 {t}
Resolvente de 9 y 5
13 {s}
Resolvente de 10 y 4
14 {¬t}
Resolvente de 11 y 13
15 Resolvente de 14 y 12
Ejercicio 104 Sea S el conjunto formado por las siguientes fórmulas:
F1
F2
F3
F4
:
:
:
:
P( a) ∧ (∀ x )[ P( x ) → Q( f ( x ), x )]
(∀ x )(∀y)[ Q( x, y) → ( R( f ( x )) ∧ ¬ R( f ( f ( x ))))]
(∀ x )[ P( x ) ∨ R( x )]
(∀ x )¬( P( x ) ∧ R( x ))
Se pide:
(a) Probar mediante resolución que S |= P( f ( f ( f ( a)))).
(b) Probar, utilizando un modelo de Herbrand, que S 6|= (∀ x )[ Q( f ( x ), x ) → P( x )].
Solución:
Solución del apartado (a): En primer lugar, se calculan formas clausales de las hipótesis y de la negación de la conclusión:
Examen de Diciembre de 2001
159
F1 : P( a) ∧ (∀ x )[ P( x ) → Q( f ( x ), x )]
≡ P( a) ∧ (∀ x )[¬ P( x ) ∨ Q( f ( x ), x )]
[por (2)]
≡ (∀ x )[ P( a) ∧ (¬ P( x ) ∨ Q( f ( x ), x ))] [por (15)]
≡ {{ P( a)}, {¬ P( x ), Q( f ( x ), x )}}
F2 : (∀ x )(∀y)[ Q( x, y) → ( R( f ( x )) ∧ ¬ R( f ( f ( x ))))]
≡ (∀ x )(∀y)[¬ Q( x, y) ∨ ( R( f ( x )) ∧ ¬ R( f ( f ( x ))))]
[por (2)]
≡ (∀ x )(∀y)[(¬ Q( x, y) ∨ R( f ( x ))) ∧ (¬ Q( x, y) ∨ ¬ R( f ( f ( x ))))] [por (19)]
≡ {{¬ Q( x, y), R( f ( x ))}, {¬ Q( x, y), ¬ R( f ( f ( x )))}}
F3 : (∀ x )[ P( x ) ∨ R( x )]
≡ {{ P( x ), R( x )}}
F4 : (∀ x )¬( P( x ) ∧ R( x ))
≡ (∀ x )[¬ P( x ) ∨ ¬ R( x )] [por (5)]
≡ {{¬ P( x ), ¬ R( x )}}
¬ P( f ( f ( f ( a))))
≡ {{¬ P( f ( f ( f ( a))))}}
Una resolución de las cláusulas obtenidas es
1 { P( a)}
2 {¬ P( x ), Q( f ( x ), x )}
3 {¬ Q( x, y), R( f ( x ))}
4 {¬ Q( x, y), ¬ R( f ( f ( x )))}
5 { P( x ), R( x )}
6 {¬ P( x ), ¬ R( x )}
7 {¬ P( f ( f ( f ( a))))}
8 { R( f ( f ( f ( a))))}
Resolvente de 7 y 5
9 {¬ Q( f ( a), y)}
Resolvente de 8 y 4
10 {¬ P( a)}
Resolvente de 9 y 2
11 Resolvente de 10 y 1
Solución del apartado (b): Vamos a obtener consecuencias que nos permitan contruir el modelo de Herbrand.
160
José A. Alonso: Soluciones de exámenes de “Lógica informática”
1
2
3
4
5
6
7
8
9
10
11
12
13
(∀ x )[ P( x ) → R( f ( f ( x )))]
(∀ x )(∀y)[ Q( x, y) → P( f ( f ( x )))]
(∀ x )[ R( x ) ∨ R( f ( f ( x )))]
P( a)
Q ( f ( a ), a )
¬ R( f ( f ( f ( a))))
R( f ( a))
R( f ( f ( a)))
P( f ( f ( f ( a))))
Q( f ( f ( f ( f ( a)))), f ( f ( f ( a))))
¬ R( f ( f ( f ( f ( f ( f ( a)))))))
R( f ( f ( f ( f ( a)))))
R( f ( f ( f ( f ( f ( a))))))
[por F1 y F2 ]
[por F2 y F3 ]
[por 1 y F3 ]
[por F1 ]
[por 4 y F1 ]
[por 5 y F2 ]
[por 6 y 3]
[por 1 y 4]
[por 2 y 5]
[por 9 y F1 ]
[por 10 y F2 ]
[por 11 y 3]
[por 1 y 9]
Se observa que la ley de formación es
P( a), Q( f ( a), a), R( f ( a)), R( f ( f ( a))),
P( f ( f ( f ( a)))), Q( f ( f ( f ( f ( a)))), f ( f ( f ( a)))), R( f ( f ( f ( f ( a))))), R( f ( f ( f ( f ( f ( a)))))), . . .
Sea
I1 = { P( f 3n ( a)), Q( f 3n+1 ( a), f 3n ( a)), R( f 3n+1 ( a)), R( f 3n+2 ( a)) : n ∈ N}.
Se comprueba fácilmente que I1 |= S e I1 |= (∀ x )[ Q( f ( x ), x ) → P( x )]. Para extender
I1 a un modelo de S en el que no se verifique (∀ x )[ Q( f ( x ), x ) → P( x )], introducimos
una nueva variable b y suponemos que Q( f (b), b). De manera análoga a la anterior, se
obtiene
Q ( f ( b ), b )
R( f ( f (b)))
P( f ( f ( f (b))))
Q( f ( f ( f ( f (b)))), f ( f ( f (b))))
R( f ( f ( f ( f ( f (b))))))
R( f (b))
P( f ( f ( f ( f ( f ( f (b)))))))
Q( f ( f ( f ( f ( f ( f ( f (b))))))), f ( f ( f ( f ( f ( f (b)))))))
P( f ( f ( f ( f ( f ( f ( f ( f ( f (b))))))))))
R( f ( f ( f ( f (b)))))
R( f ( f ( f ( f ( f ( f ( f ( f (b)))))))))
Sea
I2 = I1 ∪ { P( f 3(n+1) (b)), Q( f 3n+1 (b), f 3n (b)), R( f 3n+1 (b)), R( f 3n+2 (b)) : n ∈ N}.
Se comprueba fácilmente que I2 |= S e I2 6|= (∀ x )[ Q( f ( x ), x ) → P( x )].
Ejercicio 105 Este ejercicio tiene dos apartados.
Examen de Diciembre de 2001
161
(a) Calcular las formas prenexa conjuntiva, de Skolem y clausal de la fórmula:
(∃ x )(∃y)(∀z)[(∀v)[ Q( x, v) ∨ R( x, y)] → ¬(∃v)¬(∃u)[ Q( x, v) ∧ ¬ R( x, u)]].
(b) Sean A y B fórmulas proposicionales y C una tautología. Probar que son equivalentes:
(1) |= A → ( B ∧ C ).
(2) Para cada interpretación I, si I |= A ∧ C entonces I |= B.
Solución del apartado (a):
1.– Forma prenexa conjuntiva:
(∃ x )(∃y)(∀z)[(∀v)[ Q( x, v) ∨ R( x, y)] → ¬(∃v)¬(∃u)[ Q( x, v) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)[(∀v)[ Q( x, v) ∨ R( x, y)] → ¬(∃w)¬(∃u)[ Q( x, w) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)[¬(∀v)[ Q( x, v) ∨ R( x, y)] ∨ ¬(∃w)¬(∃u)[ Q( x, w) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)[(∃v)¬( Q( x, v) ∨ R( x, y)) ∨ (∀w)¬¬(∃u)[ Q( x, w) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)[(∃v)(¬ Q( x, v) ∧ ¬ R( x, y)) ∨ (∀w)(∃u)[ Q( x, w) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)(∃v)(∀w)[(¬ Q( x, v) ∧ ¬ R( x, y)) ∨ (∃u)[ Q( x, w) ∧ ¬ R( x, u)]]
(∃ x )(∃y)(∀z)(∃v)(∀w)(∃u)[(¬ Q( x, v) ∧ ¬ R( x, y)) ∨ ( Q( x, w) ∧ ¬ R( x, u))]
(∃ x )(∃y)(∀z)(∃v)(∀w)(∃u)[ (¬ Q( x, v) ∨ Q( x, w)) ∧ (¬ Q( x, v) ∨ ¬ R( x, u)) ∧
(¬ R( x, y) ∨ Q( x, w)) ∧ (¬ R( x, y) ∨ ¬ R( x, u))]
2.– Forma de Skolem:
(∃ x )(∃y)(∀z)(∃v)(∀w)(∃u)[ (¬ Q( x, v) ∨ Q( x, w)) ∧ (¬ Q( x, v) ∨ ¬ R( x, u)) ∧
(¬ R( x, y) ∨ Q( x, w)) ∧ (¬ R( x, y) ∨ ¬ R( x, u))]
≡sat (∃y)(∀z)(∃v)(∀w)(∃u)[ (¬ Q( a, v) ∨ Q( a, w)) ∧ (¬ Q( a, v) ∨ ¬ R( a, u)) ∧
(¬ R( a, y) ∨ Q( a, w)) ∧ (¬ R( a, y) ∨ ¬ R( a, u))]
≡sat (∀z)(∃v)(∀w)(∃u)[ (¬ Q( a, v) ∨ Q( a, w)) ∧ (¬ Q( a, v) ∨ ¬ R( a, u)) ∧
(¬ R( a, b) ∨ Q( a, w)) ∧ (¬ R( a, b) ∨ ¬ R( a, u))]
≡sat (∀z)(∀w)(∃u)[ (¬ Q( a, f (z)) ∨ Q( a, w)) ∧ (¬ Q( a, f (z)) ∨ ¬ R( a, u)) ∧
(¬ R( a, b) ∨ Q( a, w)) ∧ (¬ R( a, b) ∨ ¬ R( a, u))]
≡sat (∀z)(∀w)[ (¬ Q( a, f (z)) ∨ Q( a, w)) ∧ (¬ Q( a, f (z)) ∨ ¬ R( a, g(z, w))) ∧
(¬ R( a, b) ∨ Q( a, w)) ∧ (¬ R( a, b) ∨ ¬ R( a, g(z, w)))]
3.– Forma clausal:
(∀z)(∀w)[ (¬ Q( a, f (z)) ∨ Q( a, w)) ∧ (¬ Q( a, f (z)) ∨ ¬ R( a, g(z, w))) ∧
(¬ R( a, b) ∨ Q( a, w)) ∧ (¬ R( a, b) ∨ ¬ R( a, g(z, w)))]
≡ { {¬ Q( a, f (z)), Q( a, w)},
{¬ Q( a, f (z)), ¬ R( a, g(z, w))},
{¬ R( a, b), Q( a, w)},
{¬ R( a, b), ¬ R( a, g(z, w))} }
Solución del apartado (b): [(1) =⇒ (2)] Sea I una interpretación. Entonces,
≡
≡
≡
≡
≡
≡
≡
162
José A. Alonso: Soluciones de exámenes de “Lógica informática”
I |= A ∧ C
=⇒ I |= A
=⇒ I |= B ∧ C [por (1)]
=⇒ I |= B
[(2) =⇒ (1)] Sea I una interpretación. Entonces,
I
=⇒ I
=⇒ I
=⇒ I
|=
|=
|=
|=
A
A ∧ C [por ser C tautología]
B
[por (2)]
B ∧ C [por ser C tautología]
Luego, I |= A → B ∧ C y, por tanto, |= A → B ∧ C.
Descargar