1 Forme résolue d`une conjonction à plat 2 Algorithme de résolution

publicité
1
Forme résolue d’une conjonction à plat
Nous travaillerons sur des formules de la forme ϕ1 ∧ · · · ∧ ϕn , où les ϕi sont de l’une des quatre
formes
v rai, f aux, x = y, x = f u1 . . . un ,
avec x, y et les ui des variables et f un symbole d’opération d’arité n. De telles formules seront dites
conjonctions à plat.
Définition 1 Une conjonction à plat est dite résolue si elle de la forme f aux ou v rai ou
x1 = t1 ∧ · · · ∧ xn = tn ,
(1)
où les xi sont des variables distinctes, les ti des termes, avec la restriction que l’ensemble des équations qui la
compose ne contienne pas un sous-ensemble non vide de la forme {y1 = y2 , y2 = y3 , . . . ,ym−1 = ym }, les yi
étant des variables et y1 et ym étant la même variable.
Du 3ième schém d’axiomes de la théorie T des arbres on déduit :
Propriete 1 Si ϕ(y,x) est une conjonction résolue à plat distincte de v rai et f aux avec y le vecteur de ses
membres gauches et x le vecteur de ses varibles qui ne figurent pas comme membres gauches alors T |=
∀x ∃!y ϕ(y,x).
2
Algorithme de résolution
L’algorithme qui suit permet de transformer toute conjonction à plat en une contrainte équivalente sous forme résolue. Il consiste à appliquer sur la formule initiale et tant que cela est possible les
règles de réécriture qui suivent, en considérant que le connecteur ∧ est associatif et commutatif.
Dans ces règles de réécriture on suppose que chaque variable x est numérotée par un entier naturel notés no(x).
1
f aux ∧ q
2
v rai ∧ q
3 x = f u1 ..um ∧ x = gv1 ..vn
4 x = f u1 ..un ∧ x = f v1 ..vn
5
y =x
6
x=x
7
x = f u1 ..un ∧ x = y
8
x=z ∧ x=y
=⇒
=⇒
=⇒
=⇒
=⇒
=⇒
=⇒
=⇒
f aux
q
f aux
x = f u1 ..un ∧ u1 = v1 ∧ .. ∧ un = vn
x=y
v rai
y = f u1 ..un ∧ x = y
y =z ∧ x=y
(2)
avec la condition que no(x) > no(y).
Propriete 2 (Terminaison) On ne peut appliquer qu’un nombre fini de réécritures.
Preuve On considère le quadruplet (n1 ,n2 ,n3 ,n4 ) où les ni sont les entiers non négatifs suivants :
n1 est le nombre d’occurences d’équations de la forme x = f u1 ..un ,
n2 est le nombre d’occurences de contraintes atomiques,
n3 est la somme des no(x) pour toutes les occurrences de variables x,
n4 est le nombre d’occurrences d’équations de la forme x = y, avec no(x) < no(y).
Après chaque application d’une règle le nouveau quadruplet (n01 ,n02 ,n03 ,n04 ) est lexicographiquement
inférieur au quadruplet (n1 ,n2 ,n3 ,n4 ), c’est-à-dire qu’il existe i tel que n0i < ni et (n01 , . . . ,n0i−1 ) =
(n1 , . . . ,ni−1 ). Ces i valent 1 ou 2 pour la règle 1, valent 2 pour la règle 2, valent 1 pour les règles
3,4, valent 4 pour la règle 5 et valent 3 pour les règles 6,7,8. Les entiers ni étant astreints à être non
négatifs, on en conclut que l’on ne pourra indéfiniment appliquer des règles.
1
Téléchargement