Département d'Informatique |
Maîtrise d'Informatique 2001/2002 |
Spécifications formelles, preuves |
& construction de programmes |
Travaux dirigés |
Mardi 11 décembre |
axioms { vars N M : Nat eq N + 0 = N . -- axiome (1) eq N + s(M) = s(N + M) . -- axiome (2) }Démontrer (en utilisant la logique équationnelle) que:
N + M == M + N
vars L M N : Nat . L + (M + N) == (L + M) + N
N + M == M + NDans le membre gauche des axiomes (1) et (2), les constructeurs s'appliquent sur le deuxième opérande de l'addition. Avant de montrer la commutativité, on pourra montrer par induction, deux lemmes similaires à ces axiomes, mais avec les constructeurs placés sur le premier opérande.
eq N * 0 = 0 . -- axiome (3) eq N * s(M) = (N * M) + N . -- axiome (4)On suppose avoir démontré la commutativité de la multiplication
∀ n ∈ IN | . |
|
i = |
|
This document was translated from LATEX by HEVEA.