A DEFINITE CLAUSE VERSION 
OF CATEGORIAL GRAMMAR 
Remo Pareschi," 
Department of Computer and Information Science, 
University of Pennsylvania, 
200 S. 33 rd St., Philadelphia, PA 19104, t and 
Department of Artificial Intelligence and 
Centre for Cognitive Science, 
University of Edinburgh, 
2 Buccleuch Place, 
Edinburgh EH8 9LW, Scotland 
remo(~linc.cis.upenn.edu 
ABSTRACT 
We introduce a first-order version of Catego- 
rial Grammar, based on the idea of encoding syn- 
tactic types as definite clauses. Thus, we drop 
all explicit requirements of adjacency between 
combinable constituents, and we capture word- 
order constraints simply by allowing subformu- 
lae of complex types to share variables ranging 
over string positions. We are in this way able 
to account for constructiods involving discontin- 
uous constituents. Such constructions axe difficult 
to handle in the more traditional version of Cate- 
gorial Grammar, which is based on propositional 
types and on the requirement of strict string ad- 
jacency between combinable constituents. 
We show then how, for this formalism, parsing 
can be efficiently implemented as theorem proving. 
Our approach to encoding types:as definite clauses 
presupposes a modification of standard Horn logic 
syntax to allow internal implications in definite 
clauses. This modification is needed to account for 
the types of higher-order functions and, as a con- 
sequence, standard Prolog-like Horn logic theorem 
proving is not powerful enough. We tackle this 
* I am indebted to Dale Miller for help and advice. I 
am also grateful to Aravind Joshi, Mark Steedman, David 
x, Veir, Bob Frank, Mitch Marcus and Yves Schabes for com- 
ments and discussions. Thanks are due to Elsa Grunter and 
Amy Feh.y for advice on typesetting. Parts of this research 
were supported by: a Sloan foundation grant to the Cog- 
nitive Science Program, Univ. of Pennsylvania; and NSF 
grants MCS-8219196-GER, IRI-10413 AO2, ARO grants 
DAA29-84-K-0061, DAA29-84-9-0027 and DARPA grant 
NOOO14-85-K0018 to CIS, Univ. of Pezmsylvani& 
t Address for correspondence 
problem by adopting an intuitionistic treatment 
of implication, which has already been proposed 
elsewhere as an extension of Prolog for implement- 
ing hypothetical reasoning and modular logic pro- 
gramming. 
1 Introduction 
Classical Categorial Grammar (CG) \[1\] is an ap- 
proach to natural language syntax where all lin- 
guistic information is encoded in the lexicon, via 
the assignment of syntactic types to lexical items. 
Such syntactic types can be viewed as expressions 
of an implicational calculus of propositions, where 
atomic propositions correspond to atomic types, 
and implicational propositions account for com- 
plex types. A string is grammatical if and only 
if its syntactic type can be logically derived from 
the types of its words, assuming certain inference 
rules. 
In classical CG, a common way of encoding 
word-order constraints is by having two symmet- 
ric forms of "directional" implication, usually in- 
dicated with the forward slash / and the backward 
slash \, constraining the antecedent of a complex 
type to be, respectively, right- or left-adjacent. A 
word, or a string of words, associated with a right- 
(left-) oriented type can then be thought of as a 
right- (left-) oriented function looking for an ar- 
gument of the type specified in the antecedent. A 
convention more or less generally followed by lin- 
guists working in CG is to have the antecedent and 
the consequent of an implication respectively on 
270 
the right and on tile left of the connective. Thus, 
tile type-assignment (1) says that the ditransitive 
verb put is a function taking a right-adjacent ar- 
gulnent of type NP, to return a function taking a 
right-adjacent argument of type PP, to return a 
function taking a left-adjacent argument of type 
NP, to finally return an expression of the atomic 
type S. 
(1) put: ((b~xNP)/PP)/NP 
The Definite Clause Grammar (DCG) framework 
\[14\] (see also \[13\]), where phrase-structure gram- 
mars can be encoded as sets of definite clauses 
(which are themselves a subset of Horn clauses), 
and the formalization of some aspects of it in \[15\], 
suggests a more expressive alternative to encode 
word-order constraints in CG. Such an alterna- 
tive eliminates all notions of directionality from 
the logical connectives, and any explicit require- 
ment of adjacency between functions and argu- 
ments, and replaces propositions with first-order 
• formulae. Thus, atomic types are viewed as atomic 
formulae obtained from two-place predicates over 
string positions represented as integers, the first 
and the second argument corresponding, respec- 
tively, to the left and right end of a given string. 
Therefore, the set of all sentences of length j 
generated from a certain lexicon corresponds to 
the type S(0,j). Constraints over the order of 
constituents are enforced by sharing integer in- 
dices across subformulae inside complex (func- 
tional) types. 
This first-order version of CG can be viewed as a 
logical reconstruction of some of the ideas behind 
the recent trend of Categorial Unification Gram- 
mars \[5, 18, 20\] 1. A strongly analogous develop- 
ment characterizes the systems of type-assignment 
for the formal languages of Combinatory Logic and 
Lambda Calculus, leading from propositional type 
systems to the "formulae-as-types" slogan which is 
behind the current research in type theory \[2\]. In 
this paper, we show how syntactic types can be en- 
coded using an extended version of standard Horn 
logic syntax. 
2 Definite Clauses with In- 
ternal Implications 
Let A and ---* be logical connectives for conjunc- 
tion and implication, and let V and 3 be the univer- 
1 Indeed, Uszkoreit \[18\] mentions the possibility of en- 
coding order constraints among constituents via variables 
ranging over string positions in the DCG style. 
sal and existential quantifiers. Let A be a syntactic 
variable ranging over the set of atoms, i. e. the set 
of atomic first-order formulae, and let D and G be 
syntactic variables ranging, respectively, over the 
set of definite clauses and the set of goal clauses. 
We introduce the notions of definite clause and 
of goal clause via the two following mutually re- 
cursive definitions for the corresponding syntactic 
variables D and G: 
• D:=AIG--AIVzDID1AD2 
• G:=AIG1AG=I3~:GID~G 
We call ground a clause not containing variables. 
We refer to the part of a non-atomic definite clause 
coming on the left of the implication connective 
as to the body of the clause, and to the one on 
the right as to the head. With respect to standard 
Horn logic syntax, the main novelty in the defini- 
tions above is that we permit implications in goals 
and in the bodies of definite clauses. Extended 
Horn logic syntax of this kind has been proposed 
to implement hypothetical reasoning \[3\] and mod- 
ules \[7\] in logic programming. We shall first make 
clear the use of this extension for the purpose of 
linguistic description, and we shall then illustrate 
its operational meaning. 
3 First-order 
Categorial Grammar 
3.1 Definite Clauses as Types 
We take CONN (for "connects") to be a three- 
place predicate defined over lexical items and pairs 
of integers, such that CONN(item, i,j) holds if 
and only if and only if i = j - 1, with the in- 
tuitive meaning that item lies between the two 
consecutive string positions i and j. Then, a 
most direct way to translate in first-order logic 
the type-assignment (1) is by the type-assignment 
(2), where, in the formula corresponding to the as- 
signed type, the non-directional implication con- 
nective --, replaces the slashes. 
(2) put : VzVyYzVw\[CONN(put, y - 1, y) --* 
(NP(y, z) -- 
(PP(z, w) -- 
(NP(z, y - 1) --* 
s(=, ~o))))\] 
271 
A definite clause equivalent of tile formula in (2) 
is given by the type-assignment (3) 2 . 
(3) put: VzVyVzVw\[CONN(put, y -- 1, y) A 
NP(y, z) ^ 
PP(z, w) A 
gP(z, y - 1) --* S(x, w)\] 
Observe that the predicate CONNwill need also 
to be part of types assigned to "non-functional" 
lexical items. For example, we can have for the 
noun-phrase Mary the type-assignment (4). 
(4) Mary : Vy\[OONN(Mary, y- 1,y) .-.-* 
NP(y - 1, y)\] 
3.2 Higher-order Types and Inter- 
nal Implications 
Propositional CG makes crucial use of func- 
tions of higher-order type. For example, the type- 
assignment (5) makes the relative pronoun which 
into a function taking a right-oriented function 
from noun-phrases to sentences and returning a 
relative clause 3. This kind of type-assignment has 
been used by several linguists to provide attractive 
accounts of certain cases of extraction \[16, 17, 10\]. 
(5) which: REL/(S/NP) 
In our definite clause version of CG, a similar 
assignment, exemplified by (6), is possible, since 
• implications are allowed in the. body of clauses. 
Notice that in (6) the noun-phrase needed to fill 
the extraction site is "virtual", having null length. 
(6) which: VvVy\[CONN(which, v - 1, v) ^ 
(NP(y, y) --* S(v, y)) --* 
REL(v - 1, y)\] 
2 See \[2\] for a pleasant formal characterization of first- 
order definite clauses as type declarations. 
aFor simplicity sake, we treat here relative clauses as 
constituents of atomic type. But in reality relative clauses 
are noun modifiers, that is, functions from nouns to nouns. 
Therefore, the propositional and the first-order atomic type 
for relative clauses in the examples below should be thought 
of as shorthands for corresponding complex types. 
3.3 Arithmetic Predicates 
The fact that we quantify over integers allows 
us to use arithmetic predicates to determine sub- 
sets of indices over which certain variables must 
range. This use of arithmetic predicates charac- 
terizes also Rounds' ILFP notation \[15\], which ap- 
pears in many ways interestingly related to the 
framework proposed here. We show here below 
how this capability can be exploited to account 
for a case of extraction which is particularly prob- 
lematic for bidirectional propositional CG. 
3.3.1 Non-perlpheral Extraction 
Both the propositional type (5) and the first- 
order type (6) are good enough to describe the 
kind of constituent needed by a relative pronoun 
in the following right-oriented case of peripheral 
extraction, where the extraction site is located at 
one end of the sentence. (We indicate the extrac- 
tion site with an upward-looking arrow.) 
which \[Ishallput a book on T \] 
However, a case of non.peripheral extraction, 
where the extraction site is in the middle, such 
as 
which \[ I shall put T on the table \] 
is difficult to describe in bidirectional proposi- 
tional CG, where all functions must take left- or 
right-adjacent arguments. For instance, a solution 
like the one proposed in \[17\] involves permuting 
the arguments of a given function. Such an opera- 
tion needs to be rather cumbersomely constrained 
in an explicit way to cases of extraction, lest it 
should wildly overgenerate. Another solution, pro- 
posed in \[10\], is also cumbersome and counterintu- 
itive, in that involves the assignment of multiple 
types to wh-expressions, one for each site where 
extraction can take place. 
On the other hand, the greater expressive power 
of first-order logic allows us to elegantly general- 
ize the type-assignment (6) to the type-assignment 
(7). In fact, in (7) the variable identifying the ex- 
traction site ranges over the set of integers in be- 
tween the indices corresponding, respectively, to 
the left and right end of the sentence on which 
the rdlative pronoun operates. Therefore, such a 
sentence can have an extraction site anywhere be- 
tween its string boundaries. 
272 
(7) which : VvVyVw\[CONN(which, v - 1, v) A 
(NP(y, y) --.* S(v, w)) A 
v<yAy<w-.* 
REL(v - 1, w) \] 
Non-peripheral extraction is but one example of 
a class of discontinuous constituents, that is, con- 
stituents where the function-argument relation is 
not determined in terms of left- or right-adjacency, 
since they have two or more parts disconnected 
by intervening lexical material, or by internal ex- 
traction sites. Extraposition phenomena, gap- 
ping constructions in coordinate structures, and 
the distribution of adverbials offer other problem- 
atic examples of English discontinuous construc- 
tions for which this first-order framework seems 
to promise well. A much larger batch of simi- 
lar phenomena is offered by languages with freer 
word order than English, for which, as pointed 
out in \[5, 18\], classical CG suffers from an even 
clearer lack of expressive power. Indeed, Joshi \[4\] 
proposes within the TAG framework an attractive 
general solution to word-order variations phenom- 
ena in terms of linear precedence relations among 
constituents. Such a solution suggests a similar 
approach for further work to be pursued within 
the framework presented here. 
4 Theorem Proving 
In propositional CG, the problem of determin- 
ing the type of a string from the types of its 
words has been addressed either by defining cer- 
tain "combinatory" rules which then determine a 
rewrite relation between sequences of types, or by 
viewing the type of a string as a logical conse- 
quence of the types of its words. The first al- 
ternative has been explored mainly in Combina- 
tory Grammar \[16, 17\], where, beside the rewrite 
rule of functional application, which was already 
in the initial formulation of CG in \[1\], there are 
also tim rules of functional composition and type 
raising, which are used to account for extraction 
and coordination phenomena. This approach of- 
fers a psychologically attractive model of parsing, 
based on the idea of incremental processing, but 
causes "spurious ambiguity", that is, an almost 
exponential proliferation of the possible derivation 
paths for identical analyses of a given string. In 
fact, although a rule like functional composition 
is specifically needed for cases of extraction and 
coordination, in principle nothing prevents its use 
to analyze strings not characterized by such phe- 
nomena, which would be analyzable in terms of 
functional application alone. Tentative solutions 
of this problem have been recently discussed in 
\[12, 19\]. 
The second alternative has been undertaken in 
the late fifties by Lambek \[6\] who defined a deci- 
sion procedure for bidirectional propositional CG 
in terms of a Gentzen-style sequent system. Lam- 
bek's implicational calculus of syntactic types has 
recently enjoyed renewed interest in the works of 
van Benthem, Moortgat and other scholars. This 
approach can account for a range of syntactic phe- 
nomena similar to that of Combinatory Grammar, 
and in fact many of the rewrite rules of Combi- 
natory Grammar can be derived as theorems in 
the calculus, tIowever, analyses of cases of extrac- 
tion and coordination are here obtained via infer- 
ences over the internal implications in the types of 
higher-order functio~ls. Thus, extraction and coor- 
dination can be handled in an expectation-driven 
fashion, and, as a consequence, there is no problem 
of spuriously ambiguous derivations. 
Our approach here is close in spirit to Lambek's 
enterprise, since we also make use of a Gentzen 
system capable of handling the internal implica- 
tions in the types of higher-order functions, but 
at the same time differs radically from it, since 
we do not need to have a "specialized" proposi- 
tional logic, with directional connectives and adja- 
cency requirements. Indeed, the expressive power 
of standard first-order logic completely eliminates 
the need for this kind of specialization, and at the 
same time provides the ability to account for con- 
structions which, as shown in section 3.3.1, are 
problematic for an (albeit specialized) proposi- 
tional framework. 
4.1 An Intuitionistic Exterision of 
Prolog 
The inference system we are going to introduce 
below has been proposed in \[7\] as an extension of 
Prolog suitable for modular logic programming. A 
similar extension has been proposed in \[3\] to im- 
plement hypotethical reasoning in logic program- 
ming. We are thus dealing with what can be con- 
sidered the specification of a general purpose logic 
programming language. The encoding of a par- 
ticular linguistic formalism is but one other appli- 
cation of such a language, which Miller \[7\] shows 
to be sound and complete for intuitionistic logic, 
and to have a well defined semantics in terms of 
273 
Kripke models. 
4.1.1 Logic Programs 
We take a logic program or, simply, a program 
79 to be any set of definite clauses. We formally 
represent the fact that a goal clause G is logically 
derivable from a program P with a sequent of the 
form 79 =~ G, where 79 and G are, respectively, the 
antecedent and the succedent of the sequent. If 7 ~ 
is a program then we take its substitution closure 
\[79\] to be the smallest set such that 
• 79 c_ \[79\] 
• if O1 A D2 E \[7 ~\] then D1 E \[79\] and D2 E \[7 ~\] 
• ifVzD E \[P\] then \[z/t\]D E \[7 ~\] for all terms t, 
where \[z/t\] denotes the result of substituting 
t for free occurrences of t in D 
4.1.2 Proof Rules 
We introduce now the following proof rules, 
which define the notion of proof for our logic pro- 
gramrning language: 
(I) 79=G ifaE\[7 )\] 
(ii) 79 =~ G if G ---, A e \[7)\] 7)=~A 
(III) ~P =~ G~ A G2 
(IV) 79 = \[=/t\]c 
7~ =~ BzG 
7~U {O} =~ G 
(V) P ~ D--. G 
In the inference figures for rules (II) - (V), the 
sequent(s) appearing above the horizontal line are 
the upper sequent(s), while the sequent appearing 
below is the lower sequent. A proof for a sequent 
7 ) =~ G is a tree whose nodes are labeled with 
sequents such that (i) the root node is labeled with 
7 9 ~ G, (ii) the internal nodes are instances of one 
of proof rules (II) - (V) and (iii) the leaf nodes are 
labeled with sequents representing proof rule (I). 
The height of a proof is the length of the longest 
path from the root to some leaf. The size of a 
proof is the number of nodes in it. 
Thus, proof rules (I)-(V) provide the abstract 
specification of a first-order theorem prover which 
can then be implemented in terms of depth-first 
search, backtracking and unification like a Prolog 
interpreter. (An example of such an implemen- 
tation, as a metainterpreter on top of Lambda- 
Prolog, is given in \[9\].) Observe however that 
an important difference of such a theorem prover 
from a standard Prolog interpreter is in the wider 
distribution of "logical" variables, which, in the 
logic programming tradition, stand for existen- 
tially quantified variables within goals. Such vari- 
ables can get instantiated in the course of a Prolog 
proof, thus providing the procedural ability to re- 
turn specific values as output of the computation. 
Logical variables play the same role in the pro- 
gramming language we are considering here; more- 
over, they can also occur in program clauses, since 
subformulae of goal clauses can be added to pro- 
grams via proof rule (V). 
4.2 How Strings Define Programs 
Let a be a string a, ... an of words from a lex- 
icon Z:. Then a defines a program 79a = ra tJ Aa 
such that 
• Fa={CONN(ai,i-l,i) ll<i<n} 
• Aa={Dlai:DEZ:andl<i<n} 
Thus, Pa just contains ground atoms encoding 
the position of words in a. A a contains instead all 
the types assigned in the lexicon to words in a. We 
assume arithmetic operators for addition, subtrac- 
tion, multiplication and integer division, and we 
assume that any program 79= works together with 
an infinite set of axioms ,4 defining the compari- 
son predicates over ground arithmetic expressions 
<, _<, >, _>. (Prolog's evaluation mechanism treats 
arithmetic expressions in a similar way.) Then, 
under this approach a string a is of type Ga if and 
only if there is a proof for the sequent 7)aU.4 ::~ Ga 
according to rules (I) - (V). 
4.3 An Example 
We give here an example of a proof which deter- 
mines a corresponding type-assignment. Consider 
the string 
whom John loves 
Such a sentence determines a program 79 with 
the following set F of ground atoms: 
{ CONN(whom, O, I), 
CONN(John, I, 2), 
CONN(loves, 2, 3)} 
274 
\,Ve assume lexical type assignments such that 
the remaining set of clauses A is as follows: 
{VxVz\[CONN(whom, x - 1, x) A 
(NP(y, y) --* S(x, y)) --* 
REL(x - 1, y)\], 
gx\[CONN(John, x - 1, x) -* NP(x - 1, x)\], 
W:VyVz\[CONN(Ioves, y - 1, y) A 
NP(y, z) A NV(x, y - 1) --~ 
s(x, z)l} 
The clause assigned to the relative pronoun 
whom corresponds to the type of a higher-order 
function, and contains an implication in its body. 
Figure 1 shows a proof tree for such a type- 
assignment. The tree, which is represented as 
growing up from its root, has size 11, and height 
8. 
5 'Structural Rules 
We now briefly examine the interaction of struc. 
tural rules with parsing. In intuitionistic sequent 
systems, structural rules define ways of subtract- 
ing, adding, and reordering hypotheses in sequents 
during proofs. We have the three following struc- 
tural rules: 
• Intercha~,ge, which allows to use hypotheses 
in any order 
• Contraction, which allows to use a hypothesis 
more than once 
• Thinning, which says that not all hypotheses 
need to be used 
5.1 Programs as Unordered Sets of 
Hypotheses 
All of the structural rules above are implicit in 
proof rules (I)-(V), and they are all needed to ob- 
tain intuitionistic soundness and completeness as 
in \[7\]. By contrast, Lambek's propositional calcu- 
lus does not have any of the structural rules; for 
instance, Interchange is not admitted, since the 
hypotheses deriving the type of a given string must 
also account for the positions of the words to which 
they have been assigned as types, and must obey 
the strict string adjacency requirement between 
functions and arguments of classical CG. Thus, 
Lambek's calculus must assume ordered lists of 
hypotheses, so as to account for word-order con- 
straints. Under our approach, word-order con- 
straints are obtained declaratively, via sharing of 
string positions, and there is no strict adjacency 
requirement. In proof-theoretical terms, this di- 
rectly translates in viewing programs as unordered 
sets of hypotheses. 
5.2 Trading Contraction against 
Decidability 
The logic defined by rules (I)-(V) is in general 
undecidable, but it becomes decidable as soon as 
Contraction is disallowed. In fact, if a given hy- 
pothesis can be used at most once, then clearly the 
number of internal nodes in a proof tree for a se- 
quent 7 ~ =~ G is at most equal to the total number 
of occurrences of--*, A and 3 in 7 ~ =~ G, since these 
are the logical constants for which proof rules with 
corresponding inference figures have been defined. 
Hence, no proof tree can contain infinite branches 
and decidability follows. 
Now, it seems a plausible conjecture that the 
programs directly defined by input strings as in 
Section 4.2 never need Contraction. In fact, each 
time we use a hypothesis in the proof, either we 
consume a corresponding word in the input string, 
or we consume a "virtual" constituent correspond- 
ing to a step of hypothesis introduction deter- 
mined by rule (V) for implications. (Construc- 
tions like parasitic gaps can be accounted for by as- 
sociating specific lexical items with clauses which 
determine the simultaneous introduction of gaps of 
the same type.) If this conjecture can be formally 
confirmed, then we could automate our formalism 
via a metalnterpreter based on rules (I)-(V), but 
implemented in such a way that clauses are re- 
moved from programs as soon as they are used. 
Being based on a decidable fragment of logic, such 
a metainterpreter would not be affected by the 
kind of infinite loops normally characterizing DCG 
parsing. 
5.3 Thinning and Vacuous Abstrac- 
tion 
Thinning can cause problems of overgeneratiou, 
as hypotheses introduced via rule (V) may end up 
as being never used, since other hypotheses can be 
used instead. For instance, the type assignment 
(7) which : VvVyVw\[CONN(which, v - 1, v) A 
(gP(y, y) ~ S(v, w)) A 
v<_yAy<_w--. 
275 
U {NP(3,3)} ~ CONN(John, \],2) (If) 
T'U {NP(3,3)} = NP(I,2) PU {NP(3,3)} = NP(3,3) (III) 
P U {NP(3, 3)} ~ CONN(Ioves, 2, 3) 7 ) U {NP(3, 3)) =~ NP(1, 2) A NP(3, 3) (III) 
7 ) U {NP(3,3)} =# CONN(loves, 2,3) A NP(I,2) A NP(3, 3) (II) 
7)U {NP(3,3)} => S(1,3) 
7 ) => CONN(whom, O,1) P =~ NP(3,3) --* S(1,3) (V) 
, (ziz) 
7) =# CONN(whom, O, I) A (NP(3, 3) -- S(I, 3)) (II) 
7) ~ REL(O, 3) 
Figure h Type derivation for whom John loves 
REL(v- 1, w) \] 
can be used to account for tile well-formedness of 
both 
which \[Ishallput a book on r \] 
and 
which \[ I shall put : on the table \] 
but will also accept the ungrammatical 
which \[ I shall put a bookon the table \] 
In fact, as we do not have to use all the hy- 
potheses, in this last case the virtual noun-phrase 
corresponding to the extraction site is added to 
the program but is never used. Notice that our 
conjecture in section 4.4.2 was that Contraction 
is not needed to prove the theorems correspond- 
ing to the types of grammatical strings; by con- 
trast, Thinning gives us more theorems than we 
want. As a consequence, eliminating Thinning 
would compromise the proof-theoretic properties 
of (1)-(V) with respect to intuitionistic logic, and 
the corresponding Kripke models semantics of our 
programming language. 
There is however a formally well defined way to 
account for the ungrammaticaiity of the example 
above without changing the logical properties of 
our inference system. We can encode proofs as 
terms of Lambda Calculus and then filter certain 
kinds of proof terms. In particular, a hypothesis 
introduction, determined by rule (V), corresponds 
to a step of A-abstraction, wllile a hypothesis elim- 
ination, determined by one of rules (I)-(II), cor- 
responds to a step of functional application and 
A-contraction. Hypotheses which are introduced 
but never eliminated result in corresponding cases 
of vacuous abstraction. Thus, the three examples 
above have the three following Lambda encodings 
of the proof of the sentence for which an extraction 
site is hypothesized, where the last ungrammatical 
example corresponds to a case of vacuous abstrac- 
tion: 
• Az put(\[a book\], \[on x\], I) 
• Az put(x, \[on the table\], I) 
• Az put(\[a book\], \[on the table\], I) 
Constraints for filtering proof terms character- 
ized by vacuous abstraction can be defined in 
a straightforward manner, particularly if we are 
working with a metainterpreter implemented on 
top of a language based on Lambda terms, such as 
Lambda-Prolog \[8, 9\]. Beside the desire to main- 
tain certain well defined proof-theoretic and se- 
mantic properties of our inference system, there 
are other reasons for using this strategy instead 
of disallowing Thinning. Indeed, our target here 
seems specifically to be the elimination of vacuous 
Lambda abstraction. Absence of vacuous abstrac- 
tion has been proposed by Steedman \[17\] as a uni- 
versal property of human languages. Morrill and 
Carpenter \[11\] show that other well-formedness 
constraints formulated in different grammatical 
theories such as GPSG, LFG and GB reduce to 
this same property. Moreover, Thinning gives us 
a straightforward way to account for situations of 
lexical ambiguity, where the program defined by a 
certain input string can in fact contain hypothe- 
ses which are not needed to derive the type of the 
string. 
References 
\[1\] Bar-Hillel, Yehoslma. 1953. 
A Quasi-arithmetical Notation for Syntactic 
Description. Language. 29. pp47-58. 
\[2\] Huet, Gerard 1986. Formal Structures for 
Computation and Deduction. Unpublished 
lecture notes. Carnegie-Mellon University. 
276 
\[3\] Gabbay, D. M., and U. Reyle. 1984. N-Prolog: 
An Extension of Prolog with lIypothetical Im- 
plications. I The Journal of Logic Program- 
ruing. 1. pp319-355. 
\[4\] Joshi, Aravind. 1987. Word.order Variation 
in Natural Language Generation. In Proceed- 
ings of the National Conference on Artificial 
Intelligence (AAAI 87), Seattle. 
\[5\] Karttunen, Lauri. 1986. Radical Lexicalism. 
Report No. CSLI-86-68. CSLI, Stanford Uni- 
versity. 
\[6\] Lambek, Joachim. 1958. The Mathematics of 
Sentence Structure. American Mathematical 
Monthly. 65. pp363-386. 
\[7\] Miller, Dale. 1987. A Logical Analysis of Mod. 
ules in Logic Programming. To appear in the 
Journal of Logic Programming. 
\[8\] Miller; Dale and Gopalan Nadathur. 1986. 
Some Uses of Higher.order Logic in Com- 
putational Linguistics. In Proceedlngs of the 
24th Annual Meeting of the Association for 
Computational Linguistics, Columbia Uni- 
versity. 
\[9\] Miller, Dale and Gopalan Nadathur. 1987. A 
Logic Programming Approach to Manipulat- 
ing Formulas and Programs. Paper presented 
at the IEEE Fourth Symposium on Logic Pro- 
gramming, San Francisco. 
\[10\] Moortgat, Michael. 1987. Lambek Theorem 
Proving. Paper presented at the ZWO work- 
shop Categorial Grammar: Its Current State. 
June 4-5 1987, ITLI Amsterdam. 
\[11\] Morrill, Glyn and Bob Carpenter 1987. 
Compositionality, Implicational Logic and 
Theories of Grammar. Research Paper 
EUCCS/RP-11, University of Edinburgh, 
Centre for Cognitive Science. 
\[12\] Pareschi, Remo and Mark J. Steedman. 1987. 
A Lazy Way to Chart-parse with Categorial 
Grammars. In Proceedings of the 25th An- 
nual Meeting of the Association for Compu- 
tational Linguistics, Stanford University. 
\[13\] Pereira, Fernando C. N. and Stuart M. 
Shieber. 1987. Prolog and Natural Language 
Analysis. CSLI Lectures Notes No. 10. CSLI, 
Stanford University. 
\[14\] Pereira, Fernando C. N. and David II. D. 
Warren. 1980. Definite Clauses for Language 
Analysis. Artificial Intelligence. 13. pp231- 
278. 
\[15\] Rounds, William C. 1987. LFP: A Logic for 
Linguistic Descriptions and an Analysis of lts 
Complexity. Technical Report No. 9. The Uni- 
versity of Michigan. To appear in Computa- 
tional Linguistics. 
\[16\] Steedman, Mark J. 1985. Dependency and 
Coordination in the Grammar of Dutch and 
English. Language, 61, pp523-568 
\[17\] Steedman, Mark J. 1987. Combinatory Gram- 
mar and Parasitic Gaps. To appear in Natu- 
• rat Language and Linguistic Theory. 
\[18\] Uszkoreit, Hans. 1986. Categorial" Unification 
Grammar. In Proceedings of the 11th Inter- 
national Conference of Computational Lin- 
guistics, Bonn. 
\[19\] Wittenburg, Kent. 1987. Predictive Combina- 
tots for the Efficient Parsing of Combinatory 
Grammars. In Proceedings of the 25th An- 
nual Meeting of tile Association for Compu- 
tational Linguistics, Stanford University. 
\[20\] Zeevat, H., Klein, E., and J. Calder. 1987. An 
Introduction to Unification Categorial Gram- 
mar. In N. Haddock et al. (eds.), Edinburgh 
Working Papers in Cognitive Science, 1: Cat- 
egorial Grammar, Unification Grammar, and 
Parsing. 
277 
