15-317 Constructive Logic
Lecture 16: The LF Logical Framework

In this lecture we present the LF logical framework as a generalization of the logic programming language we have used thus far. In particular, LF has a strong type system and the ability to represent variable binding intrinsically. We exploit these features to give a representation of proof terms for natural deduction.

LF can also be given a logic programming interpretation and we exploit this to write a checker for proof terms, which is the main running example in this lecture. The new features used here are a form of universal quantification (which introduces new parameters into a deduction) and embedded implication (which introduces new hypotheses). Unlike Prolog, therefore, neither the set of available constructors nor the program are constant, but can change dynamically.

[ Home | Schedule | Assignments | Handouts | Software ]

Frank Pfenning