CCG combinatory rules as combinatory-logic combinators #
CCG's combinatory rules correspond to the basis combinators of combinatory logic
([CF58], [Smu85]): forward and backward composition to B,
type-raising to T, the substitution rule to S. The combinator algebra itself lives in
Semantics/Composition/Combinator.lean; this file establishes the correspondence between
those combinators and the types CCG assigns (catToTy), so that each rule's semantic
action is literally a combinator acting on Denot meanings ([Ste00a],
Chapters 3 and 8).
Forward composition is B: its semantics is B f g.
Backward composition is also B, with reversed linear order.
Forward type-raising is T: its semantics is T a.
The type of a forward-type-raised category T/(T\X).
Backward type-raising has the same type as forward type-raising.
Crossed composition is S: (X/Y)/Z + Y/Z ⇒ X/Z with S f g x = f x (g x).
Forward application is T applied the other way: f a = T a f.
Non-constituent coordination: a type-raised subject composed (B) with a transitive
verb is a function from objects to truth values — B (T subj) verb obj = verb obj subj.
This is the combinator account of "John likes and Mary hates beans".