QUAIL '97 (Question of the Day)

> What's the difference, if any, between the Closed-World Assumption and
> Negation as Failure?

The Closed-World Assumption is a convention used to complete a theory by
adding to the theory the negation of any ground terms not logically
entailed by the theory.

"Negation as Failure" is an operator used in Prolog to prove a goal "not
P" if it fails to prove "P". Thus, it is a particular implementation of
the CWA. Note, however, that because the problem of logical entailment in
FOL is semi-decidable, failing to find a proof for "P" in general does not
necessarily imply that "P" is not entailed by the theory. Thus, the set of
sentences "Negation as Failure" may add to the theory is a superset of
those added by the CWA. However, because Prolog databases consist of Horn
clauses making inference decidable, the two sets will be equal for these
subsets of FOL. 

[note: the above "feels" right, but even after hitting on R&N, R&K, G&N,
and Reiter, i'm still not 100% certain, so feel free to offer corrections
if u have them.]

Back to the Question of the Day Page

Patrick Doyle December 11, 1996