Closed World Assumption

In a LogicProgramming system (or a RelationalDatabase, or a ConstraintProgramming system, etc); one builds a collection of facts (things held to be true) and axioms (rules for deriving additional facts from the set of base facts).

If a theorem can be shown to be true based on the facts and axioms; then it is true.

How do you handle a query that cannot be shown from the above (in other words, isn't derivable?)

Two possibilities, the ClosedWorldAssumption and the OpenWorldAssumption.

The ClosedWorldAssumption holds that anything that cannot be shown to be true is false; no explicit declaration of falsehood is needed. Consequently, any query (which terminates) will either return true or false; there is no possibility of "unknown". Most programming systems which use logic or predicate calculus use the ClosedWorldAssumption, including:


View edit of July 9, 2010 or FindPage with title or text search