• Aucun résultat trouvé

Comparaison srs/tgd : cas général

5.3 Chase dans le cadre des contraintes de mots

5.3.3 Comparaison srs/tgd : cas général

L’objectif de cette section est de prouver : — MBmax(k) ⊆ βk(all,O)

βk(weak,S) ⊆BPar(k)

L’idée générale des preuves consiste à travailler par induction pour construire une dérivation sur les mots à partir d’une O-dérivation sur les instances :

pour toutk-cheminπaveck > 0de la dernière instanceIn, il existe un trigger (r, h)tel que

h0(H )correspond àπ

h(B )est un chemin dont au moins un fait est de profondeurk − 1. — On au → vuest le mot associé àB etv le mot associé àH.

On peut alors décomposerh(B )en plusieurst-chemins et on peut répéter le processus pour construire une dérivation sur les mots. Nous montrerons que cette dérivation a une complexité parallèle égalek.

Ainsi siRest dans MBmax(k)alors le système de règles tgd associé n’admet pas

de O-dérivation de profondeurk +1, sinon il existerait une dérivation de profondeur

k + 1sur les mots d’après ce qui précède.

Soient C un ensemble de contraintes de mots et s : I0 (r0,h0)

−→ I1... une O- dérivation indicée. Soitkun entier> 0. Soitnf un nœud tel que vranks(nf) =

ketA1(n1, nf),A2(n2, nf)deux faits de profondeurkalorsA1= A2etn1= n2.

Lemme 242

Démonstration. Soiti le plus petit entier tel quenf est dansIi +1\ Ii. Alors les faits

A1(n1, nf)etA2(n2, nf)appartiennent àIi +1\ Ii, sinon leurs profondeurs vérifient : eranks(Aj(nj, nf)) >vrank(nf)donck > kimpossible.

On a alorsh0−1i (Aj(nj, nf)) ∈ Hi orhi0−1(nf)ne peut pas être en seconde place

dans deux atomes carri est une contrainte de mots.

Soient C un système de contraintes de mots et s : I0 (r0,h0)

−→ I1... une O- dérivation. Soitk un entier > 0. Pour toutk-cheminπde In il existe un entieri et un cheminπ0tels que :

— eranks(π0) ≤ k − 1(l’égalité est atteinte pour un des faits deπ0) — π0= h0i(Bi)etπ = hi0(Hi)

Lemme 243

Démonstration. Soit A(n, n0)le fait deπtel quen0est la dernière valeur deπ. On va

considérer la règle qui a produit ce fait : soiti = min{i | A(n,n0) ∈ Ii +1\ Ii}. D’après ce qui a été dit précédemment, puisqu’au moins un fait est produit on aIi +1\ Ii=

h0i(Hi)qui est unk0-chemin pour un certaink0. On ak = k0puisqueA(n, n0)est de profondeurk.

Nous allons prouver queh0i(Hi) ⊆ π.

Sih0i(Hi)contient un unique fait, alors c’est A(n, n0). OrA(n, n0) ∈ πdonchi0(Hi) ⊆ π. Supposons quehi0(Hi)contiennent au moins deux faits, dontA(n, n0). Commeh0i(Hi)

est unk-chemin et quen0est de profondeur< k, c’est le dernier nœud deh0i(Hi), il

existe un unique fait contenantn0, il s’agit deA(n, n0). Puisque il y a au moins deux faits il existe un faitC (n00, n)dansh0i(Hi)(on remarquera quenest la valeur à gauche deA(n, n0)). Donchi0−1(n)est une variable existentielle carri est une contrainte de

mot, donc vranks(n) = kpar définition de vrank. Commeπest unk-chemin, il existe donc un fait B (n0, n)deπ(on remarquera aussi quen est la première valeur de

A(n, n0)). D’après le lemme242les faits sont donc les mêmes, ainsiC (n00, n) ∈ π. On peut alors raisonner à nouveau avecC (n00, n)sih0i(Hi)contient au moins trois faits et par récurrence en déduire queh0i(Hi) ⊆ π.

Montrons maintenant que cette inclusion est une égalité :h0i(Hi)est un chemin

contenant au moins un fait, soitn0sa première valeur, on a alors vranks(n0) < kcar sinon le fait contenantn0danshi0(Bi)serait de profondeur au moinsk(d’après le Lemme231) et donch0i(Hi)aurait des faits de profondeur> k, doncπaussi, contra-

diction.n0est une valeur deπcarh0i(Hi) ⊆ π, doncn0est la première valeur deπ. De

même les dernières valeurs coïncident donchi0(Hi) = π.

On pose alorsπ0= Hi(Bi), commeri est une contrainte de mots c’est un chemin, et comme les faits deh0i(Hi)sont indicés park, les faits dehi(Bi)sont de profondeurs

≤ k − 1avec égalité pour l’un d’entre eux. Ce qui termine la preuve.

Soient C un ensemble de contraintes de mots et s : I0 (r0,h0)

−→ I1...une O- dérivation.

Pour tout chemin ancréπndeInil existe un cheminπ0dansI0, un entier

met une dérivationσ : x0→m xmsur le système de réécriture associéRtels que :

— word(π0) = x0 — word(πn) = xm

— Pour tout fait f deπnnuméroté parton a eranks( f ) =depthσ(m, t )

Lemme 244

Démonstration. L’idée est de démontrer le résultat par récurrence surn. Tout chemin

ancré de la dernière instance est obtenu par réécriture depuis un chemin ancré de l’instante précédente. Nous montrons alors que les rangs sont correctement reliés. Pour le cas oùn = 0il n’y a rien à démontrer. On suppose alors la propriété vraie au rangn, on considère donc une O-dérivation de longueurn + 1. On conserve les notations habituelles.

Soitπn+1un chemin ancré deIn+1, s’il est inclus dansInil n’y a rien à prouver par hypothèse de récurrence. Sinonπn+1peut donc décomposer enc0π1c1π2...ca−1πaca

avec lesπales chemins dansIn+1\ In. Puisque ces chemins sont dansIn+1\ Inqui est unk-chemin tous lesπj sont égaux à un certainπet correspondent à unk-chemin pour un certaink. On aπqui correspond àhn0(Hn). Soitπ0le cheminhn(Bn), tous les faits deπ0sont de profondeur≤ k − 1avec égalité atteinte.

Soitl le mot correspondant àπ0,rle mot correspondant àπetµi les mots corres- pondant auxci. On a(l , r ) ∈ R.

On poseπnle cheminc0π0c1...ca−1π0ca, ce chemin est est dansIn. Puisqueπn+1

est ancré,πnl’est aussi (ils partagent les mêmes première et dernière valeurs). Par hypothèse de récurrence il existe un cheminπ0,met une dérivationx0−→m

— word(π0) = x0 — word(πn) = xm

— Pour tout fait f deπnnuméroté part, depthσ(m, t ) =eranks( f )

Le mot correspondant àπn est xm = µ0lµ1...µa−1lµa, le mot correspondant à

πn+1estµ01...µa−1rµa, on le notey. Puisque(l , r ) ∈ Ron axm y. Donc il existe un entierm0tel quexmm

0

y. On posem00= m + m0. On ax0→m

00

y. On noteσ0la

dérivation qui étendσ.

Les deux premières hypothèses de l’énoncé sont vérifiées pourσ0. Vérifions la dernière :

Soittla numérotation d’un fait f deπn+1:

- Si t est la position d’une lettre d’unµj, on a f qui est dansIn, soitt0tel que (t0, t ) ∈Corrσ(n, n + 1), ainsit0est la position de la lettre dexm qui aura la positiont dansy, on a depthσ0(m00, t ) =depthσ0(m, t0)qui est finalement égale (par hypothèse

de récurrence) à eranks( f )ce qui était voulu.

- Sit est la position d’une lettre d’un desr, on a eranks( f ) = k. Pour tous les faits deπ0on a un indice inférieur ou égal àk − 1, avec égalité atteinte pour l’un des faits, donc pour toutt0entre les positions des lettres du motl correspondant aurdont

test une des positions, depthσ0(m, t0) ≤ k − 1avec égalité atteinte pour unt0(par

hypothèse de récurrence surπ0). Ainsi, comme(l , r ) ∈ R, depthσ0(m00, t ) = kpour tout

tentre la première position et la dernière position du motr donttest une position,

on a ainsi l’égalité demandée. Le résultat est démontré.

Soit k un entier, si R ∈ MBmax(k) alors le système tgd associé est dans

βk(

all,O)

Théorème 245

Démonstration. SoitRdans MBmax(k), alors soits : I0 (r0,h0)

−→ I1...une O-dérivation indicée sur une instanceI. Soitf un fait, alors il existe un chemin ancré contenant f, donc d’après le Lemme244, il existe une dérivationx0−→mxm dont les profondeurs des lettres de xm correspondent aux profondeurs des faits du chemin ancré, les profondeurs sont majorées parkpuisqueRest dans MBmax(k), donc la profondeur

def est majorée park, doncC ∈ βk(all,O).

SoientC un ensemble de contraintes de mots etσ : x0→nRxnune dérivation sur le système de réécriture associéR. SoitI0un chemin tel que word(I0) = x0. Pour toute O-dérivation terminantes : I0

(r0,h0)

−→ I1...il existe un cheminπ dansIe(oùIeest la dernière instance des) tel que

— word(π) = xn

n1est le premier nœud deI0 — nv+1est le dernier nœud deI0

Lemme 246

Démonstration. Nous allons démontrer par récurrence sur la longueur de la dériva- tionσqu’il existe bien un chemin dans la dernière instance qui vérifie les conditions. Si la dérivation est de longueur nulle alors il suffit de prendreI0comme chemin, on a bienI0inclus dans toutes les instances de toutes dérivations (terminantes).

On suppose que le résultat est vrai au rangn, soitσ : x0→nxn→ xn+1une dériva- tion de longueurn + 1. Soits : I0

(r0,h0)

−→ I1...uneX-dérivation terminante surI0telle que word(I0) = x0. SoitIela dernière instance des. La sous-dérivationσ0: x0→nxn

est de longueurn, ainsi par hypothèse de récurrence (on a commencé avec le même mot) il existe un cheminπdansIetel que

— word(π) = xn

n1est le premier nœud deI0 — nv+1est le dernier nœud deI0

Nous devons montrer qu’il existe un cheminπ0qui dérive de celui là tel que word(π0) = xn+1.

On axn→ xn+1donc il existeµ,µ0et(l , r ) ∈ R tels quexn= µl µ0etxn+1= µr µ0. Il existe une règle r eg ∈ C telle que L(r eg ) = (l ,r ). De plus, puisque word(π) =

xn on peut décomposerπen trois chemins composésµgbµd avec word(µg) = µ, word(µd) = µ0et word(b) = l. PuisqueL(r eg ) = (l ,r )il existe un homomorphisme

homtel quehom(B ) = b, on considère donc le trigger(r eg , hom). Puisque la dé- rivations : I0

(r0,h0)

−→ I1...est terminante il existe donc un certaine indicei tel que

(r eg , hom)a été activé.

Il existe une expression de la formeh0i(Hi)dansIe. C’est un chemin carC est un ensemble de contraintes de mots. De plus le premier nœud de hi0(Hi)est le

premier nœud dehom(B )et le dernier nœud dehom(B )est le dernier nœud de

hi0(Hi). Puisque la règlerivérifieri = r egon a word(h0i(Hi)) = rdonc par composition avec les cheminsµg etµd (possible vu les premiers et derniers nœuds), il existe un chemin deIetel que le premier nœud soit le premier nœud deπet donc deI0et de même pour le dernier nœud. C’est ce qu’on voulait démontrer.

SoientC un ensemble de contraintes de mots etkun entier alors :

SiC est dansβk(weak,S)alors le système de réécritureRassocié est dans BPar(k).

Théorème 247

Démonstration. Soitσ : x0→m xm une dérivation surR. SoitI0le chemin tel que word(I0) = x0, commeC est dansβk(weak,S)il existe une S-dérivation terminante

sde profondeurksurI0, c’est donc en particulier une O-dérivation (qui n’est plus forcément terminante). D’après le Lemme246, il existe un chemin ancréπdansIn

(le premier nœud et le dernier nœud sont dansI0) tel que word(π) = xm, d’après le lemme244, il existe une dérivationσ0: x0→mxm dont les profondeurs dexmsont égaux aux profondeurs deπdonc inférieures ou égales àk, ainsiRest dans BPar(k).

Les classesC T∀∃S et BPar sont incomparables.

Proposition 248

Démonstration. 1) Le système des contraintes de mots associé àaa → aappartient àC T∀∃S mais n’appartient pas à BPar.

2) Inversement le système R= aa → bb, aa → ab est dans BPar(2). SoitC le système de contraintes de mots associé àR.

Prouvons queC ne termine pas sur l’instanceI = {A(e,e)}: On pose :

P = A(x, y), A(y, z) → A(x, w),B(w, z) Q = A(x, y), A(y, z) → B(x, w),B(w, z)

Soits : I0 (r0,h0)

−→ I1...une S-dérivation démarrant surI.

Notons d’abord en examinant les deux règles que pour toutIi, si A(p, q)est dans

Ii ,p = e.

Montrons par récurrence que pour touti : "il existe un nœudntel que

A(e, n) ∈ Ii et qui n’admet pas dectel queA(e, c), B (c, n) ∈ Ii" L’initialisation est facile, supposons la propriété vraie au rangi. On posenew = hi0(w ).

A) Supposons queri= P. On posen = new, on a alorsh0i(Hi) = {A(e,n),B(n,n0)}

avecn06= n; commen ∉ Ii le seul fait deIi +1de prédicatAdont le second membre

estnest doncA(e, n), etB (n, n)n’est pasIi +1. Donc il n’existe pas dec tel queA(e, c) etB (c, n)soient dansIi +1.

B) Supposons queri= Q. Par hypothèse de récurrence il existentel queA(e, n) ∈

Ii et qui n’admet pas dectel queA(e, c), B (c, n) ∈ Ii. CommeIi⊆ Ii +1on a A(e, n) ∈

Ii +1.

Supposons qu’il existec tel que A(e, c)etB (c, n)soient dansIi +1. Distinguons deux cas :

- SiB (c, n) ∈ Ii alors commehi0(Hi)ne contient aucun fait de prédicat Aon a

A(e, c) ∈ Ii, contradiction avec l’hypothèse de récurrence.

- SiB (c, n) ∉ Ii alors commehi0(Hi) = {B(e,new),B(new,n)}on a l’une des deux

possibilités suivantes :

SoitB (c, n) = B(e,new)et doncn = newornew ∉ Ii, contradiction.

SoitB (c, n) = B(new,n)et doncc = new, orA(e, c) ∈ Ii (carh0i(Hi)n’a pas de fait

de prédicatA), doncA(e, new ) ∈ Ii doncnew ∈ Ii, contradiction. Montrons maintenant qu’il existe un trigger actif surIi pour touti,

Posonshi défini parh(x) = hi(y) = eethi(z) = n, avecndéfini comme ci-dessus. Il n’existe pas dectel que A(e, c)etB (c, n)soient des faits deIi, donc il n’existe pas d’extensionh0dehtelle queh0(Hi) ⊆ Ii. Ainsi(P, hi)est actif surIi.

Donc il existe une dérivation non terminante sur{A(e, e)}.

Nous pouvons faire une dernière remarque afin de relier l’étude du chase et la propriété d’être descendant-limité pour les systèmes de réécriture.

Si un système de contraintes de mots termine pour toute instance dans le cas oblivious alors le système de réécriture associé est descendant-limité :

SoitC un ensemble de contraintes de mots. SoitRle système de réécriture associé. Si l’oblivious-chase termine alorsRest descendant-limité.

Proposition 249

Démonstration. Soitu un mot. On considèrev un descendant deu, on au →v.

D’après le lemme246, pour toute O-dérivation qui démarre sur l’instance associée àGu (graphe-mot associé au), il existe un chemin dans la dernière instance (la dérivation termine) étiqueté parv dont le premier nœud est le premier nœud deGu

et de même pour le dernier nœud.

Montrons maintenant queC∞(Gu)est acyclique. On considère une O-dérivation terminante

s : I0 (r0,h0)

telle queIn= C∞(Gu).

Montrons par récurrence que pour touti, on aIi acyclique. - Initialisation : On aI0= Guacyclique.

- Hérédité : Supposons queIi est acyclique. On aIi +1= Ii∪ h0i(Hi)oùh0i est une

extension dehi etHi la tête deri. PuisqueIiest acyclique, tout cycle deIi +1contient au moins un fait deIi +1\ Ii.

Supposons queIi +1\ Ii ne contienne pas de nouveaux nœuds. Puisque ri est une contrainte de mots, s’il n’y a pas de variable existentielle dansHi alorsri est de la formeA1(x, y) → B1(x, y), donc si un cycle contient un fait deIi +1\ Ii il s’agit dehi(B1(x, y)), donc il existe aussi un cycle dansIi en considéranthi(A1(x, y))au lieu de cette arête, car ces deux arêtes ont les mêmes extrémités. DoncIi n’est pas acyclique, contradiction.

Supposons maintenant queIi +1\Iicontienne des nouveaux nœuds. Alors puisque

ri est une contrainte de mots, elle est de la forme

A1(x1, x2), ..., An(xn, xn+1) → B1(y1, y2), ..., Bm(ym, ym+1)

avec toutes variables lesyi qui sont existentielles,y1= x1etym+1= xn+1.

Considérons un cycle dans Ii +1, il contient donc un nouveau fait sinonIi est cyclique.

- Si le fait est de la formehi0(Bk(yk, yk+1))aveckentre2etmalors : il existe un

unique fait donth0i(yk)est membre droit, il s’agit du faith0i(Bk−1(yk−1, yk)), donc ce

fait appartient au cycle.

- Si le fait est de la formeh0i(Bk(yk, yk+1))aveckentre1etm − 1alors : il existe un

unique fait donthi0(yk+1)est membre gauche, il s’agit du faith0i(Bk+1(yk+1, yk+1)).

Donc, le cycle contient tous les faits deh0i(Hi). C’est un chemin entreh0i(x1)et

h0i(xn+1)carx1= y1etxn+1= ym+1. Or il existe un chemin dansIi entre ces mêmes nœuds : c’est le cheminhi(Bi). Donc en remplaçanth0i(Hi)parhi(Bi)il existe un

cycle dansIi. Contradiction. AinsiIi +1est acyclique.

PuisqueC∞(Gu)est acyclique, il existe un nombre fini de chemins entre le pre- mier nœud et le dernier nœud deGu, donc un nombre fini de descendants pour

u.

Nous concluons comme annoncé dans le résumé par ce schéma récapitulatif. Nous prendrons garde au fait que nous ne savons pas pour certaines inclusions si elles sont, ou non, strictes.

β(all,S) β(BF,S) β(wBF,S) β(weak,S) C T∀∀S C T∀∃S β(all,SO) β(BF= β(,SO) = β(wBF,SO) weak,SO) C T SO ∀∀ MBmax β(all,O) β(BF= β(,O) = β(wBF,O) weak,O) C T O ∀∀ BPar