15-851 Computation and Deduction
Lecture 12: Bisimulation
After finishing the proof of the progress theorem, we discuss how to
prove the correctness of optimizations, such as the one in Exercise 2.12
that prevents re-evaluation of values. This is the simplest example of
a change of language and therefore a particularly easy case of
compilation. This is also a particlarly simple example of a
bisimulation, since the computations before and after optimization can
simulate each other.
The correctness proof requires parametric and hypothetical judgments
and the corresponding substitution properties, and we show how they
can be represented in Twelf.
This lecture given by Brigitte Pientka.