2 First-order Linear Logic
Linear logic was introduced by Girard (1987) as a logic which restricts the struc-
tural rules which apply freely in classical logic. The multiplicative, intuitionis-
tic fragment of first-order linear logic (which in the following, I will call either
MILL1 or simply first-order linear logic), can be seen as a resource-conscious
version of first-order intuitionistic logic. Linear implication, written A(B,
is a variant of intuitionistic implication A⇒Bwith the additional constraint
that the Aargument formula is used exactly once. So, looking at linear logic
from the context of grammatical analysis, we would assign an intransitive verb
the formula np (s, indicating it is a formula which combines with a single np
(noun phrase) to form an s(a sentence).
Linear logic is a commutative logic. In the context of language modelling,
this means our languages are closed under permutations of the input string,
which does not make for a good linguistic principle (at least not a good univer-
sal one and a principle which is at least debatable even in languages which allow
relatively free word order). We need some way to restrict or control commuta-
tivity. The Lambek calculus (Lambek 1958) has the simplest such restriction:
we drop the structural rule of commutativity altogether. This means linear im-
plication A(Bsplits into two implications: A\B, which looks for an Ato its
left to form a B, and B/A, which looks for an Ato its right to form a B. In the
Lambek calculus, we would therefore refine the assignment to intransitive verbs
from np (sto np\s, indicating the intransitive verb is looking for a subject to
its left.
In first-order linear logic, we can choose a more versatile solution, namely
keeping the logic commutative but using first-order variables to encode word
order. We assign atomic formulas a pair of string positions: np becomes np(0,1),
meaning it is a noun phrase spanning position 0 (its leftmost position) to 1 (its
rightmost position). Using pairs of (integer) variables to represent strings is
standard in parsing algorithms. The addition of quantifiers makes things more
interesting. For example, we can assign the formula ∀x.n(3, x)(np(2, x) to
a determiner “the” which spans positions 2,3. This means it is looking for a
noun which starts at its right (that is the leftmost position of this noun is the
rightmost position of the determiner, 3) but ends at any position xto produce a
noun phrase which starts at position 2 (the leftmost position of the determiner)
and ends at position x(the rightmost position of the noun). Combined with a
noun n(3,4), this would allow us to instantiate xto 4 and produce np(2,4). In
other words, the formula given to the determiner indicates it is looking for a noun
to its right in order to produce a noun phrase, using a form of “concatenation
by instantiation of variables” which should be familiar to anyone who has done
some logic programming or who has a basic familiarity with parsing in general
(Pereira & Shieber 1987, Shieber, Schabes & Pereira 1995). Similarly, we can
assign an intransitive verb at position 1,2 the formula ∀y.np(y, 1) (s(y, 2)
to indicate it is looking for a noun phrase to its left to form a sentence, as the
Lambek calculus formula np\sfor intransitive verbs does — this correspondence
between first-order linear logic and the Lambek calculus is fully general and
3