Macros for the Determiners

clls.pl: View Download

Determiners get a slightly more complex semantics. Here are the semantic macros for ``every'' (with the label uni) and ``a'' (with label indef):

detSem(uni,usr([Root,N1,N2,N3,N4,N5,N6,N7,N8,N9],
        [Root:lambda(N1),N1:lambda(N2),N2:forall(N3),N3:(N4 > N5),
         N4:(N6@N7),N5:(N8@N9),N6:var,N7:var,N8:var,N9:var],
        [],
        [bind(N6,Root),bind(N7,N2),bind(N8,N1),bind(N9,N2)])).

detSem(indef,usr([Root,N1,N2,N3,N4,N5,N6,N7,N8,N9],
        [Root:lambda(N1),N1:lambda(N2),N2:exists(N3),N3:(N4 & N5),
         N4:(N6@N7),N5:(N8@N9),N6:var,N7:var,N8:var,N9:var],
        [],
        [bind(N6,Root),bind(N7,N2),bind(N8,N1),bind(N9,N2)])).

These structures look quite intimidating, but if you look at the corresponding constraint graphs, you'll see that e.g. the macro for ``every'' is nothing but a description of the term . To make it easier to check that the semantic macro detSem(uni,...) given above really corresponds to this tree representation, we have decorated the tree backbone with the respective PROLOG-variables (see below on the right).

Exercise 6.3 lets you test whether you understood these representations. Just in order to make life easier for us from now on, we'll abbreviate the graphs for determiners as follows:

We can do this safely because the root of the subgraph is the only node we'll have to refer to below. In Exercise 6.7 you are asked to simplify the semantic macros in our implementation dramatically using the same trick.


Aljoscha Burchardt, Stephan Walter, Alexander Koller, Michael Kohlhase, Patrick Blackburn and Johan Bos
Version 1.2.5 (20030212)