<< Prev | - Up - | Next >> |
Lexical entries.
The real work is done at the lexical level. Nevertheless, the lexical entries practically write themselves:
noun(lambda(X,siamesecat(X)))--> [siamese,cat].
noun(lambda(X,woman(X)))--> [woman].
iv(lambda(X,walk(X)))--> [walks].
tv(lambda(X,lambda(Y,X@lambda(Z,love(Y,Z)))))--> [loves].
If you do not remember the somewhat difficult representation of , look at Section 3.4.5 again.
Prolog Variables?
Note that we break our convention of representing FO variables by constants here. A clever idea, because this way we can do without implementing -conversion. We will see why in Section 3.5.7.
And here's the code stating that is the translation of ``John'', and
the translation of ``Mary'':
pn(lambda(P,P@john))--> [john].
pn(lambda(P,P@mary))--> [mary].
Recall that the -expressions for the determiners ``every'' and ``a'' are
and
. We express these in Prolog as follows:
det(lambda(P,lambda(Q,forall(X,(P@X)>(Q@X)))))--> [every].
det(lambda(P,lambda(Q,exists(X,(P@X)& (Q@X)))))--> [a].
<< Prev | - Up - | Next >> |