Examen INF242 Stéphane Devismes Benjamin Wack mai 2014 2 pages Total : 120 points Durée : 2h00 Documents autorisés : une feuille recto verso de notes manuscrites format A4. Le barème est indicatif, les points correspondent au nombre de minutes nécessaires pour réaliser les exercices. L épreuve sera notée sur 120 points. Le résultat d une question peut être admis pour s en servir dans la suite de l énoncé. Les exercices peuvent être traités dans l ordre de votre choix à condition de les numéroter clairement. Exercice 1 (Formalisation, 20 points) Dans le petit pays de Gödélie, en pleine guerre froide, les plus redoutables espions de la planète se retrouvent pour régler leurs comptes. Chaque espion a pour cible un de ses «collègues», qu il cherche à neutraliser par tous les moyens possibles. Certains espions ont un permis de tuer certains autres. Enfin, certains espions ont prévu qu il y aurait du grabuge et sont donc armés. Dans tout cet exercice, on utilisera obligatoirement les symboles suivants (et seulement ceux-ci) : James et Mata sont des espions. C(x) désigne la cible de l espion x. P (x, y) signifie que «x a le permis de tuer y». A(x) signifie que «x est armé». M(x, y) signifie que «x vient du même pays que y». 1. Préciser la signature Σ associée à ces six symboles. 2. Formaliser les énoncés suivants en logique du premier ordre : (a) James a le permis de tuer tous les espions. (b) Aucun espion n a le permis de tuer un espion qui vient du même pays que lui. (c) Tout espion a le permis de tuer sa cible si et seulement celle-ci est armée. (d) Il y a un espion qui a un permis de tuer mais qui n est pas armé. (e) Chaque espion a le permis de tuer Mata ou bien n a le permis de tuer personne. Exercice 2 (Expansion et contre-modèle, 20 points) Trouver, par la méthode des expansions, des contremodèles des formules suivantes : 1. xp (x, x) x yp (x, y) 2. ( xr(x) xq(x)) x(r(x) Q(x)) Indication : il suffit de construire des 1 ou 2 expansions. Exercice 3 (Unification, 15 points) Pour chacune des équations suivantes, déterminer si elle admet une solution, et si oui déterminer un unificateur le plus général. Vous utiliserez pour cela l algorithme du cours dont vous détaillerez les étapes. 1. f(z, g(x, y, a)) = f(g(h(y), b, a), z) 2. g(x, y, z) = g(f(a, z), y, x) 3. g(x, x, h(b)) = g(f(y, z), f(h(z), b), y) 1
Exercice 4 (Skolémisation et Forme Clausale, exercice du poly, 20 points) Considérons les formules suivantes : 1. A 1 = u v(p (u) (R(v) Q(u, v))). 2. A 2 = u v( P (u) S(v) Q(u, v)). 3. A 3 = v(r(v) S(v)). On montre que la liste de ces trois formules est contradictoire par résolution : 1. Mettre en forme clausale les trois formules A 1, A 2, A 3. 2. Trouver des instances contradictoires des clauses obtenues et montrer cette contradiction par résolution propositionnelle. 3. Faire une preuve directe de par factorisation, copie et résolution binaire. Exercice 5 (Résolution au premier ordre, 10 points) En utilisant une preuve par factorisation, copie et résolution binaire prouver que la fermeture universelle de l ensemble de clauses suivant est insatisfaisable : 1. P (x, y) P (y, x) 2. R(x, y) P (y, x) 3. M(x) R(x, y) 4. M(a) Exercice 6 (Preuve, 15 points) 1. Démontrer que pour toutes formules A, B, C la formule A B C est équivalente à A B C. 2. Soit maintenant une formule de la forme A n... A 2 A 1 C avec n 2. Démontrer par récurrence sur n que cette formule est équivalente à A n... A 2 A 1 C. Exercice 7 (Déduction Naturelle, 20 points) Prouver les formules suivantes par déduction naturelle au premier ordre. 1. x(p (x) Q(x)) x( P (x) Q(x)) 2. (P xq(x)) x Q(x) P Notez que dans cette dernière formule, P est une variable propositionnelle qui ne dépend donc pas de x. 2
Corrigés Exercice 1, page 1 1. Σ = {James f0, Mata f0, C f1, P r2, A r1, M r2 } 2. (a) xp (James, x) (b) x y(m(x, y) P (x, y)) ou x y(m(x, y) P (x, y)) (c) x(a(c(x)) P (x, C(x)) (d) x y(p (x, y) A(x)) (e) x(p (x, Mata) y P (x, y)) Exercice 2, page 1 1. 1-expansion : P (0, 0) P (0, 0) est valide. 2-expansion : P (0, 0) + P (1, 1) + P (0, 0) + P (0, 1) + P (1, 0) + P (1, 1) Les contre-modèles sont les interprétations où P I {(0, 1), (1, 0)}. 2. 1-expansion : (R(0) Q(0)) (R(0) Q(0)) est valide. 2-expansion : (R(0).R(1) Q(0).Q(1)) (R(0) Q(0)).(R(1) Q(1)) Les contre-modèles sont les interprétations où R I contient un seul élément et Q I ne contient pas celui-ci. Exercice 3, page 1 1. Décomposition z = g(h(y), b, a), g(x, y, a) = z Élimination de z z := g(h(y), b, a), g(x, y, a) = g(h(y), b, a) Décomposition z := g(h(y), b, a), x = h(y), y = b, a = a Élimination de x z := g(h(y), b, a), x := h(y), y = b, a = a Élimination de y z := g(h(b), b, a), x := h(b), y := b, a = a Suppression : le MGU est z := g(h(b), b, a), x := h(b), y := b 2. Décomposition x = f(a, z), y = y, z = x Élimination de x x := f(a, z), y = y, z = f(a, z) Échec d élimination de z 3. Décomposition x = f(y, z), x = f(h(z), b), h(b) = y Orientation puis élimination de y x = f(h(b), z), x = f(h(z), b), y := h(b) Élimination de x x := f(h(b), z), f(h(b), z) = f(h(z), b), y := h(b) Deux décompositions x := f(h(b), z), b = z, z = b, y := h(b) Élimination de z x := f(h(b), b), b = b, z := b, y := h(b) Suppression : le MGU est x := f(h(b), b), z := b, y := h(b) Exercice 4, page 2 Transformation en clauses : Nous obtenons que A 1 donne les deux clauses P (a) et R(v) Q(a, v). A 2 donne la clause P (u) S(v) Q(u, v). A 3 donne les deux clauses R(b) et S(b). Instanciation : Nous obtenons les instances contradictoires suivantes : P (a). R(b) Q(a, b). P (a) S(b) Q(a, b). R(b). S(b). Nous montrons cette contradiction par résolution propositionnelle : 3
Preuve par résolution : numéro conclusion justification (1) P (a) Hyp (2) R(b) Q(a, b) Hyp (3) P (a) S(b) Q(a, b) Hyp (4) R(b) Hyp (5) S(b) Hyp (6) S(b) Q(a, b) Résolvant 1,3 (7) Q(a, b) Résolvant 5,6 (8) R(b) Résolvant 2,7 (9) Résolvant 4,8 numéro conclusion justification unificateur (1) P (a) Hyp (2) R(v) Q(a, v) Hyp (3) P (u) S(v) Q(u, v) Hyp (4) R(b) Hyp (5) S(b) Hyp (6) S(v) Q(a, v) RB 1, 3 u := a (7) Q(a, b) RB 5, 6 v := b (8) R(b) RB 2, 7 v := b (9) RB 4, 8 Exercice 5, page 2 5. R(a, y) RB 3,4 < x := a > 6. R(a, z) Copie 5 < y := z > 7. P (z, a) RB 2,6 < x := a, y := z > 8. P (x, x) Fact 1 < y := x > 9. RB 7,8 < z := a, x := a > (attention à l unificateur!) Exercice 6, page 2 1. A B C A B C (A B) C A B C 2. Cas n = 2 : c est l équivalence démontrée à la question précédente. Induction : Supposons la propriété vérifiée au rang n. Par hypothèse de récurrence A n 1... A 1 C A n 1... A 1 C. Alors A = A n (A n 1... A 1 C) A n (A n 1... A 1 ) C (A n (A n 1... A 1 )) C (A n A n 1... A 1 ) C Pour l avant-dernière étape on utilise la première question. 4
Exercice 7, page 2 1. 2. contexte numéro preuve justification 1 1 Supp. x(p (x) Q(x)) 1,2 2 Supp. P (x) 1,2 3 P (x) Q(x) I1 2 1,2 4 x(p (x) Q(x)) I 3 x 1,2 5 E 1, 4 1 6 Donc P (x) I 2, 5 1,7 7 Supp. Q(x) 1,7 8 P (x) Q(x) I2 7 1,7 9 x(p (x) Q(x)) I 8 x 1,7 10 E 1, 9 1 11 Donc Q(x) I 7, 10 1 12 P (x) Q(x) I 6, 11 1 13 x( P (x) Q(x)) I 12 14 Donc x(p (x) Q(x)) x( P (x) Q(x)) I 1, 13 contexte numéro preuve justification 1 1 Supp. (P xq(x)) x Q(x) 1 2 P xq(x) E1 1 1 3 x Q(x) E2 1 1,4 4 Supp. P 1,4 5 xq(x) E 2, 4 1,4 6 Q(x) E 3 x 1,4 7 E 5, 6 1 8 Donc P I 4, 7 9 Donc (P xq(x)) x Q(x) P I 1, 9 5