15-816 Linear Logic
This homework consists of two exercises. One is mandatory, the other is optional.
Write a linear Twelf program to determine if a purely functional Mini-ML expression, (see course notes [under preparation]) is recursion-free and at the same time
Since only one branch in a case statement will be taken during evaluation, a bound variable must occur exactly once in each branch in a linear expression, may occur at most once in each branch in an affine expression, and must occur at least once in each branch in a relevant expression.
Define your judgments and rules, the representation function into LLF, show adequacy, and program your solution in linear Twelf.
Extend your solution from Exercise 1 to full Mini-ML with references. Expressions assigned to reference cells cannot contain free variables for any of the three properties to hold.