Dans cette section, nous utilisons les termes de de Bruijn pour montrer que la réécriture
applicative surΛ(Σ) est le quotient par α-équivalence de la réécriture sur L(Σ) modulo
α-équivalence.
Comme nous nous focalisons sur le cas de la réécriture applicative, nous n’avons pas
besoin d’utiliser le formalisme développé dans [BKR05a] pour traiter la réécriture d’ordre
supérieur avec des indices de de Bruijn, ni d’utiliser la traduction étudiée dans [BKR05b]
de la réécriture d’ordre supérieur vers la réécriture du premier ordre modulo une théorie
équationnelle générée par un calcul de substitution.
Pour tout X∈{se, jo, o}, nous dénotons
— par→
RX4.3 Quotient de la réécriture conditionnelle par alpha-conversion
— par→
RXL
la relation de réécriture X-conditionnelle issue deRsur L(Σ),
— par→
RXdB
la relation de réécriture X-conditionnelle issue deRsurTdB(Σ).
Du fait queΛ(Σ) = (L(Σ)/=
α), il naturel de vouloir avoir
∀i∈N. [t]→
RXΛ i
[u] si et seulement si t→
RXLi
u . (4.2)
Le sens « si » ne pose pas de problèmes.
Lemme 4.3.1 Soient t, u∈ L(Σ). Pour tout i∈N,
t→
RXLi
u implique [t]→
RXΛ i
[u].
Preuve. On raisonne par induction suri∈N. On ne détaille que le cas de la réécriture
par joignabilité.
Le cas de basei=0est trivial. Soiti∈Net supposons la propriété vraie pour→
RXLi
.
Il est clair que cela implique qu’elle est vraie pour→
∗RX
Li
. Par induction surt, on montre
que t→
RXLi+1
uimplique[t]→
RXΛ i+1
[u].
t=λx.t
1. Dans ce cas, u= λx.u
1et net
1→
RXLi+1
u
1, donc par hypothèse d’induction
[t
1] →
RXΛ i+1
[u
1] et λx.[t
1] →
RXΛ i+1
λx.[u
1], ce qui conclut la démonstration car
[λx.t
1] =λx.[t
1]et[λx.u
1] =λx.[u
1].
t=t
1t
2. Si u = u
1u
2avec (t
1, t
2) →
RXLi+1
(u
1, u
2) alors on conclut directement par
hypothèse d’induction et le fait que[t
1t
2] = [t
1][t
2]et[u
1u
2] = [u
1][u
2].
Sinon, il y une règle~d=~c⊃l7→
Rrtelle quet=lσ,u=rσet il existe~v tels que
~
dσ→
∗RXLi
~vet~cσ→
∗RXLi
~v. Par hypothèse d’induction,[~d][σ]→
∗RXΛ i
~v[~c][σ]→
∗RX Λ i~v,
et on en déduit que [lσ] →
RXΛ i+1
[rσ] (rappelons que toutes les règles de R sont
supposées applicatives).
t=f(t
1, . . . , t
n). Idem.
Par contre, la propriété inverse :
[t]→
∗RXΛ
[u] implique t→
∗RXL
u
n’est pas vraie en général, même pour la réécriture non conditionnelle. Le problème
de base est qu’en présence de règles non-linéaires à gauche, la réécriture sur →
RXL
ne
commute pas avec =
α: on peut avoir t
′=
αt →
RLu sans qu’il existe u
′tel que
t
′→
RLu
′=
αu.
Exemple 4.3.2 Avec la règle non-linéaire minusx x 7→ 0, issue du système 7→
minusprésenté en 3.1.11, on a
minusλx.x λx.x
L=
αminusλx.x λy.y
0
Comme le terme minusλx.x λy.yest une forme→
L-normale, il n’existe pas de termeu
′Chapitre 4 Réécriture conditionnelle
De ce fait, lorsque
[t] →
RXΛ
[u],
il est possible que le termetne soit pas le bon représentant de [t]pour avoir t→
∗RXL
u.
Exemple 4.3.3 Comme λx.x=
αλy.y, on a
minus[λx.x] [λy.y] →
Λ0 ,
mais le termeminusλx.x λy.y est→
L-normal.
Ainsi, lorsque[t]→
RXΛ
[u], on peut au mieux espérer que
∃t
′, u
′. t=
αt
′→
RXLi
u
′=
αu .
Ceci correspond à la réécrituremodulo α-conversionsurL(Σ), au sens de [Hue80,JK86]
(voir aussi la section 2.5 de [DJ90] et la définition 2.5.1 de [Ohl02]).
Définition 4.3.4 (Réécriture modulo alpha-conversion) Soit X ∈ {se, jo, o} et R
un système conditionnel applicatif. Pour touti∈N, la relation →
RXLi/=α
⊆ L(Σ)× L(Σ)
est définie de la manière suivante :
t→
RXLi/=α
u ⇐⇒
def∃t
′, u
′. t=
αt
′→
RXLi
u
′=
αu .
Nous allons maintenant montrer que la relation→
RXL/=α
est la bonne notion de
réécri-ture surL(Σ) pour avoir une correspondance naturelle avec la réécriture sur Λ(Σ):
∀i∈N. [t]→
RXΛ i
[u] si et seulement si t→
RXLi/=α
u . (4.3)
Afin de passer de →
RXΛ
à →
RXL/=α
, il faut pouvoir choisir les bons représentants des
classes d’α-équivalence. Pour cela, les termes de de Bruijn semblent intéressants.
Exemple 4.3.5 Pour tout référentiel R, on a
(minusλx.x λy.y)
R= minus(λ0) (λ0) →
dBS(0) .
En utilisant les correspondances entreΛ(Σ),L
B(Σ)etTdB(Σ)établies à la section1.6,
nous montrons les équivalences suivantes : pour toutt, u ∈ L
B(Σ), et tout référentiel R
pourtetu,
∀i∈N . [t]→
RX Λ i[u] ⇐⇒ t
R→
RX dBiu
R⇐⇒ (t
R)
R→
RX Li(u
R)
R. (4.4)
Grâce au théorème1.6.9, il est alors aisé d’en déduire (4.3).
L’exemple4.3.5 se généralise à un système conditionnel applicatif quelconque.
Lemme 4.3.6 Soit R un ensemble de règles conditionnelles applicatives sur L(Σ) et
X∈{se, jo, o}. Soient t, u∈ L
B(Σ) et R un référentiel pour tet u. Pour tout i∈N,
[t]→
RXΛ i
[u] implique t
R→
RX4.3 Quotient de la réécriture conditionnelle par alpha-conversion
Preuve. On raisonne par induction sur i∈N.
Le cas de basei=0est trivial. Soiti∈Net supposons la propriété vraie pour→
RX Λ i.
Il est clair qu’elle est alors vraie pour →
∗RX Λ i
.
Montrons que[t]→
RXΛ i+1
[u]implique t
R→
RXdBi+1
u
R. On raisonne par induction sur t
et on ne détaille la preuve que pour la réécriture la joignabilité.
t=λx.t
1. Dans ce cas, u = λx.u
1, et comme [λx.t
1] = λx.[t
1] et [λx.u
1] = λx.[u
1],
on a [t
1] →
RXΛ i+1
[u
1]. Comme t
1, u
1∈ L
B(Σ),x /∈ BV(t
1, u
1), donc x·R est un
référentiel pourt
1etu
1. Par hypothèse d’induction, on a donct
1x·R→
RXdBi+1
u
1x·R,
d’où λt
1x·R→
RXdBi+1
λu
1x·R, et on en déduit que (λx.t
1)
R→
RXdBi+1
(λx.u
1)
Rcar
(λx.t
1)
R=λt
1x·Ret(λx.u
1)
R=λu
1x·R.
t=t
1t
2. Siu=u
1u
2avec ([t
1],[t
2])→
RXΛ i+1
([u
1],[u
2]), alors on conclut grâce à
l’hy-pothèse d’induction car [t
1t
2] = [t
1][t
2]et[u
1u
2] = [u
1][u
2].
Sinon, il existe une règle ~d = ~c ⊃ l 7→
Rr et une substitution [σ] telles que
[t] = [l][σ], [u] = [r][s] et il existe~v tels que [~d][σ] →
∗RX Λ i[~v] et [~c][σ] →
∗RX Λ i[~v].
Comme R est applicative, on a [~d][σ] = [~dσ], [~c][σ] = [~cσ], d’où, par hypothèse
d’induction sur i, (~dσ)
R↓
∗RX dBi(~cσ)
R, soit ~d(σ
R) ↓
∗RX dBi~c(σ
R) par 1.6.10.(ii). On a
donc l(σ
R)→
RX dBi+1r(σ
R), c’est-à-dire(lσ)
R→
RX dBi+1(rσ)
R.
t=f(t
1, . . . , t
n). Idem.
On passe tout aussi facilement de→
RdBà→
RL.
Lemme 4.3.7 Soit R un ensemble de règles conditionnelles applicatives sur L(Σ) et
X∈{se, jo, o}. Soient t, u∈ TdB(Σ) et R un référentiel pour t etu. Pour tout i∈N,
t→
RXdBi
u implique t
R→
RXLi
u
R.
Preuve. On raisonne par induction sur i∈N.
Le cas de basei=0 est trivial. Soiti∈Net supposons la propriété vraie pour→
RXdBi
.
Notons qu’elle est alors vraie pour →
∗RX
dBi
, la clôture réflexive et transitive de→
RXdBi
.
On montre que t→
RXdBi+1
uimplique t
R→
RXLi+1
u
R. On raisonne par induction sur t
et on ne détaille la preuve que pour la réécriture par joignabilité.
t=λt
1. Dans ce cas on a u= λu
1avec t
1→
RXdBi+1
u
1. Comme R
′=
defx
|R|+1·R est un
référentiel pour t
1et u
1, par hypothèse d’induction on a t
1R′→
RX Li+1u
1R′, d’où
λx
|R|+1.t
1R′→
RX Li+1λx
|R|+1.u
1R′. On a donc (λt
1)
R→
RX Li+1(λu
1)
Rcar
(λt
1)
R= λx
|R|+1.t
1R′et (λu
1)
R= λx
|R|+1.u
1R′.
t=t
1t
2. Si u = u
1u
2avec (t
1, t
2) →
RXdBi+1
(u
1, u
2) alors on conclut directement par
l’hypothèse d’induction car (t
1t
2)
R=t
1Rt
2Ret(u
1u
2)
R=u
1Ru
2R.
Sinon il existe une règle ~d =~c⊃ l7→
Rr et une substitution σ telles que t= lσ,
u=rσet il existe~v tels que~dσ→
∗RXdBi
~vet~cσ→
∗RXChapitre 4 Réécriture conditionnelle
sur i on obtient (~dσ)
R→
∗RX Li(~v)
Ret (~cσ)
R→
∗RX Li(~v)
R. Comme R est applicative,
par 1.6.10.(i) on a (~dσ)
R=~d(σ
R), (~cσ)
R=~c(σ
R),l(σ
R) = (lσ)
Ret r(σ
R) = (rσ)
R,
d’où (lσ)
R→
RX Li+1(rσ)
R.
t=f(t
1, . . . , t
n). Idem.
On en déduit que les équivalences (4.4) sont vérifiés sur les termes de L
B(Σ)
(c’est-à-dire satisfaisant la convention de Barendregt locale1.5.1).
Théorème 4.3.8 Soit R un ensemble de règles conditionnelles applicatives sur L(Σ)
et X ∈ {se, jo, o}. Étant donnés t, u ∈ L
B(Σ), et R un référentiel pour t et u, pour tout
i∈N, on a
[t]→
RX Λ i[u] ⇐⇒ t
R→
RX dBiu
R⇐⇒ (t
R)
R→
RX Li(u
R)
R.
Preuve. [t] →
RX Λ i[u] implique t
R→
RXdBi
u
Rpar le lemme 4.3.6, qui à son tour
im-plique (t
R)
R→
RXLi
(u
R)
Rpar le lemme 4.3.7. On en déduit [(t
R)
R] →
RX Λ i[(u
R)
R] par le
lemme4.3.1, soit[t]→
RX Λ i[u], car(t
R)
R=
αtet(u
R)
R=
αupar le théorème1.6.9.(ii).
Grâce aux termes de de Bruijn, on peut donc montrer que →
RΛest bien le quotient
de →
RL/=αpar α-équivalence. Notons que nous prouvons (4.3) sur L(Σ), bien que le
théorème4.3.8 ne concerne que les termes de L
B(Σ).
Corollaire 4.3.9 (Quotient de→
RL/=αpar =
α) SoitX∈{se, jo, o} etRun système
conditionnel applicatif. Pour tout t, u∈ L(Σ), on a
∀i∈N . [t] →
RXΛ i
[u] si et seulement si t →
RXLi/=α
u .
Preuve. Le sens « si » est le lemme 4.3.1. Montrons le sens inverse. Soientt, u∈ L(Σ)
tels que[t]→
RXΛ i
[u]. Par la proposition1.5.2.(i), il existet
′, u
′∈ L
B(Σ) tels quet
′=
αt
etu
′=
αu. On a donc[t
′]→
RXΛ i
[u
′], d’où(t
R′)
R→
RXLi
(u
R′)
Rpar le théorème4.3.8. Par le
théorème1.6.9.(ii), on a(t
R′)
R=
αt
′et(u
R′)
R=
αt
′. On en déduit quet→
RXDeuxième partie
Chapitre 5
Outils pour la confluence
Dans ce chapitre, nous présentons certains outils de base pour l’étude de la confluence.
Nous commençons par quelques rappels sur l’utilisation des relations de réécriture
paral-lèles avec les TRS orthogonaux et avec le λ-calcul.
Ensuite, nous montrons comment ces notions sont étendues à la réécriture
condition-nelle, ce qui nous permet d’aborder brièvement la différence entre confluence et confluence
par niveaux.
Enfin, nous rassemblons quelques points importants liés à la modularité, en particulier
la caractérisation de la confluence par la confluence close et un lien entre les termes infinis
et un exemple du fait que la confluence n’est en général pas préservée par combinaison
de systèmes non disjoints.
5.1 Systèmes orthogonaux et réécriture parallèle
Nous rappelons ici les formulations des preuves de confluence pour les systèmes
ortho-gonaux utilisant les relations de réécriture parallèles. Nous commençons par les TRS au
premier ordre, puis nous abordons le cas du λ-calcul.
5.1.1 Systèmes de réécriture de termes
Nous rappelons ici le résultat connu de la confluence des systèmes des réécriture
or-thogonaux au premier ordre. À notre connaissance, ce résultat a été prouvé pour la
première fois dans [Hue80]. Des propriétés plus fines sur l’espace des dérivations sont
étudiées dans [HL91] (nous ne les abordons pas ici). Pour les systèmes d’ordre supérieur,
le résultat le plus général est probablement [OR94].
Le seul obstacle possible à la confluence des systèmes de réécriture de termes est la
présence de paires critiques : quand deux membres gauches de règles peuvent se
super-poser à des positions non triviales, on peut choisir de réduire l’un ou l’autre rédex. Ce
choix peut être irréversible, et casser la confluence.
Notons, pour les TRS dénombrables, que grâce à la proposition2.4.4 on peut toujours
se ramener à un TRS dont les règles n’ont pas de variables en commun, tout en préservant
la relation de réécriture.
D’autre part, rappelons que d’après ce que l’on a vu à la section1.4, les termes
appli-catifs sur une signature Σsont générés par la grammaire :
Chapitre 5 Outils pour la confluence
oùx∈ X etf∈Σ
n. De plus, d’après la définition3.1.7, les termes algébriques sur Σsont
générés par la grammaire suivante :
t ::= x | f(t
1, . . . , t
n)t
n+1. . . t
n+m,
oùx∈ X,f∈Σ
netm≥0.
Définition 5.1.1 (Paires critiques) Soit R un TRS sur L⊆Λ(Σ) qui est algébrique
à gauche, etl7→
Rr,l
′7→
Rr
′deux règles de réécriture de Rqui n’ont pas de variables en
commun. Soit p une occurrence dans l qui n’est pas une occurrence de variable et telle
que p6= ε s’il existe un renommage ρ tel que (l, r)ρ = (l
′, r
′), et soit σ l’unificateur le
plus général de l|
pet de l
′. Alors
(l[r
′]
pσ, rσ)
est une paire critique de l 7→
Rr et l
′7→
Rr
′. Une paire critique de la forme (t, t) est
dite triviale.
Notons quel|
p,l
′|
petl[r
′]
psont bien définis car l etl
′sont algébriques. Si t= lσet
si on a une paire critique(l[r
′]pθ, rθ) pour deux règlesl7→
Rr etl
′7→
Rr
′(dans ce cas
σ=σ
′◦θ), alors on a le choix suivant pour la réduction de t:
t
% % K K K K K K K K K K K K K { { xxxx xxxx xxxr(σ
′◦θ) (l[r
′]p)(σ
′◦θ)
Ce choix peut être irréversible car rien n’assure que les termesr(σ
′◦θ) etl[r
′]p(σ
′◦θ)
soient joignables.
Les systèmes de réécriture sans paires critiques et linéaires à gauche sont dits
ortho-gonaux. Rappelons qu’un terme t est linéaire si pour tous sous-termes u, v de t à des
positions disjointes, on aFV(u)∩FV(v) =∅.
Définition 5.1.2 (Systèmes de réécriture orthogonaux) Soit un système de
réécri-tureR sur L⊆Λ(Σ). Alors, siR est algébrique à gauche, on dit que R est
(i) linéaire à gauche si lest linéaire pour tout l7→
Rr;
(ii) non ambigu (resp. faiblement non ambigu) si
— pour toutes règles l7→
Rr et l
′7→
Rr
′(pas nécessairement distinctes),
— pour tout renommage ρtel que FV(lρ, rρ)∩FV(l
′ρ, r
′ρ) =∅,
les règles(l, r)ρet(l
′, r
′)ρne forment pas de paire critique (resp. toute paire critique
entre (l, r)ρ et(l
′, r
′)ρ est triviale) ;
(iii) orthogonal (resp. faiblement orthogonal) s’il est linéaire à gauche et non ambigu
(resp. faiblement non ambigu).
La façon la plus simple de montrer la confluence des systèmes de réécriture orthogonaux
est d’utiliser une forme de réécriture parallèle. Cette technique est standard.
5.1 Systèmes orthogonaux et réécriture parallèle
Lemme 5.1.3 (Mouvements parallèles) Soit R un TRS algébrique à gauche sur
L ⊆ Λ(Σ) et →
kRla clôture parallèle de R, au sens de 2.3.5. Si R est (faiblement)
orthogonal, alors →
kRvérifie la propriété du diamant sur L.
La confluence des systèmes de réécriture orthogonaux est un résultat bien connu. À
notre connaissance, il apparaît pour la première fois dans [Hue80] (c’est le lemme 3.3 et
le corollaire suivant).
Théorème 5.1.4 Si R est un TRS algébrique à gauche sur L⊆ Λ(Σ) qui est
(faible-ment) orthogonal, alors →
Rest confluent sur L⊆Λ(Σ).
Exemple 5.1.5 Le système 7→
recprésenté à l’exemple 3.1.17.(ii) est orthogonal : ses
règles
recx y 0 7→
recx et recx yS(z) 7→
recy(recx y z)z
ne forment pas de paire critique. Par le théorème5.1.4, la relation→
recest donc confluente
sur Λ(Σ).
Remarque 5.1.6 Ce qu’on vient de faire pour les système algébriques à gauche
s’ap-plique aussi aux systèmes applicatifs à gauche. Cependant, à cause du symbole
d’appli-cation, ces systèmes peuvent comporter de nombreuses paires critiques.
Un exemple est le fait que la fonction eatde la remarque 3.1.14n’est pas stricte dans
le sens de 3.1.14. En effet, le système composé de
x·err 7→ err et eat·x 7→ eat
n’est pas confluent :
err ← eat·err → eat .
5.1.2 Lambda-calcul
Dans le cas duλ-calcul, on utilise aussi une relation de réécriture parallèle, mais
contrai-rement aux systèmes algébriques à gauche, cette relation n’est pas la clôture parallèle
de 7→
β. En effet, cette relation ne vérifie pas la propriété du diamant car des rédexes
parallèles peuvent se retrouver emboîtés après un pas de réduction.
Exemple 5.1.7 Notons →
kβpour la clôture parallèle de 7→
βau sens de 2.3.5. On a
alors
(λx.(λy.xx)Id)(Id Id)
kβ t t jjjjjj jjjjjj jjjjjj j kβ ( ( Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q Q(λy.(Id Id)(Id Id))Id (λx.xx)Id
On ne peut joindre ce pic avec un pas de→
kβcar
((λy.(Id Id)(Id Id))Id)
kβ= {(λy.(Id Id)(Id Id))Id,(Id Id)(Id Id),
(λy.Id Id)Id,(λy.(Id Id)Id)Id,(λy.Id(Id Id))Id}
Chapitre 5 Outils pour la confluence
donc
((λy.(Id Id)(Id Id))Id)
kβ∩ ((λx.xx)Id)
kβ= ∅ .
La relation deβ-réduction parallèle qui vérifie la propriété du diamant est la relation
dite de Tait et Martin-Löf.
Définition 5.1.8 (Béta-réduction parallèle) Soit⊲
βla plus petite relation de
réécri-ture parallèle surΛ(Σ) vérifiant la règle suivante :
(⊲β) t
1⊲
βu
1t
2⊲
βu
2(λx.t
1)t
2⊲
βu
1[u
2/x]
Proposition 5.1.9 Soit deux termes t, t
′et une substitutionσ.
(i) Sit⊲
βt
′alors tσ⊲
βt
′σ.
(ii) La relation⊲
βest une relation de réécriture parallèle sur Λ(Σ).
Le point(ii)du lemme suivant est crucial pour la propriété du diamant de⊲
β.
Lemme 5.1.10 Soit un termet et une substitutionσ.
(i) Siσ⊲
βσ
′alors tσ⊲
βtσ
′.
(ii) Sit⊲
βt
′etσ⊲
βσ
′alors tσ⊲
βt
′σ
′.
Nous pouvons maintenant montrer que⊲
βsatisfait la propriété du diamant.
Lemme 5.1.11 (Mouvements parallèles — [Bar84, Kri90, Tak95]) La relation
⊲
βvérifie la propriété du diamant.
On en déduit la confluence de⊲
β. Il s’en suit par le lemme5.1.12que→
βest confluente
(théorème3.2.4).
Lemme 5.1.12 →
β⊆ ⊲
β⊆ →
∗β.
Dans le document
Définitions par réécriture dans le lambda-calcul : confluence, réductibilité et typage
(Page 94-104)