Année 2012-2013 Examen de Logique Formelle Mardi 23 octobre 2012 Promotion Guichet 2 ième année É. Salvat Modalités : Durée 2h00 Aucun document autorisé Aucune sortie n'est autorisée durant la durée de l'examen Le barème est donné à titre indicatif 1 Logique des propositions (6 points) Exercice 1 (2 points). Dites si les formules suivantes sont valides, contingentes ou insatisfaisables. Justiez votre réponse. 1. ( (p q) r) ( (p q) r) 2. (p ((q p) (q r) r)) q de l'exercice 1. 1. 2. p q r (p q) r) ( (p q) r) ( (p q) r) ( (p q) r) V V V V V V V V F V F F V F V V V V V F F F V V F V V V V V F V F F V V F F V V V V F F F F V V La formule est contingente. p q r (q p) (q r) (p ((q p) (q r) r)) q V V V F V V V V F F V V V F V V V V V F F V F V F V V V V V F V F V V V F F V V V V F F F V F V La formule est valide. Exercice 2 (Arbre sémantique - 4 points). A l'aide des arbres sémantiques, construisez, si il en existe un, un arbre échec des formules suivantes, ou bien donnez un modèle de la formule. 1
1. p s q (p (r s)) r 2. ((p (q r)) q) (q r) de l'exercice 2. Il faut au préalable, passer les formules sous forme clausale. 1. E 1 = p s q (p (r s)) r E 1 = p s q ( p r s) r F C 1 = {C 1 = {p}; C 2 = { s}; C 3 = {q}; C 4 = { p; r; s}; C 5 = { r}} On construit l'arbre échec suivant : s C 2 r C 5 p q s r C 4 p C 1 q C 3 2. E 2 = ((p (q r)) q) (q r) E 2 = (( p (q r)) q) (q r) E 2 = ((p ( q r)) q) (q r) E 2 = (p q r) ( q r q r) ( q q r) E 2 = (p q r) E 2 = (p q r) F C 2 = {C 1 = {p; q; r}} p p q q q q r r r r r r r r L'interprétation I telle que I(p) = I(q) = I(r) = V est un modèle de la formule E 2. C 1 2
Logique des prédicats (14 points) Exercice 3 (Unications - 4 points). Calculez, si il existe, un unicateur le plus général des paires d'atomes (A 1, A 2 ) à l'aide de l'algorithme de Robinson. En cas d'échec, indiquez pourquoi les atomes ne sont pas uniables. u, v, w, x, y, z sont des variables, f, g sont des symboles fonctionnels, a, b sont des constantes. 1. A 1 = p(f(g(x, y)), g(v, w), y), A 2 = p(f(z), x, f(x)) 2. A 1 = p(x, f(u, x)), A 2 = p(f(y, a), f(z, f(b, z))) ; de l'exercice 3. En Appliquant l'algorithme de Robinson, on obtient les ensembles de désaccord et les substitutions suivantes. 1. A 1 = p(f(g(x, y)), g(v, w), y), A 2 = p(f(z), x, f(x)) a) ensemble de désaccord : D 1 = {g(x, y); z} substitution : σ 1 = {(z, g(x, y))} A 1 = σ 1 (A 1 ) = p(f(g(x, y)), g(v, w), y) A 2 = σ 1 (A 2 ) = p(f(g(x, y)), x, f(x)) b) ensemble de désaccord : D 2 = {x; g(v, w)} substitution : σ 2 = {(x, g(v, w))} 1 = σ 2 (A 1) = p(f(g(g(v, w), y)), g(v, w), y) 2 = σ 2 (A 2) = p(f(g(g(v, w), y)), g(v, w), f(g(v, w))) c) ensemble de désaccord : D 3 = {y; f(g(v, w))} substitution : σ 3 = {(y, f(g(v, w))))} 1 = σ 3 ( 1) = p(f(g(g(v, w), f(g(v, w)))), g(v, w), f(g(v, w))) 2 = σ 3 ( 2) = p(f(g(g(v, w), f(g(v, w)))), g(v, w), f(g(v, w))) d) ensemble de désaccord : D 4 = A 1 et A 2 sont uniables. Un unicateur le plus général de A 1 et A 2 est σ = σ 3 σ 2 σ 1 soit σ = {(z, g(g(v, w), f(g(v, w)))); (x, g(v, w)); (y, f(g(v, w)))} 2. A 1 = p(x, f(u, x)), A 2 = p(f(y, a), f(z, f(b, z))) a) ensemble de désaccord : D 1 = {x; f(y, a)} substitution : σ 1 = {(x, f(y, a))} A 1 = σ 1 (A 1 ) = p(f(y, a), f(u, f(y, a))) A 2 = σ 1 (A 2 ) = p(f(y, a), f(z, f(b, z))) b) ensemble de désaccord : D 2 = {u; z} substitution : σ 2 = {(u, z)} 1 = σ 2 (A 1) = p(f(y, a), f(z, f(y, a))) 2 = σ 2 (A 2) = p(f(y, a), f(z, f(b, z))) 3
c) ensemble de désaccord : D 3 = {y; b} substitution : σ 3 = {(y, b)} 1 = σ 3 ( 1) = p(f(b, a), f(z, f(b, a))) 2 = σ 3 ( 2) = p(f(b, a), f(z, f(b, z))) d) ensemble de désaccord : D 4 = {a; z} substitution : σ 4 = {(z, a)} 1 = σ 4 ( 1 ) = p(f(b, a), f(a, f(b, a))) 2 = σ 4 ( 2 ) = p(f(b, a), f(a, f(b, a))) e) ensemble de désaccord : D 5 = A 1 et A 2 sont uniables. Un unicateur le plus général de A 1 et A 2 est σ = σ 4 σ 3 σ 2 σ 1 soit σ = {(x, f(b, a)); (u, a); (y, b); (z, a)} Exercice 4 (Modélisation - 4 points). Modélisez les phrases suivantes en logique des prédicats. Vous préciserez le vocabulaire utilisé. 1. Tous les étudiants aiment la logique. 2. Chaque étudiant n'aime pas une matière. 3. Tous les étudiants n'aiment pas une matière. 4. Les étudiants qui ont une bonne note en logique sont les meilleurs. de l'exercice 4. On utilise le vocabulaire suivant : Constantes : log (la logique) Variables : x, y fonctions : pas de fonction Prédicats unaires : Etud : Etud(x) signie x est un étudiant Mat : Mat(y) signie y est une matière Prédicats binaires : Aime : Aime(x, y) signie x aime y BN : BN(x, y) signie x a une bonne note en y Meilleur : Meilleur(x, y) signie x est meilleur que y 1. xetud(x) Aime(x, log) 2. x y(etud(x) Mat(y)) Aime(x, y) 3. x y(mat(x) Etud(y)) Aime(y, x) 4. x y(etud(x) BN(x, log) Etud(y)) Meilleur(x, y) Exercice 5 (Méthode de résolution - 6 points). Soit l'énoncé suivant : 4
1. Tous ceux qui conduisent une Harley sont rustres. 2. Tous les motards conduisent une Harley ou une BMW. 3. Quiconque conduit une BMW est branché. 4. Toute personne branchée est avocat. 5. Une jeune lle bien ne sort pas avec quelqu'un de rustre. 6. Marie est une jeune lle bien, et Jean est un motard. 7. Si Jean n'est pas avocat, alors Marie ne sort pas avec Jean. a) Modélisez en logique du premier ordre l'énoncé ci-dessus en utilisant les prédicats : har(x) : x est une Harley cond(x,y) : x conduit y. bmw(x) : x est une bmw. mot(x) : x est un motard. rus(x) : x est rustre. bra(x) : x est branché. avo(x) : x est avocat. jfb(x) : x est une jeune lle bien. sort(x,y) : x sort avec y. Bien entendu, vous compléterez cette modélisation, si c'est nécessaire, avec des constantes, des variables et des fonctions. b) Prouvez à l'aide de la méthode de résolution que la dernière armation est une conséquence logique de l'ensemble des autres armations. de l'exercice 5. Modélisation. Formule associée à chaque armation de l'énoncé ; M arie et Jean sont des constantes : (a) x y((har(y) cond(x, y)) rus(x)) (b) x(mot(x) y((har(y) bmw(y)) cond(x, y))) (c) x y((cond(x, y) bmw(y)) bra(x)) (d) x(bra(x) avo(x)) (e) x y((jfb(x) rus(y)) sort(x, y)) (f) jfb(marie) mot(jean) (g) avo(jean) sort(m arie, Jean) Résolution. On va montrer que a b c d e f g est insatisfaisable. Pour cela il faut mettre les formules sous forme clausale. Première étape mise sous forme prenexe : (a) x y( har(y) cond(x, y) rus(x)) (b) x y( mot(x) ((har(y) bmw(y)) cond(x, y))) 5
(c) x y( cond(x, y) bmw(y) bra(x)) (d) x( bra(x) avo(x)) (e) x y( jfb(x) rus(y) sort(x, y)) (f) jfb(marie) mot(jean) ( g) avo(jean) sort(m arie, Jean) Seule b contient une variable existentielle y, on introduit la fonction unaire de Skolem f. On obtient alors la formule : (b ) x( mot(x) ((har(f(x)) bmw(f(x))) cond(x, f(x)))) Passage à la forme clausale : Résolution : C 1 = { har(y); cond(x, y); rus(x)} C 2 = { mot(x); har(f(x)); bmw(f(x))} C 3 = { mot(x); cond(x, f(x))} C 4 = { cond(x, y); bmw(y); bra(x)} C 5 = { bra(x); avo(x)} C 6 = { jfb(x); rus(y); sort(x, y)} C 7 = {jfb(marie)} C 8 = {mot(jean)} C 9 = { avo(jean)} C 10 = {sort(marie, Jean)} C 11 = Res(C 10, C 6, {(x, Marie); (y, Jean)}) C 12 = Res(C 11, C 7, {}) C 13 = Res(C 12, C 1, {(x, Jean)}) C 14 = Res(C 13, C 3, {(x, Jean); (y, f(jean))}) C 15 = Res(C 14, C 8, {}) C 16 = Res(C 15, C 2, {(x, Jean)}) C 17 = Res(C 16, C 8, {}) C 18 = Res(C 17, C 4, {(y, f(jean))}) C 19 = Res(C 18, C 3, {(x, Jean)}) C 20 = Res(C 19, C 5, {(x, Jean)}) C 21 = Res(C 20, C 9, {}) = { jfb(marie); rus(jean)} C 22 = Res(C 21, C 8, {}) = {} = { rus(jean)} = { har(y); cond(jean, y)} = { har(f(jean)); mot(jean)} = { har(f(jean))} = { mot(jean); bmw(f(jean))} = {bmw(f(jean))} = { cond(x, f(jean)); bra(x)} = { mot(jean); bra(jean)} = { mot(jean); avo(jean)} = { mot(jean)} 6