Session 1
Transcription
Session 1
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 M ata 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. A1 = ∃u∀v(P (u) ∧ (R(v) ⇒ Q(u, v))). 2. A2 = ∀u∀v(¬P (u) ∨ ¬S(v) ∨ ¬Q(u, v)). 3. A3 = ∃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 A1 , A2 , A3 . 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 An ⇒ . . . ⇒ A2 ⇒ A1 ⇒ C avec n ≥ 2. Démontrer par récurrence sur n que cette formule est équivalente à An ∧ . . . ∧ A2 ∧ A1 ⇒ 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. Σ = {Jamesf 0 , M ataf 0 , C f 1 , P r2 , Ar1 , 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, M ata) ∨ ∀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ù ∅ ( PI ⊆ {(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ù RI contient un seul élément et QI ne contient pas celui-ci. Exercice 3, page 1 z z z z z z = g(h(y), b, a), g(x, y, a) = z := g(h(y), b, a), g(x, y, a) = g(h(y), b, a) := g(h(y), b, a), x = h(y), y = b, a = a := g(h(y), b, a), x := h(y), y = b, a = a := g(h(b), b, a), x := h(b), y := b, a = a := g(h(b), b, a), x := h(b), y := b 1. Décomposition Élimination de z Décomposition Élimination de x Élimination de y Suppression : le MGU est 2. Décomposition Élimination de x Échec d’élimination de z 3. Décomposition Orientation puis élimination de y Élimination de x Deux décompositions Élimination de z Suppression : le MGU est x = f (a, z), y = y, z = x x := f (a, z), y = y, z = f (a, z) x = f (y, z), x = f (h(z), b), h(b) = y x = f (h(b), z), x = f (h(z), b), y := h(b) x := f (h(b), z), f (h(b), z) = f (h(z), b), y := h(b) x := f (h(b), z), b = z, z = b, y := h(b) x := f (h(b), b), b = b, z := b, y := h(b) x := f (h(b), b), z := b, y := h(b) Exercice 4, page 2 Transformation en clauses : Nous obtenons que – A1 donne les deux clauses P (a) et ¬R(v) ∨ Q(a, v). – A2 donne la clause ¬P (u) ∨ ¬S(v) ∨ ¬Q(u, v). – A3 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 numéro (1) (2) (3) (4) (5) (6) (7) (8) (9) conclusion P (a) ¬R(b) ∨ Q(a, b) ¬P (a) ∨ ¬S(b) ∨ ¬Q(a, b) R(b) S(b) ¬S(b) ∨ ¬Q(a, b) ¬Q(a, b) ¬R(b) ⊥ justification Hyp Hyp Hyp Hyp Hyp Résolvant 1,3 Résolvant 5,6 Résolvant 2,7 Résolvant 4,8 Preuve par résolution : numéro (1) (2) (3) (4) (5) (6) (7) (8) (9) conclusion P (a) ¬R(v) ∨ Q(a, v) ¬P (u) ∨ ¬S(v) ∨ ¬Q(u, v) R(b) S(b) ¬S(v) ∨ ¬Q(a, v) ¬Q(a, b) ¬R(b) ⊥ justification Hyp Hyp Hyp Hyp Hyp RB 1, 3 RB 5, 6 RB 2, 7 RB 4, 8 unificateur u := a v := b v := b 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 An−1 ⇒ . . . ⇒ A1 ⇒ C ≡ An−1 ∧ . . . ∧ A1 ⇒ C. Alors A = An ⇒ (An−1 ⇒ . . . ⇒ A1 ⇒ C) ≡ An ⇒ (An−1 ∧ . . . ∧ A1 ) ⇒ C ≡ (An ∧ (An−1 ∧ . . . ∧ A1 )) ⇒ C ≡ (An ∧ An−1 ∧ . . . ∧ A1 ) ⇒ C Pour l’avant-dernière étape on utilise la première question. 4 Exercice 7, page 2 1. 2. contexte 1 1,2 1,2 1,2 1,2 1 1,7 1,7 1,7 1,7 1 1 1 numéro 1 2 3 4 5 6 7 8 9 10 11 12 13 14 preuve Supp. ¬∃x(P (x) ∨ Q(x)) Supp. P (x) P (x) ∨ Q(x) ∃x(P (x) ∨ Q(x)) ⊥ Donc ¬P (x) Supp. Q(x) P (x) ∨ Q(x) ∃x(P (x) ∨ Q(x)) ⊥ Donc ¬Q(x) ¬P (x) ∧ ¬Q(x) ∀x(¬P (x) ∧ ¬Q(x)) Donc ¬∃x(P (x) ∨ Q(x)) ⇒ ∀x(¬P (x) ∧ ¬Q(x)) contexte 1 1 1 1,4 1,4 1,4 1,4 1 numéro 1 2 3 4 5 6 7 8 9 preuve Supp. (P ⇒ ∃xQ(x)) ∧ ∀x¬Q(x) P ⇒ ∃xQ(x) ∀x¬Q(x) Supp. P ∃xQ(x) ¬Q(x) ⊥ Donc ¬P Donc (P ⇒ ∃xQ(x)) ∧ ∀x¬Q(x) ⇒ ¬P 5 justification ∨I1 2 ∃I 3 x ⇒ E 1, 4 ⇒ I 2, 5 ∨I2 7 ∃I 8 x ⇒ E 1, 9 ⇒ I 7, 10 ∧I 6, 11 ∀I 12 ⇒ I 1, 13 justification ∧E1 1 ∧E2 1 ⇒ E 2, 4 ∀E 3 x ∃E 5, 6 ⇒ I 4, 7 ⇒ I 1, 9