%start S

S[sem=<app(?vp, ?subj)>] -> NP[sem=?subj] VP[sem=?vp]
VP[sem = <app(?v, ?obj)>] -> V[sem = ?v] NP[sem=?obj]
VP[sem = ?v] -> V[sem = ?v]
NP[sem = <kim>] -> 'Kim'
NP[sem = <i>] -> 'I'
V[sem = <\x y.(like x y)>, tns=pres] -> 'like'
V[sem = <\x.(sleeps x)>, tns=pres] -> 'sleeps'

