07.11.2013 Views

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

Une Boite `a Outils Pour la Preuve Formelle de Syst`emes Séquentiels

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Annexe A<br />

Terme, réécriture, forme normale et<br />

canonique<br />

Terme<br />

Considérons un ensemble dénombrable V, appelé ensemble <strong>de</strong>s symboles <strong>de</strong> variable, et<br />

les ensembles dénombrables F k pour k ≥ 0, où l’ensemble F k est appelé ensemble <strong>de</strong>s<br />

symboles <strong>de</strong> fonction d’arité k. Nous appelerons aussi F 0 l’ensemble <strong>de</strong>s constantes. A<br />

partir <strong>de</strong> ces ensembles, on définit inductivement l’ensemble <strong>de</strong>s termes T : toute variable<br />

est un terme ; soit t 1 ,...,t n <strong>de</strong>s termes et f un symbole <strong>de</strong> F n , alors f(t 1 ,...,t n ) est un<br />

terme.<br />

Substitution<br />

On appelle substitution une fonction <strong>de</strong> V dans T presque partout égale à l’i<strong>de</strong>ntité.<br />

On représente une substitution en énumérant tous les cas où elle diffère <strong>de</strong> l’i<strong>de</strong>ntité. Par<br />

définition, [x 1 ← t 1 ,...,x n ← t n ] est <strong>la</strong> substitution σ telle que σ(x k ) = t k pour 1 ≤ k ≤ n,<br />

et σ(x) = x pour x ∉ {x 1 ,...,x n }. Les substitutions seront postfixées sur leur argument.<br />

On appelle substitution élémentaire (ou remp<strong>la</strong>cement) une substitution égale à<br />

l’i<strong>de</strong>ntité sauf pour un seul élément <strong>de</strong> V. Toute substitution peut s’écrire comme <strong>la</strong><br />

composition <strong>de</strong> substitutions élémentaires. Plus précisément, il faut disposer d’un ensemble<br />

dénombrable <strong>de</strong> nouveaux symboles W disjoint <strong>de</strong> V, ce qui permet <strong>de</strong> décomposer<br />

toute substitution <strong>de</strong> (V → T ) en une composition <strong>de</strong> substitutions élémentaires prises<br />

dans ((V ∪ W) → T ). On évite ainsi les “effets <strong>de</strong> bord”. Par exemple, <strong>la</strong> substitution<br />

[x ← y,y ← x] qui échange parallèlement les variables x et y se décompose<br />

sous <strong>la</strong> forme [x ← U][y ← x][U ← y] avec U ∈ W. Celle-ci ne peut pas s’écrire<br />

[x ← z][y ← x][z ← y] avec z ∈ V, car f(x,y,z) est un terme appartenant au <strong>la</strong>ngage,<br />

et f(x,y,z)[x ← z][y ← x][z ← y] est égal à f(y,x,y), au lieu du terme f(y,x,z)<br />

escompté.<br />

Toute substitution σ s’étend en une fonction σ ∗ <strong>de</strong> T dans T : pour toute variable x,<br />

σ ∗ (x) = σ(x) ; pour un terme f(t 1 ,...,t n ), σ ∗ (f(t 1 ,...,t n )) = f(σ ∗ (t 1 ),...,σ ∗ (t n )). Dans<br />

<strong>la</strong> suite, on ne distinguera plus σ et σ ∗ . On dira que les substitutions bijectives sont <strong>de</strong>s<br />

renommages <strong>de</strong> variables.<br />

123

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!