Partie 2
Partie 2
Partie 2
Calcul propositionnel
I Introduction
Les liens étroits entre logique et informatique ne sont pas récents, avec pour exemple la citation
suivante de plus de 40 ans : "It is reasonable to hope that the relationship between computation and
mathematical logic will be as fruitful in the next century as that between analysis and physics in the
last. The development of this relationship demands a concern for both applications and mathematical
elegance" [McC64].
Ce chapitre met l’accent sur le calcul des propositions, qui est un des fondements de la logique
classique, initié par Friedrich Ludwig Gottlob Frege (1848–1925). Ce chapitre contient des extraits
de [CL93, Lip90, LBDG07].
D ÉFINITION 11.1 (P ROPOSITION ). Parmi tous les énoncés possibles qui peuvent être formulés dans
une langue, on distingue ceux auxquels il est possible d’attribuer une « valeur de vérité » : vrai ou faux.
Ces énoncés porteront le nom de propositions . ♦
E XEMPLE 11.1. Ainsi, « Henri IV est mort assassiné en 1610 », « Napoléon Bonaparte a été guillotiné
en 1852 » sont des propositions, puisqu’on peut leur attribuer une valeur de vérité (« vrai » pour la
première, « faux » pour la seconde).
89
Le calcul que l’on étudie considère toujours comme acquises les vérités suivantes, élevées au rang
d’axiomes.
Principe de non-contradiction : Une proposition ne peut être simultanément vraie et fausse.
Principe du tiers-exclu : Une proposition est vraie ou fausse (il n’y a pas d’autre possibilité).
R EMARQUE 11.1. Dans le langage courant, le mot « ou » est souvent employé de deux façons distinctes :
– il est parfois utilisé avec le sens « les deux cas peuvent se produire » (comme ici) et,
– parfois avec le sens « p ou q , mais pas les deux » (e.g. « il ira à Paris ou à Marseille »).
Sauf indication contraire, le « ou » sera toujours employé avec cette première signification.
90
Conjonction logique : Connecteur « et », symbole ∧.
À partir de deux propositions P et Q, ce connecteur permet la construction de la nouvelle proposition
(P et Q) [notée P ∧ Q], dont la valeur de vérité est définie par la table de vérité :
P Q P ∧Q
F F F
F V F
V F F
V V V
On remarque que P ∧ Q est vraie si et seulement si les deux propositions P et Q sont vraies.
Exercice 11.2. Rappelez quels sont les différents comportements des commandes shell suivantes :
– commmande1 ; commande2
– commande1 && commande2
– commande1 || commande2
Expliquez ces comportements à partir de ce qui précède.
R EMARQUE 11.2. Lorsque la proposition P est fausse, la proposition « Si P , alors Q » est vraie, quelle
que soit la valeur de vérité de la proposition Q,
Exercice 11.3. Déterminer la valeur de vérité des propositions suivantes dans le monde actuel (c.-à-d.
celui dans lequel nous vivons) :
1. « si la terre est plate, alors la lune est carrée ; »
2. « si le soleil tourne autour de la terre alors la terre est ronde »
3. « si la terre est ronde alors le soleil tourne autour de la terre »
4. « si vous étudiez la logique alors E = m.c2 »
5. « si Napoléon est mort alors il a gagné la bataille de Waterloo »
6. « s’il pleut en ce moment alors il pleut en ce moment »
7. « si tous les hommes sont passionnés par la logique alors Dieu existe »
91
8. « si le Diable existe alors ceci est un exercice de logique »
La manière de mener un raisonnement qui utilise éventuellement des propositions qui se présentent
sous la forme d’implications logiques est l’objet de la théorie de la déduction qui sera étudiée plus loin.
R EMARQUE 11.3. Même remarque que pour l’implication logique : l’équivalence logique de deux
propositions fausses est une proposition vraie.
Exercice 11.6. Énoncer la négation des affirmations suivantes en évitant d’employer l’expression : « il
est faux que »
1. « S’il pleut ou s’il fait froid je ne sors pas »
92
2. « Le nombre 522 n’est pas divisible par 3 mais il est divisible par 7 »
3. « Ce quadrilatère n’est ni un rectangle ni un losange »
4. « Si Paul ne va pas travailler ce matin il va perdre son emploi »
5. « Tout nombre entier impair peut être divisible par 3 ou par 5 mais jamais par 2 »
6. « Tout triangle équilatéral a ses angles égaux à 60° »
Exercice (corrigé) 11.7. Quelles sont les valeurs de vérité des propositions suivantes ?
1. π vaut 4 et la somme des angles d’un triangle vaut 180°
2. π vaut 3,141592. . . implique que la somme des angles d’un triangle vaut 180°
3. π vaut 4 implique que la somme des angles d’un triangle vaut 182°
4. Il n’est pas vrai qu’un entier impair ne puisse pas être divisible par 6
5. Si 2 est plus grand que 3 alors l’eau bout à 100°C
6. Si 6 est plus petit que 7 alors 7 est plus petit que 6
7. Si 7 est plus petit que 6 alors 6 est plus petit que 7
8. 84 est divisible par 7 implique que 121 est divisible par 11
9. Si 531617 + 1 est divisible par 7 alors 531617 + 1 est plus grand que 7
10. La décimale d de π qui porte le numéro 10400 est 3 implique que si d n’est pas 3 alors d est 3.
Réponses :
1 F ; 2 V ; 3 V ; 4 F ; 5 V ; 6 F ; 7 V ; 8 V ; 9 V ; 10 V.
P ROPRIÉTÉ 11.1 : Les règles (de syntaxe) qui permettent de former des formules propositionnelles
sont les suivantes :
– toute variable propositionnelle est une formule propositionnelle ;
– si F et G sont des formules propositionnelles, alors ¬(F ), (F ) ∨ (G), (F ) ∧ (G), (F ) ⇒ (G)
et (F ) ⇐⇒ (G) sont des formules propositionnelles.
R EMARQUE 11.4. Ce ne sont plus des propositions, en ce sens qu’elles n’ont en général pas de valeur
de vérité déterminée. Cette dernière est une fonction des valeurs de vérité des variables propositionnelles
qui interviennent dans l’expression de la formule propositionnelle considérée.
Exercice 11.8. A et B sont des variables propositionnelles, susceptibles de représenter n’importe quelle
proposition. Formaliser, à l’aide de connecteurs logiques appropriés, les énoncés suivants :
1. « A si B »
2. « A est condition nécessaire pour B »
3. « A sauf si B »
4. « A seulement si B »
5. « A est condition suffisante pour B »
93
6. « A bien que B »
7. « Non seulement A, mais aussi B »
8. « A et pourtant B »
9. « A à moins que B »
10. « Ni A, ni B »
Exercice 11.9. Les variables propositionnelles N et T serviront, dans cet exercice, à représenter (re-
spectivement) les propositions « Un étudiant a de bonnes notes » et « Un étudiant travaille ». À l’aide
des variables propositionnelles N et T , formaliser les propositions suivantes (si, pour l’une ou l’autre
d’entre elles, la traduction vous paraît impossible, dites-le et expliquez pourquoi) :
1. C’est seulement si un étudiant travaille qu’il a de bonnes notes.
2. Un étudiant n’a de bonnes notes que s’il travaille.
3. Pour un étudiant, le travail est une condition nécessaire à l’obtention de bonnes notes.
4. Un étudiant a de mauvaises notes, à moins qu’il ne travaille.
5. Malgré son travail, un étudiant a de mauvaises notes.
6. Un étudiant travaille seulement s’il a de bonnes notes.
7. À quoi bon travailler, si c’est pour avoir de mauvaises notes ?
8. Un étudiant a de bonnes notes sauf s’il ne travaille pas.
Exercice 11.10. Combien de lignes contient la table de vérité d’une formule propositionnelle qui dépend
de n variables ?
Lorsqu’on remplace, dans une formule propositionnelle, les variables propositionnelles par des propo-
sitions, l’assemblage obtenu est une proposition. Cependant, une formule propositionnelle n’est pas une
proposition : A ⇒ B n’est ni vrai ni faux.
E XEMPLE 11.11. ¬A ∧ B ⇒ C doit être interprété par ((¬A) ∧ B) ⇒ C et A ∨ B ∧ C n’a pas de sens,
car les deux connecteurs ont même niveau de priorité.
94
Exercice (corrigé) 11.12. Quelles sont les façons de placer des parenthèses dans ¬P ∨ Q ∧ ¬R afin
d’obtenir l’expression correcte d’une formule propositionnelle ? Déterminer la table de vérité de chacune
des formules obtenues.
Réponses :
1) ¬P ∨(Q∧¬R) ; 2) (¬P ∨Q)∧¬R ; 3) (¬(P ∨Q))∧¬R ; 4) ¬(P ∨(Q∧¬R)) ; 5) ¬((P ∨Q)∧¬R).
Tables de vérité :
P Q R 1 2 3 4 5
V V V F F F F V
V V F V V F F F
V F V F F F F V
V F F F F F F F
F V V V F F V V
F v F V V F F F
F F V V F F V V
F F F V V V V V
Exercice (corrigé) 11.13. Construire les tables de vérité des formules propositionnelles suivantes :
1. ¬P ∧ Q
2. ¬P ⇒ P ∨ Q
3. ¬(¬P ∧ ¬Q)
4. P ∧ Q ⇒ ¬Q
5. (P ⇒ Q) ∨ (Q ⇒ P )
6. (P ⇒ ¬Q) ∨ (Q ⇒ ¬P )
7. (P ∨ ¬Q) ∧ (¬P ∨ Q)
8. P ⇒ (¬P ⇒ P )
Réponse :
P Q 1 2 3 4 5 6 7 8
V V F V V F V F V V
V F F V V V V V F V
F V V V V V V V F V
F F F F F V V V V V
95
III Sémantique du calcul propositionnel
Dans ce qui suit, on donne un sens aux symboles représentant les connecteurs logiques en fonction
de la valeur de vérité des propositions de base (ainsi ¬ signifie non).
R EMARQUE 11.7. Il est clair que les « tables de vérité » des connecteurs logiques sont les mêmes que
les tables des opérations booléennes sur {faux, vrai}
– de la négation booléenne (pour la négation logique),
– de la somme booléenne (pour la disjonction logique),
– du produit booléen (pour la conjonction logique),
Ainsi, la détermination de la valeur de vérité d’une proposition composée se ramène à un simple
calcul en algèbre de Boole sur la fonction de vérité de la formule propositionnelle associée.
III.2.1 Tautologies
D ÉFINITION 11.3 (TAUTOLOGIE ). Toute formule propositionnelle dont la fonction de vérité est la fonc-
tion référentielle est appelée tautologie . ♦
96
Ainsi, une tautologie est une formule propositionnelle dont la fonction de vérité est indépendante
des valeurs de vérité associées à ses variables. Autrement dit, quelle que soit la valeur de vérité des
propositions par lesquelles on remplacerait les variables propositionnelles, la proposition obtenue serait
vraie.
N OTATION : La notation utilisée pour marquer une tautologie F est |= F (se lit : « F est une tautologie »).
Il ne faudrait pas croire, au vu de ces exemples simples, que les tautologies se ramènent toutes à des
trivialités totalement inintéressantes et indignes d’être énoncées. Ainsi, dans une théorie mathématique,
tous les théorèmes sont des tautologies ; la reconnaissance de cette propriété n’est cependant pas toujours
complètement évidente. . .
Exercice (corrigé) 11.18. Les formules propositionnelles suivantes sont-elles des tautologies ?
1. (P ∧ Q) ⇒ P
2. (P ∨ Q) ⇒ (P ∧ Q)
3. (P ∧ Q) ⇒ (P ∨ Q)
4. P ⇒ (P ∨ Q)
5. P ⇒ ((¬P ) ⇒ P )
6. P ⇒ (P ⇒ Q)
7. P ⇒ (P ⇒ P )
8. (P ⇒ Q) ⇒ ((Q ⇒ R) ⇒ (P ⇒ R))
Réponses : 1., 3., 4., 5., 7. et 8. sont des tautologies.
97
III.2.2 Antilogies
D ÉFINITION 11.4 (A NTILOGIE ). Toute formule propositionnelle dont la fonction de vérité est la fonc-
tion nulle est appelée antilogie . ♦
La proposition obtenue en remplaçant les variables par des propositions ne peut alors jamais être
vraie.
E XEMPLE 11.20. Soit F = A ∧ ¬A. ΦF (a) = a · a = 0. Donc F est bien une antilogie.
Exercice 11.21. Calculer les fonctions de vérité des formules propositionnelles suivantes, et dire s’il
s’agit éventuellement de tautologies ou d’antilogies :
1. (A ⇒ B) ∧ (A ∨ B) ⇒ B
2. (A ⇒ C) ∧ (B ⇒ D) ∧ (A ∨ B) ⇒ C ∨ D
3. ¬(A ∧ B) ∨ ¬A ∨ ¬B ⇒ C
4. (A ⇒ C) ∨ (B ⇒ D) ⇒ (A ∨ B ⇒ C ∨ D)
5. (A ⇒ C) ∧ (B ⇒ D) ⇒ (A ∧ B ⇒ C ∧ D)
6. (A ∧ B) ∨ (¬A ∧ ¬C) ⇒ (B ⇒ C)
7. (¬A ∨ B) ∧ (C ⇒ (A ⇐⇒ B))
8. A ∧ ¬A ⇒ (B ∨ C ⇒ (C ⇒ ¬A))
9. ((A ⇒ B) ⇒ A) ⇒ A
10. (A ⇒ C) ∧ (B ⇒ D) ∧ (¬C ∨ ¬D) ⇒ ¬A ∨ ¬B
11. A ∧ (A ∨ B) ⇐⇒ A
12. (¬A ∨ B ⇒ (A ⇒ ¬A ∨ B)) ⇐⇒ (¬A ∨ B ⇒ (A ⇒ (A ⇒ B)))
13. (A ⇒ B) ∧ (A ∨ C) ⇒ B ∨ C
14. (A ⇒ B) ∧ (A ∨ C) ⇒ (A ⇒ C)
D ÉFINITION 11.5 (C ONSÉQUENCE LOGIQUE ). On dit que la formule propositionnelle A est une con-
séquence logique des formules propositionnelles F1 , . . . , Fn lorsque, chaque fois que les fonctions de
vérité ΦF1 , . . . , ΦFn prennent simultanément la valeur « vrai » (ou 1), il en est de même pour la fonction
de vérité de la forme A. ♦
N OTATION : On note ce résultat : {F1 , . . . , Fn } |= A (se lit : A est conséquence logique de {F1 , . . . , Fn }).
{P, P ⇒ Q}
et on va montrer autrement que Q est conséquence logique de ces deux formules. Autrement dit, on va
remontrer que : {P , P ⇒ Q}|= Q.
– ΦP (p) = p : prend la valeur 1 lorsque p prend la valeur 1.
– ΦP ⇒Q (p, q) = p + q : prend la valeur 1 lorsque p = 0 (quelle que soit la valeur de q) et lorsque
p = 1 et q = 1.
– ΦP (p) et ΦP ⇒Q (p, q) prennent simultanément la valeur 1 uniquement lorsque p = 1 et q = 1 ;
dans ce cas, ΦQ (q) = q = 1 aussi. Donc Q est conséquence logique de {P, P ⇒ Q}.
98
Exercice 11.23. Dans chacun des cas suivants, déterminer si le premier ensemble de formules a pour
conséquence logique la deuxième formule :
1 {P ∧ Q} P
2 {(P ∧ Q) ∨ R} P ∧ (Q ∨ R)
3 {(P ∧ Q) ⇒ R} (P ⇒ R) ∧ (Q ⇒ R)
4 {P ⇒ (Q ∨ R)} (P ⇒ Q) ∨ (P ⇒ R)
5 {A ⇒ (P ∨ Q), ¬S ∨ A} (¬P ∨ S) ⇒ Q
5 {A ⇒ (B ∧ C), ¬C ∨ D ∨ R, R ⇒ ¬B} (A ∧ D) ⇒ ¬R
Exercice 11.24. Dans chacun des cas suivants, que peut-on dire d’une formule propositionnelle :
1. qui a pour conséquence logique une antilogie,
2. qui a pour conséquence logique une tautologie,
3. qui est conséquence logique d’une antilogie,
4. qui est conséquence logique d’une tautologie.
Exercice 11.25. La formule propositionnelle F étant fixée, que peut-on dire d’une formule proposition-
nelle G qui possède chacune des deux propriétés :
– F ∨ G est une tautologie,
– F ∧ G est une antilogie.
{F } |= G et {G} |= F si et seulement si F ≈ G.
C’est cette notion de formules équivalentes qui autorise le remplacement d’une expression par une
autre (équivalente, bien sûr) dans une formule propositionnelle.
R EMARQUE 11.8. On est autorisé à remplacer ¬¬A par A, puisque ces formules sont équivalentes.
Exercice 11.26. Dans chacun des cas suivants, dire si les deux formules propositionnelles inscrites sur
la même ligne sont équivalentes :
1 ¬(¬P ) P
2 P ∧ (P ⇒ Q) P ∧Q
3 P ⇒Q (¬P ) ∨ (P ∧ Q)
4 P ⇒Q (¬P ) ⇒ (¬Q)
5 P ∨Q ¬((¬P ) ∧ (¬Q))
6 P ∧Q ¬((¬P ) ∨ (¬Q))
7 ¬P (¬(P ∨ Q)) ∨ ((¬P ) ∧ Q)
8 P ⇒ (Q ⇒ R) (P ⇒ Q) ⇒ R
9 P ⇒ (Q ∧ R) (P ⇒ Q) ∧ (P ⇒ R)
10 P ⇒ (Q ∨ R) (P ⇒ Q) ∨ (P ⇒ R)
11 (P ⇒ Q) ∧ (Q ⇒ P ) (P ∧ Q) ⇒ (P ∧ Q)
12 (P ∧ Q) ∨ (Q ∧ R) ∨ (R ∧ P ) (P ∨ Q) ∧ (Q ∨ R) ∧ (P ∨ R)
Exercice (corrigé) 11.27. Soit F une formule propositionnelle dépendant de trois variables P, Q, R qui
possède deux propriétés :
99
– F (P, Q, R) est vraie si P, Q, R sont toutes les trois vraies,
– la valeur de vérité de F (P, Q, R) change quand celle d’une seule des trois variables change.
Construire la table de vérité de F , et déterminer une formule possible pour F .
Réponse : table de vérité
P Q R F
V V V V
V V F F
V F V F
F V V F
V F F V
F F V V
F V F V
F F F F
P Q R F P Q R G P Q R H
V V V V V V V F V V V V
V V F F V V F V V V F V
V F V V V F V V V F V V
V F F F V F F F V F F F
F V V F F V V F F V V F
F V F V F V F V F V F V
F F V V F F V V F F V V
F F F V F F F F F F F V
P REUVE F étant une tautologie, sa fonction de vérité ne dépend pas des valeurs de vérité des vari-
ables booléennes, qui peuvent donc être remplacées par n’importe quelle fonction booléenne.
100
E XEMPLE 11.30. La formule propositionnelle
est compliquée puisqu’elle contient 5 variables propositionnelle. il y a donc 32 lignes à calculer pour
obtenir les valeurs de la fonction de vérité. Cependant, il suffit de remarquer que F ∗ est obtenue à partir
de F = A ⇒ A, qui est une tautologie ; donc F ∗ en est une aussi.
Ce résultat peut évidemment être appliqué aussi à des parties de formules propositionnelles, pour
accélérer le calcul de leurs fonctions de vérité : si une partie d’une formule propositionnelle constitue
à elle seule une tautologie, la partie correspondante de la fonction de vérité peut être avantageusement
remplacée par 1.
P REUVE Si. Supposons {G1 , G2 , . . . , Gn } |= H, c’est à dire, chaque fois que les formules de
{G1 , G2 , . . . , Gn } sont vraies, H l’est aussi). Supposons que les formules de {G1 , G2 , . . . , Gn−1 }
soient vraies :
– Alors, si Gn est vraie, toutes les formules de {G1 , G2 , . . . , Gn } sont vraies, et donc, d’après
l’hypothèse, H est vraie. Dans ce cas (voir table de vérité de l’implication logique), Gn ⇒ H
est vraie.
– Et si Gn n’est pas vraie, alors Gn ⇒ H est vraie.
Seulement si. Supposons {G1 , G2 , . . . , Gn−1 } |= Gn ⇒ H. En d’autres termes, chaque fois que
les formules de {G1 , G2 , . . . , Gn−1 } sont vraies, Gn ⇒ H est vraie. Regardons si H est une con-
séquence logique de {G1 , G2 , . . . , Gn } en distinguant selon que Gn est vraie ou pas.
– soit lorsque Gn n’est pas vraie, indépendamment de la valeur de vérité de H sur laquelle on ne
peut alors rien dire, mais peu importe, puisque, dans ce cas, les formules de {G1 , G2 , . . . , Gn }
ne sont pas toutes vraies, puisque Gn n’est pas vraie.
– soit lorsque Gn est vraie, et, dans ce cas, on sait que H est obligatoirement vraie aussi. Ceci se
produit chaque fois que toutes les formules de {G1 , G2 , . . . , Gn } sont vraies, et, dans ce cas,
H l’est aussi. Donc {G1 , G2 , . . . , Gn } |= H.
On pourrait bien entendu déterminer la fonction de vérité de cette formule. Mais, d’après le théorème
précédent, la démonstration du résultat demandé est équivalente à celle de :
{A ⇒ (B ⇒ C)} |= (A ⇒ B) ⇒ (A ⇒ C).
Une nouvelle application de ce même théorème nous montre que la démonstration demandée est
encore équivalente à celle de :
101
Et enfin à celle de :
{A ⇒ (B ⇒ C), (A ⇒ B), A} |= C.
Or les fonctions de vérité de {A ⇒ (B ⇒ C), (A ⇒ B), A} sont
a+b+c
a=1
a+b qui valent sim. 1 quand b=1
a
c=1
Exercice 11.32. Trois dirigeants d’une Société (Pierre P., Marc M. et Alain A.) sont prévenus de malver-
sations financières ; au cours de l’enquête, l’agent du fisc enregistre leurs déclarations :
– Pierre P. : “Marc est coupable et Alain est innocent”.
– Marc M. : “Si Pierre est coupable, Alain l’est aussi”.
– Alain A. : “Je suis innocent, mais l’un au moins des deux autres est coupable”.
1. Ces trois témoignages sont-ils compatibles ?
2. En supposant qu’ils sont tous les trois innocents, lequel a menti ?
3. En supposant que chacun dit la vérité, qui est innocent et qui est coupable ?
4. En supposant que les innocents disent la vérité et que les coupables mentent, qui est innocent et
qui est coupable ?
Exercice 11.34. Un inspecteur des services de santé visite un hôpital psychiatrique où des phénomènes
étranges lui ont été signalés.
Dans cet hôpital, il n’y a que des malades et des médecins, mais les uns comme les autres peuvent être
sains d’esprit ou totalement fous. L’inspecteur doit faire sortir de l’hôpital les personnes qui n’ont rien
à y faire, c’est à dire les malades sains d’esprit et les médecins totalement fous (quitte à les réintégrer
ultérieurement en tant que malades. . . ). Il part du principe que les personnes saines d’esprit ne disent
que des choses vraies, alors que les personnes folles ne disent que des choses fausses.
Dans une salle, il rencontre deux personnes (appelons-les A et B pour préserver leur anonymat). A
affirme que B est fou et B affirme que A est médecin.
1. Après une intense réflexion, l’inspecteur fait sortir l’un des deux de l’hôpital. Lequel (et pourquoi ?)
2. Peut-il dire quelque chose au sujet de l’autre ?
Exercice 11.35. Le prince de Beaudiscours est dans un cruel embarras. Le voici au pied du manoir où la
méchante fée Antinomie maintient prisonnière la douce princesse Vérité. Deux portes y donnent accès.
L’une d’elles conduit aux appartements de la princesse, mais l’autre s’ouvre sur l’antre d’un dragon
furieux. Le prince sait seulement que l’une de ces deux portes s’ouvre lorsqu’on énonce une proposition
vraie, et l’autre si on énonce une proposition fausse.
Comment peut-il délivrer la princesse ?
102
2. Manger de la vache folle est dangereux pour la santé ; manger du poulet aux hormones aussi,
d’ailleurs. Quand on ne mange pas de la vache folle, on mange du poulet aux hormones. Notre
santé est donc en danger.
3. Si je n’étudie pas, j’ai des remords. Mais si je ne vis pas à fond ma jeunesse, j’ai aussi des remords.
Or je n’ai pas de remords. C’est donc que j’étudie tout en vivant à fond ma jeunesse.
4. Quand Marie est là, c’est qu’elle accompagne Paul ou Jean. Paul ne vient jamais en même temps
que son cousin Serge. Si Jean et Serge viennent tous les deux, leur sœur Louise les accompagne. Si
Louise se pointe, Raoul ne reste pas. Hier, Raoul et Serge étaient présents jusqu’au bout. Peut-on
en conclure que Marie n’était pas présente ?
III.6 Conclusion
Le calcul sur les fonctions de vérité paraît tout-à-fait satisfaisant et séduisant, lorsqu’il s’agit de
calculer des valeurs de vérité ou d’examiner des conséquences logiques. Il est vrai qu’il est simple,
nécessite un minimum de réflexion (très important dans le cas des ordinateurs !) et qu’il est très facile à
programmer.
Mais, pour une formule propositionnelle qui comporte 10 variables propositionnelles (ce qui n’est
pas beaucoup pour les problèmes que l’on cherche à programmer !), la table des valeurs de la fonction
de vérité comporte 210 = 1024 lignes. Celui qui opère à la main a déjà démissionné. L’ordinateur
démissionne un peu plus loin, certes, mais il finit aussi par avouer son incapacité :
– Sur les machines modernes, il n’est plus impossible d’envisager d’écrire et d’exécuter une « boucle
vide » qui porte sur toutes les valeurs entières représentables sur 32 bits, donc de 0 à 232 − 1, le
temps d’exécution est récemment devenu raisonnable.
– Il ne faut cependant pas exiger que ce temps demeure raisonnable dès qu’il s’agit d’exécuter un
algorithme un peu compliqué. Et 32 variables constituent un nombre ridiculement petit pour un
système expert, dans lequel les expressions offrent souvent une complexité qui n’a aucune com-
mune mesure avec ce que l’on peut imaginer de plus compliqué. . .
Les « raccourcis » qui viennent d’être étudiés et qui permettent d’accélérer, voire de supprimer to-
talement, le calcul d’une fonction de vérité, sont plus utiles lorsque l’on opère « à la main » que pour la
programmation d’algorithmes de logique.
Il faut donc garder en réserve la méthode des fonctions de vérité : celle-ci peut être très utile dans
certains cas, essentiellement lorsque le problème peut être résolu « à la main », mais il faut aussi trouver
une autre méthode pour songer à aborder des problèmes plus complexes.
Cette méthode, qui supprime toute référence aux valeurs de vérité, fait l’objet du chapitre suivant.
Fin du Chapitre
103
Chapitre 12
D ÉFINITION 12.1 (A XIOME L OGIQUE ). Un axiome logique est une tautologie qui sert de « point de
départ » aux déductions du système formel. ♦
D ÉFINITION 12.2 (R ÈGLE D ’ INFÉRENCE ). Une règle d’inférence est une règle qui, à partir de for-
mule(s) prémisses, produit une formule conclusion. ♦
D ÉFINITION 12.3 (T HÉORÈME LOGIQUE ). Un résultat obtenu par une déduction correcte ou une suite
de déductions correctes (c’est-à-dire qui utilisent explicitement les règles d’inférence autorisées) à par-
tir des axiomes logiques et, éventuellement, d’autres résultats du même type déjà établis par ailleurs
s’appelle un théorème logique. ♦
On exprime que la formule F est un théorème par la notation : ⊢ F , qui se lit « F est un théorème ».
D ÉFINITION 12.4 (D ÉMONSTRATION ). La chaîne de déductions qui conduit à un théorème logique est
appelée démonstration de ce résultat. ♦
Il est possible d’utiliser des formules logiques supplémentaires (autres que des axiomes ou des
théorèmes) et de mener un raisonnement correct à partir de ces formules (et des axiomes et des théorèmes
déjà connus). On parle alors de démonstration sous hypothèses. L’affirmation « la formule logique H est
démontrée sous les hypothèses G1 , G2 , . . . , Gn » est notée {G1 , G2 , . . . , Gn } ⊢ H.
104
Axiomes relatifs à l’implication logique :
– Axiome 1 : P ⇒ (Q ⇒ P )
– Axiome 2 : (P ⇒ Q) ⇒ ((P ⇒ (Q ⇒ R)) ⇒ (P ⇒ R))
{P, P ⇒ Q} ⊢ Q
D ÉFINITION 12.5 (S YSTÈME FORMEL « PR »). Le système formel composé des 13 axiomes précé-
dents et du modus ponens est nommé « PR ». ♦
105
– un résultat de l’application d’une règle d’inférence sur des formules écrites dans les lignes précé-
dentes.
⊢ (P ⇒ P ).
Démonstration :
1 (P ⇒ (P ⇒ P )) ⇒ ((P ⇒ ((P ⇒ P ) ⇒ P )) ⇒ (P ⇒ P )) Axiome 2 (P ⇒ P/Q, P/R )
2 P ⇒ (P ⇒ P ) Axiome 1 (P/Q)
3 (P ⇒ ((P ⇒ P ) ⇒ P )) ⇒ (P ⇒ P ) m.p. sur 2 et 1
4 P ⇒ ((P ⇒ P ) ⇒ P ) Axiome 1 (P ⇒ P/Q)
5 (P ⇒ P ) m.p. sur 4 et 3
Conclusion : ⊢ (P ⇒ P )
IV Théorème de la déduction
Les démonstrations sont souvent considérablement simplifiées par l’utilisation du théorème de la
déduction donné ci-après.
106
P ROPRIÉTÉ 12.1 (T HÉORÈME DE LA DÉDUCTION ) : Ce théorème s’énonce par :
107
1 Gn ⇒ P Résultat intermédiaire 1
2 Gn ⇒ (P ⇒ H) Résultat intermédiaire 2
3 (Gn ⇒ P ) ⇒ ((Gn ⇒ (P ⇒ H)) ⇒ (Gn ⇒ H)) Axiome 2
4 (Gn ⇒ (P ⇒ H)) ⇒ (Gn ⇒ H) m.p. sur 1 et 3
5 Gn ⇒ H m.p. sur 2 4 4
Conclusion {G1 , G2 , . . . , Gn−1 } ⊢ Gn ⇒ H,
et donc : {G1 , G2 , . . . , Gn } ⊢ H implique {G1 , G2 , . . . , Gn−1 } ⊢ Gn ⇒ H, lorsque la
déduction est de longueur p + 1.
⊢ (P ⇒ (Q ⇒ R)) ⇒ (Q ⇒ (P ⇒ R))
{P ⇒ (Q ⇒ R)} ⊢ (Q ⇒ (P ⇒ R)),
{P ⇒ (Q ⇒ R), Q} ⊢ (P ⇒ R),
{P ⇒ (Q ⇒ R), Q, P } ⊢ R
R EMARQUE 12.1. Cette méthode est beaucoup plus rapide que celle qui consisterait à essayer de dé-
montrer ce théorème à partir des axiomes et de la règle d’inférence.
108
V Quelques théorèmes classiques et quelques règles d’inférence annexes
Au théorème de réflexivité de l’implication (⊢ P ⇒ P ) et au théorème d’échange des prémisses
(⊢ (P ⇒ (Q ⇒ R)) ⇒ (Q ⇒ (P ⇒ R))) on ajoute ceux qui suivent.
⊢ (P ⇒ Q) ⇒ ((Q ⇒ R) ⇒ (P ⇒ R))
Intuitivement, cela signifie que si ¬P et P sont établies, alors on peut en déduire n’importe quoi (Q).
Exercice 12.6. Effectuer la démonstration.
On introduit une règle permettant de s’abstraire de l’application de deux modus ponens sur l’axiome
8. En effet, considérons l’axiome 8 :
⊢ (P ⇒ R) ⇒ ((Q ⇒ R) ⇒ (P ∨ Q ⇒ R))
En appliquant deux fois de suite le théorème de la déduction, il est équivalent à la déduction :
{P ⇒ R , Q ⇒ R} ⊢ P ∨ Q ⇒ R
que l’on peut utiliser sous cette forme comme règle d’inférence annexe : elle s’appelle règle de disjonc-
tion des cas .
{P ⇒ R , Q ⇒ R} ⊢ P ∨ Q ⇒ R
109
Pour finir, en appliquant deux fois de suite le théorème de la déduction à l’axiome 10 :
⊢ (P ⇒ Q) ⇒ ((P ⇒ ¬Q) ⇒ ¬P )
{P ⇒ Q , P ⇒ ¬Q} ⊢ ¬P
que l’on peut utiliser sous cette forme comme règle d’inférence annexe : elle s’appelle règle de réduction
à l’absurde .
{P ⇒ Q , P ⇒ ¬Q} ⊢ ¬P
Exercice 12.7 (Démonstrations avec ou sans hypothèses). Démontrer les théorèmes logiques suivants
(seuls les axiomes, règles d’inférence, règles d’inférence annexes et théorèmes du cours sont autorisés).
1. ⊢ (P ⇒ (Q ⇒ R)) ⇐⇒ (P ∧ Q ⇒ R)
2. ⊢ (P ⇒ Q) ⇐⇒ (¬Q ⇒ ¬P )
3. ⊢ P ⇐⇒ ¬¬P
4. ⊢ P ∧ (Q ∨ R) ⇐⇒ (P ∧ Q) ∨ (P ∧ R)
5. ⊢ P ∨ (Q ∧ R) ⇐⇒ (P ∨ Q) ∧ (P ∨ R)
6. {P ∨ R, P ⇒ Q, R ⇐⇒ S} ⊢ Q ∨ S
7. {P ∧ ¬S, Q ∨ ¬R, S ⇒ R} ⊢ (P ⇒ Q) ∨ (R ⇒ S)
110
P ROPRIÉTÉ 12.7 (T HÉORÈME DE COMPLÉTUDE ) : tout théorème est une tautologie et réciproque-
ment, soit :
⊢ F si et seulement si |= F
.
Fin du Chapitre
111
Chapitre 13
I Introduction
I.1 Introduction aux « prédicats »
En logique des propositions, « Pierre est le père de Marc » ne comporte aucun connecteur logique :
elle ne peut se formaliser que par une variable propositionnelle : A. La proposition « Jean est le père
de Sylvie » ne peut être formalisée en logique des propositions que par une variable propositionnelle,
B. Après la formalisation, on se retrouve avec deux variables propositionnelles A et B, sans lien aucun
entre elles, alors qu’il est évident que ces deux propositions évoquent un même lien de parenté entre des
individus différents. Il apparaît primordial de créer un langage qui permettrait de décrire des propriétés
accordées à des individus.
II Définitions
II.1 Termes
Le calcul des prédicats fait intervenir des variables, qui prennent des valeurs dans un certain ensemble
appelé univers du discours qui par la suite sera souvent noté U .
112
Lorsque l’expression f (x1 , . . . , xn ) ne dépend pas de x1 , . . . , xn , on peut la remplacer par une con-
stante c de l’univers.
D ÉFINITION 13.3 (S YMBOLE PRÉDICATIF ). Soit p une fonction de U1 ×U2 ×. . .×Un dans {vrai, faux}.
Le symbole prédicatif p d’ arité n (notée pn ) est aussi nommé prédicat p. ♦
D ÉFINITION 13.4 (ATOME ). Un atome est de la forme p(t1 , ..., tn ), où p est un symbole de prédicat
d’arité n et t1 ,. . . , tn sont des termes. ♦
III Quantificateurs
III.1 Quantificateur universel
Considérons la proposition « Tous les étudiants travaillent les mathématiques » pour l’analyser du
point de vue du calcul des prédicats. On peut exprimer ceci à l’aide d’un prédicat binaire qui peut être
formalisé par travaille(x, y), et qui signifie qu’un individu x travaille une certaine matière y.
La notation utilisée pour cette quantification est « ∀ » qui représente un A à l’envers (pour All). Ainsi
on représente la proposition ci dessus par
∀x . travaille(x, maths).
Exercice 13.1. Pour chacune des formules A suivantes, préciser l’ensemble Var(A) des variables de A,
l’ensemble Varliees(A) des occurences liées de Var(A), l’ensemble Varlibres(A) des occurences libres
de Var(A).
1. A ≡ P (f (x, y)) ∨ ∀z . Q(a, z)
2. A ≡ (∀x . P (x, y, z)) ∨ (∀z . Q(z) ⇒ R(z))
3. A ≡ ∀x . (∀y . P (x, y) ⇒ ∀z . Q(x, y, z))
113
III.2 Quantificateur existentiel
Dans la proposition « Tous les étudiants travaillent au moins une matière », intervient le même prédi-
cat binaire travaille(x, y) ; on remarque qu’aucun étudiant n’est explicitement nommé, pas plus que la
matière qu’il travaille. Si le « Tous » induit une quantification universelle, le « au moins une matière »
signifie qu’il existe une matière travaillée par cet étudiant. Il suffit alors d’introduire le quantificateur
existentiel, représenté par un E (première lettre de Exists) retourné (∃).
Cet exemple se traduit alors par
∀x . ∃y . travaille(x, y)
où la variable x est liée par le quantificateur universel ∀x et la variable y est liée par le quantificateur
existentiel ∃y.
Exercice 13.2. Formalisez les affirmations suivantes, en utilisant uniquement les prédicats indiqués, les
connecteurs logiques et les quantificateurs.
1. Personne n’est parfait (p(x) représente que x est parfait).
2. 0 est multiple de chaque nombre entier (e(x) et m(x, y) signifient respectivement que x est un
entier et que x est un multiple de y).
3. les absents n’ont pas tous tort (a(x) et t(x) signifient respectivement que x est absent et que x a
tort).
Exercice 13.3. Soit les prédicats curé(x) (x est un curé), vélo(y) (y est un vélo) et possède(x, y) (x
possède y).
Traduisez en langage courant les formules quantifiées suivantes :
1. ∀x .vélo(x) ⇒ (∃z . curé(z) ∧ possède(z, x)).
2. ∀x .curé(x) ⇒ (∀y, z . (velo(y) ∧ velo(z) ∧ y 6= z) ⇒ (¬possède(x, y) ∨ ¬possède(x, z)))
3. ∃x . curé(x) ∧ (∀y . vélo(y) ⇒ ¬possède(x, y)).
Exercice 13.5. Dans cet exercice, nous considérons qu’aimer est une relation binaire (non nécessaire-
ment symétrique). On note aime(x, y) si la personne x aime la personne y.
1. Représentez, à l’aide de propositions logiques, les phrases suivantes :
(a) Quelqu’un aime Valentine.
(b) Personne n’aime Quentin.
(c) Toute personne aime quelqu’un.
(d) Quelqu’un est aimé de tous.
(e) Toute personne s’aime.
(f) Il n’y a personne qui ne s’aime pas lui-même.
114
2. Les deux propositions suivantes sont-elles équivalentes ?
et
∃x . aime(x, caroline) ∧ aime(caroline, x)
Exercice 13.6. Formaliser les propositions suivantes dans le calcul des prédicats.
1. « Il existe une planète plus petite que toutes les autres ; »
2. « Il y a une planète plus grande que tout objet du système solaire ; »
3. « Toute planète a une planète plus proche du soleil qu’elle ; »
4. « Certaines planètes sont plus petites que Neptune, d’autres pas ; »
5. « Il n’y a pas de planète qui soit plus grande qu’une autre tout en étant plus proche du soleil
qu’elle ; »
6. « Tout ce qui tourne autours de la Terre est plus petit que toutes les planètes ; »
7. « Certaines planètes sont plus grosses que Neptune, mais aucune n’est plus éloignée du soleil
qu’elle ; »
8. « Certaines planètes sont plus grosses que Neptune tout en étant plus éloignées du soleil qu’elle. »
D ÉFINITION 13.6 (P ORTÉE D ’ UN QUANTIFICATEUR ). La portée d’un quantificateur dans une formule
du calcul des prédicats est la partie de cette formule couverte par ce quantificateur. ♦
Par convention, dans l’écriture d’une formule, un quantificateur est prioritaire sur tout connecteur
logique. Sa portée est donc généralement clairement délimitée par une paire de parenthèses, avant le
quantificateur jusqu’après la formule elle-même.
Exercice 13.7. Dans cet exercice fn signifie que le symbole f (propositionnel ou prédicatif) est d’arité
n. On considère un langage L = {f1 , g1 , h2 , R1 , S2 , T2 , =2 } et les expressions suivantes :
– ϕ1 : ∃x . ((∀y . (∃z . R(x)))) ∨ (∃y . (¬(∀z . (S(h(x, z), x)))))
– ϕ2 : (∀x . (T (f (x), y)) ⇒ (¬(∃x . (f (x, y)))))
– ϕ3 : (∀z . T (x, y) ⇒ (∃y . ((∀x′ . ¬(f (x) = y))) ∨ T (y, z)))
– ϕ4 : (∀x . (∃y . ((g(y) = x) ∨ (¬T (y, y))))) ⇒ (∃y . (∀x . (T (y, g(x)))))
1. Parmi ces expressions, lesquelles sont des formules de L ?
2. Pour celles qui sont des formules, supprimer les parenthèses inutiles.
3. Déterminer les occurrences liées des variables dans les formules.
Exercice 13.8. Classer les huit propositions suivantes dans les deux premières colonnes libres du tableau
ci-dessous de manière à ce que les relations annoncées soient vérifiées.
Compléter le tableau avec les formules correspondantes.
1. Dans cette assemblée, tout le monde parle l’anglais et le français.
2. Dans cette assemblée, tout le monde parle l’anglais ou le français.
3. Dans cette assemblée, tout le monde parle l’anglais et tout le monde parle le français.
4. Dans cette assemblée, tout le monde parle l’anglais ou tout le monde parle le français.
5. Un accompagnateur au moins parlera le russe et un accompagnateur au moins parlera le chinois.
6. Un accompagnateur au moins parlera le russe ou un accompagnateur au moins parlera le chinois.
115
7. Un accompagnateur au moins parlera le russe et le chinois.
8. Un accompagnateur au moins parlera le russe ou le chinois.
⇒
... ... ∀x . P (x) . . . Q(x) ≈ ∀x . P (x) . . . ∀y . Q(y)
⇐
⇒
... ... ... 6≈ ...
6⇐
⇒
... ... ... ≈ ...
⇐
⇒
... ... ... 6≈ ...
6⇐
Exercice 13.9. On considère un ensemble d’objets de différentes couleurs. Chacun de ces objet porte un
numéro et possède une forme géométrique particulière (cube, sphère prisme). En utilisant les prédicats
pair(x), cube(x), vert(x). . . , formalisez les phrase suivantes en logique des prédicats
1. Si un objet est sphérique, alors cet objet n’est pas vert ou porte un numéro impair.
2. S’il existe un objet vert sphérique, alors il existe un objet vert portant un numéro impair.
3. Si tout objet vert porte un numéro impair, alors aucun objet sphérique n’est vert.
IV Sémantique
IV.1 Valeurs de vérité
Le calcul des prédicats utilise, comme le calcul propositionnel, les connecteurs logiques, et produit
des propositions. Il est possible d’étendre la notion de « valeur de vérité » au calcul des prédicats. Mais
l’étude de la valeur de vérité d’une formule du calcul des prédicats est beaucoup plus compliquée.
1. Une expression typique (une forme propositionnelle) du calcul propositionnel est P ⇒ Q. Les
« atomes » sont ici des variables propositionnelles qui peuvent être remplacées par n’importe quelle
proposition. Quelle que soit cette proposition, sa valeur de vérité ne peut être que « vrai » ou
« faux ». Cela permet de lui associer une simple variable booléenne, sa valeur de vérité, pour
obtenir simplement la fonction de vérité p + q.
2. Une expression analogue (une formule) du calcul des prédicats pourrait être ∀x . p(x, y) ⇒ q(x, z).
Les atomes sont ici des prédicats binaires qui, eux aussi, ne peuvent prendre que les valeurs « vrai »
ou « faux », mais pas indépendamment des individus considérés.
116
Il n’est donc pas possible de remplacer un atome par une simple variable booléenne. Seule une
fonction booléenne (de variables non booléennes) peut convenir, pour faire intervenir les valeurs des
variables qui sont les arguments du prédicat.
– si fp (x, y) est la fonction booléenne associée au prédicat p(x, y)
– si fq (x, z) est celle qui est associée à q(x, z),
alors la fonction de vérité de la formule est : fp (x, y) + fq (x, z).
Attention, x, y et z ne sont pas ici des variables booléennes, mais elles prennent leurs valeurs dans
l’univers du discours. Il n’est donc pas question de « calculer avec x, y et z comme en algèbre de Boole ».
Le seul moyen, en général, pour étudier une telle fonction de vérité est de construire le tableau de ses
valeurs, en donnant à x, y et z successivement toutes les valeurs possibles dans l’univers du discours (si
celui-ci est infini, on imagine aisément les problèmes qui vont se poser. . . ).
Les définitions de tautologie et de conséquence logique s’adaptent comme suit.
Il reste à donner la définition de la fonction de vérité pour les nouveaux symboles introduits (les
quantificateurs). . .
– la valeur de vérité de ∀x . p(x) est obtenue en faisant la liste des valeurs de vérité de p(x) pour
toutes les valeurs possibles de x dans l’univers du discours : si, pour toute valeur de x, la valeur de
vérité de p(x) est vrai, alors la valeur de vérité de ∀x . p(x) est vrai. S’il y a une seule valeur de x
pour laquelle la valeur de vérité de p(x) est faux, alors la valeur de vérité de ∀x . p(x) est faux.
– la valeur de vérité de ∃x . p(x) est obtenue en faisant la liste des valeurs de vérité de p(x) jusqu’à
ce qu’on trouve vrai. Si on trouve vrai, la valeur de vérité de ∃x . p(x) est vrai. Si, pour tout
élément x de l’univers du discours, la valeur de vérité de p(x) est faux, alors celle de ∃x . p(x) est
faux.
Bien entendu, dans certains cas, il n’est pas nécessaire d’établir effectivement la table de vérité d’une
formule du calcul des prédicats pour prouver qu’il s’agit d’une tautologie. Par exemple, il est bien clair
que, pour un atome p(x, y, z), on a : |= (∀x, y, z . p(x, y, z)) ⇒ (∀x, y, z . p(x, y, z)).
Donnons enfin deux exemples pour lesquels la construction d’une table de vérité n’est pas nécessaire :
Exercice 13.10. Montrer que |= (∀x . p(x, x)) ⇒ (∀x . (∃y . p(x, y))).
117
4. ∃x . (∀y . q(x, y) ⇒ (p(x, y) ∨ r(x, y)))
Voici d’autres résultats d’équivalences entre formules permettant de réduire la portée de quantificateurs.
P REUVE
Preuve de (13.1). Si, pour toute valeur de x, p(x) et q(x) sont simultanément vrais, alors, pour
toute valeur de x, p(x) est vrai, et, pour toute valeur de y, q(y) est vrai. Réciproquement, si, pour
toute valeur de x, p(x) est vrai, et, si, pour toute valeur de y, q(y) est aussi vrai, il est bien évident
que, pour toute valeur de x, p(x) et q(x) sont simultanément vrais.
Preuve de (13.2). S’il existe une valeur de x pour laquelle l’une au moins des deux propriétés p(x)
ou q(x) est vraie, il est bien clair qu’il existe une valeur de x pour laquelle p(x) est vraie ou qu’il en
existe une pour laquelle q(y) est vraie ; la réciproque est aussi évidente.
118
IV.3 Substitutions
Si t est un terme et ϕ est une formule pouvant contenir la variable x, alors ϕ(t/x) est le résultat du
remplacement de toutes les occurrences libres de x par t dans ϕ.
Le résultat du remplacement ϕ(t/x) est une formule qui est une conséquence logique de la formule
originale ϕ si aucune des variables libre de t ne devient liée suite à ce remplacement. Pour éviter que
de telles variables libres deviennent liées il suffit de changer le nom des variables liées de ϕ en des
noms frais (qui n’apparaissent pas dans les variables libres de t). L’oubli de cette condition est une cause
fréquente d’erreurs de raisonnement.
A titre d’exemple, on considère la formule ϕ définie par ∀y . y ≤ x sur l’univers U.
– Si t est un terme sans la variable libre y, alors ϕ(t/x) signifie juste que t est l’élément maximal.
– A l’opposé, si t est y, la formule ϕ(y/x) est ∀y . y ≤ y qui ne dit plus que y est maximal.
Exercice 13.15. Soit le langage ={a, f2 , R2 , S1 }, les termes ti et les formules ϕj suivantes.
– t1 = f (x, y)
– t2 = f (a, y)
– t3 = a
– t4 = f (x, f (x, x))
– ϕ1 : R(x, y) ⇒ ∀y . S(y)
– ϕ2 : (∀y . R(y, a)) ⇒ (∃y . R(x, y))
– ϕ3 : (∀x . ∃z . R(x, z)) ∧ (∃x . ∀y . R(y, x))
Déterminer si ti est substituable à x dans ϕj et calculer, le cas échéant, ϕj (ti /x) pour 1 ≤ i ≤ 4 et
1 ≤ j ≤ 3. Dans le cas où ti n’est pas substituable, renommer les variables qui le composent ou les
variables de la formule afin qu’il le soit.
Γ1 = ∀x . ∃y . R(x, y)
Γ2 = ∀x . (∀y . (∃z . R(x, z) ∧ R(z, y)) ⇒ R(x, y))
Γ3 = ∀x, y . (R(x, y) ∧ R(y, x)) ⇔ y = x
Γ4 = ∀x, y . (∃z . ¬R(z, x) ∧ ¬R(z, y)) ∨ x = y
Fin du Chapitre
119
Chapitre 14
Méthode de résolution
Que ce soit dans le cas dans le cas propositionnel (comme montré à la Sec. I) ou dans le cas du
calcul des prédicats (cf Sec. III) la méthode de résolution de Robinson est un algorithme simple de
démonstration automatique.
Sa principale différence avec les systèmes déductifs des chapitres précédents se situe dans le sens
de la preuve : tandis que ces deux derniers exploitent le modus ponens et effectuent ainsi une preuve en
arrière la résolution va engendrer de nouveaux lemmes jusqu’à saturation et fonctionne donc en avant.
On commencera par voir son application tout d’abord à la logique propositionnelle pour s’intéresser
ensuite à son intégration dans le calcul des prédicats.
I Cas propositionnel
I.1 Clauses propositionnelles
D ÉFINITION 14.1 (F ORME CLAUSALE PROPOSITIONNELLE ). Une clause propositionnelle est une dis-
jonction de variables propositionnelles éventuellement niées. Une formule propositionnelle est en forme
clausale (CNF) si elle est exprimée comme une conjonction de clauses. On la représente classiquement
comme un ensemble de clauses. ♦
Une clause propositionnelle est donc de la forme A ∨ B ∨ ¬C ∨ . . .. Pour parvenir à cette forme on
utilise successivement les règles de réécriture :
1. réduire les connecteurs : on ne conserve que ∧ , ∨ et ¬ :
A⇒B ¬A ∨ B
A ⇐⇒ B (¬A ∧ ¬B) ∨ (A ∧ B)
2. distribuer récursivement chaque OU sur un ET :
(A ∧ B) ∨ C (A ∨ C) ∧ (B ∨ C)
3. réécrire les conjonctions de clauses comme un ensemble de clauses :
{C1 = B ∨ D,
(B ∨ D) ∧ (A ∨ C ∨ ¬D)
C2 = A ∨ C ∨ ¬D}.
Enfin, la clause vide (sans littéraux) est représentée par . Elle est insatisfaisable dans toute interpré-
tation.
Exercice 14.1. Mettre chacune des formules propositionnelles suivantes sous la forme CNF.
1. P ⇒ Q
2. (P ∨ Q) ⇒ R
3. (P ∧ Q) ∨ (R ∧ S)
4. (P ⇒ Q) ∧ (Q ⇒ R) ∧ (¬R)
120
I.2 Résolvantes d’une paire de clauses
Deux clauses C1 et C2 forment une paire résoluble s’il existe un et un seul littéral t tel que t appartient
à C1 et ¬t appartient à C2 . Dans ce cas, on appelle résolvante de C1 et C2 la clause notée res(C1 , C2 )
obtenue en prenant la réunion des littéraux de C1 et C2 moins cette paire opposée.
Exercice (corrigé) 14.2. Soit quatre clausess C1 , C2 , C3 ,C4 définies à l’aide de variables proposition-
nelles P , Q, R et S :
C1 = P ∨ ¬Q ∨ ¬R
C2 = ¬P ∨ S
C3 = ¬Q
C4 = P ∨ ¬S
Quelles paires de clauses sont résolubles et dans ce cas, quelle est la résolvante ?
Réponse : La seule paire résoluble est (C1 , C2 ) et sa résolvante est res(C1 , C2 ) = ¬Q ∨ ¬R ∨ S.
Exercice 14.3. Pour chacun des ensembles de clauses trouvées à l’exercice 14.1, dire quelles paires sont
résolubles et donner la résolvante le cas échéant.
{ C1 = a ∨ b ∨ c,
C2 = ¬a ∨ b ∨ c,
C3 = ¬b ∨ c } ⊢ c.
Exercice 14.5.
1. Montrer que l’ensemble des clauses engendrées par la formule suivante est contradictoire
121
Exercice 14.6 (Les Pures et les Pires [Smu98]). L’ile de Puro Pira est peuplée de Purs qui disent tou-
jours la vérité et de de Pires qui ne disent que des mensonges.
1. Débarqué sur l’île, l’antropologue Abercrombie rencontre trois indigènes Arthur, Bernard et Charles.
Abercrombie demande d’abord à Arthur : « Est-ce que Bernard et Charles sont tous les deux des
Purs ? », et Arthur lui répondit :« Oui ». Alors Abercrombie lui demande encore : « Est-ce que
Bernard est un Pur ? » ; la réponse d’Arthur fur « Non ». A l’aide de la méthode de résolution de
Robinson, déduire dans quel groupe appartient chacun des trois indigènes.
2. Abercrombie rencontre ensuite deux autres individus Armand et Bertrand. Armand déclare d’une
part « l’un de nous deux au moins est un pire » et d’autre part « l’un de nous deux au plus est
un pire ». A l’aide de la méthode de résolution de Robinson, déduire dans quel groupe appartient
Armand et Bertrand.
D ÉFINITION 14.2 (F ORME PRÉNEXE ). Une formule G est en forme prénexe si tous ses quantificateurs
(∀ et ∃) apparaissent en tête, à gauche, dans cette formule. Elle est ainsi de la forme Q1 x1 . Q2 x2 . . . . Qn xn . B ,
où B est une formule sans quantificateurs. ♦
A⇒B ¬A ∨ B
A ⇐⇒ B (¬A ∧ ¬B) ∨ (A ∧ B)
– Renommer les variables liées, de manière à ce que toute variable liée ne le soit qu’une seule fois,
et qu’aucune variable liée ne présente d’occurrence libre, d’après les égalités suivantes :
∀x . A(x) ∀y . A(y)
∃x . A(x) ∃y . A(y)
¬¬A A
¬(∀x . A(x)) ∃x . ¬A(x)
¬(∃x . A(x)) ∀x . ¬A(x)
C ∨ ∀x . A(x) ∀x . (C ∨ A(x))
C ∨ ∃x . A(x) ∃x . (C ∨ A(x))
C ∧ ∀x . A(x) ∀x . (C ∧ A(x))
C ∧ ∃x . A(x) ∃x . (C ∧ A(x))
122
Exercice 14.7. Mettre sous la forme prénexe les formules suivantes
1. (∃x . p(x)) ⇒ (∀x . p(x))
2. (¬∃x . p(x) ∨ ∀x q(x)) ∧ (r ⇒ ∀x . s(x))
3. ¬((¬existsx . p(x) ∨ ∀x . q(x)) ∧ (r ⇒ ∀x . s(x))
4. ň(((∀x . p(x)) ∧ (∀y . p(y) ⇒ q(y))) ⇒ (∀z . q(z)))
5.
D ÉFINITION 14.3 (F ORME DE S KOLEM ). Une formule est sous forme normale de Skolem si sa forme
prénexe contient uniquement des quantificateurs universels. ♦
La démarche qui consiste a supprimer les quantifications existentielles de la forme prénexe est ap-
pelée skolémisation et est définie comme suit :
– Soit ∃xj un quantificateur existentiel qui figure après les n quantificateurs universels ∀xj1 ∀xj2 . . . ∀xjn .
La quantification ∃xj est supprimée et la variable xj est remplacé par le terme f (xj1 , xj2 . . . , xjn )
où f est un symbole fonctionnel n-aire qui n’apparaît pas ailleurs.
– Soit ∃xj un quantificateur existentiel qui n’est précédé par aucun quantificateur universel : on peut
le supprimer et remplacer xj par un symbole de constante frais cj
Cette transformation est autorisée par le théorème suivant, que l’on admettra.
Exercice 14.9. Reprendre chaque formes prénexe de l’exercice 14.7 et l’ecrire sous la forme de Skolem.
Exercice 14.10 (Suite exemple 14.8). Donnez la forme de Skolem de chacune des formules de l’exer-
cice 14.8.
123
II.3 Forme clausale
Dans la forme de Skolem d’une formule ne subsistent donc que des quantificateurs universels. Ceux-
ci sont purement et simplement supprimés. Cette suppression est autorisée par la méthode de déduction
utilisée En effet, pour prouver que la formule T est conséquence de l’ensemble de formules A, on cherche
à prouver que A ∪ {¬T } n’admet pas de modèle. Pour cela, il suffit d’exhiber une contradiction dans
un « cas particulier » , et il est bien clair que, si, dans l’ensemble A de formules, on supprime les quan-
tificateurs universels, et qu’on prouve que ces formules, avec ¬T , n’admettent pas de modèle, alors les
formules « complètes » , avec quantificateurs, et ¬T , n’en auront pas non plus.
On étend enfin la notion de clause propositionnelle en considérant ici des littéraux au lieu de variables
propositionnelles.
D ÉFINITION 14.4 (F ORME CLAUSALE ). Une clause est une disjonction de littéraux (atome ou négation
d’un atome). Une formule est en forme clausale (CNF) si elle est exprimée comme une conjonction de
clauses. On la représente classiquement comme un ensemble de clauses. ♦
Exercice 14.11 (Suite de l’exo 14.10). Donner la forme clausale des formes de Skolem de l’exo 14.10.
E XEMPLE 14.12. Soit deux clauses C1 = P (x) ∨ Q(g(x)) et C2 = ¬P (f (y)). La paire (C1 , C2 ) est
résoluble en prenant comme substitution (f (y)/x, y/y). Sa résolvante est Res(C1 , C2 ) = Q(g(f (y))).
Dans la pratique, on ne mentionne que les substitution qui modifient les variables. On omettra ainsi
celles du type (y/y).
124
E XEMPLE 14.14. Démontrons que l’ensemble de clauses
est contradictoire. Pour cela on résout les clauses et on calcule leur résolvante :
– C1 et C3 sont résolubles avec comme substitution (b/X). Soit C5 = Q(W, b) ;
– C2 et C4 sont résolubles avec comme substitution (a/U, Z/V ). Soit C6 = ¬Q(Z ′ , T ′ ) ;
– C5 et C6 sont résolubles avec comme substitution (W/Z ′ , b/T ′ ). Soit C7 = , ce qui termine la
démonstration.
Exercice 14.15. Montrer que les figures suivantes sont valides ou contradictoires à l’aide de la méthode
de résolution de Robinson.
Exercice 14.18.
Sachant que :
– un oncle est soit le frêre d’une mère, sont le frère d’un père ;
– Fred est l’oncle de Jack ;
– Bob est le père de Jack ;
– Carol est la mère de Jack ;
– Bob n’a pas de frère ;
Déduire par la méthode de résolution le nom du frère de Carol.
125