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~dσ
′→
∗Rjo i~c
′←
∗β~c. Or, commeRest semi-clos, les termes de~csont algébriques donc
β-normaux. On a donc ~dσ
′→
∗Rjo i~c, d’oùlσ
′→
Rjo i+1rσ
′.
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 →
Rjolorsque 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→
Rr et deux substitutions σ, σ
′telles que σ
′= βnf(σ), on a
βnf(lσ) =lσ
′,βnf(rσ) =rσ
′,βnf(~dσ) =~dσ
′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=~c⊃l7→r,
— qu’elle respecte faiblementa si let r respectent a et si
l=f(t
1, . . . , t
n)t
n+1. . . t
n+mavec 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
al’ensemble des termes de WN
βdont la forme β-normale respectea.
Par le théorème3.2.9, la réduction normale →
nest 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 ≻
hsur AN
a, prouvée au lemme 7.1.11, repose sur
la bonne fondaison de→
nsurAN
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≻
hla 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
navec u
i6=
α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≻
hpeut 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] ≻
hy .
7.1 Confluence de la béta-réduction avec la réécriture conditionnelle
Lemme 7.1.11 Si t≻
hu et t∈ WN
βalors u∈ WN
β. De plus, ≻
hest 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 →
nu, 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 ≻
hsur 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≻
huimplique (n(t),|t|)>
lex(n(u),|u|) pour
tout t∈ WN
β.
t=λ~x.(λv)w t
1. . . t
n. Dans ce cas t→
nudonc 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
Λ(Σ), →
Rune relation de réécriture sur Λ(Σ) et X∈{se, jo, o}. Pour tout i∈{1, . . . , n},
on dénote par ⊲
R(R)Xi
la clôture parallèle de la plus petite relation sur Λ(Σ) vérifiant la
règle suivante :
(⊲R)
~
d=~c⊃l7→
Rr lσ→
R(R)X irσ σ⊲
R(R)X iθ
lσ⊲
R(R)X irθ
La relation⊲
R(R)Xi
est laparallélisation emboîtéede la relation de réécriture R
-condition-nelle →
R(R)Xi
.
Rappelons que, dans le cas de la réécriture par joignabilité,lσ→
R(R)jo i+1rσprovient de
~
dσ↓
R(R)joi
~cσ. De plus,σ⊲
R(R)Xi
θ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 iu ∧ v⊲
R(R)X iw] =⇒ v[t/x]⊲
R(R)X iw[u/x].
Preuve.
(i) Par induction sur la définition de ⊲
R(R)X i.
(ii) On raisonne par induction surv⊲
R(R)Xi
w.
(⊲Var). Dans ce cas,v=w=y∈ X. Siy=xalorsv[t/x] =t⊲
R(R)Xi
u=w[u/x],
et sinon v[t/x] =y⊲
R(R)Xi
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→
Rr et deux substitutions σ
et θ telles que v = lσ, w = rθ, lσ →
R(R)Xi
rσ et σ⊲
R(R)Xi
θ. Il s’en suit
quelσ[t/x]→
R(R)Xi
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)Xi
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)Xi
au sens de 2.3.5. Notons que
comme⊲
R(R)Xi
est réflexive,
t ⊲
R(R)Xi
u =⇒ v[t/x] ⊲
R(R)Xi
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 ←
ht⊲
R(R)Xi
v, alors il
existe w∈Λ(Σ) tel que u⊲
R(R)Xi
w←
hv. En image,
t
⊲R(R)X i / / hv
hu
⊲R(R)X i / /w
Preuve. Supposons que u ←
hλ~x.(λy.t
0)t
1. . . t
n⊲
R(R)Xi
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
navec t
i⊲
R(R)Xi
v
ipour 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)Xi
λ~x.v
0[v
1/y]v
2. . . v
nen un pas. D’où u⊲
R(R)X7.1 Confluence de la béta-réduction avec la réécriture conditionnelle
Nous prouvons maintenant (7.2) sur les termes de AN
aet 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→
Rjoi
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 iu =⇒ 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 ≻
hen 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
navec t
k⊲
Rjo i+1u
kpour toutk∈{1, . . . , n}. Commet≻
ht
k, par hypothèse
d’induc-tion sur ≻
h, on a u
k∈ AN
aet βnf(t
k)⊲
Rjoi+1
βnf(u
k). Il s’en suit queua pour
formeβ-normaleλ~x.x βnf(u
1). . . βnf(u
n), d’oùu∈ AN
aetβnf(t)⊲
Rjoi+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+met t
k⊲
Rjo i+1u
kpour
toutk∈{1, . . . , n+m}, alors on raisonne comme dans le cas précédent.
Sinon, il y a une règle~d=~c⊃l7→
Rret deux substitutions σetθtelles que
t=λ~x.lσ·t
n+k. . . t
n+met u=λ~x.rθ·u
n+k. . . u
n+mavec lσ→
Rjo i+1rσ,σ⊲
Rjo i+1θett
p⊲
Rjo i+1u
ppour 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σ
′→
Rjoi+1
rσ
′. c’est à dire de montrer
que~dσ
′↓
Rjoi
~cσ
′. Comme lσ→
Rjo i+1rσ, il existe des termes~vtels que
~
dσ →
∗Rjoi
~v ←
∗Rjo i~cσ .
Par hypothèse d’induction sur i, on a donc
βnf(~dσ) →
∗Rjo iβnf(~v) ←
∗Rjo iβnf(~cσ)
c’est-à-dire~dσ
′↓
Rjoi
~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
ade la forme (b) ou (c). En utilisant la commutation en un pas de →
het de
⊲
Rjoi+1
(lemme7.1.14), on obtient un termeu
′tel quet
′⊲
Rjo i+1u
′. Commet≻
+ht
′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→
∗β∪Rjoi+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+1v→
∗β∪Rjo i+1u. Par hypothèse d’induction, on aβnf(v)→
∗Rjo i+1βnf(u),
et il y a deux cas :
— sit→
Rjo i+1v, alors on at⊲
Rjo i+1v, 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→
Rjoest confluent surAN
aalors →
β∪Rjoest confluent sur AN
a.
Preuve. Soient t, u, v tels que t∈ AN
aet u←
∗β∪Rjot→
∗β∪Rjov. 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 →
RjosurAN
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 zv
β ∗βnf(u)
Rjo ∗ % %βnf(v)
Rjo ∗ y yw
Dans le document
Définitions par réécriture dans le lambda-calcul : confluence, réductibilité et typage
(Page 124-131)