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