15-816 Linear Logic

Assignment 6: Strictness Analysis

This homework consists of two exercises, 4.1 and 4.2. The latter did not appear at the end of Handout 11 on proof terms.

Exercise 4.1
Prove that if Gamma ; Delta |- M : A and Gamma ; Delta |- M : A' then A = A'. You do not need to show all cases, but you should show the necessary generalization of the induction hypothesis and a few critical cases.
Exercise 4.2
Design a lambda-calculus at the core of a functional language which makes strictness explict at the level of types. Your calculus should Your calculus should not contain quantifiers.
  1. Show the introduction and elimination rules for all types, including their proof terms.
  2. Give the reduction and expansions on the proof terms.
  3. State (without proof) the valid substitution principles.
  4. If possible, give a translation from types and terms in the strict lambda-calculus to types and terms in the linear lambda-calculus such that a strict lambda-term is well-typed if and only if its linear translation is well-typed (in an appropriately translated context).
  5. Either sketch the correctness proof for your translation in each direction by giving the generalization (if necessary) and a few representative cases, or give an informal argument why such a translation is not possible.


[ home | schedule | assignments | languages | handouts | overview | links ]


Frank Pfenning
fp@cs