Logique classique Cours 4 : Logique des prédicats
Transcription
Logique classique Cours 4 : Logique des prédicats
Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Logique classique Cours 4 : Logique des prédicats Odile PAPINI POLYTECH Université d’Aix-Marseille [email protected] http://odile.papini.perso.luminy.univ-am.fr/sources/LOG.html Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Plan du cours 1 Le langage de la logique des prédicats 2 La logique des prédicats comme système formel 3 La sémantique de la logique des prédicats 4 Quelques résultats Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Limites du langage propositionnel Exemple de raisonnement Tout homme est mortel, Socrate est un homme, donc Socrate est mortel. en logique propositionnelle p : “Tout homme est mortel”, q : “Socrate est un homme”, p∧q →r r : “donc Socrate est mortel”. Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Intoduction nouvelle représentation “Pour tout x, si x est un homme alors x est mortel”, “Socrate est un homme”, “donc Socrate est mortel”. x est un homme est représenté par H(x) x est mortel est représenté par M(x) en logique des prédicats ∀x (H(x) → M(x)) ∧ H(Socrate) → M(Socrate) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats : LPr Vocabulaire un ensemble infini dénombrable de symboles de prédicats un ensemble infini dénombrable de symboles fonctionnels un ensemble infini dénombrable de variables les connecteurs : ¬, les quantificateurs ∀, , ∧, ∨, →, ∃ les parenthèses Odile PAPINI Logique classique ↔ Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr : Définitions terme x une variable , f un symbole fonctionnel est un terme si t1 , · · · , tn sont des termes alors f (t1 , · · · , tn ) est un terme atome si t1 , · · · , tn sont des termes et P est un prédicat alors P(t1 , · · · , tn ) est un atome formule un atome est une formule si A et B sont des formules alors ¬ A, A → B, A ↔ B sont des formules si A est une formule et x une variable alors ∀ x A, ∃ x A sont des formules Odile PAPINI Logique classique A ∧ B, A ∨ B, Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr prédicat fonction propositionnelle qui conduit à une proposition lorsque les variables sont instanciées P(x1 , · · · , xn ) où x1 , · · · , xn : n variables indépendantes n = 0 proposition, n = 1 propriété : premier (x) n = 2 relation binaire : inferieur (x, y ) · · · fonction fonction qui conduit à une constante lorsque les variables sont instanciées f (x1 , · · · , xn ) où x1 , · · · , xn : n variables indépendantes n = 0 constante, n = 1 : f (x) = successeur (x), f (x) = x 2 n = 2 : f (x, y ) = x + y · · · Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr Portée des quantificateurs atome ou formule à laquelle la quantification s’applique variables liées variables sous la portée de quantificateurs ensemble des variables liées si A est une formule, l’ensemble Varlie(A) des variables liées de A est défini par : si A est un atome alors Varlie(A) = ∅ si A est de la forme B → C alors Varlie(A) = Varlie(B) ∪ Varlie(C ) si A est de la forme ¬ B alors Varlie(A) = Varlie(B) si A est de la forme ∀x B ou ∃x B alors Varlie(A) = Varlie(B) ∪ {x} Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr variables libres variables qui ne sont pas sous la portée de quantificateurs ensemble des variables libres si A est une formule, l’ensemble Varlib(A) des variables libres de A est défini par : si A est un atome alors Varlib(A) = Var(A) si A est de la forme B → C alors Varlib(A) = Varlib(B) ∪ Varlib(C ) si A est de la forme ¬ B alors Varlib(A) = Varlib(B) si A est de la forme ∀x B ou ∃x B alors Varlib(A) = Varlib(B) - {x} formule close ou fermée une formule sans variable libre Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr Exemples A = (p(f (x, y )) ∨ ∀z r (a, z)) Var(A) ? Varlie(A) ? Varlib(A) ? B = (∀x p(x, y , z) ∨ ∀z (p(z) → r (z))) Var(B) ? Varlie(B) ? Varlib(B) ? C = ∀x ∃y (p(x, y ) → ∀z r (x, y , z)) Var(C ) ? Varlie(C ) ? Varlib(C ) ? Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Le langage de la logique des prédicats LPr Exercices Parmi les formules suivantes lesquelles sont des formules closes ? ∀i (pluie(i) ∧ ¬sortir (i)) ∃i (¬pluie(i) ∧ (∀i (different(i, j) → pluie(j)))) ∀x P(x, y ) ∧ ∀y Q(y ) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats Représentation d’énonçés en logique des prédicats exercice Représentation en logique des prédicats des énonçés suivants : Quelqu’un arrive Personne n’est venu Quelques champignons sont comestibles Tous les petits oiseaux volent Tous les enfants aiment les bonbons Aucun enfant ne déteste les bonbons Tout ce qui brille n’est pas en or ni les chats, ni les chiens ne sont tolérés chats et chiens doivent avoir une autorisation Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel Axiomes ∀A, B, C , D ∈ LPr , x une variable et t un terme, D n’ayant pas x pour variable libre A1) (A → (B → A)) A2) ((A → (B → C )) → ((A → B) → (A → C ))) A3) ((¬ A → ¬ B) → (B → A)) A4) (∀x A(x) → A(t)) A5) ((D → B) → (D → ∀x B) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel Règles de déduction ∀A, B, ∈ LPr modus ponens ` A, ` A → B `B règle de substitution généralisation `A ` ∀x A Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel règle de substitution soit A(x) une formule contenant x comme variable libre soit t un terme A(t) : obtenue en remplaçant les occurences libres de x par t dans A(x) Si x ou t apparaissent comme variables liées dans la formule A(x) alors renommer ces occurences Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel Déduction Soit B une formule de LPr et H1 , · · · , Hm des hypothèses une déduction de B à partir d’hypothèses H1 , H2 , · · · , Hm H1 , · · · , Hm ` B est une suite de formules F1 , · · · , Fi , F n telle que : Fn = B et Fi , 1≤i <n est : soit une des hypothèses H1 , · · · , Hm soit un axiome soit obtenue par l’application de règles de déduction à partir de formules Fj , j < i Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel Proposition : ∀A ∈ LPr ` (A → A) Proposition : ∀A1 , · · · , An−1 ∈ LPr si A1 , · · · , An−1 ` (An → B) alors A1 , · · · , An ` B Théorème de déduction : Soient A1 , · · · , An des formules closes de LPr si A1 , · · · , An ` B alors Odile PAPINI A1 , · · · , An−1 ` (An → B) Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats système formel exercices : déduction Montrer que ∀x ∀y p(x, y ) ` ∀z p(z, z) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats Interprétation I = (D, Ic , Iv ) où D ensemble non vide, domaine d’interprétation Ic la fonction : Dn → D f → Ic (f ) D m → {0, 1} P → Ic (P) Iv la fonction : Var x Odile PAPINI → D → Iv (x) Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats Interprétation d’une formule de la logique des prédicats A une formule de LPr , association d’une valeur de vérité I (A) à A si x est une variable libre alors I (x) = Iv (x) I (f (t1 , · · · , tn )) = (Ic (f ))(I (t1 ), · · · , I (tn )) I (P(t1 , · · · , tm )) = (Ic (P))(I (t1 ), · · · , I (tm )) si A et B sont des formules alors ¬A, A ∧ B, A ∨ B, A → B, A ↔ B s’interprètent comme dans la logique propositionnel si A est une formule et x une variable alors I (∀x A) = 1 si Ix/d (A) = 1 pour tout élément d ∈ D si A est une formule et x une variable alors I (∃x A) = 1 si Ix/d (A) = 1 pour au moins un élément d ∈ D Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats exercice : Exprimer en français les formules suivantes F1 : Masculin(Jean) F2 : Feminin(Marie) F3 : Masculin(Pierre) F4 : Frere(Jean, Marie) F5 : ∀x (Feminin(x) → (Masculin(x) → ⊥)) F6 : ∀x (∀y (Frere(x, y ) → Masculin(x))) F7 : ∀x (Frere(x, x) → ⊥) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats exercice : F1 : Masculin(Jean) F2 : Feminin(Marie) F3 : Masculin(Pierre) F4 : Frere(Jean, Marie) F5 : ∀x (Feminin(x) → (Masculin(x) → ⊥)) F6 : ∀x (∀y (Frere(x, y ) → Masculin(x))) F7 : ∀x (Frere(x, x) → ⊥) Soit I = (D, Ic , Iv ) avec D = {a, b, c} Ic (Jean) = a, Ic (Marie) = b, Ic (Pierre) = c Ic (Masculin) = fMa tq si x = b alors fMa (x) = 0 sinon fMa (x) = 1 Ic (Feminin) = fFe tq si x = b alors fFe (x) = 1 sinon fFe (x) = 0 Ic (Frere) = fFr tq si x = a et y = b alors fFr (x, y ) = 1 sinon fFr (x, y ) = 0 I (F 1), I (F 2), I (F 3), I (F 4), I (F 5), I (F 6), I (F 7) ? Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats quelques définitions A ∈ LPr , B ∈ LPr et F ⊂ LPr , W : ensemble des interprétations A est une tautologie, |= A, si ∀ I ∈ W, I (A) = 1 B est une conséquence de A si ∀ I ∈ W tq I (A) = 1 alors I (B) = 1, on écrit A |= B B est une conséquence de F si ∀ I ∈ W tq ∀A ∈ F , I (A) = 1 alors I (B) = 1, on écrit F |= B A est satisfaisable si ∃ I ∈ W tq I (A) = 1 F est satisfaisable si ∃ I ∈ W tq ∀A ∈ F , I (A) = 1 A est insatisfaisable ou incohérente si ∀ I ∈ W, I (A) = 0 F est insatisfaisable si ∀I ∈ W, ∃A ∈ F tq I (A) = 0 Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats exercice : Traduire les phrases suivantes en logique des prédicats A : Toutes les voitures ont exactement un propriétaire B : Certains étudiants ont une voiture C : Certains étudiants n’ont pas de voiture Soit I = (D, Ic , Iv ) avec D = {a, b} Ic (voiture) = fv Ic (etudiant) = fe Ic (possede) = fp tq si x = a alors fv (x) = 1 sinon fv (x) = 0 tq si x = b alors fe (x) = 1 sinon fe (x) = 0 tq si x = b et y = a alors fp (x, y ) = 1 sinon fFr (x, y ) = 0 I(A) ? I(B) ? I(C) ? Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats Quelques propriétés proposition : F ⊂ LPr ensemble de formules closes, B formule close F |= B ssi F ∪ {¬B} est insatisfaisable ∀ A ∈ LPr proposition : ∀x ∀y A ≡ ∀y ∀x A ∃x ∃y A ≡ ∃y ∃x A ∃x ∀y A |= ∀y ∃x A Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats sémantique de la logique des prédicats Quelques propriétés ∀ A, B ∈ LPr proposition : (∀x A ∧ ∀x B) (∀x A ∨ ∀x B) ∀x (A → B) ∀x (A ↔ B) ∃x ∃x ∃x ∀x (A ∨ B) (A ∧ B) (A → B) ¬A Odile PAPINI ≡ |= |= |= ≡ |= ≡ ≡ ∀x (A ∧ B) ∀x (A ∨ B) (∀x A → ∀x B) (∀x A ↔ ∀x B) (∃x A ∨ ∃x B) (∃x A ∧ ∃x B) (∃x A → ∃x B) ¬∃x A Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats la logique des prédicats Quelques théorèmes théorème (d’adéquation) : ∀A ∈ LPr si ` A alors |= A (les formules qui sont des théorèmes sont des tautologies) théorème (de complétude faible) : ∀A ∈ LPr si |= A alors ` A (les formules qui sont des tautologies sont des théorèmes ) théorème (de complétude forte) : Soit F ⊂ LPr et B ∈ LPr , si F |= B alors F ` B Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats la logique des prédicats Quelques théorèmes théorème (de compacité) : Soit F un ensemble de formules de LPr . Si toute famille finie F 0 ⊂ F est satisfaisable alors F est aussi satisfaisable. théorème (de finitude) : Soit F un ensemble de formules de LPr . Soit B ∈ LPr si F |= B alors ∃F 0 ⊂ F fini tq F 0 |= B théorème : la logique des prédicats est semi-décidable Il n’existe aucun programme qui pour une formule A ∈ LPr indique en un temps fini si A n’est pas une tautologie Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats la logique des prédicats Quelques théorèmes théorème : Toute théorie axiomatique égalitaire ayant : un nombre fini de symboles, un nombre fini de constantes un seul symbole fonctionnel unaire f un nombre fini de prédicats unaires et le prédicat binaire égalité n’ayant pas d’axiomes non logiques est décidable Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique : formes normales formes prénexes Q1 x1 · · · Qn xn M proposition : pour toute formule A il existe une forme prénexe équivalente à A algorithme élimination des connecteurs d’implication et d’équivalence renommage des variables (plus de variable libre et liée en même temps) suppression des quantificateurs inutiles transfert du connecteur de négation immédiatement devant les atomes transfert des quantificateurs en tête des formules Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique exercice : Donner la forme prénexe équivalente à la formule ∀x (P(x) ∧ ∀y ∃x (¬Q(x, y ) → ∀z R(a, x, y , z))) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique extension du vocabulaire à la logique des prédicats littéral : un atome ou la négation d’un atome clause : disjonction de littéraux cube : conjonction de littéraux forme conjonctive normale : forme prénexe dont la matrice M est une conjonction de clauses forme disjonctive normale : forme prénexe dont la matrice M est une disjonction de cubes Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique : formes normales formes de Skolem proposition : SA forme de skolem de A, A est satisfaisable ssi SA est satisfaisable transformation de A en forme de Skolem SA transformer A en forme prénexe : Q1 x1 · · · Qn xn M transformer M en forme conjonctive normale M 0 skolémiser M 0 : 1) associer à toute variable quantifiée existentiellement le terme constitué par un symbole fonctionnel ayant pour arguments la liste des variables quantifiées universellement qui précèdent la variable 2) remplacer chaque occurence de variable quantifiée existentiellement par le terme défini en 1) 3) supprimer les quantificateurs existentiels Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique exercice : Donner la forme de SKolem équivalente à la formule ∀x (P(x) ∧ ∀y ∃x (¬Q(x, y ) → ∀z R(a, x, y , z))) Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique : formes normales théorème de Herbrand on associe à une formule conjonctive normale F l’ensemble C des clauses correspondantes univers de Herbrand associé à un ensemble de clauses C : ensemble de tous les termes sans variable construit à partir du vocabulaire de C système de Herbrand SHC associé à C : ensemble des clauses obtenues à partir de C en remplaçant les variables par des éléments de l’univers de Herbrand théorème de Herbrand : C est satisfaisable ssi SHC est satisfaisable Odile PAPINI Logique classique Le langage de la logique des prédicats La logique des prédicats comme système formel La sémantique de la logique des prédicats Quelques résultats logique pour l’informatique exercice : H1 = ∀x (P(x) → Q(x)) H2 = ∀x (Q(x) → R(x)) C = ∀x (P(x) → R(x)) Est-ce que {H1 , H2 } |= C ? Mettre les formules sous forme prénexe Mettre les formules sous forme de Skolem Donner le système de Herbrand associé Le système de Herbrand associé est-il satisfaisable ? Odile PAPINI Logique classique