## 15-816 Linear Logic |

Our linear functional language is still quite rudimentary because it lacks any non-trivial datatypes. We consider the addition of recursive types which makes it much more practical but, unfortunately, destroys the isomorphism between propositions and types. In particular, with recursive types not all computations terminate, which means that not every well-typed proof term has a normal form.

We go through some examples and also show that, without recursive
types, all computations terminate. This illustrates the important proof
technique of using a *logical relation*.

- Next: Lecture 16: ??
- Previous: Lecture 14: Linear Functional Programming
- Schedule

Frank Pfenning fp@cs