# Circumscription (logic)

Circumscription is a non-monotonic logic created by John McCarthy to formalize the common sense assumption that things are as expected unless otherwise specified. Circumscription was later used by McCarthy in an attempt to solve the frame problem. To implement circumscription in its initial formulation, McCarthy augmented first-order logic to allow the minimization of the extension of some predicates, where the extension of a predicate is the set of tuples of values the predicate is true on. This minimization is similar to the closed-world assumption that what is not known to be true is false.
The original problem considered by McCarthy was that of missionaries and cannibals: there are three missionaries and three cannibals on one bank of a river; they have to cross the river using a boat that can only take two, with the additional constraint that cannibals must never outnumber the missionaries on either bank (as otherwise the missionaries would be killed and, presumably, eaten). The problem considered by McCarthy was not that of finding a sequence of steps to reach the goal (the article on the missionaries and cannibals problem contains one such solution), but rather that of excluding conditions that are not explicitly stated. For example, the solution "go half a mile south and cross the river on the bridge" is intuitively not valid because the statement of the problem does not mention such a bridge. On the other hand, the existence of this bridge is not excluded by the statement of the problem either. That the bridge does not exist is a consequence of the implicit assumption that the statement of the problem contains everything that is relevant to its solution. Explicitly stating that a bridge does not exist is not a solution to this problem, as there are many other exceptional conditions that should be excluded (such as the presence of a rope for fastening the cannibals, the presence of a larger boat nearby, etc.)
Circumscription was later used by McCarthy to formalize the implicit assumption of inertia: things do not change unless otherwise specified. Circumscription seemed to be useful to avoid specifying that conditions are not changed by all actions except those explicitly known to change them; this is known as the frame problem. However, the solution proposed by McCarthy was later shown to lead to wrong results in some cases, as in the Yale shooting problem scenario. Other solutions to the frame problem that correctly formalize the Yale shooting problem exist; some use circumscription but in a different way.

## The propositional case

While circumscription was initially defined in the first-order logic case, the particularization to the propositional case is easier to define. Given a propositional formula $T$, its circumscription is the formula having only the models of $T$ that do not assign a variable to true unless necessary.
Formally, propositional models can be represented by sets of propositional variables; namely, each model is represented by the set of propositional variables it assigns to true. For example, the model assigning true to $a$, false to $b$, and true to $c$ is represented by the set $\{a,c\}$, because $a$ and $c$ are exactly the variables that are assigned to true by this model.
Given two models $M$ and $N$ represented this way, the condition $N\subseteq M$ is equivalent to $M$ setting to true every variable that $N$ sets to true. In other words, $\subseteq$ models the relation of "setting to true less variables". $N\subset M$ means that $N\subseteq M$ but these two models do not coincide.
This lets us define models that do not assign variables to true unless necessary. A model $M$ of a theory $T$ is called minimal, if and only if there is no model $N$ of $T$ for which $N\subset M$.
Circumscription is expressed by selecting only the minimal models. It is defined as follows:
    $CIRC(T)=\{M~|~M{\mbox{ is a minimal model of }}T\}$
Alternatively, one can define $CIRC(T)$ as a formula having exactly the above set of models; furthermore, one can also avoid giving a definition of $CIRC$ and only define minimal inference as $T\models _{M}Q$ if and only if every minimal model of $T$ is also a model of $Q$.
As an example, the formula $T=a\land (b\lor c)$ has three models:
* $a$, $b$, $c$ are true, i.e. $\{a,b,c\}$;
* $a$ and $b$ are true, $c$ is false, i.e. $\{a,b\}$;
* $a$ and $c$ are true, $b$ is false, i.e. $\{a,c\}$.
The first model is not minimal in the set of variables it assigns to true. Indeed, the second model makes the same assignments except for $c$, which is assigned to false and not to true. Therefore, the first model is not minimal. The second and third models are incomparable: while the second assigns true to $b$, the third assigns true to $c$ instead. Therefore, the models circumscribing $T$ are the second and third models of the list. A propositional formula having exactly these two models is the following one:
    $a\land \neg (b\leftrightarrow c)$
Intuitively, in circumscription a variable is assigned to true only if this is necessary. Dually, if a variable can be false, it must be false. For example, at least one of $b$ and $c$ must be assigned to true according to $T$; in the circumscription exactly one of the two variables must be true. The variable $a$ cannot be false in any model of $T$ and neither of the circumscription.

## Fixed and varying predicates

The extension of circumscription with fixed and varying predicates is due to Vladimir Lifschitz. The idea is that some conditions are not to be minimized. In propositional logic terms, some variables are not to be falsified if possible. In particular, two kind of variables can be considered:

### varying

    these are variables that are not to be taken into account at all in the course of minimization;

### fixed

    these are variables considered fixed while doing a minimization; in other words, minimization can be done only by comparing models with the same values of these variables.
The difference is that the value of the varying conditions are simply assumed not to matter. The fixed conditions instead characterize a possible situation, so that comparing two situations where these conditions have different value makes no sense.
Formally, the extension of circumscription that incorporate varying and fixed variables is as follows, where $P$ is the set of variables to minimize, $Z$ the fixed variables, and the varying variables are those not in $P\cup Z$:
    ${\text{CIRC}}(T;P,Z)=\{M~|~M\models T{\text{ and }}\not \exists N{\text{ such that }}N\models T,~N\cap P\subset M\cap P{\text{ and }}N\cap Z=M\cap Z\}$
In words, minimization of the variables assigned to true is only done for the variables in $P$; moreover, models are only compared if they assign the same values to the variables of $Z$. All other variables are not taken into account while comparing models.
The solution to the frame problem proposed by McCarthy is based on circumscription with no fixed conditions. In the propositional case, this solution can be described as follows: in addition to the formulae directly encoding what is known, one also define new variables representing changes in the values of the conditions; these new variables are then minimized.
For example, of the domain in which there is a door that is closed at time 0 and in which the action of opening the door is executed at time 2, what is explicitly known is represented by the two formulae:
    $\neg {\text{open}}_{0}$
    ${\text{true}}\rightarrow {\text{open}}_{2}$
The frame problem shows in this example as the problem that $\neg open_{1}$ is not a consequence of the above formulae, while the door is supposed to stay closed until the action of opening it is performed. Circumscription can be used to this aim by defining new variables $change\_open_{t}$ to model changes and then minimizing them:
    ${\text{change open}}_{0}\equiv ({\text{open}}_{0}\not \equiv {\text{open}}_{1})$
    ${\text{change open}}_{1}\equiv ({\text{open}}_{1}\not \equiv {\text{open}}_{2})$
As shown by the Yale shooting problem, this kind of solution does not work. For example, $\neg {\text{open}}_{1}$ is not yet entailed by the circumscription of the formulae above: the model in which ${\text{change open}}_{0}$ is true and ${\text{change open}}_{1}$ is false is incomparable with the model with the opposite values. Therefore, the situation in which the door becomes open at time 1 and then remains open as a consequence of the action is not excluded by circumscription.
Several other formalizations of dynamical domains not suffering from such problems have been developed (see frame problem for an overview). Many use circumscription but in a different way.

## Predicate circumscription

The original definition of circumscription proposed by McCarthy is about first-order logic. The role of variables in propositional logic (something that can be true or false) is played in first-order logic by predicates. Namely, a propositional formula can be expressed in first-order logic by replacing each propositional variable with a predicate of zero arity (i.e., a predicate with no arguments). Therefore, minimization is done on predicates in the first-order logic version of circumscription: the circumscription of a formula is obtained forcing predicates to be false whenever possible.
Given a first-order logic formula $T$ containing a predicate $P$, circumscribing this predicate amounts to selecting only the models of $T$ in which $P$ is assigned to true on a minimal set of tuples of values.
Formally, the extension of a predicate in a first-order model is the set of tuples of values this predicate assign to true in the model. First-order models indeed includes the evaluation of each predicate symbol; such an evaluation tells whether the predicate is true or false for any possible value of its arguments. Since each argument of a predicate must be a term, and each term evaluates to a value, the models tells whether $P(v_{1},\ldots ,v_{n})$ is true for any possible tuple of values $\langle v_{1},\ldots ,v_{n}\rangle$. The extension of $P$ in a model is the set of tuples of terms such that $P(v_{1},\ldots ,v_{n})$ is true in the model.
The circumscription of a predicate $P$ in a formula $T$ is obtained by selecting only the models of $T$ with a minimal extension of $P$. For example, if a formula has only two models, differing only because $P(v_{1},\ldots ,v_{n})$ is true in one and false in the second, then only the second model is selected. This is because $\langle v_{1},\ldots ,v_{n}\rangle$ is in the extension of $P$ in the first model but not in the second.
The original definition by McCarthy was syntactical rather than semantical. Given a formula $T$ and a predicate $P$, circumscribing $P$ in $T$ is the following second-order formula:
    $T(P)\wedge \forall p\neg (T(p)\wedge p<P)$
In this formula $p$ is a predicate of the same arity as $P$. This is a second-order formula because it contains a quantification over a predicate. The subformula $p<P$ is a shorthand for:
    $\forall x(p(x)\rightarrow P(x))\wedge \neg \forall x(P(x)\rightarrow p(x))$
In this formula, $x$ is a n-tuple of terms, where n is the arity of $P$. This formula states that extension minimization has to be done: in order for a truth evaluation on $P$ of a model being considered, it must be the case that no other predicate $p$ can assign to false every tuple that $P$ assigns to false and yet being different from $P$.
This definition only allows circumscribing a single predicate. While the extension to more than one predicate is trivial, minimizing the extension of a single predicate has an important application: capturing the idea that things are usually as expected. This idea can be formalized by minimizing a single predicate expressing the abnormality of situations. In particular, every known fact is expressed in logic with the addition of a literal $\neg Abnormal(...)$ stating that the fact holds only in normal situations. Minimizing the extension of this predicate allows for reasoning under the implicit assumption that things are as expected (that is, they are not abnormal), and that this assumption is made only if possible (abnormality can be assumed false only if this is consistent with the facts.)

## Pointwise circumscription

Pointwise circumscription is a variant of first-order circumscription that has been introduced by Vladimir Lifschitz. The rationale of pointwise circumscription is that it minimizes the value of a predicate for each tuple of values separately, rather than minimizing the extension of the predicate. For example, there are two models of $P(a)\equiv P(b)$ with domain $\{a,b\}$, one setting $P(a)=P(b)=false$ and the other setting $P(a)=P(b)=true$. Since the extension of $P$ in the first model is $\emptyset$ while the extension for the second is $\{a,b\}$, circumscription only selects the first model. In the propositional case, pointwise and predicate circumscription coincide.
In pointwise circumscription, each tuple of values is considered separately. For example, in the formula $P(a)\equiv P(b)$ one would consider the value of $P(a)$ separately from $P(b)$. A model is minimal only if it is not possible to turn any such value from true to false while still satisfying the formula. As a result, the model in which $P(a)=P(b)=true$ is selected by pointwise circumscription because turning only $P(a)$ into false does not satisfy the formula, and the same happens for $P(b)$.

## Domain and formula circumscription

An earlier formulation of circumscription by McCarthy is based on minimizing the domain of first-order models, rather than the extension of predicates. Namely, a model is considered less than another if it has a smaller domain and the two models coincide on the evaluation of the common tuples of values. This version of circumscription can be reduced to predicate circumscription.
Formula circumscription was a later formalism introduced by McCarthy. This is a generalization of circumscription in which the extension of a formula is minimized, rather than the extension of a predicate. In other words, a formula can be specified so that the set of tuples of values of the domain that satisfy the formula is made as small as possible.

## Theory curbing

Circumscription does not always correctly handle disjunctive information. Ray Reiter provided the following example: a coin is tossed over a checkboard, and the result is that the coin is either on a black area, or on a white area, or both. However, there are a large number of other possible places where the coin is not supposed to be on; for example, it is implicit that the coin is not on the floor, or on the refrigerator, or on the surface of the Moon. Circumscription can therefore be used to minimize the extension of $On$ predicate, so that $On({\text{coin}},{\text{moon}})$ is false even if this is not explicitly stated.
On the other hand, the minimization of the $On$ predicate leads to the wrong result that the coin is either on a black area or on a white area, but not both. This is because the models in which $On$ is true only on $({\text{coin}},{\text{white area}})$ and only on $({\text{coin}},{\text{black area}})$ have a minimal extension of $On$, while the model in which the extension of $On$ is composed of both pairs is not minimal.
Theory curbing is a solution proposed by Thomas Eiter, Georg Gottlob, and Yuri Gurevich. The idea is that the model that circumscription fails to select, the one in which both $On({\text{coin}},{\text{white area}})$ and $On({\text{coin}},{\text{black area}})$ are true, is a model of the formula that is greater (w.r.t. the extension of $On$) than both the two models that are selected. More specifically, among the models of the formula, the excluded model is the least upper bound of the two selected models. Theory curbing selects such least upper bounds models in addition to the ones selected by circumscription. This inclusion is done until the set of models is closed, in the sense that it includes all least upper bounds of all sets of models it contains.