# Closed-world assumption

The closed-world assumption (CWA), in a formal system of logic used for knowledge representation, is the presumption that a statement that is true is also known to be true. Therefore, conversely, what is not currently known to be true, is false. The same name also refers to a logical formalization of this assumption by Raymond Reiter. The opposite of the closed-world assumption is the open-world assumption (OWA), stating that lack of knowledge does not imply falsity. Decisions on CWA vs. OWA determine the understanding of the actual semantics of a conceptual expression with the same notations of concepts. A successful formalization of natural language semantics usually cannot avoid an explicit revelation of whether the implicit logical backgrounds are based on CWA or OWA.
Negation as failure is related to the closed-world assumption, as it amounts to believing false every predicate that cannot be proved to be true.

## Example

In the context of knowledge management, the closed-world assumption is used in at least two situations: (1) when the knowledge base is known to be complete (e.g., a corporate database containing records for every employee), and (2) when the knowledge base is known to be incomplete but a "best" definite answer must be derived from incomplete information. For example, if a database contains the following table reporting editors who have worked on a given article, a query on the people not having edited the article on Formal Logic is usually expected to return "Sarah Johnson".
Edit :
| Editor | Article |
| John Doe | Formal Logic |
| Joshua A. Norton | Formal Logic |
| Sarah Johnson | Introduction to Spatial Databases |
| Charles Ponzi | Formal Logic |
| Emma Lee-Choon | Formal Logic |
In the closed-world assumption, the table is assumed to be complete (it lists all editor-article relationships), and Sarah Johnson is the only editor who has not edited the article on Formal Logic. In contrast, with the open-world assumption the table is not assumed to contain all editor-article tuples, and the answer to who has not edited the Formal Logic article is unknown. There is an unknown number of editors not listed in the table, and an unknown number of articles edited by Sarah Johnson that are also not listed in the table.

## Formalization in logic

The first formalization of the closed-world assumption in formal logic consists in adding to the knowledge base the negation of the literals that are not currently entailed by it. The result of this addition is always consistent if the knowledge base is in Horn form, but is not guaranteed to be consistent otherwise. For example, the knowledge base
    $\{English(Fred)\vee Irish(Fred)\}$
entails neither $English(Fred)$ nor $Irish(Fred)$.
Adding the negation of these two literals to the knowledge base leads to
    $\{English(Fred)\vee Irish(Fred),\neg English(Fred),\neg Irish(Fred)\}$
which is inconsistent. In other words, this formalization of the closed-world assumption sometimes turns a consistent knowledge base into an inconsistent one. The closed-world assumption does not introduce an inconsistency on a knowledge base $K$ exactly when the intersection of all Herbrand models of $K$ is also a model of $K$; in the propositional case, this condition is equivalent to $K$ having a single minimal model, where a model is minimal if no other model has a subset of variables assigned to true.
Alternative formalizations not suffering from this problem have been proposed. In the following description, the considered knowledge base $K$ is assumed to be propositional. In all cases, the formalization of the closed-world assumption is based on adding to $K$ the negation of the formulae that are "free for negation" for $K$, i.e., the formulae that can be assumed to be false. In other words, the closed-world assumption applied to a knowledge base $K$ generates the knowledge base
    $K\cup \{\neg f~|~f\in F\}$.
The set $F$ of formulae that are free for negation in $K$ can be defined in different ways, leading to different formalizations of the closed-world assumption. The following are the definitions of $f$ being free for negation in the various formalizations.

### CWA (closed-world assumption)

    $f$ is a positive literal not entailed by $K$;

### GCWA (generalized CWA)

    $f$ is a positive literal such that, for every positive clause $c$ such that $K\not \vdash c$, it holds $K\not \vdash c\vee f$;

### EGCWA (extended GCWA)

    same as above, but $f$ is a conjunction of positive literals;

### CCWA (careful CWA)

    same as GCWA, but a positive clause is only considered if it is composed of positive literals of a given set and (both positive and negative) literals from another set;

### ECWA (extended CWA)

    similar to CCWA, but $f$ is an arbitrary formula not containing literals from a given set.
The ECWA and the formalism of circumscription coincide on propositional theories. The complexity of query answering (checking whether a formula is entailed by another one under the closed-world assumption) is typically in the second level of the polynomial hierarchy for general formulae, and ranges from P to coNP for Horn formulae. Checking whether the original closed-world assumption introduces an inconsistency requires at most a logarithmic number of calls to an NP oracle; however, the exact complexity of this problem is not currently known.
In situations where it is not possible to assume a closed world for all predicates, yet some of them are known to be closed, the partial-closed world assumption can be used. This regime considers knowledge bases generally to be open, i.e., potentially incomplete, yet allows to use completeness assertions to specify parts of the knowledge base that are closed.

## Partial-closed world assumption

The language of logic programs with strong negation allows us to postulate the closed-world assumption for some statements and leave the other statements in the realm of the open-world assumption. An intermediate ground between OWA and CWA is provided by the partial-closed world assumption (PCWA). Under the PCWA, the knowledge base is generally treated under open-world semantics, yet it is possible to assert parts that should be treated under closed-world semantics, via completeness assertions. The PCWA is especially needed for situations where the CWA is not applicable due to an open domain, yet the OWA is too credulous in allowing anything to be possibly true.