% grammar
s(S)   --> np(VP^S), vp(VP).
np(NP) --> n(NP).
np(NP) --> d(N^NP), n(N).
vp(VP) --> v(VP).

% lexicon
v(X^walk(X))         --> [walks].
n(X^man(X))          --> [man].
n(VP^S)              --> [suzie],
                         {reduce(VP,suzie,S)}.
d(RL^SL^all(X,R,S))  --> [every],
                         {reduce(RL,X,R),
                          reduce(SL,X,S) }. 

reduce(A^F,A,F).
