Dan Grossman; Graduate Programming Languages; Lecture 3 Proofs Note: It is instructive to write out proofs "live" in class. Theorem: For all H and e there is exactly one c such that H;e V c. Proof: By induction on the structure of e. Case: e is a constant: Then the only rule that applies is Const. And exactly one constant, namely e, can be produced. Case: e is a variable: Then the only rule that applies is Var. And exactly one constant, namely H(e), can be produced. Case: e is e1+e2 for some e1 and e2: Then the only rule that applies is Add. And e1 and e2 are smaller expressions. So by induction there is exactly one c1 and exactly one c2 such that H;e1 V c1 and H;e2 V c2. Blue-plus produces exactly one constant for any c1 and c2. Case: e is e1*e2 for some e1 and e2: Then the only rule that applies is Mult. And e1 and e2 are smaller expressions. So by induction there is exactly one c1 and exactly one c2 such that H;e1 V c1 and H;e2 V c2. Blue-times produces exactly one constant for any c1 and c2.