15-851 Computation and Deduction
Lecture 26: Equational Reasoning

After reasoning about termination in the previous lecture, we now apply the same techniques to reasoning about equality between programs. We take a pure fragment of Mini-ML and use the technique of logical relations to show that a type-directed algorithm is complete for determining equality between terms.

Direct applications of this results are mainly in the area of logical frameworks, since our meta-language is a refinement of the simply-typed lambda-calculus with dependencies. A generalization of this argument shows that canonical forms exist in the logical framework.

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

Frank Pfenning