15-816 Linear Logic
Lecture 23: Ordered Logic
As a final topic of the course, we introduce a further refinement to
linear logic by introducing an ordered hypothetical judgment. This
further restrict the use of hypotheses. In ordered logic we have two
forms of implication: one that adds a hypothesis at the right, and one
that adds a hypothesis at the left.
Ordered logic allows a more natural representation of a number
of examples, including parsing and various algorithms involving
queues and stacks. It can also be used to remove unwanted don't
care non-determinism as in the specification of focussed proofs
by Andreoli.
We discuss several examples in some detail. We begin with a
representation of finite automata, context-free grammars, and Turing
machines. The last shows that even a small fragment of multiplicative
exponential ordered logic is undecidable. Then we give an
implementation of concurrent evaluation for a small functional language
that does not require destination-passing style, and an implementation
of merge sort that can be changed to insertion sort through the change
of one connective.
[ Home
| Schedule
| Assignments
| Handouts
| Software
| Resources
]
fp@cs
Frank Pfenning
|