# Categorial grammar

Categorial grammar is a family of formalisms in natural language syntax that share the central assumption that syntactic constituents combine as functions and arguments. Categorial grammar posits a close relationship between the syntax and semantic composition, since it typically treats syntactic categories as corresponding to semantic types. Categorial grammars were developed in the 1930s by Kazimierz Ajdukiewicz and in the 1950s by Yehoshua Bar-Hillel and Joachim Lambek. It saw a surge of interest in the 1970s following the work of Richard Montague, whose Montague grammar assumed a similar view of syntax. It continues to be a major paradigm, particularly within formal semantics.

## Basics

A categorial grammar consists of two parts: a lexicon, which assigns a set of types (also called categories) to each basic symbol, and some type inference rules, which determine how the type of a string of symbols follows from the types of the constituent symbols. It has the advantage that the type inference rules can be fixed once and for all, so that the specification of a particular language grammar is entirely determined by the lexicon.
A categorial grammar shares some features with the simply typed lambda calculus. Whereas the lambda calculus has only one function type $A\rightarrow B$, a categorial grammar typically has two function types, one type that is applied on the left, and one on the right. For example, a simple categorial grammar might have two function types $B/A\,\!$ and $A\backslash B$. The first, $B/A\,\!$, is the type of a phrase that results in a phrase of type $B\,\!$ when followed (on the right) by a phrase of type $A\,\!$. The second, $A\backslash B\,\!$, is the type of a phrase that results in a phrase of type $B\,\!$ when preceded (on the left) by a phrase of type $A\,\!$.
The notation is based upon algebra. A fraction when multiplied by (i.e. concatenated with) its denominator yields its numerator. As concatenation is not commutative, it makes a difference whether the denominator occurs to the left or right. The concatenation must be on the same side as the denominator for it to cancel out.
The first and simplest kind of categorial grammar is called a basic categorial grammar, or sometimes an AB-grammar (after Ajdukiewicz and Bar-Hillel). Given a set of primitive types ${\text{Prim}}\,\!$, let ${\text{Tp}}({\text{Prim}})\,\!$ be the set of types constructed from primitive types. In the basic case, this is the least set such that ${\text{Prim}}\subseteq {\text{Tp}}({\text{Prim}})$ and if $X,Y\in {\text{Tp}}({\text{Prim}})$ then $(X/Y),(Y\backslash X)\in {\text{Tp}}({\text{Prim}})$. Think of these as purely formal expressions freely generated from the primitive types; any semantics will be added later. Some authors assume a fixed infinite set of primitive types used by all grammars, but by making the primitive types part of the grammar, the whole construction is kept finite.
A basic categorial grammar is a tuple $(\Sigma ,{\text{Prim}},S,\triangleleft )$ where $\Sigma \,\!$ is a finite set of symbols, ${\text{Prim}}\,\!$ is a finite set of primitive types, and $S\in {\text{Tp}}({\text{Prim}})$.
The relation $\triangleleft$ is the lexicon, which relates types to symbols $(\triangleleft )\subseteq {\text{Tp}}({\text{Prim}})\times \Sigma$. Since the lexicon is finite, it can be specified by listing a set of pairs like $TYPE\triangleleft {\text{symbol}}$.
Such a grammar for English might have three basic types $(N,NP,{\text{ and }}S)\,\!$, assigning count nouns the type $N\,\!$, complete noun phrases the type $NP\,\!$, and sentences the type $S\,\!$. Then an adjective could have the type $N/N\,\!$, because if it is followed by a noun then the whole phrase is a noun. Similarly, a determiner has the type $NP/N\,\!$, because it forms a complete noun phrase when followed by a noun. Intransitive verbs have the type $NP\backslash S$, and transitive verbs the type $(NP\backslash S)/NP$. Then a string of words is a sentence if it has overall type $S\,\!$.
For example, take the string "the bad boy made that mess". Now "the" and "that" are determiners, "boy" and "mess" are nouns, "bad" is an adjective, and "made" is a transitive verb, so the lexicon is {$NP/N\triangleleft {\text{the}}$, $NP/N\triangleleft {\text{that}}$, $N\triangleleft {\text{boy}}$, $N\triangleleft {\text{mess}}$, $N/N\triangleleft {\text{bad}}$, $(NP\backslash S)/NP\triangleleft {\text{made}}$}.
and the sequence of types in the string is
${{\text{the}} \atop {NP/N,}}{{\text{bad}} \atop {N/N,}}{{\text{boy}} \atop {N,}}{{\text{made}} \atop {(NP\backslash S)/NP,}}{{\text{that}} \atop {NP/N,}}{{\text{mess}} \atop {N}}$
now find functions and appropriate arguments and reduce them according to the two inference rules $X\leftarrow X/Y,\;Y$ and $X\leftarrow Y,\;Y\backslash X$:
$.\qquad NP/N,\;N/N,\;N,\;(NP\backslash S)/NP,\;\underbrace {NP/N,\;N}$ $.\qquad NP/N,\;N/N,\;N,\;\underbrace {(NP\backslash S)/NP,\quad NP}$ $.\qquad NP/N,\;\underbrace {N/N,\;N} ,\qquad (NP\backslash S)$ $.\qquad \underbrace {NP/N,\;\quad N} ,\;\qquad (NP\backslash S)$ $.\qquad \qquad \underbrace {NP,\;\qquad (NP\backslash S)}$ $.\qquad \qquad \qquad \quad \;\;\;S$
The fact that the result is $S\,\!$ means that the string is a sentence, while the sequence of reductions shows that it can be parsed as ((the (bad boy)) (made (that mess))).
Categorial grammars of this form (having only function application rules) are equivalent in generative capacity to context-free grammars and are thus often considered inadequate for theories of natural language syntax. Unlike CFGs, categorial grammars are lexicalized, meaning that only a small number of (mostly language-independent) rules are employed, and all other syntactic phenomena derive from the lexical entries of specific words.
Another appealing aspect of categorial grammars is that it is often easy to assign them a compositional semantics, by first assigning interpretation types to all the basic categories, and then associating all the derived categories with appropriate function types. The interpretation of any constituent is then simply the value of a function at an argument. With some modifications to handle intensionality and quantification, this approach can be used to cover a wide variety of semantic phenomena.

## Lambek calculus

A Lambek grammar is an elaboration of this idea that has a concatenation operator for types, and several other inference rules. Mati Pentus has shown that these still have the generative capacity of context-free grammars.
For the Lambek calculus, there is a type concatenation operator $\star$, so that ${\text{Prim}}\subseteq {\text{Tp}}({\text{Prim}})$ and if $X,Y\in {\text{Tp}}({\text{Prim}})$ then $(X/Y),(X\backslash Y),(X\star Y)\in {\text{Tp}}({\text{Prim}})$.
The Lambek calculus consists of several deduction rules, which specify how type inclusion assertions can be derived. In the following rules, upper case roman letters stand for types, upper case Greek letters stand for sequences of types. A sequent of the form $X\leftarrow \Gamma$ can be read: a string is of type X if it consists of the concatenation of strings of each of the types in Γ. If a type is interpreted as a set of strings, then the ← may be interpreted as ⊇, that is, "includes as a subset". A horizontal line means that the inclusion above the line implies the one below the line.
The process is begun by the Axiom rule, which has no antecedents and just says that any type includes itself.
    ${\text{(Axiom)}}\quad { \over X\leftarrow X}$
The Cut rule says that inclusions can be composed.
    ${\text{(Cut)}}\quad {Z\leftarrow \Delta X\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta \Gamma \Delta '}$
The other rules come in pairs, one pair for each type construction operator, each pair consisting of one rule for the operator in the target, one in the source, of the arrow. The name of a rule consists of the operator and an arrow, with the operator on the side of the arrow on which it occurs in the conclusion.
    Target Source $(\backslash \leftarrow )\quad {Y\leftarrow X\Gamma \over X\backslash Y\leftarrow \Gamma }$ $(\leftarrow \backslash )\quad {Z\leftarrow \Delta Y\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta \Gamma (X\backslash Y)\Delta '}$ $(/\leftarrow )\quad {Y\leftarrow \Gamma X \over Y/X\leftarrow \Gamma }$ $(\leftarrow /)\quad {Z\leftarrow \Delta Y\Delta '\qquad X\leftarrow \Gamma \over Z\leftarrow \Delta (Y/X)\Gamma \Delta '}$ $(\star \leftarrow )\quad {X\leftarrow \Gamma \qquad Y\leftarrow \Gamma ' \over X\star Y\leftarrow \Gamma \Gamma '}$ $(\leftarrow \star )\quad {Z\leftarrow \Delta XY\Delta ' \over Z\leftarrow \Delta (X\star Y)\Delta '}$
For an example, here is a derivation of "type raising", which says that $(B/A)\backslash B\leftarrow A$. The names of rules and the substitutions used are to the right.
    ${\dfrac {{\dfrac{B\leftarrow B}}\qquad {\dfrac{A\leftarrow A}}}{\dfrac {B\leftarrow (B/A),\;\;A}{(B/A)\backslash B\leftarrow A}}}\qquad {\begin{matrix}{\mbox{(Axioms)}}\qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad \qquad\\{(\leftarrow /)\,\,[Z=Y=B,X=A,\Gamma =(A),\Delta =\Delta '=]}\\{(\backslash \leftarrow )\,\,[Y=B,X=(B/A),\Gamma =(A)]}\qquad \qquad \qquad\\\end{matrix}}$

### Relation to context-free grammars

Recall that a context-free grammar is a 4-tuple $G=(V,\,\Sigma ,\,::=,\,S)$ where
* $V\,$ is a finite set of non-terminals or variables.
* $\Sigma \,$ is a finite set of terminal symbols.
* $::=\,$ is a finite set of production rules, that is, a finite relation $(::=)\subseteq V\times (V\cup \Sigma )^{*}$.
* $S\,$ is the start variable.
From the point of view of categorial grammars, a context-free grammar can be seen as a calculus with a set of special purpose axioms for each language, but with no type construction operators and no inference rules except Cut.
Specifically, given a context-free grammar as above, define a categorial grammar $({\text{Prim}},\,\Sigma ,\,\triangleleft ,\,S)$ where ${\text{Prim}}=V\cup \Sigma$, and ${\text{Tp}}({\text{Prim}})={\text{Prim}}\,\!$. Let there be an axiom ${x\leftarrow x}$ for every symbol $x\in V\cup \Sigma$, an axiom ${X\leftarrow \Gamma }$ for every production rule $X::=\Gamma \,\!$, a lexicon entry ${s\triangleleft s}$ for every terminal symbol $s\in \Sigma$, and Cut for the only rule. This categorial grammar generates the same language as the given CFG.
Of course, this is not a basic categorial grammar, since it has special axioms that depend upon the language; i.e. it is not lexicalized. Also, it makes no use at all of non-primitive types.
To show that any context-free language can be generated by a basic categorial grammar, recall that any context-free language can be generated by a context-free grammar in Greibach normal form.
The grammar is in Greibach normal form if every production rule is of the form $A::=sA_{0}\ldots A_{N-1}$, where capital letters are variables, $s\in \Sigma$, and $N\geq 0$, that is, the right side of the production is a single terminal symbol followed by zero or more (non-terminal) variables.
Now given a CFG in Greibach normal form, define a basic categorial grammar with a primitive type for each non-terminal variable ${\text{Prim}}=V\,\!$, and with an entry in the lexicon $A/A_{N-1}/\ldots /A_{0}\triangleleft s$, for each production rule $A::=sA_{0}\ldots A_{N-1}$. It is fairly easy to see that this basic categorial grammar generates the same language as the original CFG. Note that the lexicon of this grammar will generally assign multiple types to each symbol.
The same construction works for Lambek grammars, since they are an extension of basic categorial grammars. It is necessary to verify that the extra inference rules do not change the generated language. This can be done and shows that every context-free language is generated by some Lambek grammar.
To show the converse, that every language generated by a Lambek grammar is context-free, is much more difficult. It was an open problem for nearly thirty years, from the early 1960s until about 1991 when it was proven by Pentus.
The basic idea is, given a Lambek grammar, $({\text{Prim}},\,\Sigma ,\,\triangleleft ,\,S)$ construct a context-free grammar $(V,\,\Sigma ,\,::=,\,S)$ with the same set of terminal symbols, the same start symbol, with variables some (not all) types $V\subseteq {\text{Tp}}({\text{Prim}})\,\!$, and with a production rule $T::={\text{s}}\,\!$ for each entry $T\triangleleft {\text{s}}$ in the lexicon, and production rules $T::=\Gamma \,\!$ for certain sequents $T\leftarrow \Gamma$ that are derivable in the Lambek calculus.
Of course, there are infinitely many types and infinitely many derivable sequents, so in order to make a finite grammar it is necessary put a bound on the size of the types and sequents that are needed. The heart of Pentus's proof is to show that there is such a finite bound.

### Notation

The notation in this field is not standardized. The notations used in formal language theory, logic, category theory, and linguistics, conflict with each other. In logic, arrows point to the more general from the more particular, that is, to the conclusion from the hypotheses. In this article, this convention is followed, i.e. the target of the arrow is the more general (inclusive) type.
In logic, arrows usually point left to right. In this article this convention is reversed for consistency with the notation of context-free grammars, where the single non-terminal symbol is always on the left. We use the symbol $::=$ in a production rule as in Backus–Naur form. Some authors use an arrow, which unfortunately may point in either direction, depending on whether the grammar is thought of as generating or recognizing the language.
Some authors on categorial grammars write $B\backslash A$ instead of $A\backslash B$. The convention used here follows Lambek and algebra.

## Historical notes

The basic ideas of categorial grammar date from work by Kazimierz Ajdukiewicz (in 1935) and other scholars from the Polish tradition of mathematical logic including Stanisław Leśniewski, Emil Post and Alfred Tarski. Ajdukiewicz's formal approach to syntax was influenced by Edmund Husserl's pure logical grammar, which was formalized by Rudolph Carnap. It represents a development in the historical idea of universal logical grammar as an underlying structure of all languages. A core concept of the approach is the substitutability of syntactic categories—hence the name categorial grammar. The membership of an element (e.g., word or phrase) in a syntactic category (word class, phrase type) is established by the commutation test, and the formal grammar is constructed through series of such tests.
The term categorial grammar was coined by Yehoshua Bar-Hillel (in 1953). In 1958, Joachim Lambek introduced a syntactic calculus that formalized the function type constructors along with various rules for the combination of functions. This calculus is a forerunner of linear logic in that it is a substructural logic.
Montague grammar is based on the same principles as categorial grammar. Montague's work helped to bolster interest in categorial grammar by associating it with his highly successful formal treatment of natural language semantics. Later work in categorial grammar has focused on the improvement of syntactic coverage. One formalism that has received considerable attention in recent years is Steedman and Szabolcsi's combinatory categorial grammar, which builds on combinatory logic invented by Moses Schönfinkel and Haskell Curry.
There are a number of related formalisms of this kind in linguistics, such as type logical grammar and abstract categorial grammar.

## Some definitions
### Derivation

    A derivation is a binary tree that encodes a proof.

### Parse tree

    A parse tree displays a derivation, showing the syntactic structure of a sentence.

### Functor and argument

    In a right (left) function application, the node of the type A\B (B/A) is called the functor, and the node of the type A is called an argument.

### Functor–argument structure
## Refinements of categorical grammar

A variety of changes to categorial grammar have been proposed to improve syntactic coverage. Some of the most common are listed below.

### Features and subcategories

Most systems of categorial grammar subdivide categories. The most common way to do this is by tagging them with features, such as person, gender, number, and tense. Sometimes only atomic categories are tagged in this way. In Montague grammar, it is traditional to subdivide function categories using a multiple slash convention, so A/B and A//B would be two distinct categories of left-applying functions, that took the same arguments but could be distinguished between by other functions taking them as arguments.

### Function composition

Rules of function composition are included in many categorial grammars. An example of such a rule would be one that allowed the concatenation of a constituent of type A/B with one of type B/C to produce a new constituent of type A/C. The semantics of such a rule would simply involve the composition of the functions involved. Function composition is important in categorial accounts of conjunction and extraction, especially as they relate to phenomena like right node raising. The introduction of function composition into a categorial grammar leads to many kinds of derivational ambiguity that are vacuous in the sense that they do not correspond to semantic ambiguities.

### Conjunction

Many categorial grammars include a typical conjunction rule, of the general form X CONJ X → X, where X is a category. Conjunction can generally be applied to nonstandard constituents resulting from type raising or function composition..

### Discontinuity

The grammar is extended to handle linguistic phenomena such as discontinuous idioms, gapping and extraction.