s --> np(N), v(N), np(_). s --> np(N), is(N), [at], np(_). np(N) --> n(N). v(sing)--> [sees]. v(plur)--> [see]. is(sing)--> [is]. is(plus)--> [are]. n(sing) --> [peter]. n(sing) --> [mary]. n(sing) --> [jane]. n(sing) --> [the,chr,summer,school]. n(sing) --> [hennings,course]. n(sing) --> [vacation]. n(plur) --> n(sing), [and], n(_). /**** SAMPLES phrase(s, [peter,is,at,the,chr,summer,school]). phrase(s, [mary,is,at,hennings,course]). phrase(s, [mary,and,jane,sees,peter]). phrase(s, [mary,and,jane,see,peter]). ****/ story --> [] ; s, ['.'], story. /**** phrase(story, [peter,is,at,the,chr,summer,school,'.', mary,is,at,hennings,course,'.']). *****/