15-816 Linear Logic
Lecture 19: Linear Type Theory
From a judgmental point of view, the principal judgments of logic are
A is a proposition and A is true. Understanding
proofs is critical, but the proofs themselves are not part of the
judgments. In contrast, the main judgments of a type theory are A
is a type and M is an object of type A. Alternatively we
can all these A is a proposition and M is a proof for
A. In other words, the main distinction between logic and type
theory is the internal notion of proof that is present in type theory.
The linear lambda-calculus introduced earlier is a propositional
linear type theory. In this lecture we present a first-order linear
type theory including universal and existential quantification.
We then show how to exploit the additional expressive power through
a major example, namely the formalization of the operational semantics
for our linear functional language. We can give successively more
accurate specification, from simply call-by-name to lazy evaluation.