Pregunta 1 [42 puntos] (a) Diga si las siguientes afirmaciones son verdaderas o falsas. Use la definición de verdad de fórmula para demostrar su respuesta. i. {P (A, B), P (C, D)} 6|= ¬P (B, C). Verdadera. Basta con demostrar que {P (A, B), P (C, D), P (B, C)} es un conjunto satisfactible. En efecto, sea E = {{0, 1, 2, 3}, {P E }, {}, {0, 1, 2, 3}}, con P E = {(0, 1), (2, 3), (1, 2)} usada para interpretar el lenguaje dado por los sı́mbolos: {{P }, {}, {A, B, C, D}} Claramente el conjunto se hace verdadero bajo E. ii. {∀xy P (x, y) ↔ (x = A ∧ y = B)} 6|= ¬P (A, A) Verdadera. Nuevamente, basta con demostrar que {P (x, y) ↔ (x = A ∧ y = B), P (A, A)} es satisfactible. Basta con encontrar una estructura que interprete a las constantes A y B con el mismo objeto. Por ejemplo, sea E = {{0}, {P E }, {}, {0, 0}} con P E = {(0, 0)} usada para interpretar el lenguaje dado por los sı́mbolos: {{P }, {}, {A, B}}. Claramente E |= ∀xy P (x, y) ↔ (x = A ∧ y = B) y E |= P (A, A). iii. {∃x (P (x) ∧ Q(x))} |= ∃x P (x) ∧ ∃x Q(x). Verdadera. Sea I tal que I |= {∃x (P (x) ∧ Q(x))}. Esto significa que para algún a ∈ Dom (con Dom el dominio de I) se cumple que x I a |= P (x) ∧ Q(x) ⇔ x x I a |= P (x) y I a |= Q(x) ⇒ I |= ∃x P (x) y I |= ∃x Q(x) ⇔ I |= ∃x P (x) ∧ ∃x Q(x) iv. {∃x P (x) ∧ ∃x Q(x)} |= ∃x (P (x) ∧ Q(x)). Falsa. Sea E = {{0, 1}, {P E , QE }, {}, {}}, con P E = {0} y QE = {1}. Claramente E |= ∃x P (x) ∧ ∃x Q(x) pero E 6|= ∃x (P (x) ∧ Q(x)) (b) Demuestre que i. {∀x x = x} `r+p ∀xyz ((x = y ∧ y = z) → x = z). El conjunto de cláusulas antes de hacer resolución es: 1. x = x. 2. A = B. 3. B = C. 4. ¬A = C. Resolviendo: 5. A = C (paramodulación entre 2 y 3). 6. (resolución entre 5 y 4). ii. {∀x∃y P (x, y), ∀x x = A} ∪ {∀x x = x} `r+p ∃y∀x P (x, y). Conjunto de cláusulas antes de hacer resolución es: 1. x = x. 2. P (x, f (x)). 3. y = A. 1 4. ¬P (g(z), z) Resolviendo: 5. ¬P (A, z) (paramodulación entre 3 y 4 con θ = {y/g(A)}). 6. (resolución entre 2 y 5 con θ = {x/A, z/f (A)}). 2 Pregunta 2 (Mundo de Libros y Personas) [35 puntos] En el mundo de libros y personas hay objetos de tres clases: personas, libros y volúmenes de libros. Los libros son inmateriales y tienen volúmenes, los que son sus copias fı́sicas. Las personas pueden haber escrito libros o ser propietarias de volúmenes de libros, pero ninguna persona puede escribir un volumen de un libro ni poseer un libro. Considere la siguiente información. 1) Gustavo posee un volumen de todos los libros de Bradbury y Neruda. 2) Todos los volúmenes que posee Cristina son volúmenes de libros de Twain. 3) Todos los autores poseen una copia de cada libro que han escrito. 4) Bradbury es el único autor de Fahrenheit 451. 5) Todo libro escrito por alguien tiene por lo menos un volumen. (a) Represente usando lógica de primer orden la información descrita. Use solamente los siguientes predicados: volDe(x, y): x es un volumen del libro y. autor(x, y): x es autor del libro y. posee(x, y): x posee el volumen y. 1) 2) 3) 4) 5) ∀x ((autor(N eruda, x) ∨ autor(Bradbury, x)) → ∃y (volDe(y, x) ∧ posee(Gustavo, y)). ∀xy ((posee(Cristina, x) ∧ volDe(x, y)) → autor(T wain, y)). ∀xy (autor(x, y) → ∃z (volDe(z, y) ∧ posee(x, z))) ∀x (autor(x, F ahr) ↔ x = Bradbury). ∀xy (autor(x, y) → ∃z volDe(z, y)) (b) Usando resolución, demuestre que a partir del conjunto de fórmulas se concluye que si Cristina posee un volumen de Fahrenheit 451, entonces Twain es Bradbury. A partir del conjunto de fórmulas hay que demostrar que ϕ = (∃y posee(Cristina, y) ∧ volDe(y, F ahr)) → T wain = Bradbury La cláusula vacı́a se debiera obtener sólo de 2) y 4). Transformando estas fórmulas en cláusulas se tiene lo siguiente: 1. 2. 3. 4. 5. 6. ¬posee(Cristina, x) ∨ ¬volDe(x, y) ∨ autor(T wain, y) (de 2) ) ¬autor(x, F ahr) ∨ x = Bradbury (de 3) ) autor(x, F ahr) ∨ ¬x = Bradbury (de 3) ) posee(Cristina, A) (de ϕ negada) volDe(A, F ahr) (de ϕ negada) ¬T wain = Bradbury (de ϕ negada) Resolviendo: 7. ¬volDe(A, y) ∨ autor(T wain, y) (entre 1 y 4) 8. autor(T wain, F ahr) (entre 7 y 5) 9. T wain = Bradbury (entre 8 y 2) 10. (entre 9 y 6) 3 Pregunta 3 [25 puntos] (a) Diga cuál es el modelo de Herbrand del siguiente programa en lógica. ¿Hay algún literal instanciado que pertenezca al modelo de Herbrand, pero que no pueda ser demostrado por Prolog? Justifique. q(a). p(X) :- q(X). q(f(X)) :- p(X). q(X) :- p(X). El modelo de Herbrand del programa es {q(a), p(a), q(f (a)), p(f (a)), q(f (f (a))), . . .} No es posible que un literal de este conjunto no pueda ser demostrado por Prolog. Si el literal es del tipo q(f n (a)) Prolog usará la tercera regla para demostrar el sub-objetivo p(f n−1 (a)) y luego la segunda regla para demostrar q(f n−1 (a). Este proceso se repite hasta que finalmente queda por demostrar q(a), objetivo que es demostrado usando la primera regla. En el caso que el objetivo es de la forma p(f n (a)), Prolog usa la segunda regla, generando el subobjetivo q(f n (a)). La demostración, concluye de la misma manera explicada arriba. (b) Considere las siguientes reglas Prolog: desc :- not(desc2(X)). desc2(X) :- objeto(X),not(rojo(X)). i. Diga qué responde Prolog a la consulta desc en un programa con las reglas definidas arriba y los hechos: objeto(a). objeto(b). rojo(a). Responde No. ii. Diga qué responde Prolog a la consulta desc en un programa con las reglas definidas arriba y los hechos: objeto(a). objeto(b). rojo(a). rojo(b). Responde Yes. iii. Explique, en castellano, qué significa que Prolog responda No a la consulta desc. Significa que hay un átomo x que se puede demostrar que es un objeto, pero que no se puede demostrar que es rojo. iv. ¿Cree usted que es posible definir un predicado Prolog descpuro, que produzca las mismas respuestas que desc, independientemente de los hechos, y que no use negación como falla? Justifique. En primer orden, el predicado descpuro debiera ser definido de la siguiente manera: descpuro ← ∀x (objeto(x) → rojo(x)) A través de manipulación sintáctica se llega a que esto es equivalente a ∃x (descpuro ← (objeto(x) → rojo(x))) 4 Esto no es una cláusula de Horn positiva de primer orden porque se encuentra cuantificada existencialmente. Cualquier otra manipulación sintáctica seguirá produciendo fórmulas cuantificadas existencialmente. 5