5.3 Modularité et extension de la signature
5.3.4 Combinaisons non disjointes et termes infinis
Il est bien connu que la confluence n’est en général pas préservée lorsque les systèmes
peuvent partager des symboles. Dans cette section, nous tentons une explication intuitive
d’un exemple important pour comprendre les problèmes liés à la combinaison duλ-calcul
non typé et de la réécriture.
Le lemme de Hindley-Rosen dit que la confluence de la combinaison de relations de
réécriture confluentes suit de la commutation des deux relations. Dans le cas de deux
TRS algébriques à gauche R
1etR
2, les relations →
R1et→
R2commutent lorsque R
15.3 Modularité et extension de la signature
etR
2sont linéaires à gauche et qu’il n’y a pas de paire critique entre une règle de R
1et
une règle de R
2.
Théorème 5.3.9 ([Oos94] — Théorème 5.10.5 dans [Ter03]) Soient deux TRS
algébriques à gauche confluents (Ter(Σ
1,X),R
1) et (Ter(Σ
2,X),R
2). Si R
1et R
2sont
linéaires à gauche et s’il n’y pas de paire critique entre une règle de R
1et une règle de
R
2alors (Ter(Σ
1∪Σ
2,X),R
1R
2) est confluent.
L’hypothèse de linéarité à gauche ne peut être éliminée.
Exemple 5.3.10 (Exemple 8.2.1 dans [Ohl02]) Les deux règles non-linéaires
sui-vantes, issues du système7→
minusprésenté en3.1.11, induisent une relation confluente sur
Ter(Σ
minus,X) :
minusx x 7→ 0 minus S(x)x 7→ S(0) .
Par contre, si on ajoute un symbole Y
Sdéfini par la règle
Y
S7→
YSS(Y
S) ,
alors on a
minus Y
SY
S v v nnnn nnnn nnnnnn n $ $ I I I I I I I I I I I I Iminus S(Y
S)Y
S0
S(0)
Ce système est un exemple decombinaison avec constructeurs partagés: les symboles
partagés entre les deux systèmes ne sont que des constructeurs. Les combinaisons avec
constructeurs partagés sont un cas particulier de combinaisons hiérarchiques, dans
les-quelles les symboles partagés peuvent être définis dans un des deux systèmes dès lors
que toutes les définitions de symboles partagés se font dans le même système. Voir la
section 8 de [Ohl02] pour plus de détails à ce sujet.
Une manière simple de comprendre l’exemple5.3.10
1, est de voirY
Scomme
représen-tant l’« entier infini »∞, le termeminus Y
SY
Sreprésentant l’opération∞−∞qui n’est
pas définie. Essayons de voir comment Y
Sreprésente ∞. Nous tentons une explication
intuitive utilisant la notion d’arbre de Böhm pour la réécriture développée en [KOV99].
On se base sur la présentation de [Ter03].
Les arbres de Böhm de la définition 12.9.10 de [Ter03] sont paramétrés par une notion
de termes « indéfinis », qui ont tous pour arbre de Böhm l’arbre minimal ⊥. Dans notre
cas, l’identification des termes n’ayant pas de forme normale de tête convient.
1
Chapitre 5 Outils pour la confluence
Définition 5.3.11 Une forme normale de têtepour un TRS Ralgébrique à gauche est
un termet tel qu’il n’existe pas de règle l7→
Rr ni de substitution σ telles quet=lσ.
On applique la définition 12.9.10 de [Ter03] au système 7→
YS, en utilisant comme
en-semble de termes indéfinis l’enen-semble des termes n’ayant pas de forme normale de tête
pour 7→
YS. Cet ensemble est vide car tous les termes ont une forme 7→
YS-normale de
tête. De ce fait, il suit de la définition 12.9.10 de [Ter03] que l’arbre de Böhm de Y
Sest sa forme normale par réduction transfinie fortement continue, qui est unique par le
corollaire 12.8.15 de [Ter03]. À l’aide du théorème 12.2.1 de [Ter03], on peut représenter
cette forme normale par l’arbre infini suivant :
S
S
...
Notre intuition est que Y
Sreprésente l’entier infini ∞, non pas seulement en étendant
la signature Σ
minuspar une constante ∞ (ce qui aurait préservé la confluence par le
corollaire 5.3.3), mais, grâce à la règle 7→
YS, en étendant « sémantiquement » l’algèbrede termesTer(Σ
minus,X) avec des termes infinis.
C’est une manifestation du fait que bien que la confluence soit préservée par extension
de la signature (corollaire 5.3.7), elle n’est en général pas préservée par extension de
l’algèbre (par exemple par des éléments infinis).
Chapitre 6
Réécriture combinée au lambda-calcul
Nous présentons ici quelques résultats d’études systématiques sur la combinaison du
λ-calcul et de la réécriture. Nous nous concentrons sur des propriétés liées à la confluence.
Après avoir vu comment l’exemple5.3.10s’instancie avec les points fixes définissables
dans le λ-calcul, nous passons en revue les travaux de [Mül92,BTM87,BT88, BTG89,
Oka89,Dou92] sur la confluence de la combinaison du λ-calcul et de la réécriture.
Ensuite, nous nous penchons brièvement sur l’extensionnalité. Nous commençons par
un exemple dans lequel l’extensionnalité fait perdre la confluence d’un système de
ré-écriture, puis nous rappelons quelques travaux [DCK94, DCK96, Xi96]. De plus, nous
donnons une nouvelle preuve du fait que sur les termes algébriques, la conversion
exten-sionnelle est une extension conservative de la conversion de la réécriture algébriquement
typée dans le système F, résultat dû à [BTG89,BTG94] pour le système Fà la Church.
Notre preuve a l’avantage de ne pas utiliser de termes en forme normaleβη-longue et de
fonctionner avec le système F à la Curry.
En particulier cela montre, que bien que possiblement non confluente, la combinaison
de la réécriture confluente et algébriquement typé au système F extensionnel engendre
une conversion consistante.
6.1 Confluence de la réécriture et du lambda-calcul
Comme montré par J.W. Klop dans sa thèse [Klo80], l’ajout d’un système de réécriture
confluent mais non-linéaire à gauche au λ-calcul non typé peut résulter en un système
non confluent. Un exemple très simple est présenté dans [BTM87]. Il peut être vu comme
une variation sur l’exemple 5.3.10, dans laquelle le système 7→
YSest implanté par le
combinateur de point fixeY
Sduλ-calcul, présenté en 3.2.10.
Chapitre 6 Réécriture combinée au lambda-calcul
pas confluente surΛ(Σ):
minusY
SY
S w w nnnn nnnn nnnn nnn $ $ I I I I I I I I I I I I Iminus S(Y
S)Y
S0
S(0)
Nous renvoyons à la section 5.3.4 pour une tentative d’interprétation de cet exemple
à l’aide des arbres de Böhm de [KOV99]. Nous considérons deux moyens de s’en sortir :
— restreindre les règles de réécriture,
— restreindre laβ-réduction.
Dans le document
Définitions par réécriture dans le lambda-calcul : confluence, réductibilité et typage
(Page 110-114)