Lecture 3: Static and Dynamic Semantics
September 15
Proving the Safety Theorem - Given these two theorems:
- Progress - If e : t then either e value or e -> e' (for some e').
- Preservation - If e : t and e -> e' then e' : t.
... we can prove Safety - If e : t and e ->* e' then e' value or e' -> e'' (for some e'') by induction on e ->* e'.
Note from your TA: It is best if you learn that when someone asks you "how do I prove this" you get used to replying, together and in unison, "By Induction!"
Proving Preservation - we need Canonical forms lemmas
Proving Progress - we need Inversion lemmas
Note - be careful about pattern matching when we do case analysis!
$LastChangedDate: 2008-11-10 11:52:21 -0500 (Mon, 10 Nov 2008) $
$Author: rjsimmon $
$Rev: 1029 $