We use circumscription to minimize the events that occur in a
situation, the fluents that might prevent an event from having its
standard effect, and the changes in fluents. In contrast to the
formalism of [McC86] which minimized predicates over all the
arguments, we minimize for each successive situation separately.
However, in doing this minimization in s we take as fixed the
Holds(f,s) sentences and the sentences
inferred from the effects of the event that led to the situation. We
are giving up the possibility of trading and abnormality in one
situation for an abnormality in another.
Doing the nonmonotonic reasoning in situations successively
corresponds to the way people predict the consequences of sequences of
actions and events. It seems to give the same conclusions as Yoav
Shoham's chronological minimization [Sho88] but is
computationally more straightforward. Like chronological minimization,
it avoids the Yale shooting problem and its friends.
However, we advocate this only for projection problems, i.e. reasoning
about the future from information about the past. The method is not
appropriate for the stolen car scenario in which one has to
reason from an assertion (that the car is missing) about a later
situation.
With the present formalism, the person or agent setting up the problem must know that projection forward in time is appropriate. It would be better if this were a consequence of the formalized facts.
Now let's consider circumscribing at each situation separately. The simplest case is when we have a predicate Foo(x,y,s).
We write the axioms
Then the circumscription of Foo(x,y,s) takes the form
Here vars stands for a list of the entities being varied as Foo is minimized.
This spells out to
Call this formula Circ(Axiom;Foo;vars;s). This is the notation of [Lif94] with the addition of the argument s to say that s is kept fixed.
The general frame axioms are
for propositional fluents and
for general fluents.
Suppose we allow complex fluents, say when p and q are
propositional fluents. We then need an axiom
Similar axioms are required for the other propositional functions of fluents and for the compositions of non-propositional fluents.
[This leads to difficulties when we want to delimit what changes, since there are arbitrarily complex compositions of fluents. We'll confine ourselves to elementary fluents for now by not putting compositions in the language.]
In these circumscriptions we also minimize Holds.
This tolerates elaborations like
If Holds(Weak,s) isn't asserted, Move(x,y) will not be prevented.
Lin and Shoham, [LS95] consider a theory of action to be provably correct if doing the nonmonotonic reasoning results in a complete nonmonotonic theory of the action. This seems like a worthy goal, but I don't know if the present theory achieves it.