25.06.2013 Views

1 transparent par page - Montefiore

1 transparent par page - Montefiore

1 transparent par page - Montefiore

SHOW MORE
SHOW LESS

Create successful ePaper yourself

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

Application<br />

Utilisons la sémantique pour démontrer que le gardien d’une boucle est<br />

toujours faux après l’exécution de la boucle.<br />

Lemme : Pour tout n ∈ N et s ∈ Σ, si evalCom(Cn, s) = s ′ = ⊥, alors<br />

evalBool(B, s ′ ) = false.<br />

Démonstration : La preuve fonctionne <strong>par</strong> induction sur n.<br />

Cas de base : C0 = diverge, il n’y a donc pas de s ′ tel que evalCom(Cn, s) = s ′<br />

et donc rien à prouver.<br />

Cas inductif : Considérons le cas n + 1. Par définition,<br />

Cn+1 = if B then (C; Cn) else skip.<br />

et donc <strong>par</strong> définition de evalcom :<br />

⎧<br />

⎨ evalCom((C; Cn), s) si evalBool(B, s) = true<br />

evalCom(Cn+1, s) = s<br />

⎩<br />

⊥<br />

si evalBool(B, s) = false<br />

sinon<br />

202

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

Saved successfully!

Ooh no, something went wrong!