• Aucun résultat trouvé

Terminaison des syst`emes de r´e´ecriture

On trouve dans [HL78, Dau89] des preuves du fait que les syst`emes de r´e´ecriture

sont en fait Turing-complets. Cela signifie que r´epondre `a la question du probl`eme de

la terminaison des syst`emes de r´e´ecriture dans le cas g´en´eral est ind´ecidable car il se

r´eduit au probl`eme de la halte des machines de Turing. N´eanmoins, il existe des classes

de syst`emes de r´e´ecriture sur lesquels le probl`eme de la terminaison devient d´ecidable.

Nous allons ici pr´esenter dans les grandes lignes ces cas de figure et pr´esenter des

m´ethodes permettant de prouver la terminaison des syst`emes de r´e´ecriture quand

cela est possible.

Propri´et´e 1.6.1(Ind´ecidabilit´e du probl`eme de la terminaison). Le probl`eme suivant

est en g´en´eral ind´ecidable : ´Etant donn´e un syst`eme de r´e´ecritureR, est-ce que toutes

les r´eductions partant de tous les termes sont de longueur finie ?

Nous allons maintenant pr´esenter des propri´et´es qui impliquent la terminaison des

syst`emes de r´e´ecriture.

1.6.1 Les ordres de r´eduction

Comme discut´e dans la section concernant les syst`emes abstraits de r´eduction,

montrer que la relation de r´e´ecriture satisfait le principe d’induction bien fond´ee

suffit `a montrer que cette relation est terminante. Une premi`ere fa¸con de montrer

qu’un syst`eme de r´e´ecriture termine consiste `a trouver un ordre strict>sur T(Σ, X)

qui v´erifie le principe d’induction bien fond´ee.

Soit une relation de r´e´ecriture R, supposons qu’il existe un ordre strict > sur

T(Σ, X) qui satisfait le principe d’induction bien fond´ee, si pour toutt→

R

s on at >

s alors R termine. Cette premi`ere fa¸con de prouver la terminaison pr´esente l’´enorme

inconv´enient de requ´erir le test pour l’ensemble des couples t →

R

s, potentiellement

infini.

Heureusement, il existe d’autres fa¸cons de v´erifier que le syst`eme de r´e´ecriture R

termine, qui recqui`erent seulement la v´erification de la propri´et´e l

k

> r

k

pour tout

l

k

→r

k

∈ R. Une de ces fa¸cons consiste `a mettre en ´evidence l’existence d’un ordre

de r´e´ecriture.

D´efinition 1.6.1 (Ordre de r´e´ecriture). Soit Σ une signature et X un ensemble

d´enombrable de variables. Un ordre strict sur T(Σ, X) est un ordre de r´e´ecriture si

et seulement si cet ordre est :

– compatible avec les Σ-op´erations,

– clos par substitution.

D´efinition 1.6.2 (Ordre de r´eduction). Un ordre > de r´e´ecriture est un ordre de

r´eduction si et seulement s’il est terminant.

La recherche d’un ordre de r´eduction est motiv´ee par le r´esultat suivant,

Th´eor`eme 1.6.1. Un syst`eme de r´e´ecritureR termine si et seulement si il existe un

ordre de r´eduction > satisfaisant l > r pour toute r`egle l →r ∈R.

1.6.2 M´ethode d’interpr´etation

Les m´ethodes d’interpr´etation sont classiquement utilis´ees pour montrer la

termi-naison de syst`eme de r´e´ecriture. `A la place de construire un ordre v´erifiant le principe

d’induction bien fond´ee sur l’ensemble des termes T(Σ, X), ces m´ethodes ´etudient le

comportement de l’image de ces termes par une famille de fonctions ´evaluant les

termes vers un ensemble o`u il existe un ordre bien fond´e.

D´efinition 1.6.3. Soit A une Σ-alg`ebre non vide et soit > un ordre strict et bien

fond´e surA le support de A. Soit >

A

la relation binaire d´efinie par

s >

A

t ssiπ(s)> π(t)

pour tout homomorphisme π:T(Σ, X)→ A.

On a la stabilit´e par substitution car>

A

est d´efinie pour toute les valuation

pos-sibles des variables. Afin d’ˆetre conforme avec la notion de stabilit´e par Σ-op´erations,

il est n´ecessaire que toutes les interpr´etations des symboles de fonction v´erifient la

propri´et´e de monotonie suivante :

D´efinition 1.6.4 (Monotonie d’une fonction pour un ordre). Soit > un ordre strict

sur l’ensemble A. Une fonction F : A

n

→ A est dite monotone pour l’ordre > si et

seulement si l’implication

a > b⇒F(a

1

, . . . , a

i−1

, a, a

i+1

, . . . , a

n

)> F(a

1

, . . . , a

i−1

, b, a

i+1

, . . . , a

n

)

est v´erifi´ee pour touti, 1≤i≤n et pour tout a, b, a

1

, . . . , a

i1

, a

i+1

, . . . , a

n

∈A

n+1

.

Th´eor`eme 1.6.2. Soit A et > satisfaisant les propri´et´e de la d´efinition 1.6.3. Si

l’interpr´etation f

A

de toute fonction f ∈ Σ est monotone pour l’ordre > alors >

A

est un ordre de r´eduction sur T(Σ, X).

Ce th´eor`eme permet de trouver des conditions permettant de construire des

in-terpr´etations telles que l’ordre induit par cette interpr´etation est un ordre

d’interpr´e-tation. Au rang des m´ethodes d’interpretations, on peut citer les m´ethodes

d’inter-pr´etations polynomiales.

D´efinition 1.6.5 (Interpr´etation polynomiale). Soit Σ une signature. Une

interpr´e-tation polynomiale de Σ est une Σ-alg`ebreA qui v´erifie les propri´et´es :

– Le support deA est inclus dans N− {0},

– Toute fonction f ∈ Σ

n

d’arit´e n est associ´ee `a un polynˆome P

f

(X

1

, . . . , X

n

) ∈

N[X

1

, . . . , X

n

]. L’interpr´etation polynomiale de f dans A est l’´evaluation de la

L’ordre > sur les entiers naturels, qui est bien fond´e, est habituellement utilis´e.

Comme le support A d’une Σ-alg`ebre A est clos sous Σ-op´erations alors le support

A d’une interpr´etation polynomiale est clos par l’´evaluation des polynˆomes P

f

. En

d’autres termes pour tout f ∈Σ et a

1

, . . . , a

n

∈ A

n

on a P

f

(a

1

, . . . , a

n

) ∈A. Il n’est

pas possible de d´efinir un ordre de simplification juste en associant `a chaque symbole

de fonctionf un polynˆomeP

f

et en fixant un supportAd’entiers strictement positifs,

il faut ´egalement pouvoir garantir que l’´evaluation des polynˆomes est clos dans A.

Exemple 1.6.1 ([BN98]). Posons Σ = {⊕,⊙}, une signature compos´ee de deux

fonctions d’arit´e 2. Soit A=N− {0,1}. Si on pose

P

:= 2X+Y + 1

P

:= XY

et on associe P

`a ⊕ etP

`a⊙ alors l’interpr´etation polynomiale sur A satisfait

A

(m, n) := 2m+n+ 1

A

(m, n) := m×n

L’application associant les symboles de fonctions aux polynˆomes s’´etend de la

mani`ere suivante : Pour un t contenant n variables x

1

, . . . , x

n

, on va construire un

polynˆome P

t

`a n variables X

1

, . . . , X

n

. Par exemple, l’interpr´etation polynomiale

pr´esent´ee ci-dessus associe le termet =x⊙(x⊕y) avec le polynˆome suivant :

P

t

= P

(X, P

(X, Y))

= X(2X+Y + 1)

= 2X

2

+XY +X.

Remarque 1.6.1. Dans le cas g´en´eral, les interpr´etations polynomiales ne sont pas

forc´ement monotones pour l’ordre strict>.

On va d´efinir des conditions sur les polynˆomes qui nous permettront de construire

des interpr´etations «polynomiales monotones», c’est-`a-dire une mani`ere d’associer

`a un terme une fonction polynomiale qui sera monotone. Cette d´emarche permet de

construire des ordres dits polynomiaux utilis´es pour effectuer la preuve de terminaison

de certains syst`emes de r´e´ecritures, tels que celui pr´esent´e dans l’exemple 1.6.1.

D´efinition 1.6.6 (Polynˆome monotone). Un polynˆome P ∈ N[X

1

, . . . , X

n

] est dit

monotone s’il existe au moins une occurrence –non nulle– de chaque variableX

i

dans

ce polynˆome avec X

i

apparaissant `a un exposant sup´erieur ou ´egal `a 1.

D´efinition 1.6.7 (Interpr´etation polynomiale monotone). Une interpr´etation

poly-nomiale monotone est une interpr´etation polypoly-nomiale pour laquelle tous les symboles

de fonction sont des polynˆomes monotones.

Ces interpr´etation polynomiales ont une propri´et´e qui nous int´eresse

particuli`ere-ment :

Lemme 1.6.1. Toutes les fonctions f

A

d’une interpr´etation polynomiale monotone

sont monotone.

`

A partir de ce dernier lemme et du th´eor`eme 1.6.2 on montre que l’ordre>

A

induit

par une interpr´etation polynomiale monotone est un ordre de r´eduction.

D´efinition 1.6.8 (Ordre polynomial). Un ordre polynˆomial est un ordre induit par

une interpr´etation polynomiale monotone.

Cet ordre permet bien entendu de comparer des termes. SoitP, Q∈N[X

1

, . . . , X

n

].

On note P >

A

Q si P(a

1

, . . . , a

n

)> Q(a

1

, . . . , a

n

) pour tout vecteur a

1

, . . . , a

n

∈A

n

.

Lemme 1.6.2. l >

A

r si et seulement si P

l

>

A

P

r

.

Nous allons utiliser cet ordre de r´eduction dans le cadre d’une application pratique.

Exemple 1.6.2. Montrons que le syst`eme de r´e´ecriture

R :=

x⊙(y⊕z) → (x⊙y)⊕(x⊙z)

(x⊕y)⊕z → x⊕(y⊕z)

termine en utilisant l’interpr´etation polynomiale pr´esent´ee dans l’exemple 1.6.1.

Po-sonsP

l1

le polynˆome associ´e au membre gauche de la premi`ere r`eglel

1

:=x⊙(y⊕z)

etP

r1

le polynˆome associ´e au membre droit de l

1

. Calculons P

l1

etP

r1

,

P

l1

= X(2Y +Z + 1) = 2XY +XZ+X

P

r1

= 2XY +XZ + 1.

Rappelons que nous avions fix´e l’ensemble support A `a N−0,1 et que pour tout

(a

1

, a

2

)∈A

2

nous avons P

l1

(a

1

, a

2

)> P

r1

(a

1

, a

2

), ce implique P

l1

>

A

P

l2

.

De mˆeme, consid´eronsP

l2

etP

r2

les polynˆomes respectivement associ´es au membre

gauche et au membre droit de la r`egle de r´e´ecriturel

2

:=x⊕(y⊕z). Le calcul de ces

deux polynˆomes

P

l2

= 4X+ 2Y +Z+ 3

P

r2

= 2X+ 2Y +Z+ 2,

montre bien que sur A on a bien P

l2

>

A

P

r2

qui est v´erifi´ee. Les deux r´esultats

pr´ec´edents montrent quel

1

>

A

r

1

ainsi quel

2

>

A

r

2

. Cela est suffisant pour montrer

1.6.3 Les ordres de simplification

Une seconde m´ethode de preuve de terminaison consiste `a construire ce qu’on va

appeler des ordres de simplification. Parmi ceux-ci, certains sont utilis´es pour prouver

de fa¸con automatique la terminaison de syst`emes de r´e´ecriture, comme l’ordre«KBO,

pour Knuth-Bendix Order» et «RPO, pour Recursive Path Order».

D´efinition 1.6.9 (Ordre de simplification). Soit Σ une signature etX un ensemble

infini mais d´enombrable de variables. Un ordre strict > sur T(Σ, X) est un ordre de

simplification si > est d’une part un ordre de r´e´ecriture et d’autre part satisfait la

propri´et´e suivante :

Pour tout terme t∈T(Σ, X) et toute position p∈ Pos(t)− {ǫ}, on a t > t|

p

.

On appelle cette derni`ere propri´et´e la «propri´et´e de sous-terme».

Lemme 1.6.3. Un ordre de r´e´ecriture est un ordre de simplification si pour tout

n ≥ 1, tout symbole de fonction f ∈ Σ

n

, toutes variables x

1

, . . . , x

n

∈ X

n

et tout

i∈N on a f(x

1

, . . . , x

i

, . . . , x

n

)> x

i

.

Nous ne d´etaillerons pas d’avantage la description des ordres de simplification car

nous ne les avons pas utilis´e dans cette th`ese. N´eanmoins, on ne pouvait omettre de

les mentionner dans un travail d´edi´e `a l’´etude de la terminaison de certains syst`emes

de r´e´ecriture.

Documents relatifs