15-851 Computation and Deduction
Lecture 14: Compiler Correctness

We prove the correctness of the environment machine with respect to the original operational semantics for Mini-ML. The key lemmas require us to show that every value of the original program can be produced be a compiled program, and that every value of the compiled program can be produced by the original program---another bisimulation result.

We also discuss the complications that arise if we permit recursion into the language: either we have to be able to build recursive environments, recursive values, or store expressions as well as values in the environment.

[ Home | Schedule | Assignments | Handouts | Software | Overview ]

Frank Pfenning