Académique Documents
Professionnel Documents
Culture Documents
Dans cette partie, nous allons introduire un système logique reposant sur une règle d'inference
unique : la résolution. Le principe de la résolution est dû à J. Robinson (1965). La résolution
procède par réfutation : pour démontrer qu'une formule a est valide, nous cherchons à
montrer que sa négation l a est non satisfiable. La résolution impose toutefois de travailler sur
des formules sous forme clausale.
D é f i n i t i o n s 1.5.1.
• Un littéral est une formule atomique ou bien la négation d'une formule atomique.
• Une clause est une formule de la forme : L | v L2 v . . . v L où chaque Lj est un
m
littéral. Exemple 1.5.1 : P v 1Q V R est une clause alors que (P A ~|Q) V R n'en est
pas une. Une clause contenant un seul littéral est appelée clause unitaire.
• Une formule est sous forme clausale si elle est de la forme : c/ A C A ... 2 AC„OÙ
chaque c, est une clause. Exemple 1.5.2 : la formule a : (P v Q ) A (1Q V R) et la
formule (î : P A 1 Q sont sous forme clausale.
D é f i n i t i o n s 1.5.2Î
• Deux littéraux sont complémentaires si l ' u n est la négation de l'autre (P et l P par
exemple).
• Etant données une clause c, contenant le littéral L , et une clause Cj contenant le
littéral L ' complémentaire de L , la clause c v c } où c ', désigne la clause c, sans
le littéral L et o ù c) désigne la clause c, sans le littéral L ' , est appelée clause
résolvante de c, et c,.. Exemple 1.5.3: la clause résolvante de l P v Q et de R v P
est la clause Q v R.
• La clause résolvante de deux clauses unitaires c, et c, formée l'une du littéral L et
l'autre du littéral L ' complémentaire de L est une clause ne contenant aucun
littéral. On l'appelle clause vide et on la représente par le symbole • .
Exemple : > v Q , R v P | = Q v R .
Démonstration
CY = c v c y où :
1 . La résolution en calcul des propositions
,
• c ', désigne la clause c, sans le littéral L (c, = c , v L ) ;
• c) désigne la clause pj sans le littéral L ' (ç, = c ) v L ' ) .
Supposons que c Cj J* c ',• v c . I l existe alors au moins une ligne du T V de c,, cj et c où la
it 7 r
c i} , on a :
r $
ci,c , 2 ... ,c„, Cri \- c 2 r o ù c 2 est une clause résolvante de deux clauses de
r
Ci,c ,...
2 ,c„, C r i , c |— c 3 r2 r o ù c 3 est une clause résolvante de deux clauses de
r
{ Ci, C , 2 ,C ,n C l,Cr2}
r
littéral P et-une clause unitaire formée du seul littéral ^ ( F e n s e m b l e est dans ce cas non
satisfiable), nous aurons :
Cl, C,
2 ... , C„, Cri, C 2, r C ri l P |= •
Nous déduisons de la proposition 1.5.2 qu'un ensemble de clauses est non satisfiable, si par
application itérée de la résolution nous produisons la clause • à partir de cet ensemble.
Exemple 1.5.5 :
|= (P v i Q ) A ( Q V R ) O ( P V 1 Q ) A ( Q V R ) A ( P V R )
Démonstration
Ci et Cj contiennent l'une un littéral L et l'autre un littéral L ' complémentaire de L . Nous
posons Cri = c ' f v c ' / où c ', désigne la clause c, sans le littéral L et o ù c ', désigne la clause c,-
sans le littéral L ' .
Le seul cas o ù la valeur de vérité de la formule c/ A c A ... A C„ <-> c/ A C A ... A C„ A c i 2 2 r
A ... A c„ A c i est F. Par conséquent, lorsque la valeur de vérité de c i (c) v c)) est F. Les
r r
valeurs de vérité de c, et Cj étant V , cela voudrait dire que les valeurs de vérité des littéraux
complémentaires L et L ' sont toutes deux V , ce qui bien entendu est impossible.
On déduit de la proposition 1.5.2 :
1. La résolution en calcul des propositions 32
\= Cj AC A 2 ... A C„ A C i <-> C / A C A . . .
r 2 A C n A C / A C2
R r
|= C / A C2 A ... /\ C„A Cl A C2
r r C; A C2 A ... A C„ A C ] A C
r r2 A C3 r
Démonstration.
Les formules ci A c A ... A C„ et C / A c A ... A c„ A c i A c 2 A ... A c étant logiquement
2 2 r r rh
équivalente, i l s'ensuit que l'ensemble S : {ci,c , ... ,c„} est non satisfiable si et seulement si
2
(proposition 1.5.2).
1.6. A r b r e s é m a n t i q u e
1.6.1. A r b r e s é m a n t i q u e complet
Tableau 1.5.1). Chaque branche de l'arbre correspond à une ligne d u tableau de vérité et
l'ensemble de ses littéraux forme une interprétation.
p Q R PvQ PvR lQ v l R lP
V V V V V F F
V V F V V V F
V F V V V V F
V F F V V V F
F V V V V F V
F V F V F V V
F F V F V V V
F F F F F V V
Tableau l . S . l
U n arbre sémantique T pour un ensemble de clauses S est clos, si et seulement si, toutes ses
branches se terminent par des n œ u d s d ' é c h e c .
Exemple 1.5.7. Les figures 1.5.2a et 1.5.2b représentent respectivement un arbre s é m a n t i q u e
complet et un arbre sémantique clos pour l'ensembleS : {P, ]PvQ, ~|P v l Q } . • -•<(-••
On remarquera que chaque n œ u d , à l'exception des n œ u d s d'échec est étiqueté par la clause
résolvante des clauses attachées à ses deux successeurs.
TPVIQ
F i g u r e 1.5.2a
Arbre s é m a n t i q u e complet pour S.
F i g u r e 1.5.2b
Arbre s é m a n t i q u e clos pour S
L'arbre sémantique clos de la figure 1.5.2b peut être vu comme une représentation graphique du
tableau de vérité réduit des formules de S (tableau 1.5.2).
P Q R TPVIQ > v Q P
V V X F V V
V F X V F V
F X X V V F
T a b l e a u 1.5.2
1 . La résolution en calcul des propositions 34
Proposition 1.5.3. U n ensemble S de clauses est non satisfiable, si et seulement si, i l existe un
arbre sémantique clos pour S.
=> Si un ensemble S de clauses est non satisfiable, chaque combinaison des littéraux de S,
(chaque interprétation) falsifie au moins une clause de S. Donc toutes les branches de S se
terminent par des n œ u d s d'échec.
<= Soit T un arbre sémantique clos obtenue à partir de S. Chaque branche de T se termine par
un n œ u d d'échec. Par conséquent les littéraux attachés à chaque branche de T falsifient au
moins une clause de S, donc falsifie S. L'ensemble des clauses attachées aux nœuds d ' é c h e c
forme un sous-ensemble non satisfiable de S. S est donc non satisfiable.
clause de S, soit une clause obtenue par application de la résolution à deux clauses qui
précèdent dans la séquence.
D é f i n i t i o n 1.5.4. lUn ensemble S d é clauses est inconsistant si et seulement si, i l existe une
{déduction de la clause v i d é à partir de S (S f— • )
La résolution procède par réfutation. Pour montrer qu'une formule p est un théorème, on
cherchera à démontrer que l'ensemble des clauses issues de l p est inconsistante, i-e que l ' o n
peut déduire un littéral et sa négation (donc la clause vide) à partir de l'ensemble de clauses
issu de l p et, pour montrer qu'une formule p peut être déduite à partir d ' u n ensemble T, on
cherchera à montrer que l'ensemble des clauses issu de F u { ] p } est inconsistant, r \_ |s
Exemple 1.5.6
Soit à montrer que la formule P : ( P - * (Q - » R)) - > ((P ->• Q) - > ( P - » R)) est un théorème.
L'ensemble de clauses correspondant à l p est : { I P V I Q v R, 1 P v Q, P, l R }
c :lPvlQvR
0
c, : 1 P v Q
c :?
2
c :~\R
3
C4 : 1 P v 1 Q résolvante (co, C3 )
c :1Q
5 résolvante (c?, c )
4
IPvlQvR IR P lPvQ
•
Figure 1.5.3. Graphe de déduction.
35 1 . La résolution en calcul des propositions
1.6.4. P r o p r i é t é de consistance de la r é s o l u t i o n
alors :
Si S | — c alors S |= c
Si c = • (l'ensemble S est inconsistant), alors S est non satisfiable.
n it
S\—c S\=c
Hypothèse de récurrence. Toute clause obtenue à partir de S à l'issue d'une déduction de
longueur / < n est une c o n s é q u e n c e logique de S.
l = n+l
Pour avoir une d é d u c t i o n de longueur n+\, nous appliquons la résolution à la clause c„ et à
une clause c, (0 < i < ri). Le résultat de cette d é d u c t i o n est la clause c„+/ telle que :
fc 0
Cl
l
c, S | — c, => S |= Ci (hypothèse de récurrence)
Casoùc = D (S|—•).
Dans ce cas, c est la résolvante de deux clauses unitaires c, = L et c = L ' ( L et L ' étant des }
littéraux complémentaires).
Nous en déduisons que s ' i l existe une déduction de la clause vide à partir d ' u n ensemble S de
clauses (S | — • ) , alors S est non satisfiable.
1 . La résolution en calcul des propositions 36
1.6.5. P r o p r i é t é de c o m p l é t u d c de la r é s o l u t i o n
T h é o r è m e 1.5.2. Si un ensemble S de clauses est non satisfiable, i l existe alors une déduction
de la clause vide à partir de S.
Démonstration.
On désignera par profondeur d ' u n nœud le nombre d'arcs q u i séparent la racine de T du n œ u d
auquel est associée cette clause. Ainsi, la profondeur du n œ u d racine est 0 et celle de ses fils
est 1. La profondeur de chaque nœud d ' é c h e c est au plus égal au nombre de variables
distinctes qui apparaissent dans S .
Soit S un ensemble non satisfiable de clauses. Soit VP l'ensemble des variables
propositionnelles qui apparaissent dans S et N le cardinal de cet ensemble. On désigne par T,
un arbre sémantique clos de S (Figure 1 . 5 . 4 ) .
Désignons par To la partie gauche de T et par T sa partie droite (figure 1.5.4). Désignons par
D
littéraux de la clause associée au nœud père de c est au plus égal à d-2, .... En itérant le
p
F i g u r e 1.5.4.