• Aucun résultat trouvé

4.3 Décidabilité du problème R ∈ MB max (k)?

4.3.2 Un algorithme PSPACE

Nous concevons dans cette section un algorithme PSPACE pour déciderRappar- tient à MBmax(k)et ainsi montrer que :

On a :

PROBLEME : Complexité parallèle uniformément

bornée par une constante

INSTANCE :Run srs,kun naturel

QUESTION :R ∈MBmax(k)?

COMPLEXITE : PSPACE-complet Théorème 162

Pour simplifier les preuves, nous enrichissons l’alphabet et transformons le sys- tème de réécritureR en un autre système de réécritureR0 (voir proposition170) pour lequel les graphes de dérivation ont une structure plus régulière4 tel que

R ∈MBmax(k + 1)si et seulement siR0∈MBmax(2k + 3,Σ∗0).

L’objectif est de garder en mémoire uniquement les lettres dont nous avons besoin au fur et à mesure en les ajoutant si nécessaire : on conserve à chaque pas de réécriture un mot de taille polynomiale en la taille du système. Par exemple avec le systèmeR = {(aa, a)}on construit la dérivation la dérivationσ : a02k+1→∗ak+1:

²on ajoute−→ a0a0→ a1

on ajoute

−→ a1a0a0→ a1a1→ a2

on ajoute

−→ a2a0a0→ ... → ak+1

SoitRun système de réécriture, soitσune dérivation eti un nœud deG(σ). Il existe une dérivationσ0telle queG(σ0) ∼=AncG(σ)(i ).

Proposition 163

Démonstration. Par définition de Anc

G(σ)(i )il existe un tri topologique qui énumère

AncG(σ)(i ) \ {i }, puisi puis les autres noeud deG(σ).

On considère la dérivation obtenue par ce tri topologique (proposition135). On considère la sous-dérivationσ0dont le dernier pas de réécriture correspond ài. Alors par définition du tri topologique,σ0vérifieG(σ0) ∼=AncG(σ)(i ).

Nous notons de la même manière Anc(i )la dérivation obtenue par la proposition 163.

Nous disons aussi qu’une dérivationσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xnest co- nique s’il existei tel que Anc(i ) = σ.

Dans une dérivation conique, il est possible qu’une lettre ne soit jamais utilisée, ces lettres n’ont pas besoin d’être conservées dans le mot de départ (i.e. orig(σ)).

SoitRun système de réécriture, soitσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xnune dérivation conique. Soitpune position dexk pour un entierkfixé. On dit qu’une positionpest utilisable s’il existe un couple(π,k0)tel queπ ∈Leftσ(k0+ 1)et(p,π) ∈Corrσ(k, k0)

Définition 164

Dans une dérivation conique pour chaquek, l’ensemble des positions utilisables dexkforment un intervalle :

Soit R un système de réécriture. Soitσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xn

une dérivation. Pour toutk, pour toute positionp,p0etp00dexktelles que

p < p00< p0, sipetp0sont utilisables alorsp00est utilisable.

Proposition 165

Démonstration. Premièrement on peut remarquer que commeσest conique alors le noeud de profondeur maximale est le dernier nœud :n.

Nous montrons le résultat par récurrence descendante :

Initialisation : L’ensemble des positions utilisables dexn−1est Leftσ(n)donc la propriété est vraie au rangn − 1.

Hérédité : Supposons que la propriété est vraie au rangkaveck < n. Montrons qu’elle est vraie au rangk − 1.

SoitIr l’ensemble des positions utilisables dexk. Commek < netσest conique, le noeudkadmet au moins un successeur, donc il existe une position utilisable dans Rightσ(k)i.e. Rightσ(k) ∩ Ir6= ;.

PosonsIr= {p | ∃p0∈ Ir, (p, p0) ∈Corrσ(k − 1,k)}. Comme Rightσ(k) ∩ Ir 6= ;alors

J =Rightσ(k) ∪ Ir est un intervalle qui peut se décomposer en trois intervalles :

J1,Right(k)etJ2oùJ1est soit vide soitmax J1= pk−1− 1etJ2soit vide soitmin J2=

pk−1+ |vk−1| − |uk−1|.

Soient J1− = {p | ∃p0 ∈ J1, (p, p0) ∈Corrσ(k − 1,k)} et J2− = {p | ∃p0 ∈ J2, (p, p0) ∈ Corrσ(k − 1,k)}. Par définition on aIr= J1−∪ J2−,J1−= J1etp ∈ J2−si et seulement si

p + |vk−1| − |uk−1| ∈ J2.

Alors, soitJ1−est vide oumax J1−= pk−1+ 1ou soitJ2−est vide oumin J2−= pk−1+

|uk−1|.

Donc, par définition de Leftσ(k),Ir−∪Leftσ(k) = J1−∪Leftσ(k)∪ J2−est un intervalle. CommeIr−∪Leftσ(k)est l’ensemble des positions utilisables dexk−1, la propriété est vraie au rangk − 1.

Soitσune dérivation, on dit queσest économe si toutes les positions deσ sont utilisables.

Définition 166

En particulier, si une dérivation est conique, l’ensemble des positions utilisables de son mot de départ est un intervalle d’après ce qui précède. On peut alors définir une dérivation économe de même graphe d’origine le mot correspondant à cet intervalle. On obtient donc la proposition suivante :

Pour toute dérivationσ, il existe une dérivation économeσ0de même pro- fondeur.

Proposition 167

Systèmes de réécriture échelonnés

Dans cette partie nous transformons les systèmes de réécriture afin de les rendre plus réguliers et ainsi simplifier le problème : on ne peut pas avoir d’arête entre deux pas de réécriture avec un écart de profondeur> 1.

Autrement dit : deux lettres avec des profondeurs différentes ne peuvent être réécrites dans le même pas de réécriture.

Par exemple le systèmeR = {aa → a}n’est pas échelonné car on peut utiliser des lettres de profondeurs différentes :a0a0a0→ a0a1→ a2.

Nous allons montrer qu’un systèmeRest dans MBmax(k)si et seulement si le

système transforméRLad est dans MBmax(2k + 1,Σ∗0)où Σ0 désigne les lettres de profondeur0.

Un système de réécritureRest dit échelonné s’il existe une fonction deΣdans Ntelle que pour tout(u, v) ∈ Ralorsf est constante sur{u[p], 1 ≤ p ≤ |u|}et pour toutp0entre1et|v|on af (v[p0]) = 1 + f (u[1]). On note alors(R, f )un système échelonné.

Définition 168

Comme nous l’avons évoqué, les systèmes échelonnés étiquettent les lettres par une valeur qui correspond à la profondeur :

Soit(R, f )un système de réécriture échelonné. Soitσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xnune dérivation telle quex0∈ f−1(0). Pour toutk ≤ netpentre1et|xk|on a :

f (xk[p]) =depthσ(k, p)

Proposition 169

Démonstration. Montrons le résultat par récurrence surk:

Initialisation : sik = 0alors la propriété est vraie car pour toutpde{1, ..., |x0|},x0[p] appartient àΣ0= f−1(0).

Hérédité : Supposons la propriété vraie pour tout entier≤ k. Soitpune position de

xk+1.

Sipn’est pas dans Rightσ(k + 1), la lettrexk[p]n’est pas réécrite par le pask + 1 donc sa profondeur est la même et la propriété est vérifiée.

Sinon,pest un élément de Rightσ(k +1)donc indexσ(k +1, p) = k+1et depthσ(k +

1, p) =depthG(σ)(k + 1) = 1 + maxi /(i ,k+1)∈EdepthG(σ)(i ). On a(i , k + 1) ∈ Esi et seule- ment s’il existe(q0, q) ∈Corrσ(i , k)tel queq0∈Rightσ(i )etq ∈Leftσ(k + 1).

Ainsi , depthσ(k + 1, p) = 1 + maxq∈Leftσ(k+1)depthG(σ)(indexkσ(q))

= 1 + maxq∈Leftσ(k+1)depthσ(k, q).

Anisi, par hypothèse de récurrence depthσ(k + 1, p) = 1 + maxq∈Leftσ(k+1)f (xk[q]).

Comme R est échelonné, f est constante sur Leftσ(k + 1) et f (xk+1[p]) = 1 +

f (xk[q])pour tout élémentpde Rightσ(k + 1)etqdans Leftσ(k + 1). Ainsi on a :

depthσ(k + 1, p) = f (xk+1[p])

Pour tout entierk, pour tout système de réécritureRil existe un système de réécriture échelonné(RLad, f )tel que :

R ∈MBmax(k) ⇔ RLad∈MBmax(2k + 1,Σ∗0)

Théorème 170

Démonstration. À tout entiern, on associe des annotations aux lettres de Σpar

Pour touti tel que0 ≤ i ≤ n on associe à toute lettrea deΣles quatre lettres distinctes — aia¯ia¯¯ia˜i

On étendra ces notations par homomorphisme (par exemplex0avecx = aab désignea0a0b0).

On associe alors àRle système de réécritureRLad(n)défini par :

RLad(n) =                  ¯ xha˜hy¯h → rh+1, ∀h < n, x, y ∈ Σ, a ∈ Σs.t.(xa y, r ) ∈ R ah→ ¯ah, ∀h ≤ n, a ∈ Σ ah→ ˜ah, ∀h ≤ n, a ∈ Σ ¯ ah→ ¯¯ah+1, ∀h < n, a ∈ Σ ¯¯ah→ ¯ah, ∀h ≤ n, a ∈ Σ (4.1)

Le systèmeRLad(n)est échelonné en posant : f (at) = f ( ¯¯at) = 2tetf ( ¯at) = f ( ˜at) =

2t + 1. On pose alorsΣi= f−1(i ). Montrons maintenant que :

R ∈MBmax(k)si et seulement siRLad(k) ∈MBmax(2k + 1,Σ∗0) Nous commençons par montrer par récurrence surnla propriétéHn:

Hn:Pour toute dérivation surRde longueurn, il existe une dérivationσ0sur

RLad(H )Hest la complexité parallèle deσtelle que :

— orig(σ0) =orig(σ)0 — |aim(σ0)| = |aim(σ)|

∀p, aim(σ0)[p] =aim(σ)[p]t avect =depthσ(n, p)

Initialisation : on an = 0, il suffit de considérerσ0définie par orig(σ0) =orig(σ)0.

Hérédité : SupposonsHnvraie pour un entier fixén.

Soits −→ng −→ dune dérivation de longueurn + 1. Par hypothèse de récurrence, comme la dérivationσ = s −→ng est de longueurn, il existe une dérivationσ0=

S −→R

LadGtelle que orig(σ

0) =

orig(σ)0,|G| = |g |etG[p] = g [p]tavect =depthσ(n, p)

pour toute position deG.

Comme g −→R d il existe une règle (l , r ) ∈ R et deux mots m et m0 tels que

g = ml m0etd = mr m0. Soitpune position dont la profondeur est maximale dans

l pours −→nR g, notonsh cette profondeur. eta cette lettre. On ag = mxa ym0et par hypothèse de récurrence,Gest de la formeM X ahY M0avecM , X , Y , M0tels que

base(M ) = m, base(M0) = m0, base(X ) = x, base(Y ) = yet la profondeur de chaque lettre deX Y est majorée parh.

Alors, pour toute lettrest qui apparait dansX ouY nous avons :

st −→ sh→ ¯sh µ −→ ¯ sh→ ¯¯sh+1 · −→ ¯¯sh+1→ ¯sh+1h−t ¯ sh

DoncG −→RLadM ¯xhahy¯hM0−→RLadM ¯xhahy¯hM

0−→

RLadM rh+1M0commexa y =

l.

SoitD = Mrh+1M0, nous avons base(D) = mr m0= d. Sipn’est pas une position de

rh+1alorsD[p] = G[p] = g [p]t= d[p]t pourt =depthσ(g [p]).

Sip est une position derh+1alors depthσ[n, p] = 1 + h etD[p] = d[p]h+1. Ce qui termine la récurrence.

Nous pouvons maintenant prouver que siRLad(n) ∈MBmax(2k + 1,Σ∗0)alorsR ∈ MBmax(k). Si on suppose le contraire, il existe une dérivation de profondeurk + 1

surRqui correspond à une dérivation surRLad(n + 1)avec une lettre étiquetée par

k + 1, donc de profondeur2k + 2d’après la proposition ci-dessus, ainsi la dérivation devrait être de profondeur au moins2k + 2.

Montrons finalement que siR ∈MBmax(n)alorsRLad(n) ∈MBmax(2n + 1,Σ∗0). Nous définissonsbase (resp. ind) qui à une des lettres de la forme at, ¯at, ˜at, ¯¯at associea(resp.t). Nous étendons ces applications en tant que morphisme de mo- noïde.

Montrons par récurrence que :

Pn: Pour toute dérivationσ0de longueurnsurRLadtelle que orig(σ0) ∈ Σ∗0, il existe une dérivationσsurRtelle que :

— base(aim(σ0)) =aim(σ)

∀p, depthσ(|σ|, p) =ind(aim(σ0)[p])

Initialisation : On choisitσavec orig(σ) = base(orig(σ0))

Hérédité : Soitσ0= S −→n

RLadG −→1RLadDune dérivation de longueurn + 1.

Par hypothèse de récurrence, il existeσ = s −→g surR telle quebase(G) = g et depthσ[|σ|, p] =ind(G[p])pour tout positionpdeG. CommeG −→RLadDil existe

M , M0, L, Rtels queM LM0= G, MRM0= D, L → R ∈ RLad

— SiL → R est de la formex¯ha˜hy¯h → rh+1alorsbase(L) → base(R) ∈ R, nous avonsbase(R) = r.

Soitd = mr m0avecm = base(M ) m0= base(M0)etl = base(L) = xa y. Comme

depuisσen ajoutant ce dernier pas de réécriture.base(aim(σ0)) =aim(σ00). Prouvons que pour chaque positionpde aim(σ00),

depthσ00[|σ00|, p] =ind(aim(σ0)[p])

Sipest une position demoum0, la lettre correspondante a été réécrite et depthσ00[|σ00|, p] =depthσ[|σ|, q]avec(q, p)inC or rσ00(|σ00| − 1, |σ|). Par ré-

currence, depthσ[|σ|, q] =ind(aim(σ0)[q])et par construction,(q, p)dans

C or rσ0(|σ0] − 1,|σ0]), donc ind(aim(σ0)[q]) =ind(aim(σ)[p]).

Sipest une position der; alors depthσ00(|σ00|, p)est égale à1plus la profon-

deur maximale dansσdes positions des lettres appartenant àl et nous obtenons le résultat par récurrence.

— Les autres cass −→Rg sont évidents.

Ainsi, siR ∈MBmax(n)alorsRLad(n) ∈MBmax(2n + 1,Σ∗0): si ce n’est pas le cas, il existe une dérivation surRLadde profondeur supérieure ou égale à2n + 2dont

l’origine est un mot deΣ∗0; alors, une lettre indexée parn + 1apparait (d’après la proposition ci-dessus), et il existe donc une dérivation de profondeurn + 1dansR, contradiction.

Dérivations standardes sur les systèmes échelonnés

Dans cette partie nous travaillons sur les dérivations standardes : si deux pas consécutifs sont orthogonaux, alors on exécute d’abord le pas le plus à gauche en premier. Plus formellement :

SoitRun système de réécriture et soitσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xn

une dérivation.σest dite standarde si pour touti on a : minRightσ(i ) ≤ maxLeftσ(i + 1)

Définition 171

SoitRun système de réécriture. Pour toute dérivationσ, il existe une dériva- tion standarde équivalente àσ.

Proposition 172

Démonstration. À toute dérivationσ = x0

p0,(u0,v0)

−→ x1...pn−1,(u−→n−1,vn−1)xn on associe une séquence finie de longueurnd’entiers par :I (σ) = (p0, p1, . . . , pn−1).

On considère l’ordre lexicographique≺surNn.

Soitσune dérivation etEl’ensemble des dérivations équivalentes àσ.

Soitσ0dansE tel queI (σ0)est minimal pour≺et soitI (σ0) = (p0, p1, . . . , pn−1). Siσ0n’est pas standarde, alors il existei tel quemaxLeftσ0(i ) < minLeftσ0(i − 1).

Donc exchi −1,i(σ)est dansE et

I (exchi −1,i(σ0)) = (p0, ..., pi −2, pi, pi −1+ |vi| − |ui|, pi +1, ..., pn).

CommemaxLeftσ0(i ) < minRightσ0(i −1)nous avonspi< pi −1, ainsiI (exchi −1,i(σ0)) ≺

I (σ), ce qui contredit la minimalité deI (σ0). standarde équivalente àσ.

Dans le cas des systèmes échelonnés, pour tout mot d’une dérivation standarde les profondeurs des lettres dont les positions sont utilisables sont de gauche à droite.

Cette propriété est fausse en général :

La dérivationg ad → g bd → f est standard mais leg deg bdest de profondeur 0donc strictement inférieure à celle dubqui est de profondeur1et pourtant les positions1et2correspondantes àg sont utilisables.

Soit R un système de réécriture échelonné. Soit σ = x0

p0,(u0,v0)

−→

x1...pn−1,(u−→n−1,vn−1)xnune dérivation standarde. Pour toutk, pour toute posi- tionpetp0dexk telles quep < p0etpetp0sont utilisables on a

depthσ(k, p) ≥depthσ(k, p0)

Proposition 173

Démonstration. Soit(N , E ) = G(σ).

Montrons d’abord le lemme suivant par récurrence surk:

Soitσ = x0

p0,(u0,v0)

−→ x1...

pn−1,(un−1,vn−1)

−→ xnune dérivation standarde

Soitk ≤ n et soitpune position dexktelle quep < minRightσ(k). Si il existe

j etπtels que(p,π) ∈Corrσ(k, j ), pour toutt tel quek ≤ t ≤ j on a p < minRightσ(t )et(p, p) ∈Corrσ(k, j )(donc,π = p).

Lemme 174

Sit = k, le lemme est vrai par hypothèse. Supposons que la propriété soit vraie pourtaveck ≤ t < j. Alors,p < maxRightσ(t )et(p, p) ∈Corrσ(k, t ).

Si (t , t + 1)n’est pas une arête de E, comme la dérivation est standarde on a maxRightσ(t ) < minLeftσ(t + 1). Alorsp < minRightσ(t + 1)et(p, p) ∈Corrσ(t , t + 1), et donc est appartient à Corrσ(k, t + 1)par hypothèse de récurrence.

Supposons maintenant que(t , t +1)est une arête deE. Comme(p, p) ∈Corrσ(k, t )

et(p,π) ∈Corrσ(k, j ),(p,π) ∈Corrσ(t , j ): commet + 1 ≤ j,p ∉Left(t + 1), par hypo- thèse de récurrencep < minRightσ(t ), et comme(t , t + 1)est une arête Rightσ(t ) ∩

Leftσ(t +1)est non vide : doncp < minLeftσ(t +1)et alorsp < minRightσ(t +1),(p, p) appartient à Corrσ(t , t + 1),et donc à Corrσ(k, t + 1).

Nous pouvons maintenant prouver la proposition par récurrence :

Initialisation : La propriété est clairement vraie pourx0.

Hérédité : Supposons la propriété vraie pourxi. Commexi −→ xi +1il existeαi,βi et (ui, vi) ∈ R tels quexi= αiuiβi etxi +1= αiviβi. Soientpetp0deux positions ables dexi +1avecp < p0.

Sip, p0sont des positions deαi ou deβi, par hypothèse de récurrence surxi la propriété est vraie.

Sip, p0sont des positions devi, elles ont même profondeur, la propriété est vraie. Sipest une position devi etp0est une position deβi,

nous avons depthσ(i +1, p) >depthσ(i , p)et depthσ(i , p0) =depthσ(i +1, p0), donc depthσ(i + 1, p) >depthσ(i + 1, p0)par hypothèse de récurrence.

Seul le cas oùpest une position deαi etp0est une position devi reste donc à étudier.

SoitB = {p | ∃p0∈Rightσ(i + 1), p < p0, putilisable,depthσ(i + 1, p0) >depthσ(i + 1, p)}. Si B est vide, la preuve est terminée. Sinon, soit p = maxB. Commep est utilisable il existeπetj tels queπ ∈Leftσ( j + 1)et on a(p,π) ∈Corrσ(i , j ). Comme

p0Right

σ(i + 1), et depthσ(i + 1, p) <depthσ(i + 1, p0)pour unp0 dans Rightσ(i ),

p n’appartient pas à Rightσ(i )et doncp < minRightσ(i ). D’après le lemme, on a

p < minRightσ( j ). Commeσest standarde , on a Leftσ( j +1)∩Rightσ( j ) 6= ;, et donc

p < maxLeftσ( j + 1).

Prouvons maintenant que pour toutt,i ≤ t ≤ j, soitp + 1n’est pas utilisable soit depthσ(t , p) <depthσ(t , p + 1). Commepest maximal dansB, la propriété est vraie pourt = i. Supposons qu’elle soit vraie pourt(t < j). Sip +1n’est pas utilisable, c’est terminé. Sinon, au past + 1, sip + 1n’a pas été utilisé, commep < minLeftσ(t + 1),

p + 1 < minLeftσ(t + 1)et depthσ(t + 1, p + 1) =depthσ[p + 1, t]. Sip + 1est réécrit, commep < minLeftσ(t +1),p +1 = minLeftσ(t +1) = minRightσ(t +1)et depthσ(t +

1, p + 1) >depthσ(t , p + 1). Dans les deux cas, depthσ(t + 1, p) <depthσ(t + 1, p + 1). Ainsi, à l’étape j, soitp +1n’est pas utilisable, soit depthσ( j , p +1) >depthσ( j , p + 1). CommeRest échelonné etp ∈Leftσ( j +1),p+1 ∉Leftσ( j +1). Ainsi, nous obtenons une contradiction etB est vide.

Ainsi, par la proposition173et165, siσest conique l’ensembleLi des positions 127

utilisables de profondeuri dexkest un intervalle. Nous montrons maintenant que la longueur de cet intervalle est≤ LLdésigne le maximum des|l |pour(l , r ) ∈ R.

Soit R un système de réécriture échelonné. Soit σ = x0

p0,(u0,v0)

−→

x1...

pn−1,(un−1,vn−1)

−→ xn une dérivation standarde et conique. Pour toutk < n et pour tout i ≤depthG(σ)(k + 1) l’ensembleLi des positions des lettres utilisables de xk de profondeuri est un intervalle de longueur < L avec

L = max(l ,r )∈R|l |.

Proposition 175

Démonstration. PremièrementLi est un intervalle d’après173et165.

Commeσest conique, seulnn’admet pas de successeur dans le graphe de dé- rivation deσ. Puisquek < nalorskadmet un successeur, i.e. il existe une position utilisableP dans Rightσ(k). Par la proposition173commePvérifie depthσ(k, P ) < i on a pour toutp ∈ Li, p < minRightσ(k).

Nous montrons qu’il existe unjtel que que le minimum deLiestminLeftσ( j +1): soit p ce minimum, comme p est utilisable il existe un couple(π, j)tel queπ ∈ Leftσ( j +1)et(p,π) ∈Corrσ(k, j ). Orp < minRightσ(k)donc d’après le Lemme174on a pour touttentreketj l’inégalitép ≤ minRightσ(t )et on aπ = pdoncp ∈Leftσ( j +

1). Montrons que cepest bien le minimum de Leftσ( j +1), c’est un intervalle d’entiers, donc sipn’est pas le minimum alorsp − 1appartient à Leftσ( j + 1). Dans ce casp − 1 est utilisable et commeRest échelonné et quepetp −1appartiennent au même Left on a depthσ( j , p) =depthσ( j , p − 1). On a montré quep < minRightσ(t )pour toutt entreketj, il en est donc de même pourp−1et donc(p−1, p−1) ∈Corrσ(k, j ), donc la profondeur ne change pas entre les motsxketxjon a : depthσ(k, p) =depthσ(k, p−1).

p − 1est donc une position dexk utilisable de profondeuri, donc appartient àLi, contradiction avec la minimalité deLi atteinte enp. Ainsi,p = minLeftσ( j + 1).

Nous montrons que les positions deLi ne sont jamais utilisées enk et j par récurrence, on sait le résultat déjà vrai pourp. Soitq ∈ Li. Pourt = kon a bien(q, q) ∈ Corr(k, t ). Supposons la propriété vraie au rangtpour t < j, montrons la au rang

t + 1. Supposons queq ∈Leftσ(t + 1), puisque(q, q) ∈Corr(k, t )on a depthσ(t , q) =

depthσ(t , k) = i, donc toute positionq0de Rightσ(t + 1)vérifie depthσ(t + 1, q0) =

i + 1, or on ap < minRightσ(t + 1)doncp < q0. Or depthσ(t + 1, p) = i <depthσ(t +

1, q0)contradiction avec la proposition173. Ainsi on aq ∉ Leftσ(t + 1)donc q < minLeftσ(t + 1)donc(q, q) ∈Corrσ(t , t + 1)et ainsi(q, q) ∈Corrσ(k, t + 1). On obtient donc que pour toute positionq deLi on aq ∉Rightσ( j ).

On a montré quemin Li= minLeftσ( j +1) ≤ maxLi< minRightσ( j ), or commeσ est standarde on aminRightσ( j ) ≤ maxLeftσ( j + 1). DoncLi strictement inclus dans Leftσ( j + 1)donc#Li< L.

Algorithme

Nous avons montré que pour toute dérivation il en existe une conique et standard de même profondeur. Nous avons aussi montré que nous pouvions nous restreindre au problème de décisionR ∈MBmax(2k + 1, f−1(0))pour un entierk et un système

échelonné(R, f ).

Dans une dérivation standarde sur un système échelonné, les positions utilisables de même profondeur dans un mot forment un intervalle.

De plus si la dérivation est conique, on peut borner la taille de ces intervalles (pour une profondeur non nulle) par la taille du systèmeRet toutes les lettres qui ne sont pas utilisables forment un préfixe du mot. Plus formellement :

Soit (R, f ) un système de réécriture échelonné, soit σ = x0

p0,(u0,v0)

−→

x1...

pn−1,(un−1,vn−1)

−→ xnune dérivation conique, économe et standard telle que orig(σ) ∈ f−1(0).

Pour tout k ≤ n, en notant m la profondeur de xk il existe des mots

d0k, d1k, ..., dmk et f1k, f2k, ... fmk tels que :xk= d0kd1k...dmk fmkfm−1k ... f1kf

k

0

— Les positions desdikne sont pas utilisables — pourk < n, si fmkfm−1k . . . fik est vide,d

k i ...d

k

m est vide.

— Les positions utilisables sont celles de fmkfm−1k ... f1kf0k si f0k est non vide, sinon celle d’un préfixe de fmkfm−1k ... f1kf

k

0 — Les positions dediket defiksont de profondeuri

— La longueur de fik pour i > 0est < L + M avecL = max(l ,r )∈R|l |et

M = max(l ,r )∈R|r |

Théorème 176

Démonstration. Nous montrons le théorème par récurrence surk.

Initialisation : Soit f00égal àx0et donc les fi0pour i>0 et lesdi0égaux au mot vide : toutes les positions def0sont utilisables car la dérivation est économe et pour toute positionpdex0nous avons depthσ(0, p) = 0.

Hérédité : Supposons la propriété vraie au rangk. Nous avonsxk

pk,(uk,vk)

−→ xk+1. Soit m = max{depth(i ), i ≤ k}.

Comme R est échelonné et comme Leftσ(k + 1) est un intervalle nous avons

uk facteur de fik ord k

i , pour un certaini. Comme toute les positions deuk sont

utilisables alorsukest un facteur de fik. Sifik= αukβalors après le pas de réécriture

nous avonsαvkβfacteur dexk+1mais toutes les positions deαsont utilisables et 129

toutes les lettres deαont une profondeur strictement inférieure à toutes les lettres devk, ce qui est impossible, doncα = ².

- Sifmkfm−1k ... fi +1k est non vide : posonsdtk+1= dtkpour touttdans0, 1, ...m,ftk+1=

ftkpour touttdans0, 1, ...mdifférent dei eti + 1,fik+1= βet fi +1k+1= fi +1k vk; alors,

xk+1= d0k+1. . . dmk+1fmk+1. . . f0k+1.

Comme la dérivation est conique, les positions dexkutilisables sont un intervalle qui ont pour préfixe fmkfm−1k ... fi −1k = fmk+1fm−1k+1... fi −1k+1non vide, donc forment un préfixe

de fmk+1fm−1k+1... f0k+1. Les positions dedik+1et de fik+1sont bien de profondeuri. Si

fmk+1fm−1k+1. . . fk+1est vide,fmkfm−1k . . . fjkl’était, doncdk+1j ...dmk+1= dkj...dmk l’est aussi. Il reste donc à montrer que la longueur de fi +1k+1, seule à avoir augmenté, est bien inférieure ou égale àL + M.

CommeLi +1est l’ensemble des positions de fi +1k nous avons| fi +1k | < Ld’après la proposition175(on a bieni qui supérieur à la profondeur dek + 1) donc| fi +1k+1| = | fi +1k vk| < L + M.

- Si fmkfm−1k ... fi +1k est vide, alorsdik...d k

ml’est aussi : on peut factoriservk enw w0 où seules les positions de w0 sont utilisables. On remarquera que comme la dé- rivation est conique,w0est nécessairement non vide, sauf éventuellement pour le dernier pas. Posonsdtk+1 = dtk pour tout t dans 0, 1, ...m sauf i + 1,di +1k+1 = w,

ftk+1= ftk pour toutt dans 0, 1, ...m différent dei eti + 1, fi +1k+1 = w0 et fik+1= β;

alorsxk+1= d0k+1. . . dik+1di +1k+1fi +1k+1fmk+1. . . f0k+1. Les propriétés sur les positions uti- lisables et les profondeurs sont vraies par définition, la dernière propriété sur les longueurs est immédiate puisquefi +1k+1≤ Met| fjk+1| ≤ L + M si j différent dei + 1.

Nous proposons maintenant un algorithme non déterministe PSPACE qui consi- dère deux entrées :

— Un système de réécriture échelonné — Un entierk

et qui renvoie Vrai s’il existe une dérivation de profondeurk + 1et Faux sinon, autrement dit qui teste siR ∉MBmax(k).

On rappelle que tout système de réécriture peut-être transformé en temps poly- nomial en un système de réécriture échelonné.

Cet algorithme non déterministe garde en mémoire un tableau de mots[ fh, ..., f1]. Qui contient les positions des lettres utilisables lors du cours de la dérivation dont chaque fi contient les lettres de profondeuri.

input :un système de réécriture échelonnéR, un entierk

1 L ← max(u,v)∈R|u|; 2 C ← (Lk+1− 1)/(L − 1); 3 h ← 0;

4 while(C > 0)and(h < k + 1) do

5 Choices← {(i , v) | 1 ≤ i ≤ h, (u, v) ∈ R, fi= u fi0, | fi +1| < L}; 6 ifmax1≤hfi< Lthen

7 ChoicesChoices∪ {(0, v), (u, v) ∈ R}; 8 if Choices is empty then

9 return False ; 10 else choose :(i , v) ∈Choices ; 11 ifi > 0then 12 fi ← fi0; 13 if(i == h)then choose : v0, v00s.t.v = v00v0; 14 fi +1← v0; 15 h ← h + 1; 16 else 17 fi +1← fi +1v; 18 C ← C − 1; 19 return(h == k + 1);

Nous utilisons le théorème176pour montrer trois points :

1. S’il existe une exécution de l’algorithme qui renvoie vrai alors il existe une dérivation de profondeurk + 1

2. S’il existe une dérivation de profondeurk + 1, alors il existe une exécution de l’algorithme qui renvoie vrai.

3. L’algorithme est PSPACE.

Premier point :

Nous montrons par invariance qu’à la fin dut-ième passage dans la boucle While : Il existe une dérivation de profondeurhde butxt avecfh... f1facteur dext et pour touti fi est non vide et toutes les lettres defi sont de profondeursi[ fh, ..., f1]est la mémoire.

- Initialisation : au0-ième passage dans la boucle, la mémoire est[], on considère tout motx0, c’est une dérivation de profondeur0dont le but admetfh... f1= ²comme facteur. au départ, on considère tout motx0, c’est une dérivation de profondeur0 dont le but admetfh... f1= ²comme facteur.

- Hérédité : supposons que nous sommes aut-ième passage de la boucle while. On suppose que nous entrons dans la boucle while, on a donch < k + 1etC > 0. Par hérédité, il existe une dérivationσt de profondeurhde la formex0→ xt= µ fh... f1µ0

[ fh, ..., f1]est la mémoire de plus chaque lettre defi est de profondeuri pour tout

i.

À la fin de la boucle on a Choices non vide sinon la branche d’exécution renvoie faux, contrairement à notre hypothèse initiale. Donc il existe(i , v)dans Choices. Par construction de Choices,(i , v)vérifie l’existence d’unutel que(u, v) ∈ Reti entre0 eth.

Siiest strictement entre0ethalors il existefi0tel quefi = u fi0: on axt= µ fh... f1µ0