On Intuitionistic Linear Logic - Microsoft Research
On Intuitionistic Linear Logic - Microsoft Research
On Intuitionistic Linear Logic - Microsoft Research
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Chapter 1<br />
Introduction<br />
1 Background<br />
An important problem in theoretical computer science is discovering logical foundations of programming<br />
languages. Such foundations provide programmers with techniques for reasoning logically<br />
rather than informally about their programs and not only tells implementors precisely what they are<br />
trying to implement but also enables them to reason formally about possible optimizations. <strong>On</strong>e of<br />
the most fruitful methods used to explore such logical foundations has been to utilize a fascinating<br />
relationship between various typed λ-calculi, constructive logics and structures, or models, from<br />
category theory. Despite their apparent independence, various work has shown how these areas are<br />
related.<br />
<strong>Logic</strong> with typed λ-calculi. Curry [23, Section 9E] and Howard [41] noticed that an axiomatic<br />
formulation of <strong>Intuitionistic</strong> <strong>Logic</strong> (IL) corresponds to the type scheme for (S,K) combinatory<br />
logic. It was also noted that the natural deduction formulation for the (⊃, ∧)-fragment of<br />
minimal logic corresponds to the typing rules for the simply typed λ-calculus with pairs.<br />
More importantly, the notion of normalization for minimal logic corresponds to the notion of<br />
reduction of the λ-terms. This relationship is known as the ‘propositions-as-types analogy’ or<br />
the Curry-Howard correspondence.<br />
Category theory with logic. Lambek [48, 49, 50] first showed how formal deductions for propositional<br />
logics could be given in a categorical framework. In particular he considered the<br />
relationship between intuitionistic (propositional) logic and cartesian closed categories. Lawvere<br />
[54] showed how these techniques could be extended to handle predicate logics by considering<br />
more powerful categorical structures.<br />
Category theory with typed λ-calculi. Given the relationship between logic and typed λcalculi,<br />
Lambek was able to show how category theory could give a semantics for typed λcalculi;<br />
this is demonstrated for various calculi in his book with Scott [52]. Curien, along with<br />
co-workers, has shown how this semantics can be seen to suggest an abstract machine: the<br />
categorical abstract machine [21]. This idea has been used to provide a complete compiler for<br />
a dialect of ML [72].<br />
These relationships can be pictured as<br />
Typed λ-calculus Constructive <strong>Logic</strong><br />
❅ ❅❅❅❅ <br />
Categorical Model.<br />
The exciting aspect of these relationships is not just that the three areas are related but that certain<br />
concepts within them are related also, as shown below.<br />
<strong>Logic</strong> Typed λ-calculus Categorical Model<br />
Proposition Type Object<br />
Proof Term Morphism<br />
Normalization Reduction Equality of morphisms<br />
1