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