Whereas LMGs produce a terminal string from a start predicate, RCGs aim to reduce a start predicate ( which predicates of a terminal string ) to the empty string, which constitutes a proof of the terminal strings membership in the language.
12.
Thus, for example, a CF rule such as A \ to abc might instead be A \ to ( abc, 0 ), where the 0th terminal, the " a ", is the head of the resulting terminal string.
13.
An item x / y, where x is something that produces a terminal string ( either a terminal string itself or some predicate ), and y is a string of terminals and / or variables, is rewritten as the empty string ( \ epsilon ) if and only if g ( y _ 1, . . ., y _ n ) = z, and otherwise cannot be rewritten at all.
14.
An item x / y, where x is something that produces a terminal string ( either a terminal string itself or some predicate ), and y is a string of terminals and / or variables, is rewritten as the empty string ( \ epsilon ) if and only if g ( y _ 1, . . ., y _ n ) = z, and otherwise cannot be rewritten at all.
15.
Given a predicate string A ( \ alpha _ 1, . . ., \ alpha _ n ), where the symbols \ alpha _ i are terminal strings, if there is a rule A ( x _ 1, . . ., x _ n ) \ to \ beta in the grammar that the predicate string matches, the predicate string is replaced by \ beta, substituting for the matched variables in each x _ i.