Vous êtes sur la page 1sur 7

1.

La résolution en calcul des propositions 30

1.5. L a r é s o l u t i o n en c a l c u l des propositions

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.

1.5.1. Mise sous forme normale


Pour transformer une formule en une autre formule logiquement équivalente sous forme
clausale, on utilisera, de m a n i è r e itérée si nécessaire, les équivalences logiques suivantes :
1. a < - > p = ( a - > p ) A ( p - > a)
.2. a - » p^lavp
u
3. T l a ^ a
•4. l ( a v p) s l a A l p l ( a A P) s l a v l p . (Loi de De Morgan)
.5. a v (P A y) s ( a v p) A ( a v y) (Distributivité du v par rapport au A)
6. a v a = a
-7. a A a s a

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 • .

Proposition 1.5.1. Si c r est une clause résolvante de deux clauses c, et Cj alors cb Cj \= c .


r

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

valeur de vérité de c, et c est V et o ù la valeur de vérité de c v c ) est F. Sur la m ê m e ligne


7

la valeur de vérité de L et L ' seraient toutes les deux à V .


Proposition 1.5.2. Si c < ' est une clause résolvante de deux clauses c, et c de l'ensemble Sn :
r y

{c,, c , ci, ...,cj,


2 ... , c„} alors c h c , c-,,
2 ch ... , c |= c •
n r

Démonstration (proposition 1.4 et proposition 1.5.1).

e la m ê m e façon si c est une clause résolvante de deux clauses de l'ensemble Si : So U {


r2

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

{Cj, C, 2 ,C„, Cri}

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

ci, C2 ... ,c , Cri, c , n r2 c i-i |= c


r ri où c est une clause résolvante de deux clauses
ri

de { Ci, C2 ... ,C„, Cri, C 2,


r - , C -1 }
ri

On en déduit c ,c ,... t 2 ,c„\= c n (exercice 24 chapitre 1).

Si l'ensemble { c / , c , ... , c„, c i, c , c ) contient une clause unitaire formée du seul


2 r r2 ri

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.

Pjropo^itionJ^5.3. Si c i est une clause résolvante de deux clauses c, et Cy de l'ensemble {c/, c ,


r 2

... , c„\, alors :


|= C/ A C A . . . 2 A C <-> C / A C j A . . .
N A t'„ A C { r

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

pourrait être F est celui o ù la valeur de vérité de c/ A C A ... A C„ est V et où celle de c/ A c 2 2

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

\= C] AC A 2 ... A C„ <-> Ci A C 2 A ... A C A Ci A C


n r r2 A CrfA ... A Cri

Pj-opoMtiojil^sJ^Jn ensemble S de clauses est non satisfiable ssi S- j= c/

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

l'ensemble S' : { cj, c , . . . , c„, c i,....,


2 c } est non satisfiable, donc ssi Cj, c , ... ,c |= •
r r/ 2 n

(proposition 1.5.2).

1.6. A r b r e s é m a n t i q u e

Etant donné S un ensemble de clauses et V P l'ensemble des variables propositionnelles qui


apparaissent dans S, un arbre sémantique T pour S est un arbre binaire tel que : ,
• chaque arc de T est étiqueté par une variable propositionnelle ou la négation d'une
variable propositionnelle de V P ;
• les littéraux étiquetant les deux arcs issus d'un m ê m e n œ u d sont complémentaires ;
• deux arcs d'une m ê m e branche de T ne sont pas étiquetés par des littéraux
complémentaires ;
• les feuilles de l'arbre sont étiquetées par des clauses de S.
La figure 1.5.1 représente un arbre sémantique pour l'ensemble de clauses C : { P v Q, P v R,
1QV1R,>}.

Figure 1.5.1. Un arbre sémantique pour


l'ensemble de clauses S.

IP IP IP 1P IQVIR PvR PVQ PVQ

1.6.1. A r b r e s é m a n t i q u e complet

Soit S un ensemble de clauses, et VP = { P , P , P } l'ensemble des variables


t 2 k

propositionnelles de S. U n arbre sémantique T pour S est dit complet, si et seulement si,


l'ensemble des littéraux associées aux arcs de chaque branche de T contient soit le littéral Pj
k
soit le littéral |Pj (1 < i < k ) . T est formé de 2 branches, et chaque branche est formée de k
arcs.
Un arbre sémantique complet pour un ensemble de clauses, peut être v u comme une
représentation graphique du tableau de vérité d e s formules de cet ensemble (Figure 1.5.1 et
3_£ ; 1 . La résolution en calcul des propositions

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

D é f i n i t i o n 1.5.4. U n n œ u d N de T est appelé nœud d'échec si l'ensemble formé des


littéraux associés aux arcs qui précèdent N falsifie au moins une clause de S.
Les feuilles de l'arbre s é m a n t i q u e de la figure 1.5.1 sont toutes des n œ u d s d'échec. De la
m ê m e façon, chaque combinaison de P, Q et R (tableau 1.5.1) falsifie au moins une formule
de S.

1.6.2. Arbre s é m a n t i q u e clos

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.

D é f i n i t i o n 1.5.3. U n e d é d u c t i o n d ' u n e c l a u s e c à partir d'un ensemble S (S | — c ) de


clauses est une séquence de clauses c , c?, ... , c„ dans laquelle chaque clause c, est soit une
t

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

c<5 : 1 P résolvante (c/, c$ )


C7 : • résolvante (C2, cg )

1.6.3. Résolution et graphe de déduction


Une déduction peut être représentée par un graphe G : {N , L} dont chaque sommet de N est étiqueté
par une clause et dont les arcs de L permettent de relier les clauses à leurs résolvantes. La déduction de
l'exemple 1.5.6 peut être représentée par le graphe de la figure 1.5.3.

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

T h é o r è m e 1.5.1. Etant donnés S : {cj, c 2 ... , c ) un ensemble de clauses et c une clause,


p

alors :
Si S | — c alors S |= c
Si c = • (l'ensemble S est inconsistant), alors S est non satisfiable.

Démonstration (par récurrence sur la longueur de la déduction).


1=1
c étant la résolvante de deux clauses c, et c appartenant à S : 7

C h Cj\— C=>Cj, Cj\=C

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)

S | — c„ => S |= c„ (hypothèse de récurrence)


CJ,+ I res (c„ c„) => S |—c„+/ et c„, c, |= c , donc S |= c„+/
n+/

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).

c,:L (S\—L => S|=L)


"1
S non satisfiable
cj: V (S | — L ' => S |= L ' ) J
• res(c„ cj)

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

SG (SQ Ç= S) l'ensemble des clauses attachées aux n œ u d s d ' é c h e c de To et par SD (SD Ç= S)


l'ensemble des clauses attachées aux nœuds d ' é c h e c de TD- Soient n et n ' deux n œ u d s d ' é c h e c
de TG issus du m ê m e nœud. Le nombre de littéraux de la clause c„ (resp c„) associée à n (resp
n ') est au plus égale à d la profondeur de n. Chaque clause attachée à un nœud qui n'est pas
un nœud d ' é c h e c , est la résolvante des clauses attachées à ses n œ u d s fils. La clause c p

associée au n œ u d p père de n et n \ est la clause résolvante de c„ et c„' (c„, c„-1— c^,). Le


nombre de littéraux de c est au plus égal à d-1 la profondeur du n œ u d p, le nombre de
p

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

processus de résolution, nous pouvons déduire, à partir de l'ensemble SG de clauses la clause


unitaire c ( S Q | — c ) . De la m ê m e façon, en itérant le processus de résolution, nous pouvons
g g

déduire, à partir de l'ensemble SD la clause unitaire cj ( S D | — Cd)- Cg et Cj sont deux clauses


unitaires contenant des littéraux complémentaires. Par conséquent : SG, S D | — • .

F i g u r e 1.5.4.