We will only show a few of the role predicates. For example, a subject must be a noun or pronoun, must agree with its mother (the finite verb), and must have nominative case.

<Gamma exports>= >>

<Gamma predicates>= >>
proc {Subject Mother Daughter}
   {FS.include CATS_NP}
   Mother.agr = Daughter.agr
   {FS.include Daughter.agr AGRS_NOM}

The ``zu'' particle must have category part, it must be the word zu, its mother should not already contain a particle (as in ``einkaufen'', i.e. ``zu einzukaufen'' is illegal), its mother should also not contain a verb prefix (i.e. ``zu einkaufen'' is illegal).

<Gamma exports>= << >>

<Gamma predicates>= << >>
proc {Zu Mother Daughter}
   Daughter.word = 'zu' 
   {FS.exclude MARK_ZU    Mother.marks}
   {FS.exclude MARK_VPREF Mother.marks}

Now let's consider a complement that is an infinitive VP with zu particle. The predicate simply states that the daughter must be an infinitive verb and that its haszu feature must be true (i.e. equal to 1, as opposed to false, i.e. equal to 0). We use this feature to conveniently cover both the case when the daughter is of the form ``einzukaufen'' (i.e. zu attached) and ``zu kaufen'' (i.e. zu separated). The haszu feature is defined in module Parser.

<Gamma exports>= << >>

<Gamma predicates>= << >>
proc {Vp_zu Mother Daughter}

For and adjective edge, the mother must be a noun, the daughter an adjective and they must agree.

<Gamma exports>= <<

<Gamma predicates>= <<
proc {Adj Mother Daughter}

Denys Duchier
Version 1.2.0 (20010221)