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