15-816 Linear Logic
Lecture 17: Termination
The presence of recursion and unrestricted recursive types destroys
the possibility of viewing the our linear functional programming
language as arising from a pure type-theoretic view. In this lecture we
investigate how to introduce data types instead following our type-theoretic
approach.
The result will first be a reformulation of Gödel's system T of
primitive recursive functionals. In this system, every function
terminates. For the proof of this fact we will employ Tait's method
(also called the method of logical relations). This method can also
give us a direct proof of normalization for intuitionistic linear logic
without the detour through the sequent calculus, although we will not
show this proof in this course.
Based on this, we can investigate polynomial time computation via a
further restriction of the concept of primitive recursion in a linear
type-theoretic setting.
[ Home
| Schedule
| Assignments
| Handouts
| Software
| Resources
]
fp@cs
Frank Pfenning
|