15816 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 nondeterminism as in the specification of focussed proofs
by Andreoli.
We discuss several examples in some detail. We begin with a
representation of finite automata, contextfree 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 destinationpassing 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
