15-312 Foundations of Programming Languages
Lecture 24: Program Equivalence

In this lecture we discuss notions of program equivalence. First we define observational equivalence for (pure) functional programs, then we consider the case of non-deterministic programs in the form of labelled transition systems. While in the former case it is easy to construct a well-founded definition based on evaluation and the structure of the type, in the latter case we would like to observe the behavior as given by actions. This leads to the notion of strong bisimulation.

[ Home | Schedule | Assignments | Software | Resources ]

Frank Pfenning