• Aucun résultat trouvé

Confluence sur les termes faiblement normalisants

6.2 Consistance de la réécriture algébrique extensionnelle

7.1.2 Confluence sur les termes faiblement normalisants

c, et par hypothèse d’induction il existe~c

tels

que~

Rjo i

~c

β

~c. Or, commeRest semi-clos, les termes de~csont algébriques donc

β-normaux. On a donc ~

Rjo i

~c, d’oùlσ

Rjo i+1

.

7.1.2 Confluence sur les termes faiblement normalisants

Nous nous intéressons maintenant aux systèmes qui ne satisfont pas les conditions de

linéarité gauche et de semi-clôture.

Le résultat principal de cette section, le théorème 7.1.16, s’inscrit dans la lignée des

travaux de Dougherty [Dou92], et plus précisément du théorème 6.1.17. On veut obtenir

une propriété similaire à celle énoncée au lemme 6.1.16, c’est-à-dire :

t

β∪R jo // β

u

β

βnf(t)

Rjo / /

βnf(u)

(7.2)

Outre l’adaptation à la réécriture conditionnelle, notre apport principal est un

affaiblisse-ment notable des hypothèses du théorème : au lieu de manipuler uniqueaffaiblisse-ment des termes

7.1 Confluence de la béta-réduction avec la réécriture conditionnelle

fortement β-normalisants qui respectent une arité compatible avec le système de

réécri-ture, nous travaillons avec des termes faiblement β-normalisants, dont seules les formes

β-normales sont supposées respecter l’arité du système de réécriture.

Comme remarqué à l’exemple7.1.1, les combinateurs de point fixe duλ-calcul mettent

en défaut la commutation de

β

avec

Rjo

lorsque que les règles utilisent des tests

d’égalité entre des termes ouverts. Lorsque l’on se restreint aux termes faiblement β

-normalisants, on peut projeter la réécriture sur les formes β-normales, et ainsi éliminer

les points fixes dès lors qu’ils ne sont pas utiles à la réduction.

Pour cela, on utilise les propriétés suivantes.

— Tout d’abord, les formes β-normales doivent être stables par réécriture. On

sup-pose donc que les membres droits sont algébriques et on ne considère que des

termes et des règles qui respectent une fonction d’arité applicativea:Σ→N(voir

définition6.1.11).

On suppose de plus que les conditions sont algébriques. Ainsi, étant données une

règle ~d = ~c l 7

R

r et deux substitutions σ, σ

telles que σ

= βnf(σ), on a

βnf(lσ) =lσ

,βnf(rσ) =rσ

,βnf(~) =~

etβnf(~cσ) =~cσ

.

— Ensuite, on a besoin deβ-réductions normalisantes qui commutent avec la

réécri-ture. Pour cela on utilise la β-réduction normale, qui donne la forme β-normale

d’un terme lorsqu’elle existe (théorème3.2.9).

Commençons par étendre la notion de TRS avec arité applicative à la réécriture

condi-tionnelle.

Définition 7.1.7 (Système conditionnel avec arité applicative) Soit a :Σ→ N.

On dit d’une règle conditionnelle ~d=~cl7→r,

— qu’elle respecte faiblementa si let r respectent a et si

l=f(t

1

, . . . , t

n

)t

n+1

. . . t

n+m

avec m=a(f) ,

— qu’ellerespecte a si elle respecte faiblementa et si les termes de~d,~c respectenta.

Un système conditionnel Rrespecte (faiblement) a si toutes ses règles respectent

(faible-ment) a.

Comme vu en 6.1.14, en présence de règles effondrantes, les termes ne respectant

pas d’arité applicative compatible avec les règles de réécriture peuvent faire perdre la

confluence.

Cependant, nous ne nous limitons pas aux termes stables. Si un terme a une formeβ

-normale sans être fortementβ-normalisant, alors la β-réduction normale n’évalue jamais

ses sous-termes non normalisants. De ce fait, ils peuvent ne pas être stables sans pour

autant empêcher la projection de la réécriture sur les formes β-normales.

Définition 7.1.8 Soita:Σ→N. On désigne par AN

a

l’ensemble des termes de WN

β

dont la forme β-normale respectea.

Par le théorème3.2.9, la réduction normale

n

est bien fondée surAN

a

. Dans notre

preuve nous utilisons cette propriété de manière indirecte. En effet, nous avons besoin

d’une induction sur

n

, mais aussi de pouvoir accéder aux sous-termes. Ceci est formalisé

Chapitre 7 Réécriture conditionnelle combinée au lambda-calcul

dans la relation≻

h

, définie en7.1.9, qui conjugueβ-réduction de tête et accessibilité des

sous-termes. La bonne fondaison de ≻

h

sur AN

a

, prouvée au lemme 7.1.11, repose sur

la bonne fondaison de

n

surAN

a

.

L’autre point clef de la preuve est le fait que lesβ-réductions de tête commutent bien

avec la réécriture algébrique à gauche (lemme7.1.14), voir par exemple [BFG97].

Rappelons que par le lemme 3.2.6, toutλ-terme est, récursivement, sous une des trois

formes suivantes :

λx

1

. . . x

p

.(λx.t)ut

1

. . . t

n

(a)

λx

1

. . . x

p

.x t

1

. . . t

n

(b)

λx

1

. . . x

p

.f(t

1

, . . . , t

n

)t

n+1

. . . t

n+m

(c)

oùn, m, p≥0,x∈ X etf∈Σ

n

. Nous définissons une relation sur Λ(Σ) qui utilise cette

notation desλ-termes ainsi que la relation sous-terme sur lesλ-termes définie en1.2.20.

Comme noté en1.2.21, cette relation ne préserve pas les classes d’α-équivalence.

Rappelons que si t ∈ L(Σ) alors [t] est la classe d’α-équivalence de t et que par

convention, on désigne[x]parx. Toutt∈Λ(Σ)peut donc être écrit sous la formet= [t

]

avec t

∈ L(Σ). De plus, sur Λ(Σ), les abstractions sont représentées par les fonctions

λx._:Λ(Σ)→Λ(Σ) définies en1.2.12comme suit :

λx.[t

1

] ={λy.u

1

| u

1

[y7→z] =

α

t

1

[x7→z]pour toutz∈ X sauf un nombre fini} .

Définition 7.1.9 On dénote par≻

h

la plus petite relation surΛ(Σ) telle que

λx

1

. . . x

p

.(λx.[t])[u][t

1

]. . .[t

n

] ≻

h

λx

1

. . . x

p

.[t][[u]/x][t

1

]. . .[t

n

] (a)

λx

1

. . . x

p

.x[t

1

]. . .[t

n

] ≻

h

[t

i

] (b)

λx

1

. . . x

p

.f([t

1

], . . . ,[t

n

]) [t

n+1

]. . .[t

n+m

] ≻

h

[t

j

] (c)

oùn, m, p≥0, x∈ X, f∈Σ

n

,i∈{1, . . . , n}, et j∈{1, . . . , n+m}.

Remarque 7.1.10 Soientt

1

, . . . , t

n

, u

1

, . . . , u

n

∈ L(Σ)eti∈{1, . . . , n}. On peut avoir

λx

1

. . . x

p

.x t

1

. . . t

n

=

α

λy

1

. . . y

p

.y u

1

. . . u

n

avec u

i

6=

α

t

i

.

Comme

λx

1

. . . x

p

.x[t

1

]. . .[t

n

]

≻h w w oooo oooo oooo oooo ≻h ' ' O O O O O O O O O O O O O O O O

[t

i

] [u

i

]

il s’en suit que≻

h

peut ne pas respecter les classes d’α-équivalence. Le problème est le

même que celui évoqué en1.2.15. Par exemple, on a

x ≺

h

[λx.x] ≻

h

y .

7.1 Confluence de la béta-réduction avec la réécriture conditionnelle

Lemme 7.1.11 Si t≻

h

u et t∈ WN

β

alors u∈ WN

β

. De plus, ≻

h

est bien fondée

sur WN

β

.

Preuve. Pour le premier point, on raisonne par cas sur t, en utilisant le lemme3.2.6.

t=λ~x.(λx.[v])[w][t

1

]. . .[t

n

]. Dans ce cas, on a t →

n

u, d’où u ∈ WN

β

par le

théo-rème 3.2.9.

t=λ~x.x[t

1

]. . .[t

n

]. Dans ce cas, il existeλ~x.y u

1

∈u

n

∈ L(Σ)eti∈{1, . . . , n} tels que

u= [u

i

]avec

λ~y.y u

1

. . . u

n

=

α

λ~x.x t

1

. . . t

n

.

Donct=λ~y.y[u

1

]. . .[u

n

]et[u

i

]∈ WN

β

cart∈ WN

β

.

t=f([t

1

], . . . ,[t

n

]) [t

n+1

]. . .[t

n+m

]. Idem.

Montrons maintenant la bonne fondaison de ≻

h

sur WN

β

. Étant donné t ∈ WN

β

,

on écrit n(t) pour désigner le nombre de pas dans la réduction normale issue de t. On

montre, en utilisant le lemme 3.2.6, quet≻

h

uimplique (n(t),|t|)>

lex

(n(u),|u|) pour

tout t∈ WN

β

.

t=λ~x.(λv)w t

1

. . . t

n

. Dans ce cas t→

n

udonc n(t)> n(u).

t=λ~x.x t

1

. . . t

n

. Dans ce cas on an(t)≥n(u) et|t|>|u|.

t=λ~x.f(t

1

, . . . , t

n

)t

n+1

. . . t

n+m

. Idem.

Notre preuve préservation de la confluence repose sur une notion de réécriture parallèle

emboîtée pour la réécriture conditionnelle, inspirée de la relation utilisée dans [Dou92].

C’est une réduction à la Tait et Martin-Löf : de la même manière que ⊲

β

, elle permet

de réduire en un pas des rédexes emboîtés les uns dans les autres. Notons que ce n’est

pas la réduction parallèle utilisée dans le lemme 5.1.3.

Nous définissons les parallélisations emboîtées de manière générale pour la réécriture

X-R-conditionnelle. Cela facilite grandement l’extension des résultats de cette section à la

réécritureβ-conditionnelle, que nous traitons en7.2.2. Les propriétés énoncées en7.1.13et

en7.1.14sont valables pour toutes les parallélisations emboîtées de relations de réécriture

X-R-conditionnelle surΛ(Σ).

Définition 7.1.12 (Parallélisation emboitée) Soit R un système conditionnel sur

Λ(Σ),

R

une relation de réécriture sur Λ(Σ) et X∈{se, jo, o}. Pour tout i∈{1, . . . , n},

on dénote par ⊲

R(R)X

i

la clôture parallèle de la plus petite relation sur Λ(Σ) vérifiant la

règle suivante :

(⊲R)

~

d=~c⊃l7→

R

r lσ→

R(R)X i

rσ σ⊲

R(R)X i

θ

lσ⊲

R(R)X i

La relation⊲

R(R)X

i

est laparallélisation emboîtéede la relation de réécriture R

-condition-nelle

R(R)X

i

.

Rappelons que, dans le cas de la réécriture par joignabilité,lσ→

R(R)jo i+1

rσprovient de

~

dσ↓

R(R)jo

i

~cσ. De plus,σ⊲

R(R)X

i

θdit queσetθon même domaine et queσ(x)⊲

R(R)X i

θ(x)

Chapitre 7 Réécriture conditionnelle combinée au lambda-calcul

Proposition 7.1.13 Pour tout i≥0, on a

(i)

R(R)X i

⊆ ⊲

R(R)X i

⊆ →

R(R)X i

,

(ii) [t⊲

R(R)X i

u ∧ v⊲

R(R)X i

w] =⇒ v[t/x]⊲

R(R)X i

w[u/x].

Preuve.

(i) Par induction sur la définition de ⊲

R(R)X i

.

(ii) On raisonne par induction surv⊲

R(R)X

i

w.

(⊲Var). Dans ce cas,v=w=y∈ X. Siy=xalorsv[t/x] =t⊲

R(R)X

i

u=w[u/x],

et sinon v[t/x] =y⊲

R(R)X

i

y=w[u/x].

(⊲Abs), (⊲App), (⊲Symb). Par hypothèse d’induction.

(⊲R). Dans ce cas, il existe une règle ~d = ~c l 7

R

r et deux substitutions σ

et θ telles que v = lσ, w = rθ, lσ →

R(R)X

i

rσ et σ⊲

R(R)X

i

θ. Il s’en suit

quelσ[t/x]→

R(R)X

i

rσ[t/x], et, par hypothèse d’induction, on aσ[t/x]⊲

R(R)X i

θ[u/x], d’oùlσ[t/x]⊲

R(R)X

i

rθ[u/x].

La propriété7.1.13.(ii)est caractéristique des parallélisations emboîtées. Elle ne serait

pas satisfaite par les clôtures parallèles directes

kR(R)X

i

au sens de 2.3.5. Notons que

comme⊲

R(R)X

i

est réflexive,

t ⊲

R(R)X

i

u =⇒ v[t/x] ⊲

R(R)X

i

v[u/x].

Laβ-réduction de tête commuteen un pasavec la réécriture algébrique à gauche. Cela

a déjà été remarqué dans [BFG97] pour la réécriture non conditionnelle. Rappelons que

par la définition 4.1.1, les membres gauches des règles de réécriture conditionnelle sont

algébriques.

Lemme 7.1.14 Pour tout i ≥ 0 et tout t, u, v ∈ Λ(Σ), si u ←

h

t⊲

R(R)X

i

v, alors il

existe w∈Λ(Σ) tel que u⊲

R(R)X

i

w←

h

v. En image,

t

R(R)X i / / h

v

h

u

R(R)X i / /

w

Preuve. Supposons que u ←

h

λ~x.(λy.t

0

)t

1

. . . t

n

R(R)X

i

v. Comme les règles ont des

membres droits algébriques qui ne sont pas des variables, on a v = λ~x.(λy.v

0

)v

1

. . . v

n

avec t

i

R(R)X

i

v

i

pour tout i∈ {1, . . . , n}. D’autre part, u= λ~x.t

0

[t

1

/y]t

2

. . . t

n

, et par

la proposition7.1.13.(ii)on a

λ~x.t

0

[t

1

/y]t

2

. . . t

n

R(R)X

i

λ~x.v

0

[v

1

/y]v

2

. . . v

n

en un pas. D’où u⊲

R(R)X

7.1 Confluence de la béta-réduction avec la réécriture conditionnelle

Nous prouvons maintenant (7.2) sur les termes de AN

a

et pour la réécriture

condi-tionnelle algébrique et compatible avec une fonction d’arité applicative a.

Pour touti∈{1, . . . , n}, on utilise la parallélisation emboîtée de

Rjo

i

notée ⊲

Rjo i

.

Lemme 7.1.15 Soit R un système conditionnel algébrique respectanta:Σ→N. Pour

tout i∈N,

t∈ AN

a

∧ t→

β∪Rjo i

u =u∈ AN

a

∧ βnf(t)→

Rjo i

βnf(u) (7.3)

Preuve. On raisonne par induction suri∈N. Le cas de basei=0est trivial. Supposons

que la propriété est vraie pouri≥0 et montrons-la pouri+1.

On commence par montrer que pour toutt∈ AN

a

, le diagramme suivant commute :

t

Rjo i+1 / / β

u

β

βnf(t)

Rjo i+1 / /

βnf(u)

(7.4)

On raisonne par induction sur ≻

h

en utilisant le lemme3.2.6.

t=λ~x.x t

1

. . . t

n

. Dans ce cas, βnf(t) =λ~x.x βnf(t

1

). . . βnf(t

n

) et u= λ~x.x u

1

. . . u

n

avec t

k

Rjo i+1

u

k

pour toutk∈{1, . . . , n}. Commet≻

h

t

k

, par hypothèse

d’induc-tion sur ≻

h

, on a u

k

∈ AN

a

et βnf(t

k

)⊲

Rjo

i+1

βnf(u

k

). Il s’en suit queua pour

formeβ-normaleλ~x.x βnf(u

1

). . . βnf(u

n

), d’oùu∈ AN

a

etβnf(t)⊲

Rjo

i+1

βnf(u).

t=f(t

1

, . . . , t

n

)t

n+1

. . . t

n+m

. Siu= f(u

1

, . . . , u

n

)u

n+1

. . . u

n+m

et t

k

Rjo i+1

u

k

pour

toutk∈{1, . . . , n+m}, alors on raisonne comme dans le cas précédent.

Sinon, il y a une règle~d=~cl7

R

ret deux substitutions σetθtelles que

t=λ~x.lσ·t

n+k

. . . t

n+m

et u=λ~x.rθ·u

n+k

. . . u

n+m

avec lσ→

Rjo i+1

rσ,σ⊲

Rjo i+1

θett

p

Rjo i+1

u

p

pour tout p∈{n+k, . . . , n+m}. On

peut supposer que Dom(σ) =FV(l).

Comme lest un terme algébrique qui n’est pas une variable, on a

βnf(t) = λ~x.lσ

βnf(t

n+k

). . . βnf(t

n+m

)

avec σ

= βnf(σ). Comme βnf(t) et R respectent a, on a k = m et βnf(t) =

λ~x.lσ

. Il s’en suit quet=λ~x.lσ et queu=λ~x.rθ.

Il reste à montrer queua une formeβ-normale, que cette formeβ-normale respecte

a et queβnf(t) =λ~x.lσ

Rjo i+1

βnf(u). Comme lest algébrique, on a lσ≻

h

σ(x)

pour tout x∈ Dom(σ). Or, pour tout x∈ Dom(σ),σ(x) a pour formeβ-normale

Chapitre 7 Réécriture conditionnelle combinée au lambda-calcul

σ⊲

Rjo i+1

θ, et il s’en suit que pour tout x∈ Dom(σ), θ(x) a une formeβ-normale

qui respecte a. On pose θ

=

def

βnf(θ). Par la proposition 6.1.12, rθ

respecte a,

donc ua pour forme β-normale λ~x.rθ

et cette formeβ-normale respecte a.

Pour conclure, il suffit donc de montrer que lσ

Rjo

i+1

. c’est à dire de montrer

que~

Rjo

i

~cσ

. Comme lσ→

Rjo i+1

rσ, il existe des termes~vtels que

~

dσ →

Rjo

i

~v ←

Rjo i

~cσ .

Par hypothèse d’induction sur i, on a donc

βnf(~)

Rjo i

βnf(~v) ←

Rjo i

βnf(~cσ)

c’est-à-dire~

Rjo

i

~cσ

, car~d et~csont faits de termes algébriques.

t=λ~x.(λx.v)wt

1

. . . t

n

. Dans ce cas, on normaliseten tête et on obtient un terme t

AN

a

de la forme (b) ou (c). En utilisant la commutation en un pas de

h

et de

Rjo

i+1

(lemme7.1.14), on obtient un termeu

tel quet

Rjo i+1

u

. Commet≻

+h

t

on peut raisonner à partir de t

comme dans les deux cas précédents.

Pour en déduire (7.3), on raisonne par induction surt→

β∪Rjo

i+1

u, en utilisant la

propo-sition7.1.13.(i). Le cas de base est trivial cart= u. Dans le cas d’induction, il existev

tel quet→

β∪Rjo i+1

v→

β∪Rjo i+1

u. Par hypothèse d’induction, on aβnf(v)→

Rjo i+1

βnf(u),

et il y a deux cas :

— sit→

Rjo i+1

v, alors on at⊲

Rjo i+1

v, d’oùβnf(t)→

Rjo i+1

βnf(v) par (7.4),

— sinont→

β

vdonc βnf(t) =βnf(v).

La préservation de la confluence est une conséquence directe de la projection de la

réécriture sur les formesβ-normales.

Théorème 7.1.16 Soit R un système conditionnel algébrique qui respecte a :Σ→ N.

Si

Rjo

est confluent surAN

a

alors

β∪Rjo

est confluent sur AN

a

.

Preuve. Soient t, u, v tels que t∈ AN

a

et u←

β∪Rjo

t→

β∪Rjo

v. En appliquant deux

fois le lemme7.1.15, on obtient βnf(u) ←

Rjo

βnf(t)→

Rjo

βnf(v) avec βnf(t), βnf(u)

etβnf(v)∈ AN

a

. On conclut par la confluence de

Rjo

surAN

a

. En image :

t

β∪Rjo % % J J J J J J J J J J J J J J β∪Rjo y y tttt tttt tttt tt β

u

β

βnf(t)

Rjo $ $ Rjo z z

v

β

βnf(u)

Rjo % %

βnf(v)

Rjo y y

w