Cours de logique
Transcription
Cours de logique
Cours de logique Julien Forest [email protected] 1 / 73 Fonctionnement du cours Règles de vie : I pas d’ordinateur portable dans l’amphithéâtre ou en TD, I ne pas hésiter à poser des questions (en cours, en TD,. . . ), I arriver à l’heure, I pas de reprise du cours en TD. Règles d’examens : I Première session : Examen écrit I Deuxième session : Examen écrit 2 / 73 Plan rapide du cours Trois grandes parties : I- Ensembles inductifs, ordre bien fondé, preuves par induction ; II- La logique propositionnelle : syntaxe, sémantique, validité, prouvabilité ; III- La logique du premier ordre : syntaxe, sémantique, validité, prouvabilité. 3 / 73 Pourquoi faire de la logique ? Pour vous occuper/embêter pendant 22h30 4 / 73 Pourquoi faire de la logique ? Pour vous occuper/embêter pendant 22h30 Parce que c’est vraiment utile : 4 / 73 Pourquoi faire de la logique ? Pour vous occuper/embêter pendant 22h30 Parce que c’est vraiment utile : I Nombreuses applications critiques (sécurité, sûreté,. . . ). I Énormément d’argent en jeu (milliards d’euros). I Pas d’ambiguı̈té 4 / 73 Pourquoi faire de la logique ? Pour vous occuper/embêter pendant 22h30 Parce que c’est vraiment utile : I Nombreuses applications critiques (sécurité, sûreté,. . . ). I Énormément d’argent en jeu (milliards d’euros). I Pas d’ambiguı̈té Et que . . . I Ordinateur = logique (cf. cours d’architecture) I Programme : nécessité de prouver des propriétés = logique I Base de données : vérification de propriétés = logique, I ... 4 / 73 I- Ensembles inductifs et preuves par induction 5 / 73 Induction ? I Définition formelle d’ensembles, de fonctions, de propriétés I Démonstration de propriétés 6 / 73 Induction ? I Définition formelle d’ensembles, de fonctions, de propriétés : entiers, addition, parité : tous définis de manières inductives I Démonstration de propriétés : “Tout entier est soit pair soit impair” : démonstration par induction I Déjà utilisé pour les entiers (récurrence) 6 / 73 Ensembles inductifs (1) Définition 1 (Ensembles définis inductivement) Soit B un ensemble de base et K un ensemble d’opérations. L’ensemble inductif < B, K > est le plus petit ensemble E tel que : (B) B ⊂ E (I) Si f ∈ K est d’arité nf et si x1 , . . . , xnf ∈ E alors f (x1 , . . . , xnf ) ∈ E 7 / 73 Ensembles inductifs (1) Définition 1 (Ensembles définis inductivement) Soit B un ensemble de base et K un ensemble d’opérations. L’ensemble inductif < B, K > est le plus petit ensemble E tel que : (B) B ⊂ E (I) Si f ∈ K est d’arité nf et si x1 , . . . , xnf ∈ E alors f (x1 , . . . , xnf ) ∈ E Les entiers N =< B, K > ? 7 / 73 Ensembles inductifs (1) Définition 1 (Ensembles définis inductivement) Soit B un ensemble de base et K un ensemble d’opérations. L’ensemble inductif < B, K > est le plus petit ensemble E tel que : (B) B ⊂ E (I) Si f ∈ K est d’arité nf et si x1 , . . . , xnf ∈ E alors f (x1 , . . . , xnf ) ∈ E Les entiers N =< B, K > ? Oui : B = {0} et K = {succ} 7 / 73 Ensembles inductifs (1) Définition 1 (Ensembles définis inductivement) Soit B un ensemble de base et K un ensemble d’opérations. L’ensemble inductif < B, K > est le plus petit ensemble E tel que : (B) B ⊂ E (I) Si f ∈ K est d’arité nf et si x1 , . . . , xnf ∈ E alors f (x1 , . . . , xnf ) ∈ E Les entiers N =< B, K > ? Oui : B = {0} et K = {succ} Les listes d’entiers intlist =< B, K > ? 7 / 73 Ensembles inductifs (1) Définition 1 (Ensembles définis inductivement) Soit B un ensemble de base et K un ensemble d’opérations. L’ensemble inductif < B, K > est le plus petit ensemble E tel que : (B) B ⊂ E (I) Si f ∈ K est d’arité nf et si x1 , . . . , xnf ∈ E alors f (x1 , . . . , xnf ) ∈ E Les entiers N =< B, K > ? Les listes d’entiers intlist =< B, K > ? Oui : B = {0} et K = {succ} Oui : B = {nil} et K = {cons} 7 / 73 Ensembles inductifs (2) Ensembles inductifs sous forme de règles d’inférences prémisses conclusion 8 / 73 Ensembles inductifs (2) Ensembles inductifs sous forme de règles d’inférences prémisses conclusion Une règle pour : I chaque x de B : I chaque opération f de K d’arité n : x x1 . . . xn f (x1 , . . . , xn ) 8 / 73 Ensembles inductifs (2) Ensembles inductifs sous forme de règles d’inférences prémisses conclusion Une règle pour : I chaque x de B : I chaque opération f de K d’arité n : Exemple : 0 x x1 . . . xn f (x1 , . . . , xn ) n succ(n) 8 / 73 Ensembles inductifs (2) Ensembles inductifs sous forme de règles d’inférences prémisses conclusion Une règle pour : I chaque x de B : I chaque opération f de K d’arité n : Exemple : 0 Inférence : x x1 . . . xn f (x1 , . . . , xn ) n succ(n) 0 succ(0) 0 succ(0) succ(succ(0)) 8 / 73 Ensemble inductifs (3) Théorème 1 Soient E un ensemble et X =< B, K >⊆ E, on a : \ X = Y avec F = {Y ⊆ E | B ⊆ Y et Y stable par K} Y ∈F Démonstration par double inclusion. 9 / 73 Ensemble inductifs (3) Théorème 1 Soient E un ensemble et X =< B, K >⊆ E, on a : \ X = Y avec F = {Y ⊆ E | B ⊆ Y et Y stable par K} Y ∈F Démonstration par double inclusion. T T Y ∈F Y ⊆ X : X ∈ F, donc X contient Y ∈F Y . 9 / 73 Ensemble inductifs (3) Théorème 1 Soient E un ensemble et X =< B, K >⊆ E, on a : \ X = Y avec F = {Y ⊆ E | B ⊆ Y et Y stable par K} Y ∈F Démonstration par double inclusion. T X ⊆ Y ∈F Y : Par définition X est le plus petit ensemble T tel que B ⊆ E et stable par K. Tout élément de F contient X , et donc Y ∈F Y contient X. 9 / 73 Principe d’induction structurelle Théorème 2 (Induction structurelle) Soit X =< B, K > un ensemble inductif. Soit P une propriété sur les éléments de X telle que : I P(x) est vérifiée sur tous les éléments x de B I Pour tous x1 , . . . , xn de X tels que P(x1 ),. . . ,P(xn ) est vérifiée et tout f ∈ K, on peut montrer que P(f (x1 , . . . , xn )) est vérifiée La propriété P est vérifiée pour tous les éléments de X . 10 / 73 Principe d’induction structurelle Théorème 2 (Induction structurelle) Soit X =< B, K > un ensemble inductif. Soit P une propriété sur les éléments de X telle que : I P(x) est vérifiée sur tous les éléments x de B I Pour tous x1 , . . . , xn de X tels que P(x1 ),. . . ,P(xn ) est vérifiée et tout f ∈ K, on peut montrer que P(f (x1 , . . . , xn )) est vérifiée La propriété P est vérifiée pour tous les éléments de X . On pose U = {x ∈ X | P(x) est vérifiée} et on montre que X = U. X ⊆ U : Par hypothèse B ⊆ U et U stable par K et donc X ⊆ U. 10 / 73 Principe d’induction structurelle Théorème 2 (Induction structurelle) Soit X =< B, K > un ensemble inductif. Soit P une propriété sur les éléments de X telle que : I P(x) est vérifiée sur tous les éléments x de B I Pour tous x1 , . . . , xn de X tels que P(x1 ),. . . ,P(xn ) est vérifiée et tout f ∈ K, on peut montrer que P(f (x1 , . . . , xn )) est vérifiée La propriété P est vérifiée pour tous les éléments de X . On pose U = {x ∈ X | P(x) est vérifiée} et on montre que X = U. U ⊆ X : Trivial. 10 / 73 Principe d’induction structurelle Théorème 2 (Induction structurelle) Soit X =< B, K > un ensemble inductif. Soit P une propriété sur les éléments de X telle que : I P(x) est vérifiée sur tous les éléments x de B I Pour tous x1 , . . . , xn de X tels que P(x1 ),. . . ,P(xn ) est vérifiée et tout f ∈ K, on peut montrer que P(f (x1 , . . . , xn )) est vérifiée La propriété P est vérifiée pour tous les éléments de X . Rq. : généralisation du principe de récurrence sur les entiers 10 / 73 Ensemble inductif (4) Théorème 3 Soit X =< B, K > et soit la suite X0 = B, Xi+1 = Xi ∪ K(Xi ), on a : [ X = Xi i∈N Démonstration par double inclusion. 11 / 73 Ensemble inductif (4) Théorème 3 Soit X =< B, K > et soit la suite X0 = B, Xi+1 = Xi ∪ K(Xi ), on a : [ X = Xi i∈N Démonstration par double inclusion. S i∈N Xi ⊆ X : par récurrence Xi ⊆ X . I X0 = B ⊆ X I Si Xi ⊆ X alors K(Xi ) ⊆ X et donc Xi+1 ⊆ X . 11 / 73 Ensemble inductif (4) Théorème 3 Soit X =< B, K > et soit la suite X0 = B, Xi+1 = Xi ∪ K(Xi ), on a : [ X = Xi i∈N Démonstration par double inclusion. S X ⊆ i∈N Xi : par induction structurelle sur X . S I B = X0 ⊆ i∈N Xi S I Si x1 , . . . , xn ∈ i∈N Xi , il existe Si0 t.q. x1 , . . . , xn ∈ Xi0 et donc si f ∈ K, f (x1 , . . . , xn ) ∈ Xi0 +1 ⊆ i∈N Xi 11 / 73 Définitions inductives de fonctions Définition 2 Si X =< B, K >, on peut définir une fonction φ sur X inductivement comme suit : I Pour chaque élément x ∈ B, on donne une valeur φ(x) I Pour chaque fonction f ∈ K, pour tout x1 , . . . , xn dans X et v1 (= φ(x1 )), . . . , vn (= φ(xn )) alors on définit φ(f (x1 , . . . , xn )) en fonction de v1 , . . . , vn . 12 / 73 Définitions inductives de fonctions Définition 2 Si X =< B, K >, on peut définir une fonction φ sur X inductivement comme suit : I Pour chaque élément x ∈ B, on donne une valeur φ(x) I Pour chaque fonction f ∈ K, pour tout x1 , . . . , xn dans X et v1 (= φ(x1 )), . . . , vn (= φ(xn )) alors on définit φ(f (x1 , . . . , xn )) en fonction de v1 , . . . , vn . Exemple : Sur les entiers, on définit double inductivement par : I double(0) = 0 I si n ∈ N, double(succ(n)) = succ(succ(double(n))) 12 / 73 Définitions inductives de fonctions Définition 2 Si X =< B, K >, on peut définir une fonction φ sur X inductivement comme suit : I Pour chaque élément x ∈ B, on donne une valeur φ(x) I Pour chaque fonction f ∈ K, pour tout x1 , . . . , xn dans X et v1 (= φ(x1 )), . . . , vn (= φ(xn )) alors on définit φ(f (x1 , . . . , xn )) en fonction de v1 , . . . , vn . Exemple : Sur les entiers, on définit double inductivement par : I double(0) = 0 I si n ∈ N, double(succ(n)) = succ(succ(double(n))) Propriété 1 Si n est la représentation d’un entier n alors pour tout n on a double(n) = (2 ∗ n) 12 / 73 Définitions inductives de fonctions Définition 2 Si X =< B, K >, on peut définir une fonction φ sur X inductivement comme suit : I Pour chaque élément x ∈ B, on donne une valeur φ(x) I Pour chaque fonction f ∈ K, pour tout x1 , . . . , xn dans X et v1 (= φ(x1 )), . . . , vn (= φ(xn )) alors on définit φ(f (x1 , . . . , xn )) en fonction de v1 , . . . , vn . Exemple : Sur les entiers, on définit double inductivement par : I double(0) = 0 I si n ∈ N, double(succ(n)) = succ(succ(double(n))) Propriété 1 Si n est la représentation d’un entier n alors pour tout n on a double(n) = (2 ∗ n) Par induction structurelle sur n 12 / 73 Définitions inductives de fonctions Définition 2 Si X =< B, K >, on peut définir une fonction φ sur X inductivement comme suit : I Pour chaque élément x ∈ B, on donne une valeur φ(x) I Pour chaque fonction f ∈ K, pour tout x1 , . . . , xn dans X et v1 (= φ(x1 )), . . . , vn (= φ(xn )) alors on définit φ(f (x1 , . . . , xn )) en fonction de v1 , . . . , vn . Exemple : Sur les entiers, on définit plus inductivement par : I pour tout m ∈ N, plus(0, m) = m I si n ∈ N, pour tout m, plus(succ(n), m) = succ(plus(n, m)) 12 / 73 Ordres Définition 3 Soit E un ensemble. Un ordre strict sur E est une relation binaire < sur E telle que : I pour tout x, y, z ∈ E, si x < y et y < z alors x < z I pour tout x, x 6< x 13 / 73 Ordres Définition 3 Soit E un ensemble. Un ordre strict sur E est une relation binaire < sur E telle que : I pour tout x, y, z ∈ E, si x < y et y < z alors x < z I pour tout x, x 6< x E = N et < ordre strict usuel : ok 13 / 73 Ordres Définition 3 Soit E un ensemble. Un ordre strict sur E est une relation binaire < sur E telle que : I pour tout x, y, z ∈ E, si x < y et y < z alors x < z I pour tout x, x 6< x E = N et < ordre strict usuel : ok E = N et ≤ ordre large usuel : ko 13 / 73 Ordres Définition 3 Soit E un ensemble. Un ordre strict sur E est une relation binaire < sur E telle que : I pour tout x, y, z ∈ E, si x < y et y < z alors x < z I pour tout x, x 6< x E = N et < ordre strict usuel : ok E = N et ≤ ordre large usuel : ko E = Z et < ordre strict usuel : ok 13 / 73 Ordres Définition 3 Soit E un ensemble. Un ordre strict sur E est une relation binaire < sur E telle que : I pour tout x, y, z ∈ E, si x < y et y < z alors x < z I pour tout x, x 6< x E = N et < ordre strict usuel : ok E = N et ≤ ordre large usuel : ko E = Z et < ordre strict usuel : ok E = Z et ≤ ordre large usuel : ko 13 / 73 Ordres bien fondé Définition 4 Soit E un ensemble. Un ordre strict < sur E est dit bien fondé lorsqu’il n’existe pas de suite (xi )i∈N telle que pour tout i xi+1 < xi . 14 / 73 Ordres bien fondé Définition 4 Soit E un ensemble. Un ordre strict < sur E est dit bien fondé lorsqu’il n’existe pas de suite (xi )i∈N telle que pour tout i xi+1 < xi . E = N et < ordre strict usuel : ok 14 / 73 Ordres bien fondé Définition 4 Soit E un ensemble. Un ordre strict < sur E est dit bien fondé lorsqu’il n’existe pas de suite (xi )i∈N telle que pour tout i xi+1 < xi . E = N et < ordre strict usuel : ok E = Z et < ordre strict usuel : ko 14 / 73 Induction bien fondée Théorème 4 (Induction bien fondée) Soient E un ensemble, < un ordre bien fondé sur E, et P une propriété sur les éléments de E. Si pour tout x ∈ E, on peut montrer : Hx si P(y) est vraie pour tous les élément y tels que y < x, alors P(x) est vraie alors P est vraie sur tous les éléments de E. 15 / 73 Induction bien fondée Théorème 4 (Induction bien fondée) Soient E un ensemble, < un ordre bien fondé sur E, et P une propriété sur les éléments de E. Si pour tout x ∈ E, on peut montrer : Hx si P(y) est vraie pour tous les élément y tels que y < x, alors P(x) est vraie alors P est vraie sur tous les éléments de E. Par contradiction. Supposons qu’il existe un x0 tel que P(x0 ) ne soit pas vraie. Alors on en déduit d’après Hx0 qu’il existe un x1 tel que x1 < x0 et P(x1 ) soit fausse. On peut donc trouver un x2 tel que x2 < x1 et P(x2 ) soit fausse . . . On a donc une suite infinie strictement décroissante en contradiction avec l’hypothèse que < est bien fondé. 15 / 73 II- Algèbre de Boole. 16 / 73 Algèbre de Boole : Utilité Un ensemble simple et utile : I Deux éléments seulement I Quelques opérations de bases bien comprises I Donne un sens à la logique par la suite 17 / 73 Définitions On considère l’ensemble B = {1, 0} muni des opérations suivantes : ∧˙ ⇒ ˙ a 1 1 0 0 a∧˙ b 1 0 0 0 b 1 0 1 0 a 1 1 0 0 b 1 0 1 0 a⇒ ˙ b 1 0 1 1 ∨˙ a 1 1 0 0 b 1 0 1 0 a∨˙ b 1 1 1 0 ¬˙ a 1 0 ¬˙ a 0 1 18 / 73 II- Logique propositionnelle 19 / 73 Les formules Définition 5 Soit X = {x1 , . . . , xn } un ensemble infini de variables. L’ensemble F des formules du calcul propositionnel est défini inductivement comme suit : I (B.1) : Toute variable est une formule I (B.2) : ⊥ est une formule I (I.1) si F est une formule alors ¬F est une formule I (I.2) : Si F et G sont des formules alors F G où ∈ {⇒, ∨, ∧} est une formule Notation : F ⇔ G représente la formule (F ⇒ G) ∧ (G ⇒ F ). 20 / 73 Les formules Définition 5 Soit X = {x1 , . . . , xn } un ensemble infini de variables. L’ensemble F des formules du calcul propositionnel est défini inductivement comme suit : I (B.1) : Toute variable est une formule I (B.2) : ⊥ est une formule I (I.1) si F est une formule alors ¬F est une formule I (I.2) : Si F et G sont des formules alors F G où ∈ {⇒, ∨, ∧} est une formule Notation : F ⇔ G représente la formule (F ⇒ G) ∧ (G ⇒ F ). Priorités : ¬ à la plus forte priorité, suivi de ∧, suivi de ∨, suivi de ⇒. Associativité : à gauche pour ∨ et ∧, à droite pour ⇒. 20 / 73 Les formules Définition 5 Soit X = {x1 , . . . , xn } un ensemble infini de variables. L’ensemble F des formules du calcul propositionnel est défini inductivement comme suit : I (B.1) : Toute variable est une formule I (B.2) : ⊥ est une formule I (I.1) si F est une formule alors ¬F est une formule I (I.2) : Si F et G sont des formules alors F G où ∈ {⇒, ∨, ∧} est une formule Notation : F ⇔ G représente la formule (F ⇒ G) ∧ (G ⇒ F ). Priorités : ¬ à la plus forte priorité, suivi de ∧, suivi de ∨, suivi de ⇒. Associativité : à gauche pour ∨ et ∧, à droite pour ⇒. ¬p ∨ q ∧ r ⇒ s ⇒ t se comprend ((¬p) ∨ (q ∧ r )) ⇒ (s ⇒ t) 20 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” 21 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” Considérons la formule : p ∨ q ⇒ r . Est-elle vraie ou fausse ? ? ? ? ? ? ? 21 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” Considérons la formule : p ∨ q ⇒ r . Est-elle vraie ou fausse ? ? ? ? ? ? ? Ça dépend. . . 21 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” Considérons la formule : p ∨ q ⇒ r . Est-elle vraie ou fausse ? ? ? ? ? ? ? Ça dépend. . . I de la valeur de p, q et r : vrai ou faux 21 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” Considérons la formule : p ∨ q ⇒ r . Est-elle vraie ou fausse ? ? ? ? ? ? ? Ça dépend. . . I de la signification des symboles ∨, ∧, ⇒ I de la valeur de p, q et r : vrai ou faux 21 / 73 Sémantique : donner un sens aux formules Pour le moment : Formule = “Gros tas de symboles sans aucun sens” Considérons la formule : p ∨ q ⇒ r . Est-elle vraie ou fausse ? ? ? ? ? ? ? Ça dépend. . . I de la signification des symboles ∨, ∧, ⇒ I de la valeur de p, q et r : vrai ou faux Ne dépend pas de la signification de p, q et r . 21 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, I Si F est une formule alors I(¬F ) = ¬˙ I(F ), 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, I Si F est une formule alors I(¬F ) = ¬˙ I(F ), I Si F et G sont des formules alors I(F ∨ G) = I(F ) ∨˙ I(G), 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, I Si F est une formule alors I(¬F ) = ¬˙ I(F ), I Si F et G sont des formules alors I(F ∨ G) = I(F ) ∨˙ I(G), Si F et G sont des formules alors I(F ∧ G) = I(F ) ∧˙ I(G), I 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, I Si F est une formule alors I(¬F ) = ¬˙ I(F ), I I Si F et G sont des formules alors I(F ∨ G) = I(F ) ∨˙ I(G), Si F et G sont des formules alors I(F ∧ G) = I(F ) ∧˙ I(G), I Si F et G sont des formules alors I(F ⇒ G) = I(F ) ⇒ ˙ I(G). 22 / 73 Sémantique et algèbre de Boole Donner un sens aux formules = interpréter dans l’algèbre de Boole Définition 6 Une interprétation du calcul propositionnel est une fonction I : X 7→ B. On étend I de manière inductive à F comme suit : I Le cas des variables est déjà traité, I I(⊥) = 0, I Si F est une formule alors I(¬F ) = ¬˙ I(F ), I I Si F et G sont des formules alors I(F ∨ G) = I(F ) ∨˙ I(G), Si F et G sont des formules alors I(F ∧ G) = I(F ) ∧˙ I(G), I Si F et G sont des formules alors I(F ⇒ G) = I(F ) ⇒ ˙ I(G). La seule notion de vérité autorisée 22 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles 23 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles I une ligne par interprétation (valeurs possibles des variables) I présentation des sous formules en colonnes 23 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles I une ligne par interprétation (valeurs possibles des variables) I présentation des sous formules en colonnes Exemple : (p ⇒ q) ⇒ ¬p p q 1 1 p ⇒ q ¬p (p ⇒ q) ⇒ ¬p 1 0 0 23 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles I une ligne par interprétation (valeurs possibles des variables) I présentation des sous formules en colonnes Exemple : (p ⇒ q) ⇒ ¬p p q 1 1 1 0 p ⇒ q ¬p (p ⇒ q) ⇒ ¬p 1 0 0 0 0 1 23 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles I une ligne par interprétation (valeurs possibles des variables) I présentation des sous formules en colonnes Exemple : (p ⇒ q) ⇒ ¬p p 1 1 0 q 1 0 1 p ⇒ q ¬p (p ⇒ q) ⇒ ¬p 1 0 0 0 0 1 1 1 1 23 / 73 Sémantique : représentation via les tables de vérités Idée : dresser la table de toutes les interprétations possibles I une ligne par interprétation (valeurs possibles des variables) I présentation des sous formules en colonnes Exemple : (p ⇒ q) ⇒ ¬p p 1 1 0 0 q 1 0 1 0 p ⇒ q ¬p (p ⇒ q) ⇒ ¬p 1 0 0 0 0 1 1 1 1 1 1 1 23 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . Si I(p) = I(q) = I(r ) = 0 alors I |= p ∨ q ⇒ r 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . Si I(p) = I(r ) = 0 et I(q) = 1 alors I ne satisfait pas p ∨ q ⇒ r . 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. Si I(p) = 1 alors I |= {p ∨ q, ¬p ⇒ r } . 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. Si I(p) = 1 alors I ne satisfait pas {p ∨ q, ¬p}. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . p ∨ ¬p, p ⇒ p, (p ⇒ r ) ∨ (¬p ⇒ r ) sont des tautologies. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . (p ⇒ r ) ∧ (¬p ⇒ r ) n’est pas une tautologie. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. {p ∧ ¬p}, {p, ¬q, p ⇒ q} sont contradictoires. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. {p ∧ q}, {p, q, p ⇒ q} ne sont pas contradictoires. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. I Σ déduit sémantiquement F (Σ |= F ) si toute interprétation qui satisfait Σ satisfait aussi F . {p, p ⇒ q} |= q, {p ∨ q, p ⇒ q} |= q 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. I Σ déduit sémantiquement F (Σ |= F ) si toute interprétation qui satisfait Σ satisfait aussi F . {p, q ⇒ p} ne satisfait pas q. 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. I Σ déduit sémantiquement F (Σ |= F ) si toute interprétation qui satisfait Σ satisfait aussi F . I F et G sont sémantiquement équivalentes (F ≡ G) si {F } |= G et {G} |= F . p ⇒ q ≡ ¬p ∨ q, p ≡ ¬¬p 24 / 73 Satisfaction, déduction et autres Définition 7 I I(F ) = 1 : I satisfait F , noté I |= F . I Si Σ ens. de formules et si I |= F pour toute F ∈ Σ : I satisfait Σ, noté I |= Σ. I F est une tautologie ( |= F ) si pour toute interprétation I, I |= F . I Σ est contradictoire si il n’existe aucune interprétation I tel que I |= Σ. I Σ déduit sémantiquement F (Σ |= F ) si toute interprétation qui satisfait Σ satisfait aussi F . I F et G sont sémantiquement équivalentes (F ≡ G) si {F } |= G et {G} |= F . p ⇒ q 6≡ q ⇒ p, (p ∧ q) ∨ (p ⇒ q) 6≡ q 24 / 73 Modélisation Un logicien écoute un de ses étudiants énumérer ses sentiments à propos des cours que ce dernier suit : I J’aime la logique ou j’aime l’informatique, I Si j’aime l’informatique alors j’aime la logique. Le logicien conclut que l’étudiant aime la logique. Pourquoi ? 25 / 73 Modélisation Un logicien écoute un de ses étudiants énumérer ses sentiments à propos des cours que ce dernier suit : I J’aime la logique ou j’aime l’informatique, I Si j’aime l’informatique alors j’aime la logique. Le logicien conclut que l’étudiant aime la logique. Pourquoi ? “Parce l’étudiant a intérêt à aimer la logique sinon il va avoir des ennuis” ; N’est pas une démonstration (même si c’est une réponse prudente) 25 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. 26 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. Plusieurs méthodes : I Par table de vérité. 26 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. Plusieurs méthodes : I Par table de vérité. I Par raisonnement sémantique : 26 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. Plusieurs méthodes : I Par table de vérité. I Par raisonnement sémantique : On prend I t.q. I |= {a ∨ b, b ⇒ a} et on montre que I |= a. 26 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. Plusieurs méthodes : I Par table de vérité. I Par raisonnement sémantique : On prend I t.q. I |= {a ∨ b, b ⇒ a} et on montre que I |= a. I Si I |= a on a fini 26 / 73 Modélisation : la bonne réponse Soient a et b deux variables représentant respectivement “j’aime la logique” et “j’aime l’informatique”. Le deux phrases de l’étudiant sont alors représentées par : I a∨b I b⇒a La déduction du logicien est représentée par : a. On veut démontrer que a ∨ b, b ⇒ a |= a. Plusieurs méthodes : I Par table de vérité. I Par raisonnement sémantique : On prend I t.q. I |= {a ∨ b, b ⇒ a} et on montre que I |= a. I I Si I |= a on a fini Si I |= b, alors puisque I |= b ⇒ a, on a I |= a. 26 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 1, ⇒ : On suppose Σ |= F ⇒ G. Soit I t.q. I |= Σ, F . On sait que I |= Σ et I |= F . Puisque Σ |= F ⇒ G, I |= F ⇒ G. Donc, I(F ⇒ G) = 1 = I(F ) ⇒ ˙ I(G) = 1 ⇒ ˙ I(G) et donc I(G) = 1. 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 1, ⇐ : On suppose Σ, F |= G. Soit I t.q. I |= Σ. Deux cas : 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 1, ⇐ : On suppose Σ, F |= G. Soit I t.q. I |= Σ. Deux cas : 1. I(F ) = 1. Alors I |= Σ, F , donc I |= G et donc I |= F ⇒ G. 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 1, ⇐ : On suppose Σ, F |= G. Soit I t.q. I |= Σ. Deux cas : 1. I(F ) = 1. Alors I |= Σ, F , donc I |= G et donc I |= F ⇒ G. 2. I(F ) = 0. Alors I(F ⇒ G) = I(F ) ⇒ ˙ I(G) = 0 ⇒ ˙ I(G) = 1 et donc I |= F ⇒ G. 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 2,⇒ : On suppose Σ |= F Soit I. Deux cas : 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 2,⇒ : On suppose Σ |= F Soit I. Deux cas : 1. I |= Σ : alors I |= F et donc I(¬F ) = ¬˙ I(F ) = 0 et donc I ne satisfait pas Σ, ¬F . 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 2,⇒ : On suppose Σ |= F Soit I. Deux cas : 1. I |= Σ : alors I |= F et donc I(¬F ) = ¬˙ I(F ) = 0 et donc I ne satisfait pas Σ, ¬F . 2. I ne satisfait pas Σ et alors I ne satisfait pas Σ, ¬F . Donc aucune interprétation ne satisfait Σ, ¬F 27 / 73 Un premier résultat Proposition 5 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 2,⇐ : On suppose Σ, ¬F contradictoire. Soit I tq I |= Σ. Puisque Σ, ¬F contradictoire et I |= Σ, I ne satisfait pas ¬F et donc I(¬F ) = 0 = ¬˙ I(F ) donc I(F ) = 1. 27 / 73 Remplacement Définition 8 (Remplacement) On définit le remplacement d’une variable p par une formule G dans une formule F , notée F [p := G] par induction sur F comme suit : p[p := G] =G q[p := G] =q si p 6= q ⊥[p := G] =⊥ (F1 F2 )[p := G] = (F1 [p := G]) (F2 [p := G]) si ∈ {∧, ∨, ⇒} (¬F )[p := G] = ¬(F [p := G]) 28 / 73 Remplacement Définition 8 (Remplacement) On définit le remplacement d’une variable p par une formule G dans une formule F , notée F [p := G] par induction sur F comme suit : p[p := G] =G q[p := G] =q si p 6= q ⊥[p := G] =⊥ (F1 F2 )[p := G] = (F1 [p := G]) (F2 [p := G]) si ∈ {∧, ∨, ⇒} (¬F )[p := G] = ¬(F [p := G]) (p ∧ q ⇒ q)[q := r ∨ s] = 28 / 73 Remplacement Définition 8 (Remplacement) On définit le remplacement d’une variable p par une formule G dans une formule F , notée F [p := G] par induction sur F comme suit : p[p := G] =G q[p := G] =q si p 6= q ⊥[p := G] =⊥ (F1 F2 )[p := G] = (F1 [p := G]) (F2 [p := G]) si ∈ {∧, ∨, ⇒} (¬F )[p := G] = ¬(F [p := G]) (p ∧ q ⇒ q)[q := r ∨ s] = p ∧ (r ∨ s) ⇒ (r ∨ s) 28 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . I(p[p := G]) = I(G) = I 0 (p), 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . si q 6= p, I(q[p := G]) = I(q) = I 0 (q) 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . I(⊥[p := G]) = I(⊥) = 0 = I 0 (⊥) 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . si ∈ {∧, ∨, ⇒}, I((F1 F2 )[p := G]) = I(F1 [p := G]) ˙ I(F2 [p := G]). 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . si ∈ {∧, ∨, ⇒}, I((F1 F2 )[p := G]) = I(F1 [p := G]) ˙ I(F2 [p := G]). Mais I(F1 [p := G]) = I 0 (F1 ) et I(F1 [p := G]) = I 0 (F2 ) par h.i. 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . si ∈ {∧, ∨, ⇒}, I((F1 F2 )[p := G]) = I(F1 [p := G]) ˙ I(F2 [p := G]). Mais I(F1 [p := G]) = I 0 (F1 ) et I(F1 [p := G]) = I 0 (F2 ) par h.i. Donc I((F1 F2 )[p := G]) = I 0 (F1 ) ˙ I 0 (F2 ) = I 0 (F1 F2 ). 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . I((¬F )[p := G]) = ¬˙ I(F [p := G]) 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . I((¬F )[p := G]) = ¬˙ I(F [p := G]) Mais I(F [p := G]) = I 0 (F ) par h.i. 29 / 73 Interprétation et remplacement Proposition 6 Soient F et G deux formules, p une variable et I une interprétation. Soit alors, I 0 l’interprétation définie comme suit : 0 I (p)=I(G) I 0 (q)=I(q) si q 6= p On a : I(F [p := G]) = I 0 (F ). Preuve : Par induction sur F . I((¬F )[p := G]) = ¬˙ I(F [p := G]) Mais I(F [p := G]) = I 0 (F ) par h.i. Donc I((¬F )[p := G]) = ¬˙ I 0 (F ) = I 0 (¬F ). 29 / 73 Proposition 7 Si F , F 0 , G et G0 sont des formules, et si p est une variable, alors : 1. Si |= F alors |= F [p := G] 2. Si F ≡ F 0 alors F [x := G] ≡ F 0 [x := G] 3. Si G ≡ G0 alors F [x := G] ≡ F [x := G0 ] 30 / 73 Proposition 7 Si F , F 0 , G et G0 sont des formules, et si p est une variable, alors : 1. Si |= F alors |= F [p := G] 2. Si F ≡ F 0 alors F [x := G] ≡ F 0 [x := G] 3. Si G ≡ G0 alors F [x := G] ≡ F [x := G0 ] Preuve : 1. Soit I et I 0 telle que définie à la Proposition 6. On sait que I(F [p := G]) = I 0 (F ) mais |= F et donc I 0 |= F et donc I |= F [p := G]. 30 / 73 Proposition 7 Si F , F 0 , G et G0 sont des formules, et si p est une variable, alors : 1. Si |= F alors |= F [p := G] 2. Si F ≡ F 0 alors F [x := G] ≡ F 0 [x := G] 3. Si G ≡ G0 alors F [x := G] ≡ F [x := G0 ] Preuve : 2. Soit I et I 0 telle que définie à la Proposition 6 pour F . On remarque que I 0 est telle que définie à la Proposition 6 pour F 0 et I(F [x := G]) = I 0 (F ) = I 0 (F 0 ) = I(F 0 [x := G]). 30 / 73 Proposition 7 Si F , F 0 , G et G0 sont des formules, et si p est une variable, alors : 1. Si |= F alors |= F [p := G] 2. Si F ≡ F 0 alors F [x := G] ≡ F 0 [x := G] 3. Si G ≡ G0 alors F [x := G] ≡ F [x := G0 ] Preuve : 3. Soit I et I 0 telle que définie à la Proposition 6 pour G. On remarque que I 0 est telle que définie à la Proposition 6 pour G0 et I(F [x := G]) = I 0 (F ) = I(F [x := G0 ]). 30 / 73 Des équivalences F ∧F ≡F F ∨F ≡F F ∧G ≡G∧F F ∨G ≡G∨F F ∧ (G ∧ H) ≡ (F ∧ G) ∧ H F ∨ (G ∨ H) ≡ (F ∨ G) ∨ H F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧ H) F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨ H) ¬(F ∧ G) ≡ ¬F ∨ ¬G ¬(F ∨ G) ≡ ¬F ∧ ¬G F ⇒G ≡ ¬F ∨ G ¬(F ⇒ G) ≡ F ∧ ¬G ⊥∧F ≡⊥ ⊥∨F ≡F ¬¬F ≡F 32 / 73 Des équivalences F ∧F ≡F F ∨F ≡F F ∧G ≡G∧F F ∨G ≡G∨F F ∧ (G ∧ H) ≡ (F ∧ G) ∧ H F ∨ (G ∨ H) ≡ (F ∨ G) ∨ H F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧ H) F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨ H) ¬(F ∧ G) ≡ ¬F ∨ ¬G ¬(F ∨ G) ≡ ¬F ∧ ¬G F ⇒G ≡ ¬F ∨ G ¬(F ⇒ G) ≡ F ∧ ¬G ⊥∧F ≡⊥ ⊥∨F ≡F ¬¬F ≡F Preuve : Table de vérité pour des variables + Proposition précédente. 32 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable p, ¬q : littéraux 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable p ∨ p, ¬¬p : non littéraux 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable I clause : Disjonction de littéraux (éventuellement un seul littéral) p, ¬p, p ∨ ¬q : clauses 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable I clause : Disjonction de littéraux (éventuellement un seul littéral) ¬(p ∨ q), p ∧ q, (¬¬p) ∨ q : non clauses 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable I clause : Disjonction de littéraux (éventuellement un seul littéral) I Forme normale conjonctive (FNC) : Conjonction de clauses (éventuellement une seule clause) p, ¬p, p ∨ ¬q, p ∧ ¬q, (p ∨ q) ∧ q ∧ (r ∨ p) : FNC 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable I clause : Disjonction de littéraux (éventuellement un seul littéral) I Forme normale conjonctive (FNC) : Conjonction de clauses (éventuellement une seule clause) ¬(p ∧ q), (¬¬p) ∧ q : non FNC 33 / 73 Définition 9 (Atome, clause et forme canonique) I littéral : variable ou négation de variable I clause : Disjonction de littéraux (éventuellement un seul littéral) I Forme normale conjonctive (FNC) : Conjonction de clauses (éventuellement une seule clause) I Forme normale disjonctive (FND) : Disjonction de conjonctions de littéraux 33 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FNC 34 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FNC Preuve : I On peut supposer que F ne contient pas ⊥ via ⊥ ≡ p ∧ ¬p, 34 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FNC Preuve : I On peut supposer que F ne contient pas ⊥ via ⊥ ≡ p ∧ ¬p, I Via F ⇒ G ≡ ¬F ∨ G, on peut supposer que F ne contient pas d’implication, 34 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FNC Preuve : I On peut supposer que F ne contient pas ⊥ via ⊥ ≡ p ∧ ¬p, I Via F ⇒ G ≡ ¬F ∨ G, on peut supposer que F ne contient pas d’implication, I On place les ¬ directement sur les variables via ¬¬F ≡ F , ¬(F ∧ G) ≡ ¬F ∨ ¬G et ¬(F ∨ G) ≡ ¬F ∧ ¬G, 34 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FNC Preuve : I On peut supposer que F ne contient pas ⊥ via ⊥ ≡ p ∧ ¬p, I Via F ⇒ G ≡ ¬F ∨ G, on peut supposer que F ne contient pas d’implication, I On place les ¬ directement sur les variables via ¬¬F ≡ F , ¬(F ∧ G) ≡ ¬F ∨ ¬G et ¬(F ∨ G) ≡ ¬F ∧ ¬G, I On place les ∧ en tête via F ∨ (G ∧ H) ≡ (F ∨ G) ∧ (F ∨ H). 34 / 73 Proposition 8 À toute formule F , on peut associer une formule F 0 telle que : I F ≡ F0 I F 0 est en FND Preuve : I On peut supposer que F ne contient pas ⊥ via ⊥ ≡ p ∧ ¬p, I Via F ⇒ G ≡ ¬F ∨ G, on peut supposer que F ne contient pas d’implication, I On place les ¬ directement sur les variables via ¬¬F ≡ F , ¬(F ∧ G) ≡ ¬F ∨ ¬G et ¬(F ∨ G) ≡ ¬F ∧ ¬G, I On place les ∨ en tête via F ∧ (G ∨ H) ≡ (F ∧ G) ∨ (F ∧ H). 34 / 73 Déduction naturelle Comment définir la notion de preuve de manière : I compacte, I non ambiguë, I purement syntaxique. 35 / 73 Déduction naturelle Comment définir la notion de preuve de manière : I compacte, I non ambiguë, I purement syntaxique. Déduction naturelle 35 / 73 Déduction naturelle Définition 10 (Séquent) Un séquent est un couple noté Γ ` F où Γ est un ensemble de formules et F une formule. Γ : contexte du séquent. F : conclusion du séquent. Séquent : unité de base de la preuve. 36 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ ` A (aff ) Γ, B ` A 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ ` A (aff ) Γ, B ` A Γ, A ` B (⇒i ) Γ`A⇒B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A (aff ) Γ, B ` A Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A (aff ) Γ, B ` A Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ ` A Γ ` B (∧ ) i Γ`A∧B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A Γ ` A (aff ) Γ, B ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B g (∧e ) Γ`A 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A (aff ) Γ, B ` A Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A (aff ) Γ, B ` A Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` A (∨g ) i Γ`A∨B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A (∨g ) i Γ`A∨B Γ ` A (aff ) Γ, B ` A Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` B (∨d ) i Γ`A∨B 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A Γ ` A (aff ) Γ, B ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` A (∨g ) i Γ`A∨B Γ`A∨B Γ ` B (∨d ) i Γ`A∨B Γ, A ` C Γ`C Γ, B ` C (∨e ) 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A Γ ` A (aff ) Γ, B ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` A (∨g ) i Γ`A∨B Γ`A∨B Γ, A ` ⊥ (¬i ) Γ ` ¬A Γ ` B (∨d ) i Γ`A∨B Γ, A ` C Γ`C Γ, B ` C (∨e ) 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A Γ ` A (aff ) Γ, B ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` A (∨g ) i Γ`A∨B Γ ` B (∨d ) i Γ`A∨B Γ`A∨B Γ, A ` ⊥ (¬i ) Γ ` ¬A Γ, A ` C Γ`C Γ, B ` C Γ ` ¬A Γ ` A (¬ ) e Γ`⊥ (∨e ) 37 / 73 Prouvabilité Définition 11 L’ensemble des séquents prouvables est défini inductivement par : Γ, A ` A Γ ` A (aff ) Γ, B ` A (ax) Γ, A ` B (⇒i ) Γ`A⇒B Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B Γ ` A Γ ` B (∧ ) i Γ`A∧B Γ`A∧B Γ`A∧B g (∧de ) (∧e ) Γ`A Γ`B Γ ` A (∨g ) i Γ`A∨B Γ ` B (∨d ) i Γ`A∨B Γ`A∨B Γ, A ` ⊥ (¬i ) Γ ` ¬A Γ, A ` C Γ`C Γ, B ` C Γ ` ¬A Γ ` A (¬ ) e Γ`⊥ (∨e ) Γ, ¬A ` ⊥ (⊥c ) Γ`A 37 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q p ` (p ⇒ q) ⇒ q (⇒i ) ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q p, p ⇒ q ` q (⇒i ) p ` (p ⇒ q) ⇒ q (⇒i ) ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q p, p ⇒ q ` p p, p ⇒ q ` p ⇒ q (⇒e ) p, p ⇒ q ` q (⇒i ) p ` (p ⇒ q) ⇒ q (⇒i ) ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q (ax) p, p ⇒ q ` p p, p ⇒ q ` p ⇒ q (⇒e ) p, p ⇒ q ` q (⇒i ) p ` (p ⇒ q) ⇒ q (⇒i ) ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Première preuve But : démontrer ` p ⇒ (p ⇒ q) ⇒ q (ax) (ax) p, p ⇒ q ` p p, p ⇒ q ` p ⇒ q (⇒e ) p, p ⇒ q ` q (⇒i ) p ` (p ⇒ q) ⇒ q (⇒i ) ` p ⇒ (p ⇒ q) ⇒ q 38 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. 39 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. Γ`A (aff2 ) Γ, B, C ` A 39 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. Γ`A (aff2 ) Γ, B, C ` A Γ, B, C ` A 39 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. Γ`A (aff2 ) Γ, B, C ` A Γ, C ` A (aff ) Γ, B, C ` A 39 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. Γ`A (aff2 ) Γ, B, C ` A Γ ` A (aff ) Γ, C ` A (aff ) Γ, B, C ` A 39 / 73 Règles dérivables Règle dérivable : règle dont la conclusion peut-être dérivée des prémisses à l’aide des règles de la déduction naturelle. Γ`A (aff2 ) Γ, B, C ` A Γ ` A (aff ) Γ, C ` A (aff ) Γ, B, C ` A On peut désormais utiliser la règle (aff2 ) dans les preuves 39 / 73 Première grosse preuve et première règle dérivable But : démontrer ` A ∨ ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ` A ∨ ¬A `F F = A ∨ ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ` A ∨ ¬A ¬F `⊥ (⊥c ) `F F = A ∨ ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ¬F ` A ∨ ¬A ¬F `A ¬F `⊥ (⊥c ) `F ` ¬A (¬e ) F = A ∨ ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ΓG ¬F ` A ∨ ¬A `⊥ (⊥c ) `A ¬F ¬F `⊥ (⊥c ) `F ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ΓG ` ¬F ΓG ¬F ` A ∨ ¬A ΓG ` F (¬e ) `⊥ (⊥c ) ¬F `A ¬F ` ⊥ (⊥c ) `F ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer ΓG ` A ∨ ¬A (ax) ` ¬F ΓG ` F (¬e ) ΓG ` ⊥ (⊥c ) ¬F ¬F ` A ¬F ` ⊥ (⊥c ) `F ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG ΓG ` ¬A g (∨i ) ΓG ` F (¬e ) `⊥ (⊥c ) ¬F `A ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) ΓG ` ¬A g (∨i ) ΓG ` F (¬e ) `⊥ (⊥c ) ¬F `A ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) ΓG ` ¬A g (∨i ) ΓG ` F (¬e ) `⊥ ΓD (⊥c ) `A ¬F ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F `⊥ (¬i ) ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) ΓG ` ¬A g (∨i ) ΓG ` F ΓD ` ¬F (¬e ) `⊥ ΓD (⊥c ) ¬F `A ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F ΓD ` F (¬e ) `⊥ (¬i ) ` ¬A (¬e ) F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) ΓG ` ¬A g (ax) (∨i ) ΓG ` F ΓD ` F ΓD ` ¬F (¬e ) (¬e ) `⊥ ΓD ` ⊥ (¬i ) (⊥c ) ¬F ` ¬A `A (¬e ) ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) ΓG ` ¬A ΓD ` A g (ax) (∨i ) (∨di ) ΓG ` F ΓD ` F ΓD ` ¬F (¬e ) (¬e ) `⊥ ΓD ` ⊥ (¬i ) (⊥c ) ¬F ` ¬A `A (¬e ) ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Première grosse preuve et première règle dérivable ` A ∨ ¬A But : démontrer ΓG (ax) (ax) ΓG ` ¬A ΓD ` A g (ax) (∨i ) (∨di ) ΓG ` F ΓD ` F ΓD ` ¬F (¬e ) (¬e ) `⊥ ΓD ` ⊥ (¬i ) (⊥c ) ¬F ` ¬A `A (¬e ) ¬F ` ⊥ (⊥c ) `F (ax) ` ¬F ΓG ¬F F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Première grosse preuve et première règle dérivable But : démontrer Γ ` A ∨ ¬A (ax) (ax) ΓG , Γ ` ¬A ΓD , Γ ` A g (ax) (∨i ) (∨di ) ΓG , Γ ` ¬F ΓG , Γ ` F ΓD , Γ ` ¬F ΓD , Γ ` F (¬e ) (¬e ) ΓG , Γ ` ⊥ ΓD , Γ ` ⊥ (¬i ) (⊥c ) ¬F , Γ ` ¬A ¬F , Γ ` A (¬e ) ¬F , Γ ` ⊥ (⊥c ) Γ`F (ax) F = A ∨ ¬A ΓG = ¬F , ¬A ΓD = ¬F , A 40 / 73 Tiers exclu A, Γ ` B ¬A, Γ ` B (t.e) Γ`B est dérivable But : démontrer que 41 / 73 Tiers exclu A, Γ ` B ¬A, Γ ` B (t.e) Γ`B est dérivable But : démontrer que Γ ` A ∨ ¬A Γ, A ` B Γ`B Γ, ¬A ` B (∨e ) 41 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇐ : par induction sur la preuve de Γ ` F . 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇐ : par induction sur la preuve de Γ ` F . Γ, A ` A (ax) : Γ, A |= A évident 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇐ : par induction sur la preuve de Γ ` F . Γ ` A (aff ) Γ, B ` A et Γ |= A : Γ, B |= A évident 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇐ : par induction sur la preuve de Γ ` F . Γ, A ` B (⇒i ) Γ`A⇒B et Γ, A |= B : Γ |= A ⇒ B cf Proposition 5 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇐ : par induction sur la preuve de Γ ` F . Γ ` A ⇒ B Γ ` A (⇒ ) e Γ`B et Γ |= A ⇒ B et Γ |= A : Soit I t.q. I |= Γ alors puisque Γ |= A, I |= A et puisque Γ |= A ⇒ B, I |= A ⇒ B et donc I |= B. Donc Γ |= B. 42 / 73 Prouvabilité vs sémantique Proposition 9 (Complétude) Soient Γ un ensemble fini de formule et F une formule. Γ |= F si et seulement si Γ ` F . Preuve : ⇒ : dur cf exercice sur ma page http://www.ensiie/˜forest/MLO et démonstration en Coq à la même adresse 42 / 73 Résolution Autre méthode de démonstration formelle. 43 / 73 Résolution Autre méthode de démonstration formelle. Utilisée surtout en démonstration automatique. 43 / 73 Résolution Autre méthode de démonstration formelle. Utilisée surtout en démonstration automatique. Utilisée aussi pour réfuter une formule (démontrer ¬F ). 43 / 73 Résolution Autre méthode de démonstration formelle. Utilisée surtout en démonstration automatique. Utilisée aussi pour réfuter une formule (démontrer ¬F ). Une seule vraie règle. 43 / 73 Résolution Autre méthode de démonstration formelle. Utilisée surtout en démonstration automatique. Utilisée aussi pour réfuter une formule (démontrer ¬F ). Une seule vraie règle. Ne travaille que sur les FNC. 43 / 73 Résolution : définition Définition 12 Un séquent de résolution Γ `r C est un couple Γ, C où Γ est un ensemble fini de clauses et C une clause. L’ensemble des séquents prouvables de la résolution est défini inductivement comme suit : C∈Γ (axr ) Γ `r C Γ `r p ∨ C Γ `r ¬p ∨ D (Res) Γ `r C ∨ D Dans la règle (Res) on travaille modulo associativité, symétrie, idempotence de ∨ et F ∨ ⊥ ≡ F . 44 / 73 Résolution : définition Définition 12 Un séquent de résolution Γ `r C est un couple Γ, C où Γ est un ensemble fini de clauses et C une clause. L’ensemble des séquents prouvables de la résolution est défini inductivement comme suit : p ∨ C ¬p ∨ D (Res) C∨D Dans la règle (Res) on travaille modulo associativité, symétrie, idempotence de ∨ et F ∨ ⊥ ≡ F . Rq : La plupart des présentation ne mentionnent que la règle (Res) et ne mentionnent pas explicitement Γ. 44 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. 45 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. Preuve. ⇐ : par induction sur la preuve de Γ `r C 45 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. Preuve. ⇐ : par induction sur la preuve de Γ `r C Si Γ `r C (ax) , alors C ∈ Γ et Γ |= C. 45 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. Preuve. ⇐ : par induction sur la preuve de Γ `r C Si Γ `r C (ax) , alors C ∈ Γ et Γ |= C. Γ `r p ∨ C Γ `r ¬p ∨ D (Res) Si Γ `r C ∨ D avec Γ |= p ∨ C et Γ |= ¬p ∨ D. 45 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. Preuve. ⇐ : par induction sur la preuve de Γ `r C Si Γ `r C (ax) , alors C ∈ Γ et Γ |= C. Γ `r p ∨ C Γ `r ¬p ∨ D (Res) Si Γ `r C ∨ D avec Γ |= p ∨ C et Γ |= ¬p ∨ D. Soit I t.q. I |= Γ : 1. Si I |= p alors, comme I |= ¬p ∨ D, on a I |= D donc Γ |= C ∨ D. 45 / 73 Résolution : correction et complétude Théorème 10 Soit Γ un ensemble de clause et soit C une clause. On a : Γ |= C ssi Γ `r C. Preuve. ⇐ : par induction sur la preuve de Γ `r C Si Γ `r C (ax) , alors C ∈ Γ et Γ |= C. Γ `r p ∨ C Γ `r ¬p ∨ D (Res) Si Γ `r C ∨ D avec Γ |= p ∨ C et Γ |= ¬p ∨ D. Soit I t.q. I |= Γ : 1. Si I |= p alors, comme I |= ¬p ∨ D, on a I |= D donc Γ |= C ∨ D. 2. Si I |= ¬p alors, comme I |= p ∨ C, on a I |= C donc Γ |= C ∨ D. 45 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. 46 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. Preuve : Conséquence directe du Thm 10 46 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. Preuve : Conséquence directe du Thm 10 Méthode pour démontrer que Γ |= F : 46 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. Preuve : Conséquence directe du Thm 10 Méthode pour démontrer que Γ |= F : 1. On remplace le problème par Γ, ¬F contradictoire. 46 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. Preuve : Conséquence directe du Thm 10 Méthode pour démontrer que Γ |= F : 1. On remplace le problème par Γ, ¬F contradictoire. 2. On met toutes les formules de Γ, ¬F en FNC. c → On obtient Γ = ensemble des clauses correspondant à Γ. 46 / 73 Résolution : réfutation Théorème 11 Si Γ est un ensemble de clauses. Γ `r ⊥ est prouvable ssi Γ est contradictoire. Preuve : Conséquence directe du Thm 10 Méthode pour démontrer que Γ |= F : 1. On remplace le problème par Γ, ¬F contradictoire. 2. On met toutes les formules de Γ, ¬F en FNC. c → On obtient Γ = ensemble des clauses correspondant à Γ. c 3. On prouve par résolution que Γ contradictoire. 46 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 2. On montre que {(¬p ∨ q) ∧ p ∧ ¬q} est contradictoire. 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 2. On montre que {(¬p ∨ q) ∧ p ∧ ¬q} est contradictoire. 3. On montre par résolution : Γ `r ⊥ (Res) 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 2. On montre que {(¬p ∨ q) ∧ p ∧ ¬q} est contradictoire. 3. On montre par résolution : ⊥ (Res) 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 2. On montre que {(¬p ∨ q) ∧ p ∧ ¬q} est contradictoire. 3. On montre par résolution : ¬p (Res) p (Res) ⊥ 47 / 73 Résolution : exemple jouet On cherche à montrer que |= (p ⇒ q) ⇒ ¬q ⇒ ¬p. 1. On montre {¬ (p ⇒ q) ⇒ ¬q ⇒ ¬p } est contradictoire. 2. On montre que {(¬p ∨ q) ∧ p ∧ ¬q} est contradictoire. 3. On montre par résolution : ¬p ∨ q ¬q (Res) p ¬p (Res) ⊥ 47 / 73 III- Logique du premier ordre 48 / 73 Limitation du calcul propositionnel Comme traduire : “Tous les hommes sont mortels, Socrate est un homme, donc Socrate est mortel” ? 49 / 73 Limitation du calcul propositionnel Comme traduire : “Tous les hommes sont mortels, Socrate est un homme, donc Socrate est mortel” ? Solution 1 : I p : “Tous les hommes sont mortels” I q : “Socrate est un homme” I r : “Socrate est mortel” I p ∧ q ⇒ r : Incorrecte : pas une tautologie 49 / 73 Limitation du calcul propositionnel Comme traduire : “Tous les hommes sont mortels, Socrate est un homme, donc Socrate est mortel” ? Solution 1 : I p : “Tous les hommes sont mortels” I q : “Socrate est un homme” I r : “Socrate est mortel” I p ∧ q ⇒ r : Incorrecte : pas une tautologie Solution 2 : I p1 : “Forest est mortel”, p2 : “Socrate est mortel”,. . . I q1 : “Forest est un homme”, q2 : “Socrate est un homme”,. . . V V ( i∈N pi ) ∧ ( i∈N qi ) ⇒ p2 : Incorrecte : taille infinie I 49 / 73 Limitation du calcul propositionnel Comme traduire : “Tous les hommes sont mortels, Socrate est un homme, donc Socrate est mortel” ? Solution 1 : I p : “Tous les hommes sont mortels” I q : “Socrate est un homme” I r : “Socrate est mortel” I p ∧ q ⇒ r : Incorrecte : pas une tautologie Solution 2 : I p1 : “Forest est mortel”, p2 : “Socrate est mortel”,. . . I q1 : “Forest est un homme”, q2 : “Socrate est un homme”,. . . V V ( i∈N pi ) ∧ ( i∈N qi ) ⇒ p2 : Incorrecte : taille infinie I Solution 3 : Logique du premier ordre 49 / 73 Grands principes I Séparer le monde entre des objets (les personnages) et des propriétés sur ces objets (être un homme, être mortel, . . . ). I Interpréter les objets dans des ensembles bien connus. I Envoyer les propriétés dans l’algèbre de Boole. 50 / 73 Syntaxe 1 Définition 13 (Langage) Un langage (ou signature) L est la donnée de : I Un ensemble de symboles de fonctions F munies de leurs arités. I Un ensemble de symboles de relations R munies de leurs arités. 51 / 73 Syntaxe 1 Définition 13 (Langage) Un langage (ou signature) L est la donnée de : I Un ensemble de symboles de fonctions F munies de leurs arités. I Un ensemble de symboles de relations R munies de leurs arités. Sur notre exemple : I F = {Socrate : 0} I R = {Homme : 1; Mortel : 1} 51 / 73 Syntaxe 2 Définition 14 (Termes) Étant donné L, et un ensemble dénombrable de variables V, on définit inductivement l’ensemble T des termes par : I V ⊂T, I Si f est un symbole d’arité n et si t1 , . . . , tn sont des termes alors f (t1 , . . . , tn ) est un terme. 52 / 73 Syntaxe 2 Définition 14 (Termes) Étant donné L, et un ensemble dénombrable de variables V, on définit inductivement l’ensemble T des termes par : I V ⊂T, I Si f est un symbole d’arité n et si t1 , . . . , tn sont des termes alors f (t1 , . . . , tn ) est un terme. Définition 15 (Formule) L’ensemble des formules est définit inductivement par : I Si R ∈ R est d’arité n et si t1 , . . . , tn sont des termes alors R(t1 , . . . , tn ) est une formule (dite formule atomique), I Si F1 et F2 sont des formules et si ∈ {∧, ∨, ⇒}, alors F1 F2 est une formule, I Si F est une formule, alors ¬F est une formule, I Si F est une formule et x est une variable alors ∀x, F et ∃x, F sont des formules. 52 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) 53 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) ∀ et ∃ sont des quantificateurs. Ils lient (et contraignent) les variables 53 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) ∀ et ∃ sont des quantificateurs. Ils lient (et contraignent) les variables ∀x, R(f (x, y), g(y )) 53 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) ∀ et ∃ sont des quantificateurs. Ils lient (et contraignent) les variables ∀x, R(f (x, y), g(y )) 53 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) ∀ et ∃ sont des quantificateurs. Ils lient (et contraignent) les variables dans leur portée (en dessous d’eux). R(x, z) ∧ ∀x, R(f (x, y), g(y )) 53 / 73 Les quantificateurs Priorité des quantifitificateurs = après ∨ : ∀x, R(f (x, y), g(y)) ⇒ R(x, z) se lit ∀x, (R(f (x, y), g(y)) ⇒ R(x, z)) ∀ et ∃ sont des quantificateurs. Ils lient (et contraignent) les variables dans leur portée (en dessous d’eux). R(x, z) ∧ ∀x, R(f (x, y), g(y )) Le nom des variables liées n’a pas d’importance en soi. 53 / 73 Variables libres Définition 16 (Variables libres) Ensemble défini inductivement sur les termes par : FV (x) = {x} FV (f (t1 , . . . , tn )) = FV (t1 ) ∪ . . . ∪ FV (tn ) 54 / 73 Variables libres Définition 16 (Variables libres) Ensemble défini inductivement sur les termes par : FV (x) = {x} FV (f (t1 , . . . , tn )) = FV (t1 ) ∪ . . . ∪ FV (tn ) et sur les formules par : FV (R(t1 , . . . , tn )) = FV (t1 ) ∪ . . . ∪ FV (tn ) FV (F1 F2 ) = FV (F1 ) ∪ FV (F2 ) FV (¬F ) = FV (F ) FV (∀x, F ) = FV (∃x, F ) = FV (F ) \ {x} 54 / 73 Variables libres Définition 16 (Variables libres) Ensemble défini inductivement sur les termes par : FV (x) = {x} FV (f (t1 , . . . , tn )) = FV (t1 ) ∪ . . . ∪ FV (tn ) et sur les formules par : FV (R(t1 , . . . , tn )) = FV (t1 ) ∪ . . . ∪ FV (tn ) FV (F1 F2 ) = FV (F1 ) ∪ FV (F2 ) FV (¬F ) = FV (F ) FV (∀x, F ) = FV (∃x, F ) = FV (F ) \ {x} Formule close : sans variable libre. 54 / 73 α-équivalence Définition 17 (α-équivalence) F ≡α G ssi F et G identiques au renommage des occurrences liées de leurs variables près. R(x, z) ∧ ∀x, R(f (x, y), g(y )) ≡α R(x, z) ∧ ∀u, R(f (u, y ), g(y )) 6≡α R(u, z) ∧ ∀u, R(f (u, y), g(y )) 6≡α R(x, z) ∧ ∀y , R(f (y, y ), g(y)) 55 / 73 Substitution Idée : Remplacer les occurrences libres de x par un terme t dans une formule F (noté F [x := t]). Définition 18 (Substitution) Sur les termes : T [x := t] = remplacement de x par t dans T (par induction sur T ). Sur les formules, par induction sur F . Deux problèmes : 56 / 73 Substitution Idée : Remplacer les occurrences libres de x par un terme t dans une formule F (noté F [x := t]). Définition 18 (Substitution) Sur les termes : T [x := t] = remplacement de x par t dans T (par induction sur T ). Sur les formules, par induction sur F . Deux problèmes : (∀x, F )[y := t] = ∀x, (F [y := t]) si x 6= y et x ∈ / FV (t) (∃x, F )[y := t] = ∃x, (F [y := t]) si x 6= y et x ∈ / FV (t) But : Éviter les captures de variables. Moyen : Renommage de variable via α-conversion. 56 / 73 Sémantique 1 Cf propositionnelle : donner un sens aux formules. 57 / 73 Sémantique 1 Cf propositionnelle : donner un sens aux formules. Besoin d’interpréter les symboles de fonctions et de prédicats. 57 / 73 Sémantique 1 Cf propositionnelle : donner un sens aux formules. Besoin d’interpréter les symboles de fonctions et de prédicats. Besoin d’interpréter les quantificateurs 57 / 73 Sémantique 2 Définition 19 (Interprétation) Soit Σ une signature. Une interprétation (ou modèle) I est la donnée de : I un ensemble non vide D appelé domaine (ou univers) ; I pour chaque symbole de fonction f d’arité n, une fonction fI : D n 7→ D ; I pour chaque symbole de prédicat R d’arité n, un prédicat RI : D n 7→ B. 58 / 73 Sémantique 2 Définition 19 (Interprétation) Soit Σ une signature. Une interprétation (ou modèle) I est la donnée de : I un ensemble non vide D appelé domaine (ou univers) ; I pour chaque symbole de fonction f d’arité n, une fonction fI : D n 7→ D ; I pour chaque symbole de prédicat R d’arité n, un prédicat RI : D n 7→ B. Définition 20 (Valuation) On se donne une interprétation I (donc en particulier D). Une valuation σ est une fonction de V dans D. Étant donnée une valuation σ, une variable x et v ∈ D, on note σ[x/v ] la valuation : σ[x/v ](x) = v σ[x/v ](y ) = σ(y) si x 6= y 58 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) 59 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) Définition 22 (Interprétation des formules) Interprétation I + valuation σ ; l’interprétation des formules : I(σ, R(t1 , . . . , tn )) = RI (I(σ, t1 ), . . . , I(σ, tn )) 59 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) Définition 22 (Interprétation des formules) Interprétation I + valuation σ ; l’interprétation des formules : I(σ, R(t1 , . . . , tn )) = RI (I(σ, t1 ), . . . , I(σ, tn )) I(σ, F1 F2 ) = I(σ, F1 ) I(σ, F2 ) si ∈ {∧, ∨, ⇒} 59 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) Définition 22 (Interprétation des formules) Interprétation I + valuation σ ; l’interprétation des formules : I(σ, R(t1 , . . . , tn )) = RI (I(σ, t1 ), . . . , I(σ, tn )) I(σ, F1 F2 ) = I(σ, F1 ) I(σ, F2 ) si ∈ {∧, ∨, ⇒} I(σ, ¬F ) = ¬I(σ, F ) 59 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) Définition 22 (Interprétation des formules) Interprétation I + valuation σ ; l’interprétation des formules : I(σ, R(t1 , . . . , tn )) = RI (I(σ, t1 ), . . . , I(σ, tn )) I(σ, F1 F2 ) = I(σ, F1 ) I(σ, F2 ) si ∈ {∧, ∨, ⇒} I(σ, ¬F ) = ¬I(σ, F) 1 si pour tout v ∈ D, I(σ[x/v ], F ) = 1 I(σ, ∀x, F ) = 0 sinon 59 / 73 Sémantique 3 Définition 21 (Interprétation des termes) Interprétation I + valuation σ ; l’interprétation des termes : I(σ, x) = σ(x) I(σ, f (t1 , . . . , tn )) = fI (I(σ, t1 ), . . . , I(σ, tn )) Définition 22 (Interprétation des formules) Interprétation I + valuation σ ; l’interprétation des formules : I(σ, R(t1 , . . . , tn )) = RI (I(σ, t1 ), . . . , I(σ, tn )) I(σ, F1 F2 ) = I(σ, F1 ) I(σ, F2 ) si ∈ {∧, ∨, ⇒} I(σ, ¬F ) = ¬I(σ, F) 1 si pour tout v ∈ D, I(σ[x/v ], F ) = 1 I(σ, ∀x, F ) = 0 sinon 1 si il existe un v ∈ D t.q. I(σ[x/v ], F ) = 1 I(σ, ∃x, F ) = 0 sinon 59 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) I Si I(σ, F ) = 1 alors I, σ satisfait F noté, I, σ |= F . 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) I Si I(σ, F ) = 1 alors I, σ satisfait F noté, I, σ |= F . I Si I, σ |= F pour tout F ∈ Γ alors I, σ |= Γ. 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) I Si I(σ, F ) = 1 alors I, σ satisfait F noté, I, σ |= F . I Si I, σ |= F pour tout F ∈ Γ alors I, σ |= Γ. I Si il n’existe pas de I, σ tel que I, σ |= Γ alors Γ contradictoire. 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) I Si I(σ, F ) = 1 alors I, σ satisfait F noté, I, σ |= F . I Si I, σ |= F pour tout F ∈ Γ alors I, σ |= Γ. I Si il n’existe pas de I, σ tel que I, σ |= Γ alors Γ contradictoire. I Si I, σ |= F pour toute I et tout σ alors F est valide. 60 / 73 Sémantique : Propriété Proposition 12 Si F est une formule et I une interprétation, I(σ, F ) ne dépend que des valeurs des variables libres de F . Preuve : par induction sur F . Corollaire 13 Si F est une formule close alors I(σ, F ) = I(σ 0 , F ) pour toute σ, σ 0 (on note alors I(F )) I Si I(σ, F ) = 1 alors I, σ satisfait F noté, I, σ |= F . I Si I, σ |= F pour tout F ∈ Γ alors I, σ |= Γ. I Si il n’existe pas de I, σ tel que I, σ |= Γ alors Γ contradictoire. I Si I, σ |= F pour toute I et tout σ alors F est valide. I Si I, σ |= F pour tous I et σ tels que I, σ |= Γ alors Γ |= F I F ≡ G ssi F |= G et G |= F 60 / 73 Équivalences Celles de la logique propositionnelle + ∀x, ∀y , F ≡ ∀y , ∀x, F 61 / 73 Équivalences Celles de la logique propositionnelle + ∀x, ∀y , F ≡ ∀y , ∀x, F ∃x, ∃y , F ≡ ∃y , ∃x, F 61 / 73 Équivalences Celles de la logique propositionnelle + ∀x, ∀y , F ≡ ∀y , ∀x, F ∃x, ∃y , F ≡ ∃y , ∃x, F ¬∀x, F ≡ ∃x, ¬F 61 / 73 Équivalences Celles de la logique propositionnelle + ∀x, ∀y , F ≡ ∀y , ∀x, F ∃x, ∃y , F ≡ ∃y , ∃x, F ¬∀x, F ≡ ∃x, ¬F ¬∃x, F ≡ ∀x, ¬F 61 / 73 Proposition 14 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. 62 / 73 Proposition 14 Soient F et G deux formules et Σ un ensemble de formules. 1. Σ |= F ⇒ G si et seulement si Σ, F |= G. 2. Σ |= F si et seulement si Σ, ¬F est contradictoire. Preuve : cf propositionnelle 62 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. 63 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. Définition 23 (Sequents prouvables) Ensemble des séquents prouvables défini inductivement par les règles de la déduction naturelle pour la logique propositionnelle + 63 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. Définition 23 (Sequents prouvables) Ensemble des séquents prouvables défini inductivement par les règles de la déduction naturelle pour la logique propositionnelle + Γ`A x non libre dans Γ (∀ ) i Γ ` ∀x, A 63 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. Définition 23 (Sequents prouvables) Ensemble des séquents prouvables défini inductivement par les règles de la déduction naturelle pour la logique propositionnelle + Γ`A x non libre dans Γ (∀ ) i Γ ` ∀x, A Γ ` ∀x, A (∀e ) Γ ` A[x := t] 63 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. Définition 23 (Sequents prouvables) Ensemble des séquents prouvables défini inductivement par les règles de la déduction naturelle pour la logique propositionnelle + Γ`A x non libre dans Γ (∀ ) i Γ ` ∀x, A Γ ` ∀x, A (∀e ) Γ ` A[x := t] Γ ` A[x := t] (∃i ) Γ ` ∃x, A 63 / 73 Preuves formelles : la déduction naturelle On reprend la notion de séquent (Γ ` F ) mais où les formules sont maintenant du premier ordre. Définition 23 (Sequents prouvables) Ensemble des séquents prouvables défini inductivement par les règles de la déduction naturelle pour la logique propositionnelle + Γ`A x non libre dans Γ (∀ ) i Γ ` ∀x, A Γ ` ∀x, A (∀e ) Γ ` A[x := t] Γ ` A[x := t] (∃i ) Γ ` ∃x, A Γ ` ∃x, A Γ, A ` B x non libre dans Γ, ni dans B (∃e ) Γ`B 63 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. 64 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. On peut alors modéliser le problème : ∀x, H(x) ⇒ M(x) Γ= H(S) et on doit montrer que Γ ` M(S) est prouvable. Γ ` M(S) 64 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. On peut alors modéliser le problème : ∀x, H(x) ⇒ M(x) Γ= H(S) et on doit montrer que Γ ` M(S) est prouvable. Γ ` H(S) ⇒ M(S) Γ ` M(S) Γ ` H(S) (⇒e ) 64 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. On peut alors modéliser le problème : ∀x, H(x) ⇒ M(x) Γ= H(S) et on doit montrer que Γ ` M(S) est prouvable. Γ ` ∀x, H(x) ⇒ M(x) (∀e ) Γ ` H(S) ⇒ M(S) Γ ` M(S) Γ ` H(S) (⇒e ) 64 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. On peut alors modéliser le problème : ∀x, H(x) ⇒ M(x) Γ= H(S) et on doit montrer que Γ ` M(S) est prouvable. (ax) Γ ` ∀x, H(x) ⇒ M(x) (∀e ) Γ ` H(S) ⇒ M(S) Γ ` M(S) Γ ` H(S) (⇒e ) 64 / 73 Un exemple de preuve : De la mortalité de Socrate On se donne le langage L = {H, M, S} où H et M sont des symboles de prédicats unaires et S un symbole de constante. On peut alors modéliser le problème : ∀x, H(x) ⇒ M(x) Γ= H(S) et on doit montrer que Γ ` M(S) est prouvable. (ax) Γ ` ∀x, H(x) ⇒ M(x) (∀e ) Γ ` H(S) ⇒ M(S) Γ ` M(S) Γ ` H(S) (ax) (⇒e ) 64 / 73 Cohérence Définition 24 Un ensemble de formules T est cohérent si et seulement si on ne peut pas prouver ⊥ à partir de cet ensemble i.e. ssi T ` ⊥ n’est pas prouvable. 65 / 73 Cohérence Définition 24 Un ensemble de formules T est cohérent si et seulement si on ne peut pas prouver ⊥ à partir de cet ensemble i.e. ssi T ` ⊥ n’est pas prouvable. Proposition 15 Un ensemble T est cohérent ssi il n’est pas contradictoire. 65 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A 66 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A Preuve : ` A prouvable ssi ¬A ` ⊥ prouvable ¬A ` ⊥ (⊥ ) c `A 66 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A Preuve : ` A prouvable ssi ¬A ` ⊥ prouvable ` A (aff ) (ax) ¬A ` A ¬A ` ¬A (¬ ) e ¬A ` ⊥ 66 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A Preuve : ` A prouvable ssi ¬A ` ⊥ prouvable ssi {¬A} est incohérente Définition de la cohérence 66 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A Preuve : ` A prouvable ssi ¬A ` ⊥ prouvable ssi {¬A} est incohérente ssi {¬A} est contradictoire cf Proposition 15 66 / 73 Complétude Théorème 16 Si A est une formule close alors ` A est prouvable ssi |= A Preuve : ` A prouvable ssi ¬A ` ⊥ prouvable ssi {¬A} est incohérente ssi {¬A} est contradictoire ssi A est valide Dernier Lemme de la semaine dernière 66 / 73 Extension de la déduction naturelle (EXPERTS ONLY) Idée : Ajouter de nouvelles règles de preuve sans perdre la cohérence. 67 / 73 Extension de la déduction naturelle (EXPERTS ONLY) Idée : Ajouter de nouvelles règles de preuve sans perdre la cohérence. Exemple : Quand : Comment : Symbole = présent dans le langage Ajout de deux règles Γ`t =t (=i ) Γ ` A[x := t] Γ ` t = u (=e ) Γ ` A[x := u] 67 / 73 Arithmétique de Peano L = {0, S, +, ×, =} où 0 est une constante, S est un symbole unaire, + et × sont binaire et = est un prédicat binaire, On note ∀x, ¬(S(x) = 0) ∀x, ∀y , S(x) = S(y) ⇒ x = y ∀x, x + 0 = x et on ajoute la règle : ΓPA = ∀x, ∀y , x + S(y ) = S(x + y) ∀x, x × 0 = 0 ∀x, ∀y , x × S(y ) = (x × y ) + x Γ ` F [x := 0] Γ ` ∀y , F [x := y ] ⇒ F [x := S(y)] (rec) Γ ` ∀x, F 68 / 73 Et la résolution alors ? 69 / 73 Et la résolution alors ? Définition 25 (Forme prénexe) Une formule F est en forme prénexe ssi F = Q1 x1 , . . . , Qn xn , G où Qi ∈ {∀, ∃} et G est sans quantificateur. 69 / 73 Et la résolution alors ? Définition 25 (Forme prénexe) Une formule F est en forme prénexe ssi F = Q1 x1 , . . . , Qn xn , G où Qi ∈ {∀, ∃} et G est sans quantificateur. Proposition 17 Toute formule est sémantiquement équivalente à une formule en forme prénexe. 69 / 73 Formes de Skolem Définition 26 Une formule F est universelle si F = ∀x1 , . . . , ∀xn , G où G est sans quantificateur. 70 / 73 Formes de Skolem Définition 26 Une formule F est universelle si F = ∀x1 , . . . , ∀xn , G où G est sans quantificateur. Proposition 18 s À toute formule, on peut associé une formule F universelle dite forme de Skolem de F 70 / 73 Formes de Skolem Définition 26 Une formule F est universelle si F = ∀x1 , . . . , ∀xn , G où G est sans quantificateur. Proposition 18 s À toute formule, on peut associé une formule F universelle dite forme de Skolem de F Proposition 19 s Soit Σ un ensemble de formule et Σ l’ensemble des forme de Skolem s des formule de Σ, alors Σ est contradictoire ssi Σ est contradictoire 70 / 73 Formes de clauses Définition 27 I Un littéral est une formule atomique ou la négation d’une formule atomique. I Une clause est une disjonction d’atome I Une formule F est sous forme de clause ssi F = ∀x1 , . . . , ∀xn , où Ci est une clause. V i Ci 71 / 73 Formes de clauses Définition 27 I Un littéral est une formule atomique ou la négation d’une formule atomique. I Une clause est une disjonction d’atome I Une formule F est sous forme de clause ssi F = ∀x1 , . . . , ∀xn , où Ci est une clause. V i Ci Proposition 20 A chaque ensemble formule Σ on peut associer un ensemble de c c clauses Σ tel que Σ est contradictoire ssi Σ est contradictoire. 71 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 72 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 Premier ordre : R(t1 , . . . , tn ) ∨ C1 ¬R(t1 , . . . , tn ) ∨ C2 C1 ∨ C2 72 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 Premier ordre : A1 ∨ C1 ¬A2 ∨ C2 C1 σ ∨ C2 σ 72 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 Premier ordre : A1 ∨ C1 ¬A2 ∨ C2 C1 σ ∨ C2 σ si σ est un unificateur de A1 et A2 : 72 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 Premier ordre : A1 ∨ C1 ¬A2 ∨ C2 C1 σ ∨ C2 σ si σ est un unificateur de A1 et A2 : A1 σ = A2 σ 72 / 73 Bon ça vient cette résolution . . . En propositionnelle : p ∨ C1 ¬p ∨ C2 C1 ∨ C2 Premier ordre : A1 ∨ C1 ¬A2 ∨ C2 C1 σ ∨ C2 σ si σ est un unificateur de A1 et A2 : A1 σ = A2 σ A1 ∨ A2 ∨ C A1 σ ∨ Cσ ¬A1 ∨ ¬A2 ∨ C ¬A1 σ ∨ Cσ 72 / 73 Une petite preuve ? ¬H(x) ∨ M(x) H(S) Socrate : On cherche à montrer que est ¬M(S) contradictoire. 73 / 73 Une petite preuve ? ¬H(x) ∨ M(x) H(S) Socrate : On cherche à montrer que est ¬M(S) contradictoire. ∅ 73 / 73 Une petite preuve ? ¬H(x) ∨ M(x) H(S) Socrate : On cherche à montrer que est ¬M(S) contradictoire. ¬M(S) M(S) ∅ 73 / 73 Une petite preuve ? ¬H(x) ∨ M(x) H(S) Socrate : On cherche à montrer que est ¬M(S) contradictoire. ¬H(x) ∨ M(x) M(S) H(S) σ = {x 7→ S} ¬M(S) ∅ 73 / 73