• Aucun résultat trouvé

Combinaisons non disjointes et termes infinis

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

1

etR

2

, les relations

R1

et

R2

commutent lorsque R

1

5.3 Modularité et extension de la signature

etR

2

sont linéaires à gauche et qu’il n’y a pas de paire critique entre une règle de R

1

et

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

1

et R

2

sont

linéaires à gauche et s’il n’y pas de paire critique entre une règle de R

1

et une règle de

R

2

alors (Ter(Σ

1

∪Σ

2

,X),R

1

R

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→

minus

pré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

S

défini par la règle

Y

S

7→

YS

S(Y

S

) ,

alors on a

minus Y

S

Y

S v v nnnn nnnn nnnnnn n $ $ I I I I I I I I I I I I I

minus S(Y

S

)Y

S

0

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

S

comme

représen-tant l’« entier infini », le termeminus Y

S

Y

S

représentant l’opération−∞qui n’est

pas définie. Essayons de voir comment Y

S

repré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→

R

r 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

S

est 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

S

représente l’entier infini , non pas seulement en étendant

la signature Σ

minus

par 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èbre

de 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→

YS

est implanté par le

combinateur de point fixeY

S

duλ-calcul, présenté en 3.2.10.

Chapitre 6 Réécriture combinée au lambda-calcul

pas confluente surΛ(Σ):

minusY

S

Y

S w w nnnn nnnn nnnn nnn $ $ I I I I I I I I I I I I I

minus S(Y

S

)Y

S

0

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.