15-816 Linear Logic

Lecture 18: Linear Logic Programming

Functional programming arises from the lambda-calculus by fixing an evaluation strategy. Logic programming arises from the sequent calculus by fixing a proof search strategy. This proof search strategy is characterized by goal-directed search, focussed use of assumptions, and the interpretation of atomic goals as procedure calls.

In this lecture we develop the fragment of linear logic for which the operational interpretation is sound and weakly complete. The resulting language Lolli due to Hodas and Miller has a number of interesting features which allows logic programming with state. We explore these features through two examples: a simple database and a solitaire game.

References



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


Frank Pfenning
fp@cs