Formalizing Reasoning About Change: A ... - Semantic Scholar

25 downloads 0 Views 159KB Size Report
Has the car been stolen during the rst ... The SCP has two intended models: the car has been ..... second action model, in which the security guard is not.
Formalizing Reasoning About Change: A Temporal Diagnosis Approach Johann Gamper and Wolfgang Nejdl

RWTH Aachen Ahornstrae 55 D-52056 Aachen, Germany fgamper,[email protected]

Abstract In this paper we describe a framework for reasoning about temporal explanation problems, which is based on our previous work on model-based diagnosis of dynamic systems. We use an explicit representation of qualitative temporal information which provides a simpler and more natural representation than the situation calculus. We argue that a framework for reasoning about action should be able to deal with concurrent and durative actions and show how they can be represented in our system. Finally, we discuss some useful extensions such as various forms of persistency assumptions.

1 Introduction Reasoning about action has been an very active topic since Hanks and McDermott showed surprising weaknesses of conventional nonmonotonic reasoning formalisms to handle simple problems like the Yale Shooting Problem [3]. The last years have seen formalizations of various complexities, which often seemed intuitive, only to be contradicted by simple extensions of the same examples they handled. It can be argued, that nally formalizations have been found that handle these examples, but diculties and uncertainties remain even in the latest papers. Di erent styles of reasoning can be distinguished. Given some observations about an initial situation, one may be interested in what might be true in some later situation. This style of forward reasoning in time is called temporal prediction . The opposite direction is reasoning backward in time and is called temporal explanation . Given some observation we are interested in what happened in previous situations. In this paper we focus on the problem of temporal explanation in reasoning about action examples, and discuss an approach strongly related to our recent formalism for doing temporal diagnosis in a model-based reasoning system. In particular, our approach tack-

les the following issues: what do we want to explain, how do we want it to be explained (what are the abducibles), how can we formalize persistency of uents and how can we represent concurrent actions. Our formalism is based on a interval-based temporal logic which we argue is a more suitable representation than conventional situation calculus based formalisms.

2 Introductory Example One of the most important representational frameworks for reasoning about action and change is the Situation Calculus [6]. A situation s is considered to represent a snapshot of the world. The function Result(a; s) represents the situation resulting from performing action a in situation s. The predicate Holds(p; s) asserts that uent p holds in situation s. The situation calculus is a simple framework and rather expressive. However, several problems and counterexamples have been identi ed. Basically, there are two possible sources for these problems: the situation calculus is not expressive enough or the used reasoning mechanisms yield wrong conclusions.

Example 1 (The Stolen Car Problem) The most fa-

mous temporal explanation problem is Kautz's Stolen Car Problem (SCP) [4]. In the initial situation, S0, a car is not stolen. After waiting two times, S2, the car is stolen. Has the car been stolen during the rst waiting phase or the second? :Holds(Stolen; S0); (1) S2 = Result(Wait; Result(Wait; S0)); (2) Holds(Stolen; S2) (3) The SCP has two intended models: the car has been stolen during either of the two waiting phases, there is no reason to prefer one over the other. Recently, Shanahan [9] described an interesting approach to formalize temporal explanation within the situation calculus using the SCP as an example. The key point in Shanahan's work is that the axioms (1), (2) and (3) do not constitute a good representation

for the SCP. In particular, axiom (2) states that S2 is the situation after waiting two times in S0, nothing else. As waiting actions have no e ects, the car should still be parked in S2 contradicting the observation (3). The point is that we do not know exactly what actions occured between S0 and S2. Shanahan's alternative representation states only that S2 follows S0 and that there must be a sequence of actions leading from S0 to S2. The task is to nd this sequence of actions, which represents an explanation for the observation in S2. Shanahan studied a deductive and an abductive approach for temporal explanation using the standard and the alternative representation. The aim of this paper is to show how temporal explanation problems can be formalized in our modelbased diagnosis framework for dynamic systems and that this formalization does yield clearer and more intuitive results. We will use the SCP and the extensions introduced in [9] as examples throughout the paper.

3 A Temporal Diagnosis Approach The heart of model-based diagnosis is to generate an (abductive and/or consistency-based) explanation for a set of observations starting from a model of the system. Therefore a possible approach for handling temporal explanation is to formalize it using a model-based temporal diagnosis framework. In this section we develop a framework for temporal explanation problems based on our temporal diagnosis approach described in [7, 8], which is based on explicit representation of qualitative and quantiative temporal information.

3.1 Temporal Framework Temporal ontology We use a subset of the interval-

based temporal logic described by Allen and Hayes in [2]. The basic temporal primitives are time periods (intervals) with a positive duration (extent). Time points are introduced as unique meeting places of intervals having zero duration. Based on these primitives the following mutually exclusive qualitative temporal relations can be de ned: 13 relations between two intervals, IA = fb; m; o; s; d; f; e; bi; mi; oi; si; di; fig (Allen's Interval Algebra [1]), 5 relations between a point and an interval, PI = fb; s; d; f; big, 5 relations between an interval and a point, IP = fb; fi; di; si; big, and 3 relations between two points, PP = fb; e; big (Kautz's Point Algebra [10]). Inde nite knowledge is expressed as disjunction of basic relations.

Properties ( uents) are used to denote that some-

thing is true over a period of time, e.g. the car is parked the whole day. It is important to note that properties can only hold over time periods. Property assertions at time points would introduce semantic problems. Intuitively, the notion of properties captures the static behavior of the world.

Events can be classi ed as durative events and in-

stantaneous events. Durative events occur during time intervals, e.g. the waiting actions in the SCP are intended to take time. Instantaneous events occur at time points and are durationless. Intuitively, such instantaneous events can be considered as causing transitions of properties. For instance, a steal action at a time point nishes the interval during which the car was not stolen and starts the interval during which the car is stolen. Depending on the granularity of modeling, an event might be instantaneous in one model and durative in another one. Events represent the dynamic behavior of the world and are described in terms of property changes. The most important type of events in this paper are actions.

3.2 Formalizing the Domain Theory We use a sorted First Order Language and a Prologlike notation: Variables begin with an upper case letter, constants and predicates with a lower case letter. Unless stated otherwise, time intervals are denoted by I (i) (possibly indexed), time points by P (p) (possibly indexed). Qualitative temporal relations are represented by 2-ary predicates with an intuitive meaning, e.g. before (i1 ; i2 ) states that interval i1 is before interval i2 . In the SCP, we represent steal as an instantaneous action which causes the transition of property :stolen to stolen , where the properties are true over time intervals. De nition 1 (Action Model) An Action Model AM for an action A is de ned as a rst order formula, A ^ P ! B, where P represents the preconditions and B the e ect of action A. An action model completely describes an action with preconditions and e ects. To describe the temporal behavior of an action, both P and B may contain qualitative temporal relations. The most important di erence to the behavioral models in [7, 8] is that we allow for actions to occur at time points as well as over time intervals, while behavioral modes are assumed over time intervals only. Example 2 Following Shanahan's alternative representation of the SCP we have a single action steal (axiom (AR5) in [9]), which we represent by the action model steal (Car ; Ps) ! stolen (Car ; Is) ^ starts (Ps ; Is) Stealing a car Car at time point Ps starts an interval, Is , during which the car is stolen. This action has no preconditions. We use a graphical representation for the temporal behavior of an action model. The nodes represent the temporal extent of the action and the properties. The arcs are labeled with the qualitiatve temporal relations among them. The temporal behavior of the

steal(Car,Ps)

{s}

stolen(Car,Is)

Figure 1: Temporal behavior of the steal action. steal action is shown in gure 1. For clarity we de-

note the nodes by the whole action- (property-) expression rather then by the corresponding temporal extent. Similarly, we use the action (property) itself to denote the temporal extent.

3.3 Observations and Abstract Observations Observations describe what we know about the actual behavior of the world and are usually represented in terms of properties at time points, e.g. the car was not stolen in the initial situation S0. This is dicult to imagine from a cognitive point of view, as time points are (durationless) entities. A more intuitive interpretation of observations in dynamic systems is to interpret them over time periods, i.e. to assume an interval \around" the observation time point, during which the observation is true. We call this concept an abstract observation. De nition 2 (Abstract Observation) An Abstract Observation is de ned as a formula, O ^ Anc, where O is an assertion of a property during a time interval, and Anc is a conjunction of qualitative temporal relations constraining the temporal extent of O relative to the real time line. Anc is called the (temporal) anchor of an abstract observation. An abstract observation represents the assumption that a property holds throughout an inde nite time interval, which can only be constrained relative to other observations by qualitative temporal relations. Example 3 There are two observations in the SCP: the car is not stolen in S0 (axiom (1)) and the car is stolen in S2 (axiom (3)). We represent them by the two abstract observations :stolen (car ; ins) ^ contains (ins ; 0) and stolen (car ; is ) ^ contains (is ; 2), stating that the time period over which the car is not stolen contains time 0, and the time period over which the car is stolen contains time 2. For convenience we represent time by the real numbers (0 represents S0, 2 represents S2) and assume the ordering axioms of real numbers. This avoids to state explicitly that S2 follows S0, as in the standard formalisation through axiom (2), or in [9] through axiom (AR3)1. The representation of abstract observations in the above example is not satisfactory. If we consider only the two anchors it is perfectly consistent to assume that the time interval ins contains also time 2 as contains (ins ; 0) requires only that ins starts before and ends after time 0. Thus, we could conclude that We could use symbolic time points, say p0 and p2 , and simply add the axiom before (p0 ; p2 ). 1

-stolen(car,ins) {di}

{m}

{o} 0

stolen(car,is) {oi}

[0,2]

{di} 2

Figure 2: Abstract observations in the SCP. the car is not stolen at time 2 contradicting the second observation. To rule out such inconsistencies we add additional temporal constraints to a set AOBS of abstract observations, which stem from the anchors in AOBS and from the allowed temporal relation between the properties represented by AOBS 2.

De nition 3 (Qualitative Temporal Behavior)

The Qualitative Temporal Behavior , AOBS qual , is de ned as a conjunction of qualitative temporal relations among the abstract observations in AOBS and represents the temporal constraints between the abstract observations. It is related by the anchors in AOBS and by the properties represented by the abstract observations.

Example 4 As the car is either stolen (over interval is ) or not stolen (over interval ins), we assume a constraint like meets (ins ; is ) _ meets (is ; ins) in our domain theory. Applying this constraint to the abstract observations in the last example we get the nal set AOBS = f:stolen (car ; ins) ^ contains (ins; 0); stolen(car ; is) ^ contains (is ; 2); meets (ins; is )g with an additional meets -relation between the period during which the car is not stolen, and the period during which it is stolen. We represent a set of abstract observations AOBS graphically as a 2-level network. The upper level represents the qualitative temporal behavior AOBS qual . The lower level represents the time structure. The connections between the two levels represent the anchors of the abstract observations. For clarity we denote the nodes in the upper level with the property assumption rather then their temporal extent. Figure 2 shows the abstract observations from the last example. The lower level and the anchors are indicated by dotted lines. To make the temporal relationsships clearer we added a node representing the time interval [0; 2] and we will use these relations in the following.

Maximality of abstract observations An ab-

stract observation is maximal if it persists as long as possible. We make this assumption throughout most of the paper. Maximal abstract observations capture the persistence assumption of properties: properties 2 The possible relations between di erent properties can depend on the domain and are therefore added explicitly to the theory.

persist unless there is some reason to assume otherwise. We do not need an explicit frame axiom to force the persistency of properties depending on actions and situations.

steal(car,ps) {f} -stolen(car,ins) {di}

3.4 Abstract Temporal Diagnosis The aim of temporal diagnostic reasoning is to nd an explanation in terms of abducible expressions for the actual abstract observations and the temporal relations among them [7, 8].

Abducible Expressions Intuitively, an abducible

expression is one for which no further explanation can be generated. This is the case for the symbol true representing the truth-value true, as well as for all expressions occuring only on the left-hand side of action models. To get a temporal diagnosis additionally the qualitative temporal relations must be abducible even if they appear also in the right-hand side of action models. Later we will discuss the need for additional abducible expressions if one assumes an Open World Assumption.

Two di erent notions of explanation are widely used in model-based diagnosis: explanation as abduction and explanation as consistency. We use an abductive approach with consistency constraints, and distinguish two sets of abstract observations, AOBS + and ? + AOBS , respectively. The set AOBS has to be explained abductively and consists of the abnormal abstract observations. Assuming persistency of properties, each change of a property is abnormal. This gives an explicit notion about what to include in AOBS + , in contrast to the vague characterization of [9]. The set AOBS ? consists of all abstract observations and has to be consistent with an explanation.

De nition 4 (Abstract Temporal Diagnosis) A

set D of abducible expressions is an Abstract Temporal Diagnosis for a theory T and a set of abstract observations AOBS i +  D covers AOBS + qual , i.e. T [ D j= AOBS qual .  D is consistent with AOBS ? , i.e. T [ D [ AOBS ? is consistent. The distinction between AOBS + and AOBS ? treats di erent temporal relations in a di erent way. In particular, in the abductive step we consider only the temporal behavior of the abstract observations in AOBS + , whereas consistency checking is performed with the temporal behavior?plus the anchors of all abstract observations, AOBS .

Example 5 The theory T for the SCP con-

tains the action model for steal, steal (Car ; Ps) ! ^ starts(Ps ; Is), and an axiom stating that two periods representing stolen and :stolen respectively are related by a meets - or met by -relation.

stolen (Car ; Is)

{s} {d} stolen(car,is)

{m}

{o} 0

{oi} [0,2]

{di} 2

Figure 3: Explanation in the SCP. Initially the car is not stolen and due to the persistency assumption we should be able to conclude that it still is not stolen at time 2. However, we observe the contrary, indicating an abnormal property change which needs an abductive explanation, so AOBS + = fstolen (car ; is) ^ overlapped by (is ; [0; 2])g. As AOBS + consists of a single abstract observation, no temporal relations must be considered, and we generate the abductive hypothesis steal (car ; ps) ^ during (ps ; [0; 2]) stating that the car has been stolen sometime between time 0 and time 2. The second step is to test whether the abductive hypothesis? is consistent with all abstract observations, AOBS = f:stolen (car ; ins)^overlaps (ins; [0; 2]), stolen(car ; is)^overlapped by (is ; [0; 2]),meets(ins; is )g. This can easily be veri ed to be true. As all abstract observations in AOBS + are covered, the abductive hypothesis represents an abstract temporal diagnosis. This is the intended explanation and corresponds to Shanahan's explanation in section 3. Figure 3 shows the explanation (in boldface) together with AOBS ? .

3.5 Actions with Preconditions Additional problems in reasoning about action and change arise, when preconditions for actions are introduced. Following Shanahan [9] we extend the SCP by introducing actions with preconditions.

Example 6 (Axioms (AR7) through (AR10) in [9]) In order for a steal action to be successful, the car must be unguarded. A second action is introduced for a security guard to come on duty. If a lazy security guard comes on duty, the car will be unguarded3 . Initially the car is guarded, and Fred is known to be a lazy security guard. We represent these complications of the story by the following action models and abstract observations (see also gure 4): steal (Car ; Ps) ^ :guarded (Car; Ing ) ^ during (Ps ; Ing ) ! stolen (Car ; Is ) ^ starts (Ps; Is ); guard (Sec ; Pg ) ^ lazy (Sec ; Il ) ^ during (Pg ; Il ) ! :guarded (Car ; Ing ) ^ starts (Pg ; Ing ); Shanahan represented the guard action by a biconditional, which in our framework can be represented by a second action model, in which the security guard is not lazy and as an e ect the car is guarded. 3

guard(Sec,Pg) {d} lazy(Sec,Il)

steal(Car,Ps)

{s} -guarded(Car,Ing)

-guarded(Car,Ing)

guard(fred,pg) {s} {d}

{s}

{d} {o,fi,di}

{o,fi,di}

{d}

stolen(Car,Is)

steal(car,ps)

{b}

{d} -guarded(car,ing)

{m}

lazy(fred,if) {e} imax

{di}

guarded(car,ig)

{cont}

{di}

-stolen(car,ins) {di}

0

{m}

{o}

stolen(car,is) {oi}

[0,2]

{di} 2

lazy(fred,if) {e} imax

Figure 4: The action models for steal and guard and the abstract observations in the extended SCP. guarded (car ; ig ) ^ contains (ig ; 0); lazy (fred ; if ) ^ equal (if ; imax )

Properties which are always true, such as Fred being lazy, are represented by abstract observations, whose temporal extent is equal to a maximal interval, imax , which contains all other intervals. Turning to the generation of an explanation, we start with the same set AOBS + = fstolen (car ; is) ^ overlapped by (is ; [0; 2])g as before. Using the new action model for a successful theft we generate the abductive hypothesis steal (car ; ps) ^ :guarded (car ; ing ) ^ during (ps ; ing ) ^ during (ps ; [0; 2]) ^ contemporary (ing ; [0; 2]) The relation contemporary indicates that the two intervals have a common subinterval. The set AOBS ? contains two additional abstract observations, :guarded (car ; ing ) ^ contains (ing ; 0) and lazy (fred ; if ) ^ equal (if ; imax ), and is consistent with the hypothesis, but forces tighter constraints. In particular, the fact that the car was guarded initially constrains contemporary (ing ; [0; 2]) to during (ing ; [0; 2])_ nishes (ing ; [0; 2])_ overlapped by (ing ; [0; 2]). The above hypothesis contains the non-abducible expression :guarded (car ; ing ), which represents an abnormal property change violating the persistency assumption. We continue the diagnostic process and add :guarded (car ; ing ) to AOBS + . We get the new explanation D = 9Sec ; guard (Sec ; Pg ) ^ lazy (Sec ; Il ) ^ steal (car ; ps) ^ before (Pg ; ps) ^ during (Pg ; Il ) ^ during (Pg ; [0; 2]) ^ during(ps ; [0; 2]) In other words, a lazy security guard comes on duty and afterwards the car has been stolen. All this happens between time 0 and time 2. This explanation corresponds to Shanahan's when he uses the deductive approach (section 4 in [9]).

3.6 Specifying Explanations The explanation in the last example is not satisfactory for two reasons: it does not exploit the fact that Fred is a lazy security guard, and it contains the non-abducible expression lazy (Sec ; Il ). We argue that

{di}

guarded(car,ig)

{cont}

{s} {d}

{d,f,oi} -stolen(car,ins)

{o}

{o}

{m}

stolen(car,is) {oi}

[0,2]

Figure 5: Explanation D1 | Fred comes on duty and the car has been stolen. there are two intended explanations, one stating that Fred comes on duty (and lazy is removed from the explanation), and another one stating that a lazy security guard other than Fred comes on duty.

Instantiating Explanations Intuitively, as we

know that Fred is a lazy security guard, we want to specify the explanation and instantiate the variable Sec to fred . This can easily be formalized if we represent a fact f as a formula true ! f, where true stands for the truth-value true, and extend the abduction policy slightly by instantiating variables and eliminating non-abducible expressions in an explanation by using known facts, i.e. abstract observations which are not in AOBS + .

Example 7 We represent the fact that Fred is a lazy security guard as true ! lazy (fred ; if ) ^ equal (if ; imax ). We use this rule to instantiate the variable Sec and to eliminate the non-abducible lazy (Sec ; Il ) in the explanation. This leads to the rst intended explanation (see also gure 5) | Fred comes on duty and the car has been stolen. D1 = guard (fred ; pg ) ^ steal (car ; ps) ^ before (pg ; ps) ^ during (pg ; [0; 2]) ^ during(ps ; [0; 2]) Open World Assumption The Open World As-

sumption (OWA) admits the existence of objects not currently known. This allows us to generate explanations, which are based on the existence assumption of such objects rather than on known facts. If we use the OWA, we must also extend the set of abducible expressions accordingly. In the SCP, this extension allows us to generate the second intended explanation.

Example 8 We hypothesize the existence of a lazy security guard other than Fred by adding the following rule to the theory: 9Sec ; lazy (Sec ; Il ) ^ Sec 6= fred ! lazy (Sec ; Il ) If we knew that Jim is also a lazy security guard, we had to extend the left-hand side of this rule by Sec 6= jim. We add the left-hand side of the above rule to the set of abducible expressions and generate the second intended explanation | a lazy security guard other than Fred comes on duty and the car has been stolen:

guard(fred,pg)

D2 =

9Sec ; guard (Sec ; Pg ) ^ lazy (Sec ; Il ) ^ Sec = 6 fred ^ steal (car ; ps) ^ before (Pg ; ps) ^ during (Pg ; Il ) ^ during (Pg ; [0; 2]) ^ during(ps ; [0; 2])

Shanahan's deductive approach can only generate the general explanation D, while his abductive approach only provides the speci c explanation D1 , i.e. Fred comes on duty. Since our approach is basically an abductive one, we generate in each case explanation D1 . If we use the OWA we additionally generate explanation D2 , i.e. a lazy security guard other than Fred comes on duty. Note, that this explanation is more speci c than D. Hence, we always get more speci c explanations than Shanahan. Shanahan continues the story in order to show a case in which it is quite important that Fred was the security guard who comes on duty. We follow his story. Example 9 There is an alarm present at the car park, which has to be o for a successful theft. Initially the alarm is on, but it can be smashed with the e ect that it is o . Fred knows that he is a lazy security guard, so he turns the alarm on whenever he comes on duty. In the presence of this new information we again can generate two explanations. Knowing that Fred is a lazy security guard we get (for more details see gure 6) D3 = guard (fred ; pg ) ^ smash (alarm ; psm) ^ steal (car ; ps) ^ before (pg ; psm ) ^ before (psm ; ps) | Fred comes on duty (and turns the alarm on), the thief smashed the alarm and then the car has been stolen. Shanahan's abductive approach gets only this explanation, his deductive approach cannot use this new information at all. If we use the OWA as introduced in the last example, we generate the additional explanation D2 from the last example | a lazy security guard which is not Fred comes on duty (leaving the car unguarded, and the alarm was o ) and the car has been stolen.

3.7 Concurrent and Durative Actions Shanahan's approach is based on the observation that S2 cannot be the situation from just waiting two times in S0. He goes on to assume a sequence of action between S0 and S2, and only states that S2 follows S0. However, now he cannot express anymore that we already know a sequence of actions characterizing the time interval between S0 and S2 (while not sucient to explain the changed uents). Example 10 We extend the story again. The owner of the car, after parking the car at time 0, goes

{s}

{s}

{b}

on(alarm,io)

smash(alarm,psm)

{s} {m}

steal(car,ps)

{b} {d}

-on(alarm,ino) {d} {s}

{d} -guarded(car,ing)

{m} lazy(fred,if)

-on(alarm,ino) {m}

{d}

{d}

{d}

guarded(car,ig) {e} imax

-stolen(car,ins) {o}

{m} [0,2]

stolen(car,is) {oi}

Figure 6: Explanation D3 | Fred comes on duty, the alarm has been smashed and the car has been stolen. to lunch. He comes back at time 2 and the car is stolen. The new action lunch is durative and takes place from time 0 to time 2, i.e. lunch (owner ; ilo ) ^ equal (ilo ; [0; 2]). As going to lunch hardly a ects the properties used so far, this is consistent with all our explanations and we can conclude, for example, that the theft of his car occured during lunch. Now Shanahan can assume some other action between S0 and S2 without a ecting the explanation, which however has to be instantaneous and not concurrent with another action. Because of this restriction caused by the situation calculus, Shanahan has to say that the owner went to lunch between S0 and S2, either before the steal action or after the steal action. This is one of the major drawbacks of the situation calculus that concurrent actions as well as durative actions cannot be represented, except in a few extensions, e.g. [5].

4 Conclusion In this paper we propose a framework for temporal explanation based on our model-based temporal diagnosis approach. We use an explicit representation of qualitative temporal relations between properties holding during time intervals and actions occuring at time points or during time intervals. This provides a powerful language for modeling actions with preconditions and e ects. The concept of maximal abstract observations captures the persistence assumption of properties and can easily be extended to various forms of persistence assumptions. Temporal explanations are generated by using abduction and testing additonal consistency constraints. We give a concise characterisation of what needs to be explained and what can be used in an explanation. We show how our framework deals with an open world assumption and how this leads to additional, more speci c explanations. Finally, we argue that concurrent and durative actions are useful in reasoning about action and change, and can be handled in a very natural way in our framework. Future work will include the analysis of various forms of persistency assumptions for di erent properties, such as adding quantitative temporal information. For instance, if the alarm turns o automatically after some time, the thief must not smash the alarm.

Another topic for future work is to investigate, how we can tackle other well known problems in reasoning about action and change like the rami cation or quali cation problem. For instance, the stealing action nishes the period during which the car was not stolen, even if it is not mentioned explicitly as an e ect of the action.

References

[1] James F. Allen. Maintaining knowledge about temporal intervals. Communications of the ACM, 26(11):832 { 843, 1983. [2] James F. Allen and Patrick J. Hayes. Moments and points in an interval-based temporal logic. Computational Intelligence, 5:225{238, 1989. [3] Steve Hanks and Drew McDermott. Nonmonotonic logic and temporal projection. Arti cial Intelligence, 33:379{412, 1987. [4] Henry A. Kautz. The logic of persistence. In Proceedings of the National Conference on Arti cial Intelligence (AAAI), pages 401{405, Philadel-

phia, Pennsylvania, 1986. Morgan Kaufmann Publishers, Inc. [5] Fangzhen Lin and Yoav Shoham. Concurrent actions in the situation calculus. In Proceedings of the National Conference on Arti cial Intelligence (AAAI), pages 590{595, San Jose, Califor-

nia, July 1992. MIT Press. [6] J. McCarthy and P. J. Hayes. Some philosophical problems from the standpoint of arti cial intelligence. Machine Intelligence, 4, 1969. [7] Wolfgang Nejdl and Johann Gamper. Harnessing the power of temporal abstractions in modelbased diagnosis of dynamic systems. In Proceedings of the 11th European Conference on Arti cial Intelligence (ECAI), pages 667{671, Amsterdam, The

Netherlands, August 1994. John Wiley & Sons. [8] Wolfgang Nejdl and Johann Gamper. Modelbased diagnosis with qualitative temporal uncertainty. In Proceedings of the 10th Conference on Uncertainty in Arti cial Intelligence, pages 432{439, Seattle, Washington, July 1994. Morgan Kaufmann Publishers, Inc. [9] Murray Shanahan. Explanation in the situation calculus. In Proceedings of the International

Joint Conference on Arti cial Intelligence (IJCAI), pages 160{165, Chambery, France, August

1993. Morgan Kaufmann Publishers, Inc. [10] Marc Vilain and Henry Kautz. Constraint propagation algorithms for temporal reasoning. In Pro-

ceedings of the National Conference on Arti cial Intelligence (AAAI), pages 377{382, Philadel-

phia, PA, 1986.