
Chapter
3
Negation as Failure Using Tight
Derivations for General Logic Programs
Allen
Van
Gelder
Stanford University
Stanford,
CA
Abstract
A general logic program is a set of rules that have both positive and negative
subgoals. We define negation in general logic programs as finite failure, but
we limit proof attempts to tight derivations, that is, derivations expressed by
trees in which no node has an identical ancestor. Consequently, many goals
that do not fail finitely in other formulations do fail finitely in ours. Thus the
negation-as-failure rule is strengthened, but at the cost of more careful (and
expensive) program execution. We defin ...