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.