pn(mary)  --> [mary].
n(clown)   --> [clown].
det(a) --> [a].
vi(laugh)  --> [laughs].
vt(love) --> [loves].
vs(think) --> [thinks].

s(s(NP,VP)) --> np(NP), 
                vp(VP).

np(np(PN)) --> pn(PN).
np(np(Det,N)) --> det(Det), 
                  n(N).

vp(vp(VI)) --> vi(VI).
vp(vp(VT,NP)) --> vt(VT), 
                  np(NP).
vp(vp(VS,S)) --> vs(VS), 
                 s(S).
