1. Explicit time vs. the situation calculus. The following situation
calculus formula seems to have no counterpart in languages with explicit
time:
value(f,result(a1,s)) = value(f,result(a2,s)) . (1)
It says that the value of f at the next instant of time does not depend
on which of the actions a1, a2 is going to be executed. For instance,
if I now send an e-mail message to Erik Sandewall, the total number of
messages sent by me since this morning will be the same as if I send a
message to Ray Reiter instead. This is an argument in favor of the
situation calculus.
But there is a little problem here. What is the meaning of (1) if the
effects of a1 and a2 on f
are nondeterministic? I have a few coins in
my pockets; let a1 stand for getting a coin from my left pocket, let
a2
stand for getting a coin from my right pocket, and let f stand for the
value of the coin that I have in my hand. We can interpret (1) as a
counterfactual, but this seems less interesting than assertions involving
some kind of quantification over the outcomes of a1 and a2 ,
for instance:
(i) there exist an outcome of a1 and an outcome of a2
such that (1) holds,
(ii) for any outcome of a1 and any outcome of a2 , (1) holds,
(iii) for any outcome of a1 there exists an outcome of a2
such that (1) holds.
The situation calculus has no mechanism for expressing these distinctions.
2. Filtering. I understand it as applying a nonmonotonic logic to a
subset of the given facts and then using the remaining facts--
"constraints"--to discard some of the models of this nonmonotonic theory.
This is a powerful idea, and "nested abnormality theories" are merely a
syntactic device that can be used to describe filtering. In reasoning
about action, treating initial conditions as constraints makes the
formalization problem easier. The reduction of domain circumscription
to predicate circumscription in John McCarthy's 1980 paper is an early
example of filtering.
3. Occlusion. I undertand it as restricting inertia so that it would
not apply to some fluents at some instants of time. This is a special
case of the more general idea of restricting a default so that it would
not apply to some objects. According to an axiom from John McCarthy's
1986 paper on applications of circumscription, unless an object is
abnormal in aspect 1, it can't fly; then birds are declared to be
"possible exceptions" to this default by postulating that they are
abnormal in aspect 1. This is similar to occlusion.
4. Why are there so many action languages? An action language is a
formal model of the part of natural language that is used for describing
the effects of actions. Whenever we improve our understanding of that
part of natural language, this improved understanding may be expressed
by defining a new dialect of "script-A." I expect that we will see many
such dialects in the future.
And I hope that this will bring us simplicity and elegance, rather than
the multiplication of independent language constructs. In the first
action language that was capable of representing ramifications, there
were "causes" propositions for representing dynamic causal laws, and
"always" propositions for representing static causal laws. But recent
research on the logic of causality shows that causal laws of both kinds
have similar properies; we can expect that in future action languages
"causes" and "always" will be subsumed by a more general construct.
5. Explicit information about causal directions. Causality differs from
material implication in that it is not contrapositive. The crucial role
of this difference for the study of action and change is among the most
important things that we have learned in this area over the last years.
Several recent theories of causality grasp this distinction, but they do
not seem to be mathematically reducible to each other. This is very
much like what happened around 1980, when several mathematically
non-equivalent nonmonotonic formalisms were proposed. Attempts to
relate these formalisms to each other have led to interesting research
in logic.