15-851 Computation and Deduction
Lecture 25: Termination
It turns out that in Mini-ML, the fixpoint constructor is the only
source of non-termination. We verify this by showing that every fixpoint-free
well-typed program has a value. This property persists when we add
subtyping, intersection types, and polymorphism, even though significantly
more programs can be typed.
The proof proceeds by constructing a (unary) logical relation, a
very important proof technique in the theory of lambda-calculi and
programming languages.
[ Home
| Schedule
| Assignments
| Handouts
| Software
| Overview
]
fp@cs
Frank Pfenning
|