90 CHAPITRE 2. CALCUL DES PR ´
EDICATS
2.7 R´esolution en logique du premier ordre
2.7.1 Motivation
Reprenons les explications donn´ees au d´ebut du paragraphe 2.6.
Un premier essai de transf´erer la r´esolution propositionnelle vers la lo-
gique du premier ordre est comme suit : ´
Etant donn´e un ensemble fini S
de formules, on peut le transformer en un ensemble de clauses universelles
S0, et puis construire l’ensemble des ces instances de Herbrand H(S0). Par le
Th´eor`eme 2.4.4 et la compl´etude r´efutationelle de la r´esolution propositionnelle,
Sest non-satisfaisable si et seulement si H(S0)`R2. Malheureusement, cela
ne nous donne pas directement une ´enum´eration r´ecursive des ensembles finis
non-satisfaisables de formules puisqu’il s’agit d’un ensemble infini de clauses,
et il n’est pas clair comment, en g´en´eral, un algorithme peut travailler sur un
ensemble infini de clauses.
En utilisant le fait qu’il y a des strat´egies terminantes et compl`etes de
r´esolution propositionnelle on peut quand-mˆeme tirer de ce premier essai une
´enum´eration r´ecursive des ensembles finis non-satisfaisables de formules : ´
Etant
donn´e S, on construit une ´enum´eration eective s1,s
2,...des instances de Her-
brand de S. Soit `RS la d´eduction par r´esolution binaire et factorisation selon
la strat´egie compl`ete et terminante. On lance l’algorithme suivant :
T:= ;;
n:= 0 ;
while 262 Tdo begin
T:= T[{sn};
n:= n+1 ;
while there exists a w62 Tsuch that T`RS wdo
T:= T[{w};
end ;
print "non satisfaisable" ;
Puisque la strat´egie est terminante, la boucle int´erieure termine toujours
apr`es un nombre fini d’it´erations. On dit que la boucle int´erieure calcule une
saturation par `RS. En un sens, cet algorithme est d´ej`a un peu plus intelligent
que l’algorithme pr´esent´e `a la fin de la section pr´ec´edente puisque, `a chaque
it´eration de la boucle principale, on r´eutilise le travail fait pendant les it´erations
pr´ec´edentes.
La clef pour faire mieux est l’observation que, ´etant donn´ee une clause uni-
verselle U, son ensemble d’instances de Herbrand est un ensemble tr`es r´egulier.
L’id´ee est donc de chercher une repr´esentation finie de cet ensemble infini de
clauses. La repr´esentation qui vient `a l’esprit est d’utiliser une clause universelle
en S0comme une repr´esentation de l’ensemble infini H(S0). Puis, ´etant donn´ees
deux clauses universelles C1et C2, on cherche `a ex´ecuter d’un seul coup un pas
de r´esolution sur toutes les instances de Herbrand de C1et toutes les instances
de Herbrand de C2, et de repr´esenter l’ensemble r´esultant de clauses par une
clause du premier ordre.
2.7. R ´
ESOLUTION EN LOGIQUE DU PREMIER ORDRE 91
Pour illustrer cette id´ee, supposons donn´ees deux clauses du premier ordre
C1=8¯x(P(s)_L)etC2=8¯y(¬P(t)_K). On cherche une clause du premier
ordre R, telle que les instances de Herbrand de Rsont exactement les clauses
propositionnelles qu’on peut obtenir par r´esolution propositionnelle sur Pentre
une instance de Herbrand de C1et une instance de Herbrand de C2.
On a donc
H(C1)={(P(s)_L)|2g}
H(C2)={(¬P(t)_K)|2g}
Un pas de r´esolution est possible ssi il existe des substitutions et telles que
s=t. Comme C1et C2peuvent ˆetre suppos´ees ne pas partager de variables
(apr`es ´eventuel renommage des variables li´ees), s=trevient `a dire que set
tsont unifiables.
L’ensemble des clauses closes qu’on peut obtenir par un pas de r´esolution
est donc
{L_K|,2g,s=t}(2.1)
Quand ¯x\¯y=;, cet ensemble est le mˆeme que
{(L_K)|2g,s=t}(2.2)
Quand ¯x\¯y=;on peut supposer que Dom()\Dom()=;. Les ensembles
(2.1) et (2.2) sont alors ´egaux parce que
´etant donn´ee et en (2.1), on peut d´efinir en (2.2) par =
(= );
´etant donn´ee in (2.2), on peut d´efinir en (2.2) =|¯xet =|¯y.
Par contre, cette ´egalit´e est en g´en´eral fausse quand ¯xet ¯yne sont pas disjoints.
Par exemple, les termes xet f(x) ont des instances communes (par exemple,
f(a)), mais il n’y a aucune substitution telle que x=f(x).
Si µest un mgu de set t, alors l’ensemble (2.2) est donc le mˆeme que
{((L_K)µ)|2g}(2.3)
Le raisonnement pour la factorisation est analogue.
2.7.2 R´esolution
On obtient donc les r`egles de r´esolution donn´ees sur la Figure 2.4. Dans les
preuves par r´esolution, on n’´ecrit normalement pas les quantificateurs univer-
sels. Pourtant, il ne faut pas oublier que chaque clause est implicitement uni-
versellement quantifi´ee. Une cons´equence importante est qu’on doit toujours
assurer, avant d’appliquer un pas de r´esolution `a deux clauses, que leur en-
sembles de variables soient disjoints. Si ce n’est pas le cas on est oblig´e de
renommer les variables dans une des clauses. Finalement, si Sest un ensemble
de clauses du premier ordre, on note S`R1Cquand la clause Cest obtenue `a
partir de Spar une application des r`egles de la Figure 2.4.
Lemme 2.7.1 Les r`egles de la r´esolution du premier ordre sont correctes : Si
S`R1Calors Cest une cons´equence logique de S.
92 CHAPITRE 2. CALCUL DES PR ´
EDICATS
R´esolution binaire 8¯x(¬Ps)_L)8¯y(P(¯
t)_K)
8¯z((L_K))
est un mgu de ¯s?
=¯
t
¯x= Var(¬Ps)_L)
¯y= Var(P(¯
t)_K)
¯x\¯y=;
¯z= Var((L_K))
Factorisation 8¯x(Ps)_P(¯
t)_L)
8¯z((P(¯
t)_L))
est un mgu de ¯s?
=¯
t
¯x= Var(Ps)_P(¯
t)_L)
¯z= Var((P(¯
t)_L))
Figure 2.4 – R`egles de r´esolution pour la logique du premier ordre.
Lemme 2.7.2 (Lemme de rel`evement)
Soient C1et C2des clauses, D12H(C1),D22H(C2), et {D1,D
2}`
R
D3par r´esolution binaire. Alors il existe une clause C3telle que {C1,C
2}`
R1
C3par r´esolution binaire et D32H(C3).
Soit C1une clause, D12H(C1), et {D1}`
RD2par factorisation bi-
naire. Alors il existe une clause C2telle que {C1}`
R1C2et D22H(C2).
Preuve:
Soient
C1=8¯x(Ps)_L)
C2=8¯y(¬P(¯
t)_K)
— ¯x\¯y=;
D1=(Ps)_L)
D2=(¬P(¯
t)_K)
— ¯s=¯
t
R´esolution binaire sur {C1,C
2}nous donne une clause universelle C3:= 8z(L_
K)µ,o`u¯z¯x[¯y,etµest un mgu de ¯set ¯
t. R´esolution binaire propositionnelle
sur {D1,D
2}donne D3:= (L_K). Puisque est un unificateur de ¯set ¯
t,et
puisque µest un mgu de ¯set ¯
t, il y a une substitution telle que =µ.
Donc, (L_K)=((L_K)µ), donc D3=(L_K)2H(C3).
La preuve pour la factorisation est analogue. 2
Lemme 2.7.3 Soit Sun ensemble de clauses. Si H(S)`
RD, alors il existe
une clause Ctelle que S`
R1Cet D2H(C).
Preuve:
Par induction sur la structure de la preuve H(S)`
RD:
si D2H(S) alors il existe un C2Stel que D2H(C).
si le dernier pas de la preuve de Dest une r´esolution binaire {D1,D
2}`
R
D: Par hypoth`ese de r´ecurrence, il existe des clauses universelles closes
C1,C
2telles que S`
R1C1,S`
R1C2,D12H(C1)etD22H(C2). Par
2.7. R ´
ESOLUTION EN LOGIQUE DU PREMIER ORDRE 93
Lemme 2.7.2, il existe une clause universelle close Ctelle que {C1,C
2}`
R1
C, donc S`
R1C,etD2H(C).
si le dernier pas de la preuve de Dest une factorisation binaire : similaire.
2
Th´eor`eme 2.7.1 [Robinson] Soit Sun ensemble de clauses (universelles, closes).
Sest insatisfaisable si et seulement si S`
R12.
Preuve:
Par Lemme 2.7.1, si S`
R12alors Sn’est pas satisfaisable.
Soit Sinsatisfaisable. Par le th´eor`eme 2.4.4, H(S) n’est pas satisfaisable.
Donc, par la compl´etude de la r´esolution propositionnelle, H(S)`
R2.Ilsuit,
par le lemme 2.7.3, que S`
R12(remarquez que, si 22H(C) alors C=2). 2
Exemple 2.7.1 On consid`ere l’ensemble des clauses
(1) P(x, x)
(2) ¬P(x, y)_P(x, s(y)))
(3) ¬P(f(x),s(s(f(x))))
On en d´eduit par r´esolution
(4) P(x, s(x)) r´esolution binaire sur (1), (2)
(5) P(x, (s(s(x))) r´esolution binaire sur (4), (2)
(6) 2r´esolution binaire sur (5), (3)
Exercice 117 (3)
Soit l’ensemble de clauses suivant :
(1) ¬P(x)_Q(f(x),x)
(2) ¬P(x)_¬Q(y, x)_R(y)
(3) ¬R(y)_¬S(y)_¬P(x)_¬Q(y, x)
(4) ¬S(y)_R(y)
(5) P(a)
(6) ¬R(x)_S(x)
En d´eduire par esolution 2.
Exercice 118 (5)
Soit Sun ensemble fini de clauses, et qui poss`ede un plus petit mod`ele de
Herbrand H. Montrer que Hest r´ecursivement ´enum´erable, c’est-`a-dire que PH
est r´ecursivement ´enum´erable pour tous les symboles de pr´edicat P.
1 / 4 100%