s(S1,S2) :- np(S1,S3), vp(S3,S4), np(S4,S2).
np(S1,S2) :- det(S1,S3), noun(S3,S2).
np(S1,S2) :- det(S1,S3), adj(S3,S4), noun(S4,S2).
det([a|S],S).
adj([big|S],S).
adj([small|S],S).
verb([walks|S],S).
prep([into|S],S).
