At this point, rules that have preconditions which cannot be filled
can be eliminated. This is an example of the soundness, or
``need-based'' processing that underlies this approach. Whenever a
rule has a precondition that cannot be achieved, the rule is failed.
This not only occurs before the modified recursive descent algorithm begins,
as in this case, but while the descent algorithm is operated. Every time
a rule is failed, for whatever reason, it is checked to see whether any
other rule which depended on one of its constraints no longer can have one
or more of its preconditions fulfilled
. If it can't, then that rule is also
failed (and the effects of failing that rule are also checked).
eliminating rule 0 in CLAUSE_28 eliminating rule 0 in RELATION_20 eliminating rule 0 in %RECONCILE_1 eliminating rule 0 in %RECONCILE_1 rule 0 in %RECONCILE_1 already failed eliminating rule 1 in CLAUSE_31 eliminating rule 0 in CLAUSE_31