s := phrase & [ HEAD verb, SPR <>, COMPS <>, GAP ]. s-np := phrase & [ HEAD verb, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. s-pp := phrase & [ HEAD verb, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. vp := phrase & [ HEAD verb, SPR < [] >, COMPS <>, GAP ]. vp-np := phrase & [ HEAD verb, SPR < [] >, COMPS <>, GAP , COMPS <> ] !> ]. vp-pp := phrase & [ HEAD verb, SPR < [] >, COMPS <>, GAP , COMPS <> ] !> ]. v := [ HEAD verb ]. np := phrase & [ HEAD noun, SPR <>, COMPS <>, GAP ]. np-np := phrase & [ HEAD noun, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. np-pp := phrase & [ HEAD noun, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. n := [ HEAD noun, SPR < [] >, GAP ]. n-np := [ HEAD noun, SPR < [] >, GAP , COMPS <> ] !> ]. n-pp := [ HEAD noun, SPR < [] >, GAP , COMPS <> ] !> ]. det := [ HEAD det ]. pp := phrase & [ HEAD prep, SPR <>, COMPS <>, GAP ]. pp-np := phrase & [ HEAD prep, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. pp-pp := phrase & [ HEAD prep, SPR <>, COMPS <>, GAP , COMPS <> ] !> ]. p := [ HEAD prep ].