% although it is context-free, but why the left-linear grammar seems to be fine?
% that is just Chomsky-normal form. 


cf_rule2(s,np,nt1).
cf_rule2(nt1,vp,np).

cf_rule2(s,np,nt2).
cf_rule2(nt2,vp,nt3).
cf_rule2(nt3,prep,np).

cf_rule2(np,det,noun).

cf_rule2(np,det,nt4).
cf_rule2(nt4,adj,noun).

cf_rule2(vp,verb,nt5)
rule0(nt5). % this need a new parser rule

cf_rule2(vp,verb,prep).

cf_rule1(det,a).
cf_rule1(det,the).
cf_rule1(adj,big).
cf_rule1(adj,small).
cf_rule1(adj,nasty).
cf_rule1(noun,man).
cf_rule1(noun,dog).
cf_rule1(noun,house).
cf_rule1(noun,ball).
cf_rule1(verb,takes).
cf_rule1(verb,walks).
cf_rule1(verb,hits).
cf_rule1(prep,at).
cf_rule1(prep,to).
cf_rule1(prep,on).
cf_rule1(prep,in).
cf_rule1(prep,into).