Artificial Intelligence 171 (2007) 951–984 www.elsevier.com/locate/artint Metatheory of actions: Beyond consistency Andreas Herzig, Ivan Varzinczak ∗ IRIT – Université Paul Sabatier, 118 route de Narbonne, 31062, Toulouse Cedex 9, France Received 25 April 2006; received in revised form 15 March 2007; accepted 23 April 2007 Available online 29 April 2007 Abstract Traditionally, consistency is the only criterion for the quality of a theory in logic-based approaches to reasoning about actions. This work goes beyond that and contributes to the metatheory of actions by investigating what other properties a good domain description should have. We state some metatheoretical postulates concerning this sore spot. When all postulates are satisfied we call the action theory modular. Besides being easier to understand and more elaboration tolerant in McCarthy's sense, modular theories have interesting properties. We point out the problems that arise when the postulates about modularity are violated, and propose algorithmic checks that can help the designer of an action theory to overcome them. © 2007 Elsevier B.V. All rights reserved. Keywords: Reasoning about actions; Action theory; Modularity; Ramifications 1. Introduction In logic-based approaches to knowledge representation, a given domain is described by a set of logical formulas T , which we call a (non-logical) theory. That is also the case for reasoning about actions, where we are interested in theories describing particular actions (or, more precisely, action types). We call such theories action theories. A priori consistency is the only criterion that formal logic provides to check the quality of such descriptions. In the present work we go beyond that, and argue that we should require more than the mere existence of a model for a given theory. Our starting point is the fact that in reasoning about actions one usually distinguishes several kinds of logical formulas. Among these are effect axioms, precondition axioms, and boolean axioms. In order to distinguish such nonlogical axioms from logical axioms, we prefer to speak of effect laws, executability laws, and static laws, respectively. Moreover we single out those effect laws whose effect is ⊥, and call them inexecutability laws. Given these types of laws, suppose the language is powerful enough to state conditional effects of actions. For example, suppose that action a is inexecutable in contexts where φ1 holds, and executable in contexts where φ2 holds. It follows that there can be no context where φ1 ∧ φ2 holds. Now ¬(φ1 ∧ φ2) is a static law that does not mention a. It is natural to expect that ¬(φ1 ∧ φ2) follows from the static laws alone. By means of examples we show that when * Corresponding author. E-mail addresses: herzig@irit.fr (A. Herzig), ivan@irit.fr (I. Varzinczak).0004-3702/$ – see front matter © 2007 Elsevier B.V. All rights reserved. doi:10.1016/j.artint.2007.04.013 952 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984this is not the case, then unexpected conclusions might follow from the theory T , even in the case T is logically consistent. This motivates postulates requiring that the different laws of an action theory should be arranged modularly, i.e., in separated components, and in such a way that interactions between them are limited and controlled. In essence, we argue that static laws may entail new effects of actions (that cannot be inferred from the effect laws alone), while effect laws and executability laws should never entail new static laws that do not follow from the set of static laws alone. We here formulate postulates that make these requirements precise. It will turn out that in all existing accounts that allow for these four kinds of laws [1–6], consistent action theories can be written that violate these postulates. In this work we give algorithms that allow one to check whether an action theory satisfies the postulates or not. With such algorithms, the task of correcting flawed action theories can be made easier. Although we here use the syntax of propositional dynamic logic (PDL) [7], all we shall say applies as well to first-order formalisms, in particular to the Situation Calculus [8]. All postulates we are going to present can be stated as well for other frameworks, in particular for action languages such as A, AR [9–11] and others, and for Situation Calculus based approaches. In [12] we have given a Situation Calculus version of our analysis, while in [13] we presented a similar notion for ontologies in Description Logics [14]. The present work is the complete version of the one first appeared in [15]. This text is organized as follows: after some background definitions (Section 2) we state some postulates concerning action theories (Section 3). In Sections 4 and 5, we study the two most important of these postulates, giving algorithmic methods to check whether an action theory satisfies them or not. We then generalize our postulates (Section 6) and discuss possible strengthening of them (Section 7). In Section 8 we show interesting features of modular action theories. Before concluding, we assess related work found in the literature on metatheory of actions (Section 9). 2. Preliminaries 2.1. Dynamic logic Here we establish an ontology of dynamic domains. As our base formalism we use ∗-free PDL, i.e., PDL without the iteration operator ∗. For more details on PDL, see [7,16]. Let Act = {a1, a2, . . .} be the set of all atomic action constants of a given domain. Our running example is in terms of the Walking Turkey Scenario [4]. There, the atomic actions are load, shoot and tease. We use a as a variable for atomic actions. To each atomic action a there is an associated modal operator [a]. Here we suppose that the underlying multimodal logic is independently axiomatized (i.e., the logic is a fusion and there is no interaction between the modal operators [17,18]). Prop = {p1,p2, . . .} denotes the set of all propositional constants, also called fluents or atoms. Examples of those are loaded, alive and walking. We use p as a variable for propositional constants. We here suppose that both Act and Prop are nonempty and finite. We use small Greek letters φ,ψ, . . . to denote classical formulas, also called boolean formulas. They are recursively defined in the following way: φ ::= p |  | ⊥ | ¬φ | φ ∧ φ | φ ∨ φ | φ → φ | φ ↔ φ. Fml is the set of all classical formulas. Examples of classical formulas are walking → alive and ¬(bachelor ∧ married). A classical formula is classically consistent if there is at least one valuation in classical propositional logic that makes it true. Given φ ∈ Fml, valuations(φ) denotes the set of all valuations of φ. We note |=CPL the logical consequence in classical propositional logic. The set of all literals is Lit = Prop∪ {¬p: p ∈ Prop}. Examples of literals are alive and ¬walking.  will be used as a variable for literals. If  = ¬p, then we identify ¬ with p. A clause χ is a disjunction of literals. We say that a literal  appears in a clause χ , written  ∈ χ , if  is a disjunct of χ . We denote complex formulas (possibly with modal operators) by capital Greek letters Φ1,Φ2, . . . They are recursively defined in the following way: Φ ::= φ | [a]Φ | 〈a〉Φ | ¬Φ | Φ ∧ Φ | Φ ∨ Φ | Φ → Φ | Φ ↔ Φ A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 953where Φ denotes a complex formula. 〈a〉 is the dual operator of [a], defined by: 〈a〉Φ =def ¬[a]¬Φ . Sequential composition of actions is defined by the abbreviation [a1;a2]Φ =def [a1][a2]Φ . Examples of complex formulas are loaded → [shoot]¬alive and hasGun → 〈load; shoot〉(¬alive ∧ ¬loaded). If T is a set of formulas (modal or classical), atm(T ) returns the set of all atoms occurring in T . For instance, atm({¬¬¬p1, [a]p2}) = {p1,p2}. For parsimony's sake, whenever there is no confusion we identify a set of formulas with the conjunction of its elements. The semantics is that for multimodal K [19,20]. Definition 1. A PDL-model is a tuple M = 〈W,R〉 where W is a set of valuations (alias possible worlds), and R :Act −→ 2W×W a function mapping action constants a to accessibility relations Ra ⊆ W × W . As an example, for Act = {a1, a2} and Prop = {p1,p2}, we have the PDL-model M = 〈W,R〉, where W = {{p1,p2}, {p1,¬p2}, {¬p1,p2}}, R(a1) = { ({p1,p2}, {p1,¬p2}), ({p1,p2}, {¬p1,p2}), ({¬p1,p2}, {¬p1,p2}), ({¬p1,p2}, {p1,¬p2}) } , R(a2) = {({p1,p2}, {p1,¬p2}), ({p1,¬p2}, {p1,¬p2})}. Fig. 1 gives a graphical representation of M. Given M = 〈W,R〉, a ∈ Act, and w,w′ ∈ W , we write Ra instead of R(a), and wRaw′ instead of w′ ∈ Ra(w). Definition 2. Given a PDL-model M = 〈W,R〉, the satisfaction relation is defined as the smallest relation satisfying: • |=Mw p (p is true at world w of model M) if p ∈ w; • |=Mw [a]Φ if for every w′ such that wRaw′, |=Mw′ Φ; and• the usual truth conditions for the other connectives. Definition 3. A PDL-model M is a model of Φ (noted |=M Φ) if and only if for all w ∈ W , |=Mw Φ . M is a model of a set of formulas T (noted |=M T ) if and only if |=M Φ for every Φ ∈ T . In the model depicted in Fig. 1, we have |=M p1 → [a2]¬p2 and |=M p1 ∨ p2. Definition 4. A formula Φ is a consequence of the set of global axioms T in the class of all PDL-models (noted T |=PDL Φ) if and only if for every PDL-model M, if |=M T , then |=M Φ .1 We here suppose that the logic under consideration is compact [21]. Fig. 1. Example of a PDL-model for Act = {a1, a2}, and Prop = {p1,p2}. 1 Instead of global consequence, in [5] local consequence is considered. For that reason, a further modal operator  had to be introduced, giving a logic that is multimodal K plus monomodal S4 for , and where axiom schema Φ → [a]Φ holds. 954 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Having established the formal substratum our presentation will rely on, we present in the next section the different types of formulas we use to describe dynamic domains. 2.2. Describing action theories in PDL Before elaborating a theory, we need to specify what we are about to describe, i.e., what the formulas talk about. Following the tradition in the literature, we identify a domain (alias scenario) with the actions we take into account and the fluents they can change. More formally, we have: Definition 5. A domain signature is a tuple 〈Act,Prop〉. An example of a domain is the well-known Yale Shooting Scenario (YSS) [22], whose signature comprises the actions load, wait and shoot, and fluents loaded and alive. Given a domain 〈Act,Prop〉, we are interested in theories whose statements describe the behavior of actions of Act on the fluents of Prop. PDL allows for the representation of such statements, that we here call action laws. We distinguish several types of them. We call effect laws formulas relating an action to its effects. Statements of conditions under which an action cannot be executed are called inexecutability laws. Executability laws in turn stipulate the context where an action is guaranteed to be executable. Finally, static laws are formulas that do not mention actions. They express constraints that must hold in every possible state. These four types of laws are our fundamental entities and we introduce them more formally in the sequel. 2.2.1. Static laws Frameworks which allow for indirect effects of actions make use of logical formulas that state invariant propositions about the world. Such formulas delimit the set of possible states. They do not refer to actions, and we suppose here that they are expressed as formulas of classical propositional logic. Definition 6. A static law is a formula φ ∈ Fml. In our running example, the static law walking → alive says that if a turkey is walking, then it must be alive. Another one is saved ↔ (mbox1∨mbox2), which states that an e-mail message is saved if and only if it is in mailbox 1 or in mailbox 2 or both [23]. In some action languages, such as AR for example, we would write the statement always alive → walking, and in the Situation Calculus it would be the first-order formula ∀s.(Holds(walking, s) → Holds(alive, s)). The set of all static laws of a given domain is denoted by S . At first glance, no requirement concerning consistency of S is made. Of course, we want S to be consistent, otherwise the whole theory is inconsistent. As we are going to see in the sequel, however, consistency of S alone is not enough to guarantee the consistency of a theory. 2.2.2. Effect laws Logical frameworks for reasoning about actions contain expressions linking actions and their effects. We suppose that such effects might be conditional, and thus get a third component of such laws. In PDL, the formula [a]Φ states that formula Φ is true after every possible execution of action a. Definition 7. An effect law2 for action a is of the form φ → [a]ψ , where φ,ψ ∈ Fml, with ψ classically consistent. The consequent ψ is the effect which obtains when action a is executed in a state where the antecedent φ holds. An example of an effect law is loaded → [shoot]¬alive, saying that whenever the gun is loaded, after shooting the 2 Effect laws are often called action laws, but we prefer not to use that term here because it would also apply to executability laws that are to be introduced in the sequel. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 955turkey is dead. Another one is  → [tease]walking: in every circumstance, the result of teasing is that the turkey starts walking. For parsimony's sake, the latter effect law will be written [tease]walking. Note that the consistency requirement for ψ makes sense: if ψ is inconsistent then we have an inexecutability law, that we consider as a separate entity and which we are about to introduce formally in the sequel. On the other hand, if φ is inconsistent then the effect law is obviously superfluous. For the first example above, in action languages one would write the statement shoot causes¬alive if loaded, and in the Situation Calculus formalism one would write the first-order formula ∀s.(Holds(loaded, s) → ¬Holds(alive,do(shoot, s))). 2.2.3. Inexecutability laws We consider effect laws with inconsistent consequents as a particular kind of law which we call inexecutability laws. (Such laws are sometimes called qualifications [24].) This allows us to avoid mixing things that are conceptually different: for an action a, an effect law mainly associates it with a consequent ψ , while an inexecutability law only associates it with an antecedent φ, viz. the context which precludes the execution of a. Definition 8. An inexecutability law for action a is of the form φ → [a]⊥, with φ ∈ Fml. For example ¬hasGun → [shoot]⊥ expresses that shoot cannot be executed if the agent has no gun. Another example is dead → [tease]⊥: a dead turkey cannot be teased. In AR we would write the statement impossible if ¬hasGun, and in the Situation Calculus our example would be ∀s.(¬Holds(hasGun, s) → ¬Poss(shoot, s)). 2.2.4. Executability laws With only static and effect laws one cannot guarantee that the action shoot can be executed whenever the agent has a gun. We need thus a way to state such conditions. In dynamic logic the dual 〈a〉φ, defined as ¬[a]¬φ, can be used to express executability. 〈a〉 thus reads "execution of action a is possible". Definition 9. An executability law for action a is of the form φ → 〈a〉, where φ ∈ Fml. For instance hasGun → 〈shoot〉 says that shooting can be executed whenever the agent has a gun, and  → 〈tease〉, also written 〈tease〉, establishes that the turkey can always be teased. Some approaches (most prominently Reiter's) use biconditionals φ ↔ 〈a〉, called precondition axioms. This is equivalent to ¬φ ↔ [a]⊥, which highlights that they merge information about inexecutability with information about executability. Here we consider these entities to be different and keep them separate. In action languages such laws are not represented, they are rather implicitly inferred from inexecutability statements (cf. Section 7). In Situation Calculus our example would be stated as ∀s.(Holds(hasGun, s) → Poss(shoot, s)). Whereas all the extant approaches in the literature that allow for indirect effects of actions contain static and effect laws, and provide a way for representing inexecutabilities (in the form of implicit qualifications [2,4,25]), the status of executability laws is less consensual. Some authors [3,4,26,27] more or less tacitly consider that executability laws should not be made explicit but rather inferred by the reasoning mechanism. Others [1,2,5,6] have executability laws as first class objects one can reason about. It seems a matter of debate whether one can always do without executabilities. In principle it seems to be strange to just state information about necessary conditions for action execution (inexecutabilities) without saying anything about its sufficient conditions. The justification is that given an action we have three possible situations: it is known to be executable, known to be inexecutable, and unknown whether executable. This is the reason why we think that we need executability laws. Indeed, in several domains one wants to explicitly state under which conditions a given 956 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984action is guaranteed to be executable, e.g. that a robot never gets stuck and is always able to execute a move action. And if we have a plan such as load; shoot (load followed by shoot) of which we know that it achieves the goal ¬alive, then we would like to be sure that it is executable in the first place!3 In any case, allowing for executability laws gives us more flexibility and expressive power. 2.2.5. Action theories Given a domain 〈Act,Prop〉, for an action a ∈ Act, we define Ea as the set of its effect laws, X a the set of its executability laws, and Ia that of its inexecutability laws. Definition 10. An action theory for a is a tuple 〈S ,Ea,X a,Ia〉. In our running scenario example, a theory for the action shoot would be S = {walking → alive}, E shoot = {loaded → [shoot]¬alive}, X shoot = {hasGun → 〈shoot〉}, Ishoot = {¬hasGun → [shoot]⊥}. Given a dynamic domain we define E = ⋃ a∈Act Ea, X = ⋃ a∈Act X a, and I = ⋃ a∈Act Ia. All these sets are finite, because Act is finite and each of the Ea , X a , Ia is finite. Definition 11. An action theory is a tuple of the form 〈S ,E ,X ,I 〉. Given an action theory 〈S ,E ,X ,I 〉 and a formula Φ , we write S ,E ,X ,I |=PDL Φ instead of S ∪ E ∪ X ∪ I |=PDL Φ . When formalizing dynamic domains, we face the frame problem [8] and the ramification problem [28]. In what follows we formally present the logical framework in which action theories will henceforth be described. 2.3. Dynamic logic and the frame problem As the reader might have already expected, the logical formalism of PDL alone does not solve the frame problem. For instance, if 〈S ,E ,X ,I 〉 describes our shooting domain, then S ,E ,X ,I |=PDL hasGun → [load]hasGun. The same can be said about the ramification problem in what concerns the derivation of indirect effects not properly caused by the action under consideration. For example, S ,E ,X ,I |=PDL ¬alive → [tease]alive. Thus, given an action theory 〈S ,E ,X ,I 〉, we need a consequence relation powerful enough to deal with the frame and ramification problems. This means that the deductive power of PDL has to be augmented in order to ensure that the only non-effects of actions that follow from the theory are those that are really relevant. The presence of static laws makes that this is a delicate task, and starting with [2,3], several authors have argued that some notion of causality is needed. In this work we opt for the dependence-based approach presented in [5], which has been shown [29] to subsume Reiter's solution to the frame problem [30], and moreover at least partially accounts for the ramification problem [31]. In the logical framework developed in [5], metalogical information, given in the form of a dependence relation, is added to PDL. Definition 12 (Dependence relation [5]). A dependence relation is a binary relation ⊆ Act × Lit. 3 Of course this would require a solution to the qualification problem [24]. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 957The expression a   denotes that the execution of action a may make the literal  true. In our example we have = { 〈shoot,¬loaded〉, 〈shoot,¬alive〉, 〈shoot,¬walking〉, 〈tease,walking〉 } , which means that action shoot may make the literals ¬loaded, ¬alive and ¬walking true, and action tease may make walking true. Semantically, the dependence-based approach relies on the explanation closure assumption [26], and its solution to the frame problem consists in a kind of negation as failure: because 〈load,¬hasGun〉 /∈, we have load  ¬hasGun, i.e., ¬hasGun is never caused by load. Thus, in a context where hasGun is true, after every execution of load, hasGun still remains true. We also have tease  alive and tease  ¬alive. The meaning of all these independences is that the frame axioms hasGun → [load]hasGun, ¬alive → [tease]¬alive and alive → [tease]alive hold. We assume that  is finite. A dependence relation  defines a class of possible worlds models: Definition 13. A PDL-model M = 〈W,R〉 is a -model if and only if whenever wRaw′ then: • if a  p, then |=Mw p implies |=Mw′ p; and • if a  ¬p, then |=Mw p implies |=Mw′ p. Fig. 2 depicts the dependence-based condition on models. Given a -model M, Φ and T , |=M Φ and |=M T are defined as in Definition 3. Definition 14. A formula Φ is a -based consequence of the set of global axioms T in the class of all -models (noted T |= Φ) if and only if for every -model M, if |=M T , then |=M Φ . In our example it thus holds S ,E ,X ,I |= hasGun → [load]hasGun and S ,E ,X ,I |= ¬alive → [tease]¬alive. In this way, the dependence-based approach solves the frame problem. However, it does not entirely solve the ramification problem: while indirect effects such as loaded → [shoot]¬walking can be deduced with |= without explicitly stating that in the set of effect laws for shoot, we nevertheless still have to state indirect dependences such as shoot  ¬walking. However, according to Reiter's view: "what counts as a solution to the frame problem [. . .] is a systematic procedure for generating, from the effect laws, [. . .] a parsimonious representation for [all] the frame axioms" [32]. Fig. 2. Dependence-based condition: preservation of literal ¬p under hypothesis a  p. 958 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Fig. 3. A model of an action theory and its big model Mbig. We comply with that as we can define a semi-automatic procedure for generating the dependence relation from the set of effect laws [33]. Moreover, as it has been argued in [23,31], our approach is in line with the state of the art because none of the existing solutions to the frame and the ramification problems can handle domains with both indeterminate and indirect effects. In the next section we turn to a metatheoretical analysis of action theories and make a step toward formal criteria for theory evaluation. Before that, we need a definition. Definition 15. Let 〈S ,Ea,X a,Ia〉 be an action theory for a, and  a dependence relation. Then M = 〈W,R〉 is the big (alias maximal/standard) model for 〈S ,Ea,X a,Ia〉 and  if and only if: • M is a -model; • W = valuations(S ) (all valuations of S ); and • Ra = {(w,w′): for all φ → [a]ψ ∈ Ea ∪ Ia, if |=Mw φ, then |=Mw′ ψ}. For an example, consider an action theory whose components are given by S = ∅, Ea = {p1 → [a]¬p2}, X a = {〈a〉}, Ia = {p2 → [a]⊥}, and = {〈a,¬p1〉, 〈a,¬p2〉}. Fig. 3 depicts one of its models and its associated big model. Big models contain all valuations consistent with S . Clearly, for a big model M we have |=M S ∧Ea ∧Ia . Because M maximizes executability, it is only X a which might not be true in M. In the rest of the paper we characterize when an action theory with a dependence relation has a big model. 3. The postulates "When does a given action theory have a model?", and, more importantly, "is that model intended?" are questions that naturally arise when we talk about action theories. Here we claim that all the approaches that are put forward in the literature are too liberal in the sense that we can have satisfiable action theories that are intuitively incorrect. We argue that something beyond the consistency notion is required in order to help us in answering these questions. Our central thesis is that the different types of laws defined in Section 2.2 should be neatly separated in modules. Besides that, we want such laws to interfere only in one sense: static laws together with action laws for a may have consequences that do not follow from the action laws for a alone. The other way round, action laws should not allow to infer new static laws; effect laws should not allow to infer inexecutability laws; action laws for a should not allow to infer action laws for a′, etc. This means that our logical modules should be designed in such a way that they are as specialized and as little dependent on others as possible. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 959A first step in this direction has been the proposed division of our entities into the sets S , E , X and I . In order to accomplish our goal, we have to diminish interaction among such modules, rendering them the least interwoven we can. The rest of the section contains postulates expressing this. We here only state the postulates, and defer explanations and discussions to Sections 4–6. PC (Logical consistency): S ,Ea,X a,Ia |= ⊥. The theory of a given action should be logically consistent. PS (No implicit static laws): if S ,Ea,X a,Ia |= φ, then S |=CPL φ. If a classical formula can be inferred from the action theory, then it should be inferable from the set of static laws alone. (Note that on the left we use the -based consequence, while on the right we use consequence in classical logic: as both S and φ are classical, φ should be inferable from S in classical logic.) PI (No implicit inexecutability laws): if S ,Ea,X a,Ia |= φ → [a]⊥, then S ,Ia |=PDL φ → [a]⊥. If an inexecutability law for an action a can be inferred from its action theory, then it should be inferable in PDL from the static laws and the inexecutability laws for a alone. Note that we used |=PDL instead of |= because we also suppose that neither frame axioms nor indirect effects should be relevant to derive inexecutability laws. The same remark holds for the postulate that follows: PX (No implicit executability laws): if S ,Ea,X a,Ia |= φ → 〈a〉, then S ,X a |=PDL φ → 〈a〉. If an executability law for a can be inferred from its action theory, then it should already "be" in X a , in the sense that it should also be inferable in PDL from the set of static and executability laws for a alone. Postulate PC is obvious, for we are interested in consistent theories. It can be shown that PX is a consequence of PS (see Corollary 41). Thus, while PC is obvious and PX can be ensured by PS, things are less obvious for Postulates PS and PI: it turns out that for all approaches in the literature they are easily violated by action theories that allow to express the four kinds of laws. We therefore study each of these postulates in the subsequent sections by means of examples, give algorithms to decide whether they are satisfied, and discuss about what to do in the case the answer is 'no'. 4. No implicit static laws While executability laws increase expressive power, they might conflict with inexecutability laws. Consider, for example, the following action theory: S1 = {walking → alive}, E1 = { [tease]walking, loaded → [shoot]¬alive } , X1 = {〈tease〉}, I1 = {¬alive → [tease]⊥} and the dependence relation: = { 〈shoot,¬loaded〉, 〈shoot,¬alive〉, 〈shoot,¬walking〉, 〈tease,walking〉 } . From this description we have the unintuitive inference X tease1 ,I tease1 |=PDL alive: the turkey is immortal! This is an implicit static law because alive does not follow from S alone: 〈S ,E tease,X tease,I tease〉 violates Postulate PS.1 1 1 1 1 960 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Implicit static laws are not a drawback of our underlying logical formalism. They also appear in Situation Calculusbased approaches and in causal laws theories. To witness,4 suppose in Lin's framework we have Holds(p1, s) → Caused(p2, true, s) (1) and Caused(p2, false, s). (2) Then from (2) we get ¬Holds(p2, s) (3) and then conclude ¬Caused(p2, true, s). (4) Finally, from (1) and (4) we get ¬Holds(p1, s) which is an implicit static law. To see how implicit static laws show up in McCain and Turner's causal laws approach [3], let the causal law φ ⇒ ψ and T = {¬ψ}. Then ¬φ is an implicit static law in such a description. How can we find out whether an action theory for a with a dependence relation  satisfies Postulate PS? Theorem 16. 〈S ,Ea,X a,Ia〉 and  satisfy Postulate PS if and only if the big model for 〈S ,Ea,X a,Ia〉 and  is a model of 〈S ,Ea,X a,Ia〉 and . Proof. Let M = 〈W,R〉 be the big model of 〈S ,Ea,X a,Ia〉 and . (⇒): As M is a big model of 〈S ,Ea,X a,Ia〉 and , we have |=M S ∧ Ea ∧ Ia . It remains to show that |=M X a . Let φi → 〈a〉 ∈ X a , and let w ∈ W be such that |=Mw φi . Therefore, for all φj ∈ Fml such that S ,Ea,X a,Ia |= φj → [a]⊥, we must have |=Mw φj , because S ,Ea,X a,Ia |= ¬(φi ∧ φj ), and as 〈S ,Ea,X a,Ia〉 and  satisfy Postulate PS, S |=CPL ¬(φi ∧ φj ), and hence |=M ¬(φi ∧ φj ). Then, by the construction of M, there is some w′ ∈ W such that |=M w′ ψ , for all φ → [a]ψ such that S ,Ea,Ia |= φ → [a]ψ and |=Mw φ, and wRaw′. Hence, |=Mw φi →〈a〉, and thus M is a model of 〈S ,Ea,X a,Ia〉 and . (⇐): Suppose 〈S ,Ea,X a,Ia〉 and  do not satisfy Postulate PS. Then there must be φ ∈ Fml such that S ,Ea,X a,Ia |= φ and S |=CPL φ. This means that there is a valuation val of S that falsifies φ. As val ∈ W (because M contains all possible valuations of S ), M is not a model of 〈S ,Ea,X a,Ia〉 and .  We shall give an algorithm to find a finite characterization of all5 implicit static laws of a given action theory 〈S ,Ea,X a,Ia〉. The idea is as follows: for each executability law φ → 〈a〉 in the theory, construct from Ea , Ia and  a set of inexecutabilities {φ1 → [a]⊥, . . . , φn → [a]⊥} that potentially conflict with φ → 〈a〉. For each i, 1  i  n, if φ ∧φi is satisfiable w.r.t. S , mark ¬(φ ∧φi) as an implicit static law. Incrementally repeat this procedure (adding all the implicit ¬(φ ∧ φi) to S ) until no more implicit static law is obtained. For an example of the execution of the algorithm, consider the action theory 〈S1,E tease1 ,X tease1 ,I tease1 〉 with  as above. For the action tease, we have the executability 〈tease〉. Now, from E tease1 , I tease1 and  we try to build an inexecutability for tease. We take [tease]walking and compute then all indirect effects of tease w.r.t. S1. From walking → alive, we get that alive is an indirect effect of tease, giving us [tease]alive. But 〈tease,alive〉 /∈, which means the frame axiom ¬alive → [tease]¬alive holds. Together with [tease]alive, this gives us the inexecutability ¬alive → [tease]⊥. As S1 ∪ {,¬alive} is satisfiable ( is the antecedent of the executability 〈tease〉), we get¬alive → ⊥, i.e., the implicit static law alive. For this example no other inexecutability for tease can be derived, so the computation stops. Before presenting the pseudo-code of the algorithm we need some definitions. 4 The examples are from [34]. 5 Actually what the algorithm does is to find an interpolant of all implicit static laws of the theory. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 961Definition 17. Let φ ∈ Fml and χ a clause. χ is an implicate of φ if and only if φ |=CPL χ . In our running example, walking ∨ alive and ¬walking ∨ alive are implicates of the set of formulas {walking → alive,walking}. Definition 18. Let φ ∈ Fml and χ a clause. χ is a prime implicate of φ if and only if • χ is an implicate of φ, and • for every implicate χ ′ of φ, χ ′ |=CPL χ implies χ |=CPL χ ′. The set of all prime implicates of a formula φ is denoted PI(φ). For example, the set of prime implicates of p1 is just {p1}, and that of p1 ∧ (¬p1 ∨ p2) ∧ (¬p1 ∨ p3 ∨ p4) is {p1,p2,p3 ∨ p4}. In our shooting domain, alive is a prime implicate of {walking → alive,walking}. For more on prime implicates, their properties and how to compute them see [35]. Definition 19. Let φ,ψ ∈ Fml. Then NewCons(ψ,φ) = PI(φ ∧ ψ) \ PI(φ). The function NewCons(ψ,φ) computes the new consequences of φ w.r.t. ψ : the set of strongest clauses that follow from φ ∧ ψ , but do not follow from φ alone (cf. e.g. [36]). It is computed by subtracting the prime implicates of φ from those of φ ∧ ψ . For example, NewCons((¬p1 ∨ p2) ∧ (¬p1 ∨ p3 ∨ p4),p1) = {p2,p3 ∨ p4}. And for our scenario, NewCons(walking,walking → alive) = {alive,walking}. The algorithm below improves the one in [37] by integrating a solution to the frame problem (via the dependence relation ). For convenience, we define Ca = Ea ∪ Ia as the set of all formulas expressing the direct consequences of an action a, whether they are consistent or not. Algorithm 1 (Finding all implicit static laws induced by a). input: 〈S ,Ea,X a,Ia〉 and  output: Simp∗ , the set of all implicit static laws of 〈S ,Ea,X a,Ia〉 Simp∗ := ∅ Ca := Ea ∪ Ia repeat Simp := ∅ for all φ → 〈a〉 ∈ X a do for all Ĉa ⊆ Ĉa such that Ĉa = ∅ do φĈa := ∧{φi : φi → [a]ψi ∈ Ĉa} ψĈa := ∧{ψi : φi → [a]ψi ∈ Ĉa} for all χ ∈ NewCons(φ Ĉa ,S) do if S ∪ Simp∗ ∪ {φ,φĈa ,¬χ} |=CPL ⊥ and ∀i ∈ χ,a  i then Simp := Simp ∪ {¬(φ ∧ φĈa ∧ ¬χ)} Simp∗ := Simp∗ ∪ Simp until Simp = ∅ This is the key algorithm of the paper. In each step of the algorithm, S ∪Simp∗ is the updated set of static laws (the original ones fed with the implicit laws caught up to that point). At the end, Simp∗ collects all the implicit static laws. Theorem 20. Algorithm 1 terminates. Proof. Let Ca = Ea ∪ Ia . First, the set of candidates to be an implicit static law that might be due to a and that are examined in the repeat-loop is{¬(φ ∧ φ a ∧ ¬χ): Ĉa ⊆ Ca, φ → 〈a〉 ∈ X a and χ ∈ χ ∈ NewCons(φ  a ,S)}.C C 962 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984As Ea , Ia and X a are finite, this set is finite. In each step, either the algorithm stops because Simp = ∅, or at least one of the candidates is put into Simp in the outermost for-loop. (This one terminates, because X a , Ca and NewCons(.) are finite.) Such a candidate is not going to be put into Simp in future steps of the algorithm, because once added to S ∪ Simp∗ , it will be in the set of laws S ∪ Simp∗ of all subsequent executions of the outermost for-loop, falsifying its respective if-test for such a candidate. Hence the repeat-loop is bounded by the number of candidates, and therefore Algorithm 1 terminates.  While terminating, our algorithm comes with considerable computational costs: first, the number of formulas φĈa and ψĈa is exponential in the size of C a , and second, the computation of NewCons(ψĈa ,S ) might result in exponential growth. While we might expect Ca to be reasonably small in practice (because Ea and Ia are in general small), the size of NewCons(ψĈa ,S ) is more difficult to control. Example 21. For 〈S1,E tease1 ,X tease1 ,I tease1 〉, Algorithm 1 returns Simp∗ = {alive}. Theorem 22. Let Simp∗ be the output of Algorithm 1 on input 〈S ,Ea,X a,Ia〉 and . Then 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS if and only if Simp∗ = ∅. Proof. See Appendix A.  Theorem 23. Let Simp∗ be the output of Algorithm 1 on input 〈S ,Ea,X a,Ia〉 and . Then (1) 〈S ∪ Simp∗ ,Ea,X a,Ia〉 with  satisfies PS (has no implicit static law). (2) S ,Ea,X a,Ia |= ∧Simp∗ . Proof. Item (1) is straightforward from the termination of Algorithm 1 and Theorem 22. Item (2) follows from the fact that by the if-test in Algorithm 1, the only formulas that are put in Simp∗ at each execution of the repeat-loop are exactly those that are implicit static laws of the current theory, and therefore of the original theory, too.  Corollary 24. For all φ ∈ Fml, S ,Ea,X a,Ia |= φ if and only if S ∪ Simp∗ |=CPL φ. Proof. For the left-to-right direction, let S ,Ea,X a,Ia |= φ, for given φ ∈ Fml. Then S ∪Simp∗ ,Ea,X a,Ia |= φ, by monotonicity. By Theorem 23(1), 〈S ∪ Simp∗ ,Ea,X a,Ia〉 has no implicit static law, hence S ∪ Simp∗ |=CPL φ. The right-to-left direction is straightforward by Theorem 23(2).  What shall we do once we have discovered an implicit static law? The existence of implicit static laws may indicate too strong executability laws: in Example 21, we wrongly assumed that tease is always executable. Thus one way of 'repairing' our theory would be to consider the weaker executability alive → 〈tease〉 instead of 〈tease〉 in X tease. On the other hand, implicit static laws may also indicate that the inexecutability laws are too strong: Example 25. Consider S = ∅, E shoot = {loaded → [shoot]¬alive}, X shoot = {hasGun → 〈shoot〉} and Ishoot = {[shoot]⊥}, with the dependence relation = {〈shoot,¬alive〉, 〈shoot,¬walking〉. For this theory Algorithm 1 returns Simp∗ = {¬hasGun}. In Example 25 we discovered that the agent never has a gun. The problem here can be overcome by weakening [shoot]⊥ in Ishoot with ¬hasGun → [shoot]⊥.6 6 Regarding Examples 21 and 25, one might argue that in practice such silly errors will never be made. Nevertheless, the examples here given are quite simplistic, and for applications of real interest, whose complexity will be much higher, we simply cannot rely on the designer's knowledge about all side effects the stated formulas can have. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 963We can go further on this reasoning and also argue that the problem may be due to a too strong set of effect laws, or even to too strong frame axioms (i.e., a too weak dependence relation). To witness, for Example 21, if we replace the law [tease]walking by the weaker alive → [tease]walking, the resulting action theory would satisfy Postulate PS. In the same way, stating the (unintuitive) dependence tease  alive (which means the frame axiom ¬alive → [tease]¬alive is no longer valid) guarantees satisfaction of PS. (Note, however, that this solution becomes intuitive when alive is replaced by awake.) To finish, implicit static laws of course may also indicate that the static laws are too weak: Example 26. Suppose a computer representation of the line of integers, in which we can be at a strictly positive number, pos, or at a negative one or zero, ¬pos. Let maxInt and minInt, respectively, be the largest and the smallest representable integer number. Action goLeft is the action of moving to the biggest integer strictly smaller than the one at which we are. Consider the following action theory for this scenario (ati means we are at number i): S = {ati → pos: 0 < i  maxInt} ∪ {ati → ¬pos: minInt  i  0}, E = {atminInt → [goLeft]underflow} ∪ {ati → [goLeft]ati−1: i > minInt}, X = {〈goLeft〉}, I = ∅ with the dependence relation (minInt  i  maxInt): = { 〈goLeft,ati〉, 〈goLeft,pos〉, 〈goLeft,¬pos〉, 〈goLeft,underflow〉 } . Applying Algorithm 1 to this action theory gives us the implicit static law ¬(at1 ∧ at2), i.e., we cannot be at numbers 1 and 2 at the same time. To summarize, in order to satisfy Postulate PS, an action theory should contain a complete set of static laws or, alternatively, should not contain too strong action laws. Remark 27. S ∪ Simp∗ in general is not intuitive. Whereas in the latter example the implicit static laws should be added to S , in the others the implicit static laws are unintuitive and due to an (in)executability law that is too strong and should be weakened. Of course, how intuitive the modified action theory will be depends mainly on the knowledge engineer's choice. To sum it up, eliminating implicit static laws may require revision of S , Ea or , or completion of X a and Ia . Completing Ia is the topic we address in the next section. 5. No implicit inexecutability laws Let S2 = S1, E2 = E1 and X2 = I2 = ∅, and let  be that for 〈S1,E1,X1,I1〉. Note that 〈S2,E2,X2,I2〉 and  satisfy Postulate PS. From [tease]walking it follows with S2 that [tease]alive, i.e., in every situation, after teasing the turkey, it is alive: S2,E tease2 |=PDL [tease]alive. Now as tease  alive, the status of alive is not modified by tease, and we have S2,E tease2 |= ¬alive → [tease]¬alive. From the above, it follows S2,E tease2 ,X tease2 ,I tease2 |= ¬alive → [tease]⊥, i.e., an inexecutability law stating that a dead turkey cannot be teased. But S2,I tease2 |=PDL ¬alive → [tease]⊥, hence Postulate PI is violated. Here the formula ¬alive → [tease]⊥ is an example of what we call an implicit inexecutability law. In the literature, such laws are also known as implicit qualifications [25], and it has been often supposed, in a more or less tacit way, that it is a positive feature of frameworks to leave them implicit and provide mechanisms for inferring them [2,38,39]. The other way round, one might argue as well that implicit qualifications indicate that the domain has not been described in an adequate manner: the form of inexecutability laws is simpler than that of effect laws, and 964 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984it might be reasonably expected that it is easier to exhaustively describe them.7 Thus, all inexecutabilities of a given action should be explicitly stated, and this is what Postulate PI says. How can we check whether PI is violated? We can conceive an algorithm to find implicit inexecutability laws of a given action a. The basic idea is as follows: for every combination of effect laws of the form (φ1 ∧ * * * ∧ φn) → [a](ψ1 ∧ * * * ∧ ψn), with each φi → [a]ψi ∈ Ea , if φ1 ∧ * * * ∧ φn is consistent w.r.t. to S , ψ1 ∧ * * * ∧ ψn inconsistent w.r.t. S , and S ,Ia |=PDL (φ1 ∧ * * * ∧ φn) → [a]⊥, then output (φ1 ∧ * * * ∧ φn) → [a]⊥ as an implicit inexecutability law. Our algorithm basically does this, and moreover takes into account dependence information. For an example of the execution of the algorithm, take 〈S2,E tease2 ,X tease2 ,I tease2 〉 with  as given above. From E tease2 we get the law  → [tease]walking, whose antecedent is consistent with S . As long as |= ¬alive → [tease]¬alive and S ∪ {walking} |=CPL alive, and because S ,I tease2 |=PDL ( ∧ ¬alive) → [tease]⊥, we caught an implicit inexecutability. As there is no other combination of effect laws for tease, we end the simulation here. Below is the pseudo-code of the algorithm for that (the reason X a is not used in the computation will be made clear in the sequel): Algorithm 2 (Finding implicit inexecutability laws for a). input: 〈S ,Ea,X a,Ia〉 and  output: Iaimp , the set of implicit inexecutability laws for a Iaimp := ∅ for all Êa ⊆ Ea do φÊa := ∧{φi : φi → [a]ψi ∈ Êa} ψÊa := ∧{ψi : φi → [a]ψi ∈ Êa} for all χ ∈ NewCons(ψÊa ,S ) do if ∀i ∈ χ,a  i and S ,Ia |=PDL (φÊa ∧ ¬χ) → [a]⊥ then Iaimp := Iaimp ∪ {(φÊa ∧ ¬χ) → [a]⊥} Theorem 28. Algorithm 2 terminates. Proof. Straightforward, as we have assumed S , E , I and  finite, and NewCons(.) is finite (because S and ψÊa are finite).  Example 29. Consider S2,E tease2 ,X tease2 ,I tease2 and  as given above. Then Algorithm 2 returns I teaseimp = {¬alive →[tease]⊥}. Nevertheless, applying Algorithm 2 is not enough to guarantee Postulate PI, as illustrated by the following example: Example 30 (Incompleteness of Algorithm 2 without PS). Let S = ∅, Ea = {p1 → [a]p2}, X a = {〈a〉}, Ia = {p2 → [a]⊥}, and = ∅. Then we have S ,Ea,X a,Ia |= p1 → [a]⊥, but running Algorithm 2 on 〈S ,Ea,X a,Ia〉 we get S ,Iaimp |=PDL p1 → [a]⊥. Example 30 shows that the presence of implicit static laws (induced by executabilities) implies the existence of implicit inexecutabilities that are not caught by Algorithm 2. One way of getting rid of this is requiring 〈S ,Ea,X a,Ia〉 and  to satisfy Postulate PS prior to running Algorithm 2. This gives us the following result: Theorem 31. Let Iaimp be the output of Algorithm 2 on input 〈S ,Ea,X a,Ia〉 and . If 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS, then it satisfies Postulate PI if and only if Iaimp = ∅. 7 Note that this concerns the necessary conditions for executability, and thus it is not related to the qualification problem, which basically says that it is difficult to state all the sufficient conditions for executability. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 965Proof. See Appendix B.  With Algorithm 2, not only do we decide whether Postulate PI is satisfied, but we also get information on how to "repair" the action theory. The set of implicit inexecutabilities so obtained provides logical and metalogical information concerning the correction that must be carried out: in the first case, elements of Iaimp can be added to Ia ; in the second one, Iaimp helps in properly changing Ea or . For instance, to correct the action theory of our example, the knowledge engineer would have the following options: (1) Add the qualification ¬alive → [tease]⊥ to I tease2 ; or (2) Add the (unintuitive) dependence 〈tease,alive〉 to ; or (3) Weaken the effect law [tease]walking to alive → [tease]walking in E tease2 . It is easy to see that whatever she opts for, the resulting action theory for tease will satisfy Postulate PI (while still satisfying PS). Example 32 (Drinking coffee [12]). Suppose a situation in which we reason about the effects of drinking a cup of coffee: S = ∅, Edrink = { sugar → [drink]happy, salt → [drink]¬happy } , X drink = Idrink = ∅ and the dependence relation = {〈drink,happy〉, 〈drink,¬happy〉}. Observe that 〈S ,Edrink,X drink,Idrink〉 with  satisfies PS. Then, running Algorithm 2 on this action theory will give us Idrinkimp = {(sugar ∧ salt) → [drink]⊥}. Remark 33. Ia ∪ Iaimp is not always intuitive. Whereas in Example 29 we have got an inexecutability that could be safely added to I tease2 , in Example 32 we got an inexecutability that is unintuitive (just the presence of sugar and salt in the coffee precludes drinking it). In that case, revision of other parts of the theory should be considered in order to make it intuitive. Anyway, the problem pointed out in the depicted scenario just illustrates that intuition is beyond syntax. The scope of this work relies on the syntactical level. Only the knowledge engineer can judge about how intuitive a formula is. In what follows we revisit our postulates in order to strengthen them to the case where more than one action is under concern and thus get results that can be applied to whole action theories. 6. Generalizing the postulates We have seen the importance that satisfaction of Postulates PC, PS and PI may have in describing the action theory of a particular action a. However, in applications of real interest more than one action is involved, and thus a natural question that could be raised is "can we have similar metatheoretical results for multiple action theories"? In this section we generalize our set of postulates to action theories as a whole, i.e., considering all actions of a domain, and prove some interesting results that follow from that. As we are going to see, some of these results are straightforward, while others must rely on some additional assumptions in order to hold. A generalization of Postulate PC is quite easy and has no need for justification: PC∗ (Logical consistency): S ,E ,X ,I |= ⊥. The whole action theory should be logically consistent. Generalizing Postulate PS will give us the following: PS∗ (No implicit static laws): if S ,E ,X ,I |= φ, then S |=CPL φ. 966 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984If a classical formula can be inferred from the whole action theory, then it should be inferable from the set of static laws alone. We have the following results: Theorem 34. 〈S ,E ,X ,I 〉 and  satisfy PS∗ if and only if 〈S ,Ea,X a,Ia〉 and  satisfies PS for all a ∈ Act. Proof. (⇒): Straightforward: Suppose that for some a ∈ Act 〈S ,Ea,X a,Ia〉 does not satisfy PS. Then there is φ ∈ Fml such that S ,Ea,X a,Ia |= φ and S |=CPL φ. Of course S ,E ,X ,I |= φ, by monotonicity, but still S |=CPL φ. Hence 〈S ,E ,X ,I 〉 does not satisfy PS∗. (⇐): Suppose 〈S ,E ,X ,I 〉 with  does not satisfy PS∗. Then there is φ ∈ Fml such that S ,E ,X ,I |= φ and S |=CPL φ. φ is equivalent to φ1 ∧ * * * ∧ φn, with φ1, . . . , φn ∈ Fml and such that there is at least one φi such that S |=CPL φi (otherwise S |=CPL φ). Because the logic is independently axiomatized, there must be some a ∈ Act such that S ,Ea,X a,Ia |= φi . From this and S |=CPL φi it follows that 〈S ,Ea,X a,Ia〉 and with  do not satisfy PS.  Corollary 35. 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗ if and only if the big model for 〈S ,E ,X ,I 〉 and  is a model of 〈S ,E ,X ,I 〉. Proof. The proof follows from Theorems 16 and 34.  Theorem 36. If 〈S ,E ,X ,I 〉 with  satisfies PS∗, then 〈S ,E ,X ,I 〉 with  satisfies PC∗ if and only if 〈S ,Ea,X a,Ia〉 and  satisfy PC for all a ∈ Act. Proof. Let 〈S ,E ,X ,I 〉 and  satisfy PS∗. (⇒): Suppose that 〈S ,Ea,X a,Ia〉 with  does not satisfy PC, for some a ∈ Act. Because 〈S ,E ,X ,I 〉 and  satisfy PS∗, 〈S ,Ea,X a,Ia〉 and  satisfy Postulate PS (Theorem 34), and then S |=CPL ⊥. From this it follows that 〈S ,E ,X ,I 〉 does not satisfy Postulate PC∗. (⇐): Suppose 〈S ,E ,X ,I 〉 and  do not satisfy PC∗. Then S ,E ,X ,I |= ⊥. Because 〈S ,E ,X ,I 〉 with  satisfies Postulate PS∗, S |=CPL ⊥. Since Act = ∅, there is some a ∈ Act such that S ,Ea,X a,Ia |= ⊥.  A more general form of Postulate PI can also be stated: PI∗ (No implicit inexecutability laws): if S ,E ,X ,I |= φ → [a]⊥, then S ,I |=PDL φ → [a]⊥. If an inexecutability law can be inferred from the whole action theory, then it should be inferable in PDL from the static and inexecutability laws alone. Note that having that 〈S ,Ea,X a,Ia〉 with  satisfies PI for all a ∈ Act is not enough to 〈S ,E ,X ,I 〉 with  satisfy PI∗ if there are implicit static laws. To witness, let S = Ea1 = ∅, and X a1 = {〈a1〉}, Ia1 = {φ → [a1]⊥}. Let also Ea2 = X a2 = Ia2 = ∅. Observe that both 〈S ,Ea1 ,X a1,Ia1〉 and 〈S ,Ea2 ,X a2,Ia2〉 with  satisfy PI, but S ,E ,X ,I |= φ → [a2]⊥ and S ,I |=PDL φ → [a2]⊥. Nevertheless, under PS∗ the result follows: Theorem 37. Let 〈S ,E ,X ,I 〉 with  satisfy PS∗. 〈S ,E ,X ,I 〉 with  satisfies PI∗ if and only if 〈S ,Ea,X a,Ia〉 and  satisfy PI for all a ∈ Act. Proof. See Appendix C.  In the next section we make a step toward an attempt of amending our modularity criteria by investigating possible extensions of our set of postulates. 7. Can we ask for more? Can we augment our set of postulates to take into account other modules of action theories, or even other metatheoretical issues in reasoning about actions? That is the topic we discuss in what follows. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 9677.1. Postulates about action effects It seems to be in line with our postulates to require action theories not to allow for the deduction of new effect laws: if an effect law can be inferred from an action theory (and no inexecutability for the same action in the same context can be derived), then it should be inferable from the set of static and effect laws alone. This means we should have: PE (No implicit effect laws): if S ,E ,X ,I |= φ → [a]ψ and S ,E ,X ,I |= φ → [a]⊥, then S ,E |= φ → [a]ψ. But consider the following intuitively correct action theory: S3 = ∅, E3 = { loaded → [shoot]¬alive, (¬loaded ∧ alive) → [shoot]alive } , X3 = { hasGun → 〈shoot〉}, I3 = {¬hasGun → [shoot]⊥} together with the dependence shoot  ¬alive. It satisfies Postulates PS∗ and PI∗, but does not satisfy PE. Indeed: S3,E3,X3,I3 |= ¬hasGun ∨ loaded → [shoot]¬alive and S3,E3,X3,I3 |= ¬hasGun ∨ loaded → [shoot]⊥, but S3,E3 |= ¬hasGun ∨ loaded → [shoot]¬alive. So, Postulate PE would not help us to deliver the goods. Another possibility of improving our modularity criteria could be: P⊥ (No unattainable effects): if φ → [a]ψ ∈ E , then S ,E ,X ,I |= φ → [a]⊥. This expresses that if we have explicitly stated an effect law for a in some context, then there should be no inexecutability law for the same action in the same context. It is straightforward to design an algorithm which checks whether this postulate is satisfied. We do not investigate this further here, but just observe that the slightly stronger version below leads to unintuitive consequences: P⊥' (No unattainable effects-strong version): if S ,E |= φ → [a]ψ, then S ,E ,X ,I |= φ → [a]⊥. Indeed, for the above action theory we have E3 |= (¬hasGun ∧ loaded) → [shoot]¬alive, but S3,E3,X3,I3 |= (¬hasGun ∧ loaded) → [shoot]⊥. This is certainly too strong. Our example also illustrates that it is sometimes natural to have 'redundancies' or 'overlaps' between E and I . Indeed, as we have pointed out, inexecutability laws are a particular kind of effect laws, and the distinction here made is conventional. The decision of considering them as strictly different entities or not depends mainly on the context. At a representational level we prefer to keep them separated, while in Algorithm 1 we have mixed them together in order to compute the consequences of an action. In what follows we address the problem of completing the set of executability laws of an action theory. 968 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–9847.2. Maximizing executability As we have seen, implicit static laws only show up when there are executability laws. So, a question that naturally raises is "which executability laws can be consistently added to a given action theory?". A hypothesis usually made in the literature is that of maximization of executabilities: in the absence of a proof that an action is inexecutable in a given context, assume its executability for that context. Such a hypothesis is captured by the following postulate that we investigate in this section: PX+ (Maximal executability laws): if S ,Ea,X a,Ia |= φ → [a]⊥, then S ,X a |=PDL φ → 〈a〉. Such a postulate expresses that if in context φ no inexecutability for a can be inferred, then the respective executability should follow in PDL from the executability and static laws. Postulate PX+ generally holds in non-monotonic frameworks, and can be enforced in monotonic approaches such as ours by maximizing X a . We nevertheless would like to point out that maximizing executability is not always intuitive. To witness, suppose we know that if we have the ignition key, the tank is full, . . . , and the battery tension is beyond 10 V, then the car (necessarily) will start. Suppose we also know that if the tension is below 8 V, then the car will not start. What should we conclude in situations where we know that the tension is 9 V? Maximizing executabilities makes us infer that it will start, but such reasoning is not what we want if we would like to be sure that all possible executions lead to the goal. 8. Exploiting modularity In this section we present other properties related to consistency and modularity of action theories, emphasizing the main results that we obtain when Postulate PS∗ is satisfied. Theorem 38. If 〈S ,E ,X ,I 〉 with  satisfies PS∗, then S ,E ,X ,I |= ⊥ if and only if S |=CPL ⊥. This theorem says that if there are no implicit static laws, then consistency of an action theory can be checked by just checking consistency of S . Theorem 39. If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → [a]ψ if and only if S ,Ea,Ia |= φ → [a]ψ . Proof. See Appendix D.  This means that under PS∗ we have modularity inside E , too: when deducing the effects of a we need not consider the action laws for other actions. Versions for executability and inexecutability can be stated as well: Theorem 40. If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → 〈a〉 if and only if S ,X a |= φ → 〈a〉. Proof. See Appendix E.  Corollary 41. PX is a consequence of PS. Proof. Straightforward.  Theorem 42. If 〈S ,E ,X ,I 〉 and  satisfy Postulates PS∗ and PI∗, then S ,E ,X ,I |= φ → [a]⊥ if and only if S ,Ia |=PDL φ → [a]⊥. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 969Proof. (⇒): If S ,E ,X ,I |= φ → [a]⊥, then from PS∗ and Theorem 39 we have S ,Ea,Ia |= φ → [a]⊥. From this and PI∗ we get S ,Ia |=PDL φ → [a]⊥. (⇐): Suppose S ,E ,X ,I |= φ → [a]⊥. Then there is a -model M such that |=M S ∧ E ∧ X ∧ I and |=M φ → [a]⊥. Then, given a, we have |=M S ∧ Ea ∧ X a ∧ Ia , and then |=M S ∧ Ia . Moreover, by definition, M is a PDL-model. Hence S ,Ia |=PDL φ → [a]⊥.  In Theorems 40 and 42, modularity guarantees moreover that no dependence is needed to derive, respectively, executabilities and inexecutabilities. Let Ea1,...,an = ⋃1in Eai , X a1,...,an = ⋃1inX ai , and Ia1,...,an = ⋃1in Iai . Under Postulate PS∗, deduction of an effect of a sequence of actions a1; . . . ;an (prediction) needs neither the effect and inexecutability laws for actions other than a1, . . . , an, nor the executability laws of the domain: Theorem 43. If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → [a1; . . . ;an]ψ if and only if S ,Ea1,...,an ,Ia1,...,an |= φ → [a1; . . . ;an]ψ . Proof. See Appendix F.  The same result holds for testing inexecutability of a sequence of actions: Corollary 44. If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → [a1; . . . ;an]⊥ if and only if S ,Ea1,...,an ,Ia1,...,an |= φ → [a1; . . . ;an]⊥. Proof. Straightforward, as a special case of Theorem 43.  The next theorem shows that our notion of modularity is also fruitful in plan validation: Theorem 45. Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗. Then we have S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ if and only if S ,Ea1,...,an ,X a1,...,an ,Ia1,...,an |= φ → 〈a1; . . . ;an〉ψ . Proof. See Appendix G. And as a consequence, we also optimize testing executability of a plan: Corollary 46. Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗. Then we have S ,E ,X ,I |= φ → 〈a1; . . . ;an〉 if and only if S ,Ea1,...,an ,X a1,...,an ,Ia1,...,an |= φ → 〈a1; . . . ;an〉. Proof. Straightforward, as a special case of Theorem 45. Theorems 43 and 45 together with Corollaries 44 and 46 suggest that we can simulate modularization by subdomains [40]: If 〈{a1, . . . , an},Prop′〉 is a sub-domain for some Prop′ ⊆ Prop, then 〈S ,Ea1,...,an ,X a1,...,an ,Ia1,...,an〉 with  corresponds to the module for 〈{a1, . . . , an},Prop′〉 in Lifschitz and Ren's sense (see the next section). 9. Related work Pirri and Reiter have investigated the metatheory of the Situation Calculus [41]. In a spirit similar to ours, they use executability laws and effect laws. Contrarily to us, their executability laws are equivalences and are thus at the same time inexecutability laws. As they restrict themselves to domains without ramifications, there are no static laws, i.e., S = ∅. For this setting they give a syntactical condition on effect laws guaranteeing that they do not interact with the executability laws in the sense that they do not entail implicit static laws. Basically, the condition says that when there are effect laws φ1 → [a]ψ and φ2 → [a]¬ψ , then φ1 and φ2 are inconsistent (which essentially amounts to having in their theories a kind of "implicit static law schema" of the form ¬(φ1 ∧ φ2)). 970 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984This then allows them to show that such theories are always consistent. Moreover they thus simplify the entailment problem for this calculus, and show for several problems such as consistency or regression that only some of the modules of an action theory are necessary. Amir [42] focuses on design and maintainability of action descriptions applying many of the concepts of the objectoriented paradigm in the Situation Calculus. In that work, guidelines for a partitioned representation of a given theory are presented, with which the inference task can also be optimized, as it is restricted to the part of the theory that is really relevant to a given query. This is observed specially when different agents are involved: the design of an agent's theory can be done with no regard to others', and after the integration of multiple agents, queries about an agent's beliefs do not take into account the belief state of other agents. In the referred work, executabilities are as in [41] and the same condition on effect laws is assumed, which syntactically precludes the existence of implicit static laws. The frame problem is solved using Reiter's solution [32] and then is also restricted to domains without static laws. Ramifications are dealt with by compiling them away à la Reiter and Lin [43] based on the method given in [44], which takes into account only some restricted state constraints. In spite of using many of the object-oriented paradigm tools and techniques, no mention is made to the concepts of cohesion and coupling [45,46], which are closely related to modularity [12]. In the approach presented in [42], even if modules are highly cohesive, they are not necessarily lowly coupled, due to the dependence between objects in the reasoning phase. We do not investigate this further here, but conjecture that this could be done there by, during the reasoning process defined for that approach, avoiding passing to a module a formula of a type different from those it contains. The present work generalizes and extends Pirri and Reiter's result to the case where S = ∅ and both these works where the syntactical restriction on effect laws is not made. This gives us more expressive power, as we can reason about inexecutabilities, and a better modularity in the sense that we do not combine formulas that are conceptually different (viz. executabilities and inexecutabilities). It also constitutes a better approach for domains with ramifications as we do not impose any restriction on the domain laws we can deal with. Zhang et al. [47] have also proposed an assessment of what a good action theory should look like. They develop the ideas in the framework of EPDL [6], an extended version of PDL which allows for propositions as modalities to represent a causal connection between literals. We do not present the details of that, but concentrate on the main meta-theoretical results. Zhang et al. propose a normal form for describing action theories,8 and investigate three levels of consistency. Roughly speaking, a set of laws T is uniformly consistent if it is globally consistent (i.e., T |=EPDL⊥); a formula Φ is T -consistent if T |=EPDL¬Φ , for T a uniformly consistent theory; T is universally consistent if (in our terms) every logically possible world is accessible. Furthermore, two assumptions are made to preclude the existence of implicit qualifications. Satisfaction of such assumptions means the theory under consideration is safe, i.e., it is uniformly consistent. Such a normal form justifies the two assumptions made and on which their notion of good theories relies. Given this, they propose algorithms to test the different versions of consistency for a theory T that is in normal form. This test essentially amounts to checking whether T is safe, i.e., whether T |=EPDL〈a〉, for every action a. Success of this check should mean that the theory under analysis satisfies the consistency requirements. Although they are concerned with the same kind of problems that have been discussed in this work, they take an overall view of the subject, in the sense that all problems are dealt with together. This means that in their approach no special attention (in our sense) is given to the different components of the theory, and then every time something is wrong with it this is taken as a global problem inherent to the theory as a whole. Whereas such a "systemic" view of action theories is not necessarily a drawback (we have just seen the strong interaction that exists between the different sets of laws composing an action theory), being modular in our sense allows us to better identify the "problematic" laws and take care of them. Moreover, the advantage of allowing to find the set of laws which must be modified in order to achieve the desired consistency is made evident by the algorithms we have proposed (while their results only allow to decide whether a given theory satisfies some consistency requirement). 8 But not as expressive as one might think: For instance, in modeling the nondeterministic action of dropping a coin on a chessboard, we are not able to state [drop](black ∨ white). Instead, we should write something like [dropblack]black, [dropwhite]white, [dropblack,white]black and [dropblack,white]white, where dropblack is the action of dropping the coin on a black square (analogously for the others) and drop = dropblack ∪ dropwhite ∪ dropblack,white, with "∪" the nondeterministic composition of actions. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 971Lang et al. [48] address consistency of action theories in a version of the causal laws approach [3], focusing on the computational aspects. To solve the frame problem, they suppose an abstract notion of completion. Given a theory T a containing logical information about a's direct effects as well as the indirect effects that may follow (expressed in the form of causal laws), the completion of T a , roughly speaking, is the original theory T a amended of some axioms stating the persistence of all non-affected (directly nor indirectly) literals. (Note that such a notion of completion is close to the underlying semantics of the dependence relation used throughout the present work, which essentially amounts to the explanation closure assumption [26].) Their EXECUTABILITY problem is to check whether action a is executable in all possible initial states (Zhang et al.'s safety property). This amounts to testing whether every possible state w has a successor w′ reachable by a such that w and w′ both satisfy the completion of T a . For the Walking Turkey Scenario, the formalization of action tease with causal laws is given by: T tease = {  tease⇒ walking, ¬alive ⇒ ¬walking } where the first formula is a conditional effect law for tease, and the latter a causal law in McCain and Turner's sense. We will not dive in the technical details, and just note that the executability check will return "no" for this example as tease cannot be executed in a state satisfying ¬alive. In the mentioned work, the authors are more concerned with the complexity analysis of the problem of doing such a consistency test and no algorithm for performing it is given, however. Despite the fact their motivation is the same as ours, again what is presented is a kind of "yes-no tool" which can help in doing a meta-theoretical analysis of a given action theory, and many of the comments concerning Zhang et al.'s approach could be repeated here. Another criticism that could be made about both these approaches concerns the assumption of full executability they rely on. We find it too strong to require all actions to be always executable (cf. Section 7), and to reject as bad an action theory admitting situations where some action cannot be executed at all. As an example, consider a very simple action theory 〈S ,E ,X ,I 〉, where S = {walking → alive}, E = {[tease]walking}, X = {〈tease〉}, and I = ∅, with a dependence relation given by = {〈tease,walking〉}. Observe that, with our approach, it suffices to derive the implicit inexecutability law ¬alive → [tease]⊥, change I , and the system will properly run in situations where ¬alive is the case. On the other hand, if we consider the equivalent representation of such an action theory in the approach of Lang et al., after computing the completion of T tease, if we test its executability, we will get the answer "no", the reason being that tease is not executable in the possible state where ¬alive holds. Such an answer is correct, but note that with only this as guideline we have no idea about where a possible modification in the action theory should be carried out in order to achieve full executability for tease. The same observation holds for Zhang et al.'s proposal. Just to see how things can be even worse, let the same action theory as above, but with X = {alive → 〈tease〉}, obtained by its correction with the algorithms we proposed. Observe that the resulting theory satisfies all our postulates. It is not hard to see, however, that the representation of such an action theory in the above frameworks, when checked by their respective consistency tests, is still considered to have a problem. This problem arises because Lang et al.'s proposal do not allow for executability laws, thus one cannot make the distinction between X = {〈tease〉}, X = {alive → 〈tease〉} and X = ∅. By their turn, Zhang et al. allows for specifying executabilities, however their consistency definitions do not distinguish the cases alive → 〈tease〉 and 〈tease〉. A concept similar to that of implicit static laws was firstly addressed, as far as we are concerned, in the realm of regulation consistency with deontic logic [49]. Indeed, the notions of regulation consistency given in the mentioned work and that of modularity presented in [37] and refined here can be proved to be equivalent. The main difference between the mentioned work and the approach in [37] relies on the fact that in [49] some syntactical restrictions on the formulas have to be made in order to make the algorithm to work. Lifschitz and Ren [40] propose an action description language derived from C+ [50] in which domain descriptions can also be decomposed in modules. Contrarily to our setting, in theirs a module is not a set of formulas for given action a, but rather a description of a subsystem of the theory, i.e., each module describes a set of interrelated fluents and actions. As an example, a module describing Lin's suitcase [2] should contain all causal laws in the sense of C+ that are relevant to the scenario. Actions or fluents having nothing to do, neither directly nor indirectly, with 972 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984the suitcase should be described in different modules. This feature makes such a decomposition somewhat domaindependent, while here we have proposed a type-oriented modularization of the formulas, which does not depend on the domain. In the referred work, modules can be defined in order to specialize other modules. This is done by making the new module to inherit and then specialize other modules' components. This is an important feature when elaborations are involved. In the suitcase example, adding a new action relevant to the suitcase description can be achieved by defining a new module inheriting all properties of the old one and containing the causal laws needed for the new action. Such ideas are interesting from the standpoint of software and knowledge engineer: reusability is an intrinsic property of the framework, and easy scalability promotes elaboration tolerance. Consistency of a given theory and how to prevent conflicts between modules (independent or inherited) however is not addressed. In this work we have illustrated by some examples what we can do in order to make a theory intuitive. This involves theory modification. Action theory change has been addressed in the recent literature on revision and update [51–53]. In [54] we have investigated this issue and shown the importance that modularity has in such a task. 10. Conclusion Our contribution is twofold: general, as we presented postulates that apply to all reasoning about actions formalisms; and specific, as we proposed algorithms for a dependence-based solution to the frame problem. We have defined here the concept of modularity of an action theory and pointed out some of the problems that arise if it is not satisfied. In particular we have argued that the non-dynamic part of action theories could influence but should not be influenced by the dynamic one.9 We have put forward some postulates, and in particular tried to demonstrate that when there are implicit static and inexecutability laws then one has slipped up in designing the action theory in question. As shown, a possible solution comes into its own with Algorithms 1 and 2, which can give us some guidelines in correcting an action theory if needed. By means of examples we have seen that there are several alternatives of correction, and choosing the right module to be modified as well as providing the intuitive information that must be supplied is up to the knowledge engineer. Given the difficulty of exhaustively enumerating all the preconditions under which a given action is executable (and also those under which such an action cannot be executed), it is reasonable to expect that there is always going to be some executability precondition φ1 and some inexecutability precondition φ2 that together lead to a contradiction, forcing, thus, an implicit static law ¬(φ1 ∧ φ2). This is the reason we propose to state some information about both executabilities and inexecutabilities, and then run the algorithms in order to improve the description. It could be argued that unintuitive consequences in action theories are mainly due to badly written axioms and not to the lack of modularity. True enough, but what we have presented here is the case that making a domain description modular gives us a tool to detect at least some of such problems and correct it. (But note that we do not claim to correct badly written axioms automatically and once for all.) Besides this, having separate entities in the ontology and controlling their interaction help us to localize where the problems are, which can be crucial for real world applications. In this work we have illustrated by some examples what we can do in order to make a theory intuitive. This involves theory modification. In [31] we have presented a general method for changing a domain description given a formula we want to contract. Their we have defined a semantics for theory contraction and also presented its syntactical counterpart through contraction operators. Soundness and completeness of such operators with respect to the semantics have been established. In that work we have also shown that modularity is a sufficient condition for contraction to be successful. This gives further evidence that the notion of modularity is fruitful. Our postulates can be formulated in any reasoning about actions framework, but the algorithms require a decidable logic (in particular Algorithm 2). PDL is one candidate for that, as we have seen along the paper. For first-order-based frameworks the consistency checks of Algorithms 1 and 2 are undecidable. We can get rid of this by assuming that there is no function symbol in the language. In this way, the result of NewCons(.) is finite and the algorithm terminates. 9 It might be objected that it is only by doing experiments that one learns the static laws that govern the universe. But note that this involves learning, whereas here-as always done in the reasoning about actions field-the static laws are known once forever, and do not evolve. A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 973Hence another candidate for our ideas would have been the Situation Calculus fragment with only propositional fluents. The present paper is also a step toward a solution to the problem of indirect dependences: indeed, if the implicit dependence shoot  ¬walking is not in , then after running Algorithm 2 we get an indirect inexecutability (loaded∧ walking) → [shoot]⊥, i.e., shoot cannot be executed if loaded ∧ walking holds. Such an unintuitive inexecutability is not in I and thus indicates the missing indirect dependence. The general case is nevertheless more complex, and it seems that such indirect dependences cannot be computed automatically in the case of indeterminate effects (cf. the example in [23]). We are currently investigating this issue. The first work on formalizing modularity in logical systems in general is due to Garson [55]. Modularity of theories in reasoning about actions was originally defined in [15]. Modularization of ontologies in description logics is addressed in [56]. A different viewpoint of the work we presented here can be found in [12], where modularity of action theories is assessed from a software engineering perspective. A modularity-based approach for narrative reasoning about actions is given in [57]. In [13] we show that our modularity notion can also be extended to ontologies in the description logic ALC. Our postulates do not take into account causality statements linking propositions such as those defined in [2,3,39,58]. This could be a topic for further investigation. Acknowledgements The authors are grateful to the anonymous referees for useful comments on an earlier version of this paper. Ivan Varzinczak has been supported by a fellowship from the government of the FEDERATIVE REPUBLIC OF BRAZIL. Grant: CAPES BEX 1389/01-7. Appendix A. Proof of Theorem 22 Let Simp∗ be the output of Algorithm 1 on input 〈S ,Ea,X a,Ia〉 and . Then 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS if and only if Simp∗ = ∅. We recall that |=CPL is logical consequence in classical propositional logic, and PI(A) is the set of prime implicates of a set A of classical formulas. Before giving the proof of the theorems, we recall some properties of prime implicates [35,59] and of the function NewCons(.) [36] (see Section 4). Let φ ∈ Fml, A ⊆ Fml finite (identified with the conjunction of its formulas), and χ be a clause. Then (1) |=CPL φ ↔ ∧PI(φ) [35, Corollary 3.2]. (2) PI(A) ∪ NewCons(φ,A) = PI(A ∧ φ) (by definition of NewCons(,)). (3) |=CPL (A ∧ φ) ↔ (A ∧ NewCons(φ,A)) (from (1) and (2)) (4) If PI(φ) |=CPL χ , then there is χ ′ ∈ PI(φ) such that χ ′ |=CPL χ [35, Proposition 3.4]. Let 〈S ,Ea,X a,Ia〉 with  be an action theory for a, and let φ → 〈a〉 ∈ X a , Ca = Ea ∪ Ia , and Ĉa ⊆ Ca . We define: φĈa = ∧{ φi : φi → [a]ψi ∈ Ĉa } , ψĈa = ∧{ ψi : φi → [a]ψi ∈ Ĉa } . Moreover, let indepa = {¬: a  }. Lemma 47. Let indep′a ⊆ indepa . S ∪ {ψĈa } ∪ indep′a |=CPL ⊥ if and only if S ∪ NewCons(ψĈa ,S )∪ indep′a |=CPL ⊥. Proof. S ∪ {ψ a } ∪ indep′a |=CPL ⊥C 974 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984if and only if PI ( S ∪ {ψĈa } ) ∪ indep′a |=CPL ⊥ (by property (1)) if and only if PI ( S ∪ NewCons(ψĈa ,S ) ) ∪ indep′a |=CPL ⊥ (by property (2)) if and only if S ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥ (by property (1)).  Lemma 48. Let indep′a ⊆ indepa . If S ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥, then there exists χ ∈ NewCons(ψĈa ,S ) such that S ∪ {χ} ∪ indep′a |=CPL ⊥. Proof. S ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥ if and only if PI(S ) ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥ (by property (1)) if and only if PI ( S ∪ {ψĈa } ) ∪ indep′a |=CPL ⊥ (by property (2)) if and only if PI ( S ∪ {ψĈa } ) |=CPL ¬∧{¬i : ¬i ∈ indep′a} if and only if PI ( S ∪ {ψĈa } ) |=CPL ∨{i : ¬i ∈ indep′a} if and only if there exists χ ∈ PI(S ∪ {ψĈa }) such that χ |=CPL ∨ {i : ¬i ∈ indep′a} (by property (4)) if and only if {χ} ∪ indep′a |=CPL ⊥ if and only if S ∪ {χ} ∪ indep′a |=CPL ⊥.  Lemma 49. Let indep′a ⊆ indepa . If we have S ∪{φ,φĈa }∪ indep′a |=CPL ⊥ and S ∪NewCons(ψĈa ,S )∪ indep′a |=CPL ⊥, then there exists χ ∈ NewCons(ψĈa ,S ) such that S ∪ {χ} ∪ indep′a |=CPL ⊥. Proof. By Lemma 48 and classical logic.  Lemma 50. Let indep′a ⊆ indepa . If we have S ∪ {φ,φĈa } ∪ indep′a |=CPL ⊥ and S ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥, then there exists χ ∈ NewCons(ψĈa ,S ) such that both S ∪ {φ,φĈa } ∪ indep′a |=CPL ⊥ and S ∪ {χ} ∪ indep′a |=CPL ⊥. Proof. Trivially, by Lemma 49.  A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 975Lemma 51. Let indep′a ⊆ indepa . If χ ∈ NewCons(ψĈa ,S ) is such that S ∪ {φ,φĈa } ∪ indep′a |=CPL ⊥ and S ∪ {χ} ∪ indep′a |=CPL ⊥, then both S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥ and S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. Proof. Let S ∪ {φ,φĈa } ∪ indep′a |=CPL ⊥ and χ ∈ NewCons(ψĈa ,S ) be such that S ∪ {χ} ∪ indep′a |=CPL ⊥. If χ = ⊥, the result is trivial. Otherwise, we have the following cases: • If atm(χ) ⊂ atm(indep′a), then the premise is false (and the lemma trivially holds). • If atm(χ) = atm(indep′a), the lemma holds. • Let atm(χ) ⊂ atm(indep′a). Then, from S ∪ {φ,φĈa } ∪ indep′a |=CPL ⊥ (the hypothesis) it follows S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. From S ∪ {χ} ∪ indep′a |=CPL ⊥ (hypothesis) and because S ∪ indep′a |=CPL ⊥, it follows S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥.  Lemma 52. If χ ∈ NewCons(ψĈa ,S ) is such that both S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥ and S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥, then S ∪ {φ,φĈa ,¬χ} |=CPL ⊥ and for all i ∈ χ , a  i . Proof. From S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥ we conclude S ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. From this and the hypothesis S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥, it follows S ∪ {¬i : i ∈ χ and a  i} |=CPL ¬χ. If S |=CPL ¬χ , then S ∪ {ψĈa } |=CPL ¬χ , and because χ ∈ NewCons(ψĈa ,S ), we have χ |=CPL ¬χ , a contradiction. Hence S ∪ {χ} |=CPL ⊥. Suppose now there is a literal  ∈ χ such that ¬ /∈ {¬i : i ∈ χ and a  i}. Then, the propositional valuation in which χ←true satisfies S ∪ {χ} ∪ {¬i : i ∈ χ and a  i}, and then S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. Hence there cannot be such a literal, and then for all i ∈ χ , a  i . 976 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Now, from a  i for all i ∈ χ , we have |=CPL ∧{¬i : i ∈ χ and a  i} ↔ ¬χ . From this and the hypothesis S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥ it follows S ∪ {φ,φĈa ,¬χ} |=CPL ⊥.  Proof of Theorem 22. We are about to prove that 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS if and only if Simp∗ = ∅. (⇒): Suppose Simp∗ = ∅. Then at the first step of the algorithm there has been some φ → 〈a〉 ∈ X a and some Ĉa ⊆ Ca such that for some χ ∈ NewCons(ψĈa ,S ), S ,Ea,X a,Ia |= ¬(φ ∧ φĈa ∧ ¬χ) and S |=CPL ¬(φ ∧ φĈa ∧ ¬χ). Hence 〈S ,Ea,X a,Ia〉 does not satisfy Postulate PS. (⇐): Suppose that Simp∗ = ∅. Therefore for all φ′ → 〈a〉 ∈X a and for all subsets Ĉa ⊆ Ca , we have that for all χ ∈ NewCons(ψĈa ,S ), if S ∪ {φ′, φĈa ,¬χ} |=CPL ⊥, (A.1) then there exists i ∈ χ such that a  i . From (A.1) and Lemma 52, we get for all χ ∈ NewCons(ψĈa ,S ), if S ∪ {φ,φĈa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥, then S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. From this and Lemma 51, it follows that for all χ ∈ NewCons(ψĈa ,S ), if S ∪ {φ′, φĈa } ∪ indep′a |=CPL ⊥, then S ∪ {χ} ∪ indep′a |=CPL ⊥. This and Lemma 50 give us if S ∪ {φ′, φĈa } ∪ indep′a |=CPL ⊥, then S ∪ NewCons(ψĈa ,S ) ∪ indep′a |=CPL ⊥ From this and Lemma 47, it follows that for all indep′a ⊆ indepa , for every φ′ → 〈a〉 ∈ X a and all Ĉa ⊆ Ca , if S ∪ {φ′, φĈa } ∪ indep′a |=CPL ⊥, then S ∪ {ψĈa } ∪ indep′a |=CPL ⊥. (A.2) Now, suppose S |=CPL φ for some propositional φ. We will build a model M such that M is a -model for 〈S ,Ea,X a,Ia〉 that does not satisfy φ. Let M = 〈W,Ra〉 be such that W = valuations(S ), and Ra be such that for all w,w′ ∈ W , wRaw′ if and only if • |=M w′ ψi for every φi → [a]ψi ∈ Ca such that |=Mw φi ; and • |=M w′ ¬ for all  such that a   and |=Mw ¬. We have that M is a -model, by the definition of Ra . By the definition of W , M is a model of S . We have that M is a model of Ea and Ia , too: for every φi → [a]ψi ∈ Ca and every world w ∈ W , if |=Mw φi , then, by the definition of Ra , |=Mw′ ψi for all w′ ∈ W such that wRaw′. Moreover, M is also a model of X a : for every φi → 〈a〉 ∈ X a and every world w ∈ W , if |=Mw φi , then Ea(w) = {φi → [a]ψi ∈ Ea: |=Mw φi}, and indepa(w) = {¬: a   and |=Mw ¬} A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 977are such that S ∪ {φi,φEa(w)} ∪ indepa(w) |=CPL ⊥, where φEa(w) = ∧{ φi : φi → [a]ψi ∈ Ea(w) } . From this and (A.2), we have S ∪ {ψEa(w)} ∪ indepa(w) |=CPL ⊥, where ψEa(w) = ∧{ ψi : φi → [a]ψi ∈ Ea(w) } . As W is maximal, there exists w′ such that |=M w′ ψEa(w) ∧ indepa(w). As Ra is maximal by definition, we have wRaw′. Hence there exists at least one w′ such that wRaw′, and |=Mw 〈a〉. Hence, M is a model of 〈S ,Ea,X a,Ia〉 and . Clearly |=M φ, by the definition of W . Hence S ,Ea,X a,Ia |= φ. Therefore 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS.  Appendix B. Proof of Theorem 31 Let Iaimp be the output of Algorithm 2 on input 〈S ,Ea,X a,Ia〉 and . If 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS, then it satisfies Postulate PI if and only if Iaimp = ∅. Let 〈S ,Ea,X a,Ia〉 be an action theory for a with a dependence relation . For every Êa ⊆ Ea we define: φÊa = ∧{ φi : φi → [a]ψi ∈ Êa } , ψÊa = ∧{ ψi : φi → [a]ψi ∈ Êa } . Moreover, let indepa = {¬: a  }. Lemma 53. If S ,Ia |=PDL (φÊa ∧ indep′a) → [a]⊥ and S ∪ {ψÊa } ∪ indep′a |=CPL ⊥, then there is χ ∈ NewCons(ψÊa ,S ) such that S ,I a |=PDL (φÊa ∧ ¬χ) → [a]⊥ and a  i for all i ∈ χ . Proof. Let S ,Ia |=PDL (φÊa ∧ indep′a) → [a]⊥. Then there is a PDL-model M = 〈W,Ra〉 such that |=M S ∧ Ia and |=M (φÊa ∧ indep′a) → [a]⊥. This means that there is a possible world v ∈ W such that |=Mv φÊa ∧ indep′a and |=Mv [a]⊥. From |=Mv φÊa ∧ indep′a , it follows S ∪ {φÊa } ∪ indep′a |=CPL ⊥. (B.1) From hypothesis S ∪ {ψÊa } ∪ indep′a |=CPL ⊥ and Lemma 47, we get S ∪ NewCons(ψÊa ,S ) ∪ indep′a |=CPL ⊥ and from this and Lemma 48 we have that there is χ ∈ NewCons(ψÊa ,S ) such that S ∪ {χ} ∪ indep′a |=CPL ⊥. (B.2) From (B.1), (B.2) and classical logic, there is χ ∈ NewCons(ψÊa ,S ) such that S ∪ {φÊa } ∪ indep′a |=CPL ⊥ and S ∪ {χ} ∪ indep′a |=CPL ⊥. From this and Lemma 51 it follows that there is χ ∈ NewCons(ψÊa ,S ) such that S ∪ {φ,φÊa } ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥ and S ∪ {χ} ∪ {¬i : i ∈ χ and a  i} |=CPL ⊥. This and Lemma 52 gives us that for all i ∈ χ , a  i . Now, because M above is such that |=Mv φÊa ∧ indep′a , from this and S ∪ {χ} ∪ indep′a |=CPL ⊥, we have that |=Mv φ a ∧ ¬χ . Because |=Mv [a]⊥, we therefore have S ,Ia |=PDL (φ a ∧ ¬χ) → [a]⊥. E E 978 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Proof of Theorem 31. We are about to prove that if 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS, then it satisfies Postulate PI if and only if Iaimp = ∅. (⇒): Straightforward, as every time S ,Ea,X a,Ia |= φ → [a]⊥, we have S ,Ia |=PDL φ → [a]⊥, and then Iaimp never changes. (⇐): Suppose that Iaimp = ∅. Therefore for all subsets Êa ⊆ Ea , we have that for all χ ∈ NewCons(ψÊa ,S ), if S ,Ia |=PDL (φÊa ∧ ¬χ) → [a]⊥, then there exists i ∈ χ such that a  i . (B.3) From (B.3) and Lemma 53, it follows that for all Êa ⊆ Ea , if S ,Ia |=PDL (φÊa ∧ indep′a) → [a]⊥, then S ∪ {ψÊa } ∪ indep′a |=CPL ⊥. (B.4) Suppose S ,Ia |=PDL φ → [a]⊥ for some φ ∈ Fml. Then there exists a PDL-model M = 〈W,Ra〉 such that |=M S ∧ Ia and |=M φ → [a]⊥. This means that there is a possible world v ∈ W such that |=Mv φ and |=Mv [a]⊥. (We are going to build a -model of 〈S ,Ea,X a,Ia〉, and hence conclude that S ,Ea,X a,Ia |= φ → [a]⊥.) For given w ∈ W , we define: Ia(w) = {φi → [a]⊥ ∈ Ia : |=Mw φi}. Because 〈S ,Ea,X a,Ia〉 with  satisfies Postulate PS, we can extend M to a big model M′ = 〈W ′,R′a〉 such that W = valuations(S ), and R′a is defined such that for all w,w′ ∈ W ′, wR′aw′ if and only if • |=M′ w′ ¬ for all  such that a   and |=M′w ¬; • |=M′ w′ ψi for every φi → [a]ψi ∈ Ea such that |=M ′ w φi ; and• Ia(w) = ∅. By definition, M′ is a -model. We also have |=M′ S , by the definition of W ′. M′ is a model of Ea , too: for every φi → [a]ψi ∈ Ea and every w ∈ W ′, if |=M′w φi , then |=M′w′ ψi for all w′ ∈ W ′ such that wR′aw′. Clearly M′ is also a model of Ia : for every φi → [a]⊥ ∈ Ia and every w ∈ W ′, if |=M′w φi , then Ia(w) = ∅ and R′a(w) = ∅. M′ is a model of X a , too: for every φi → 〈a〉 ∈X a and every w ∈ W ′, if |=M′w φi , then Ea(w) = {φi → [a]ψi ∈ Ea: |=Mw φi} and indepa(w) = {¬: a   and |=Mw ¬} are such that S ,Ia |=PDL (φEa(w) ∧ indepa(w)) → [a]⊥, where φEa(w) = ∧{ φi : φi → [a]ψi ∈ Ea(w) } . The justification is that S ,Ia |=PDL (φEa(w) ∧ indepa(w)) → [a]⊥ would imply S ,Ea,X a,Ia |= (φEa(w) ∧ indepa(w)) → [a]⊥, and as long as φi → 〈a〉 ∈ X a , S ,Ea,X a,Ia |= ¬(φi ∧ φEa(w) ∧ indepa(w)). As by hypothesis 〈S ,Ea,X a,Ia〉 satisfies PS, S |=CPL ¬(φi ∧ φEa(w) ∧ indepa(w)), and then w /∈ W ′. Hence, from S ,Ia |=PDL (φEa(w) ∧ indepa(w)) → [a]⊥ and (B.4), it follows that S ∪ {ψEa(w)} ∪ indepa(w) |=CPL ⊥, where ψEa(w) = ∧{ ψi : φi → [a]ψi ∈ Ea(w) } . As W ′ is maximal, there exists w′ such that |=M′ w′ ψEa(w) ∧ indepa(w). As R′a is maximal by definition, we have wR′aw′. Hence there exists at least one w′ such that wR′aw′, and then |=M′w′ 〈a〉. Therefore, M′ is a model of 〈S ,Ea,X a,Ia〉 and . Looking at v ∈ W ′, we must have S ,Ia |=PDL (φEa(v) ∧ indepa(v)) → [a]⊥, because otherwise Ra(v) = ∅, against the hypothesis that |=Mv [a]⊥. Hence, from (B.4) it follows that S ∪{ψEa(v)}∪ indepa(v) |=CPL ⊥, and then there exists A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 979at least one v′ such that vR′av′, and then |=M′v′ 〈a〉. From this it follows that S ,Ea,X a,Ia |= φ → [a]⊥. Therefore〈S ,Ea,X a,Ia〉 and  satisfy Postulate PI.  Appendix C. Proof of Theorem 37 Let 〈S ,E ,X ,I 〉 with  satisfy PS∗. 〈S ,E ,X ,I 〉 with  satisfies PI∗ if and only if 〈S ,Ea,X a,Ia〉 and  satisfy PI for all a ∈ Act. (⇒): Suppose that S ,Ea,X a,Ia |= φ → [a]⊥. By monotonicity, S ,E ,X ,I |= φ → [a]⊥, too. Now suppose that S ,Ia |=PDL φ → [a]⊥. Then there exists a possible worlds model M = 〈W,Ra〉 such that |=M S ∧ Ia and there is a possible world v ∈ W such that |=Mv φ and |=Mv [a]⊥. Let M′ = 〈W ′,R′〉 be such that W ′ = W , and R′a′ = ∅, for all a′ = a, and R′a = Ra . Then |=M′ S ∧ I , and then S ,I |=PDL φ → [a]⊥. Hence 〈S ,E ,X ,I 〉 with  does not satisfy PI∗. (⇐): Suppose 〈S ,E ,X ,I 〉 and  do not satisfy Postulate PI∗. Then there exists φ ∈ Fml such that S ,E ,X ,I |= φ → [a]⊥ and S ,I |=PDL φ → [a]⊥. Claim. S ,Ea,X a,Ia |= φ → [a]⊥. Proof of the claim. Suppose S ,Ea,X a,Ia |= φ → [a]⊥. Then there exists a -model M = 〈W,Ra〉 such that |=M S ∧ Ea ∧ X a ∧ Ia and |=M φ → [a]⊥. This means that there is a possible world v ∈ W such that |=Mv φ and |=Mv [a]⊥, i.e., there is v′ ∈ W such that Ra(v) = v′. (We extend M to all other actions 〈S ,E ,X ,I 〉 speaks of and obtain a -model of 〈S ,E ,X ,I 〉.) Given w ∈ W , for each ai ∈ Act we define: Iai (w) = {φj → [ai]⊥ ∈ Iai : |=Mw φj}, X ai (w) = {φj → 〈ai〉 ∈X ai : |=Mw φj}. Let M′ = 〈W ′,R′〉 be such that W ′ = W , and R′ = Ra ∪ ⋃a′ =a Ra′ , where for each a′ = a and every w,w′ ∈ W ′, wRa′w′ if and only if • |=M′ w′ ¬ for all  such that a′   and |=M′w ¬; • |=M′ w′ ψi for every φi → [a′]ψi ∈ Ea ′ such that |=M′w φi ; and • Ia′(w) = ∅. By definition, M′ is a model of the dependence relation . Because, by hypothesis, 〈S ,E ,X ,I 〉 with  satisfies PS∗, there is no implicit static law, i.e., for every ai ∈ Act and every w ∈ W ′, if Iai (w) = ∅, then X ai (w) = ∅. Then, as W ′ = valuations(S ), M′ is a model of S . We have that M′ is a model of E , too: it is a model of Ea , and given a′ = a, for every φi → [a′]ψi ∈ E and every w ∈ W ′, if |=M′w φi , then |=M′w′ ψi for all w′ ∈ W ′ such that wRa′w′. Clearly M′ is also a model of I : it is a model of Ia , and given a′ = a, for every φi → [a′]⊥ ∈ I and every w ∈ W ′, if |=M′w φi , then Ia′(w) = ∅ and Ra′(w) = ∅. M′ is a model of X , too: besides being a model of X a , for every a′ = a and all worlds w ∈ W ′ such that X a′(w) = ∅ there is a world accessible by Ra′ , because Ra′(w) = ∅ in this case would preclude X a′(w) = ∅, and otherwise w /∈ W ′, which is impossible as long as PS∗ is satisfied. Thus |=M′ S ∧ E ∧X ∧ I , but if this is the case, S ,E ,X ,I |= φ → [a]⊥, hence we must have S ,Ea,X a,Ia |= φ → [a]⊥. (End of the proof of the claim.) From S ,I |=PDL φ → [a]⊥ it follows S ,Ia |=PDL φ → [a]⊥. Putting all the results together, we have that 〈S ,Ea,X a,Ia〉 with  does not satisfy Postulate PI.  Appendix D. Proof of Theorem 39 If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → [a]ψ if and only if S ,Ea,Ia |= φ → [a]ψ . 980 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984(⇒): Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, and also suppose that S ,Ea,Ia |= φ → [a]ψ . Then there exists a -model M = 〈W,Ra〉, such that |=M S ∧ Ea ∧ Ia and |=M φ → [a]ψ . This means that there is a possible world v ∈ W such that |=Mv φ and |=Mv [a]ψ , i.e., there is v′ ∈ W such that Ra(v) = v′ and |=Mv′ ψ . (We will extend M to obtain a -model of 〈S ,E ,X ,I 〉 and thus show that S ,E ,X ,I |= φ → [a]ψ .) Given w ∈ W , for each ai ∈ Act we define: Iai (w) = {φj → [ai]⊥ ∈ Iai : |=Mw φj}, X ai (w) = {φj → 〈ai〉 ∈ X ai : |=Mw φj}. Let M′ = 〈W ′,R′〉 be such that W ′ = W , and R′ = Ra ∪ ⋃a′ =a Ra′ , where for each a′ = a and every w,w′ ∈ W ′, wRa′w′ if and only if • |=M′ w′ ¬ for all  such that a′   and |=M′w ¬; • |=M′ w′ ψi for every φi → [a′]ψi ∈ Ea ′ such that |=M′w φi ; and • Ia′(w) = ∅. By definition, M′ is a model of the dependence relation . Because, by hypothesis, 〈S ,E ,X ,I 〉 satisfies PS∗, there is no implicit static law, i.e., for every ai ∈ Act and every w ∈ W ′, if Iai (w) = ∅, then X ai (w) = ∅. Then, as W ′ = valuations(S ), M′ is a model of S . We have that M′ is a model of E , too: it is a model of Ea , and given a′ = a, for every φi → [a′]ψi ∈ E and every w ∈ W ′, if |=M′w φi , then |=M′w′ ψi for all w′ ∈ W ′ such that wRa′w′. Clearly M′ is also a model of I : besides being a model of Ia , given a′ = a, for every φi → [a′]⊥ ∈ I and every w ∈ W ′, if |=M′w φi , then Ia′(w) = ∅ and Ra′(w) = ∅. M′ is a model of X , too: it is a model of X a , and for every a′ = a and all worlds w ∈ W ′ such that X a′(w) = ∅ there is a world accessible by Ra′ , because Ra′(w) = ∅ in this case would preclude X a′(w) = ∅, and otherwise w /∈ W ′, which is impossible as long as PS∗ is satisfied. Thus |=M′ S ∧ E ∧ X ∧ I . Because there are v, v′ ∈ W ′ such that |=M′v φ, vRav′ and |=M′v′ ψ , we have S ,E ,X ,I |= φ → [a]ψ . (⇐): Suppose S ,E ,X ,I |= φ → [a]ψ . Then there is a -model M such that |=M S ∧ E ∧X ∧ I and |=M φ → [a]ψ . Then, given a, we have |=M S ∧Ea ∧X a ∧Ia , and then |=M S ∧Ea ∧Ia . Hence S ,Ea,Ia |= φ → [a]ψ .  Appendix E. Proof of Theorem 40 If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → 〈a〉 if and only if S ,X a |= φ → 〈a〉. (⇒): Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, and suppose S ,X a |=PDL φ → 〈a〉. Then there exists a PDLmodel M = 〈W,Ra〉, such that |=M S ∧ X a and |=M φ → 〈a〉. This means that there is a possible world v ∈ W such that |=Mv φ and |=Mv 〈a〉. (We extend M to build a -model of 〈S ,E ,X ,I 〉 and then conclude that S ,E ,X ,I |= φ → 〈a〉.) Given w ∈ W , for each ai ∈ Act we define: Iai (w) = {φj → [ai]⊥ ∈ Iai : |=Mw φj}, X ai (w) = {φj → 〈ai〉 ∈ X ai : |=Mw φj}. Let M′ = 〈W ′,R′〉 be such that W ′ = W , and R′ = Ra ∪ ⋃a′ =a Ra′ , where for each a′ = a and every w,w′ ∈ W ′, wRa′w′ if and only if • |=M′ w′ ¬ for all  such that a′   and |=M′w ¬; • |=M′ w′ ψi for every φi → [a′]ψi ∈ Ea ′ such that |=M′w φi ; and • Ia′(w) = ∅. By definition, M′ is a model of the dependence relation . Because, by hypothesis, 〈S ,E ,X ,I 〉 satisfies PS∗, there is no implicit static law, i.e., for every ai ∈ Act and every w ∈ W ′, if X ai (w) = ∅, then Iai (w) = ∅. Then, as W ′ = valuations(S ), M′ is a model of S . We have that M′ is a model of E , too: it is a model of Ea , and given a′ = a, for every φi → [a′]ψi ∈ E and every w ∈ W ′, if |=M′w φi , then |=M′′ ψi for all w′ ∈ W ′ such that wRa′w′. Clearly M′ isw A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 981also a model of I : it is a model of Ia , and given a′ = a, for every φi → [a′]⊥ ∈ I and every w ∈ W ′, if |=M′w φi , then Ia′(w) = ∅ and Ra′(w) = ∅. M′ is a model of X , too: besides being a model of X a , for every a′ = a and all worlds w ∈ W ′ such that X a′(w) = ∅ there is a world accessible by Ra′ , because Ra′(w) = ∅ in this case would preclude X a′(w) = ∅, and otherwise w /∈ W ′, which is impossible as long as PS∗ is satisfied. Hence |=M′ S ∧ E ∧ X ∧ I . Because there is v ∈ W ′ such that |=M′v φ and |=M′v 〈a〉, we have S ,E ,X ,I |= φ → 〈a〉. (⇐): Suppose S ,E ,X ,I |= φ → 〈a〉. Then there is a -model M such that |=M S ∧ E ∧ X ∧ I and |=M φ → 〈a〉. Then, given a, we have |=M S ∧ Ea ∧ X a ∧ Ia , and then |=M S ∧ X a . Moreover, by definition, M is a PDL-model. Hence S ,X a |=PDL φ → 〈a〉.  Appendix F. Proof of Theorem 43 If 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗, then S ,E ,X ,I |= φ → [a1; . . . ;an]ψ if and only if S ,Ea1,...,an , Ia1,...,an |= φ → [a1; . . . ;an]ψ . Lemma 54. If S ,E ,X ,I |= φ → [a1; . . . ;an]ψ , then there is φ′ ∈ Fml such that S ,E ,X ,I |= φ → [a1; . . . ;an−1]φ′ and S ,E ,X ,I |= φ′ → [an]ψ . Proof. Let S ,E ,X ,I |= φ → [a1; . . . ;an]ψ . In the case we have S ,E ,X ,I |= φ → [a1; . . . ;an]⊥, the result immediately follows. Then, given a model M = 〈W,R〉 of 〈S ,E ,X ,I 〉 such that |=Mw φ for some w ∈ W , if |=Mw 〈a1; . . . ;an〉, there must be at least one w′n−1 such that |=Mw′n−1 [an]ψ . Take all such w ′ n−1 and let φ′ be ∨ |=M w′ n−1 [an]ψ w′n−1. Then we have both S ,E ,X ,I |= φ → [a1; . . . ;an−1]φ′, and S ,E ,X ,I |= φ′ → [an]ψ .  Proof of Theorem 43. (⇒): The proof is by induction on the number of action operators. Base: n = 1. As 〈S ,E ,X ,I 〉 satisfies Postulate PS∗, the result follows from Theorem 39. Induction hypothesis: for any k < n, if S ,E ,X ,I |= φ → [a1; . . . ;ak]ψ , then S ,Ea1,...,ak ,Ia1,...,ak |= φ → [a1; . . . ;ak]ψ . Step: let S ,E ,X ,I |= φ → [a1; . . . ;an]ψ . By Lemma 54, there is a classical formula φ′ such that S ,E ,X , I |= φ → [a1; . . . ;an−1]φ′ and S ,E ,X ,I |= φ′ → [an]ψ . From the induction hypothesis, we have S ,Ea1,...,an−1 , Ia1,...,an−1 |= φ → [a1; . . . ;an−1]φ′ and S ,Ean,Ian |= φ′ → [an]ψ . Thus S ,Ea1,...,an ,Ia1,...,an |= φ → [a1; . . . ;an]ψ . (⇐): Suppose S ,E ,X ,I |= φ → [a1; . . . ;an]ψ . Then there is a -model M such that |=M S ∧ E ∧ X ∧ I and |=M φ → [a1; . . . ;an]ψ . Then, given a1, . . . , an, we have |=M S ∧ Ea1,...,an ∧ X a1,...,an ∧ Ia1,...,an , and then |=M S ∧ Ea1,...,an ∧ Ia1,...,an . Hence S ,Ea1,...,an ,Ia1,...,an |= φ → [a1; . . . ;an]ψ .  Appendix G. Proof of Theorem 45 Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗. Then we have S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ if and only if S ,Ea1,...,an ,X a1,...,an ,Ia1,...,an |= φ → 〈a1; . . . ;an〉ψ . Lemma 55. Let 〈S ,E ,X ,I 〉 and  satisfy Postulate PS∗. If S ,E ,X ,I |= φ → 〈a〉ψ , then S ,Ea,X a,Ia |= φ → 〈a〉ψ . Proof. Let 〈S ,E ,X ,I 〉 satisfy Postulate PS∗ and suppose S ,Ea,X a,Ia |= φ → 〈a〉ψ . Then there exists a model M = 〈W,Ra〉, such that both |=M S ∧ Ea ∧X a ∧ Ia and |=M φ → 〈a〉ψ . This means that there is a possible world v ∈ W such that |=Mv φ and |=Mv 〈a〉ψ . (We extend M to build a model of 〈S ,E ,X ,I 〉 and then conclude that S ,E ,X ,I |= φ → 〈a〉ψ .) Given w ∈ W , for each ai ∈ Act we define: 982 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984Iai (w) = {φj → [ai]⊥ ∈ Iai : |=Mw φj}, X ai (w) = {φj → 〈ai〉 ∈ X ai : |=Mw φj}. Let M′ = 〈W ′,R′〉 be such that W ′ = W , and R′ = Ra ∪⋃a′ =a Ra′ (we extend M to all other actions 〈S ,E ,X ,I 〉 speaks of), where for each a′ = a and every w,w′ ∈ W ′, wRa′w′ if and only if • |=M′ w′ ¬ for all  such that a′   and |=M′w ¬; • |=M′ w′ ψi for every φi → [a′]ψi ∈ Ea ′ such that |=M′w φi ; and • Ia′(w) = ∅. By definition, M′ is a model of the dependence relation . Because, by hypothesis, 〈S ,E ,X ,I 〉 satisfies PS∗, there is no implicit static law, i.e., for every ai ∈ Act and every w ∈ W ′, if X ai (w) = ∅, then Iai (w) = ∅. Then, as W ′ = valuations(S ), M′ is a model of S . We have that M′ is a model of E , too: it is a model of Ea , and given a′ = a, for every φi → [a′]ψi ∈ E and every w ∈ W ′, if |=M′w φi , then |=M′w′ ψi for all w′ ∈ W ′ such that wRa′w′. Clearly M′ is also a model of I : it is a model of Ia , and given a′ = a, for every φi → [a′]⊥ ∈ I and every w ∈ W ′, if |=M′w φi , then Ia′(w) = ∅ and Ra′(w) = ∅. M′ is a model of X , too: besides being a model of X a , for every a′ = a and all worlds w ∈ W ′ such that X a′(w) = ∅ there is a world accessible by Ra′ , because Ra′(w) = ∅ in this case would preclude X a′(w) = ∅, and otherwise w /∈ W ′, which is impossible as long as PS∗ is satisfied. Hence |=M′ S ∧ E ∧ X ∧ I . Because there is v ∈ W ′ such that |=M′v φ and |=M′v 〈a〉ψ , we have S ,E ,X ,I |= φ → 〈a〉ψ .  Lemma 56. If S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ , then there is φ′ ∈ Fml such that S ,E ,X ,I |= φ → 〈a1; . . . ;an−1〉φ′ and S ,E ,X ,I |= φ′ → 〈an〉ψ . Proof. The proof is by induction on the number of action operators. Base: n = 2. Suppose S ,E ,X ,I |= φ → 〈a1;a2〉ψ . Then S ,E ,X ,I |= φ → 〈a1〉〈a2〉ψ . For every model M = 〈W,R〉 of 〈S ,E ,X ,I 〉 and for every w ∈ W such that |=Mw φ, there is w′ ∈ W such that wRa1w′ and |=Mw′ 〈a2〉ψ . Let φ′ be ∧{ :  ∈ w′} and the result follows. Induction hypothesis: for any k < n, if S ,E ,X ,I |= φ → 〈a1; . . . ;ak〉ψ , then there is φ′ ∈ Fml such that S ,E ,X ,I |= φ → 〈a1; . . . ;ak−1〉φ′ and S ,E ,X ,I |= φ′ → 〈ak〉ψ . Step: let S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ . Then we have that S ,E ,X ,I |= φ → 〈a1; . . . ;an−1〉. By the induction hypothesis, there is φ′ ∈ Fml such that S ,E ,X ,I |= φ → 〈a1; . . . ;an−2〉φ′ and S ,E ,X ,I |= φ′ → 〈an−1〉. Because S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ , given a model M = 〈W,R〉 of 〈S ,E ,X ,I 〉 such that |=Mw φ for some w ∈ W , there must be w′n−2 ∈ W such that |=Mw′n−2 〈an−1〉〈an〉ψ . Then we can safely take φ′ as ∧{:  ∈ w′n−2}. Now, S ,E ,X ,I |= φ′ → 〈an−1〉〈an〉ψ . By the base step, there is φ′′ ∈ Fml such that S ,E ,X ,I |= φ′ → 〈an−1〉φ′′ and S ,E ,X ,I |= φ′′ → 〈an〉ψ . Putting all the results together, we get S ,E ,X ,I |= φ → 〈a1; . . . ;an−1〉φ′′ and S ,E ,X ,I |= φ′′ → 〈an〉ψ , for some φ′′ ∈ Fml.  Proof of Theorem 45. (⇒): The proof is by induction on the number of action operators. Base: n = 1. As 〈S ,E ,X ,I 〉 satisfies Postulate PS∗, the result follows from Lemma 55. Induction hypothesis: for any k < n, if S ,E ,X ,I |= φ → 〈a1; . . . ;ak〉ψ , then S ,Ea1,...,ak ,X a1,...,ak ,Ia1,...,ak |= φ → 〈a1; . . . ;ak〉ψ . Step: let S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ . By Lemma 56, there is φ′ ∈ Fml such that S ,E ,X ,I |= φ → 〈a1; . . . ;an−1〉φ′ and S ,E ,X ,I |= φ′ → 〈an〉ψ . By the induction hypothesis, we have S ,Ea1,...,an−1 ,X a1,...,an−1 , Ia1,...,an−1 |= φ → 〈a1; . . . ;an−1〉φ′ and also S ,Ean,X an,Ian |= φ′ → 〈an〉ψ . Then, this gives us S ,Ea1,...,an , X a1,...,an ,Ia1,...,an |= φ → 〈a1; . . . ;an〉ψ . (⇐): Suppose S ,E ,X ,I |= φ → 〈a1; . . . ;an〉ψ . Then there is a -model M such that |=M S ∧ E ∧ X ∧ I and |=M φ → 〈a1; . . . ;an〉ψ . Then, given a1, . . . , an, |=M S ∧ Ea1,...,an ∧ X a1,...,an ∧ Ia1,...,an , and hence S ,Ea1,...,an ,X a1,...,an ,Ia1,...,an |= φ → 〈a1; . . . ;an〉ψ .  A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984 983References [1] G. De Giacomo, M. Lenzerini, PDL-based framework for reasoning about actions, in: M. Gori, G. Soda (Eds.), Proc. 4th Congress of the Italian Association for Artificial Intelligence (IA∗AI'95), in: Lecture Notes Artif. Intell., vol. 992, Springer-Verlag, 1995, pp. 103–114. [2] F. Lin, Embracing causality in specifying the indirect effects of actions, in: Mellish [62], pp. 1985–1991. [3] N. McCain, H. Turner, A causal theory of ramifications and qualifications, in: Mellish [62], pp. 1978–1984. [4] M. Thielscher, Computing ramifications by postprocessing, in: Mellish [62], pp. 1994–2000. [5] M. Castilho, O. Gasquet, A. Herzig, Formalizing action and change in modal logic I: The frame problem, Journal of Logic and Computation 9 (5) (1999) 701–735. [6] D. Zhang, N. Foo, EPDL: A logic for causal reasoning, in: B. Nebel (Ed.), Proc. 17th Intl. Joint Conf. on Artificial Intelligence (IJCAI'01), Seattle, Morgan Kaufmann Publishers, 2001, pp. 131–138. [7] D. Harel, Dynamic logic, in: D. Gabbay, F. Günthner (Eds.), Handbook of Philosophical Logic, vol. II, D. Reidel, Dordrecht, 1984, pp. 497– 604. [8] J. McCarthy, P. Hayes, Some philosophical problems from the standpoint of artificial intelligence, in: B. Meltzer, D. Mitchie (Eds.), Machine Intelligence, vol. 4, Edinburgh University Press, 1969, pp. 463–502. [9] M. Gelfond, V. Lifschitz, Representing action and change by logic programs, Journal of Logic Programming 17 (2/3–4) (1993) 301–321. [10] N. Kartha, V. Lifschitz, Actions with indirect effects (preliminary report), in: J. Doyle, E. Sandewall, P. Torasso (Eds.), Proc. 4th Intl. Conf. on Knowledge Representation and Reasoning (KR'94), Bonn, Morgan Kaufmann Publishers, 1994, pp. 341–350. [11] E. Giunchiglia, G. Kartha, V. Lifschitz, Representing action: Indeterminacy and ramifications, Artificial Intelligence 95 (2) (1997) 409–438. [12] A. Herzig, I. Varzinczak, Cohesion, coupling and the meta-theory of actions, in: Kaelbling and Saffiotti [60], pp. 442–447. [13] A. Herzig, I. Varzinczak, A modularity approach for a fragment of ALC, in: M. Fisher, W. van der Hoek, B. Konev, A. Lisitsa (Eds.), Proc. 10th Eur. Conf. on Logics in Artificial Intelligence (JELIA'2006), in: Lecture Notes Artif. Intell., vol. 4160, Springer-Verlag, 2006, pp. 216–228. [14] F. Baader, D. Calvanese, D. McGuinness, D. Nardi, P. Patel-Schneider (Eds.), Description Logic Handbook, Cambridge University Press, 2003. [15] A. Herzig, I. Varzinczak, Domain descriptions should be modular, in: R. López de Mántaras, L. Saitta (Eds.), Proc. 16th Eur. Conf. on Artificial Intelligence (ECAI'04), Valencia, IOS Press, 2004, pp. 348–352. [16] D. Harel, J. Tiuryn, D. Kozen, Dynamic Logic, MIT Press, Cambridge, MA, 2000. [17] M. Kracht, F. Wolter, Properties of independently axiomatizable bimodal logics, Journal of Symbolic Logic 56 (4) (1991) 1469–1485. [18] M. Kracht, F. Wolter, Simulation and transfer results in modal logic: A survey, Studia Logica 59 (1997) 149–177. [19] S. Popkorn, First Steps in Modal Logic, Cambridge University Press, 1994. [20] P. Blackburn, M. de Rijke, Y. Venema, Modal Logic, Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 2001. [21] M. Fitting, Proof Methods for Modal and Intuitionistic Logics, D. Reidel, Dordrecht, 1983. [22] S. Hanks, D. McDermott, Default reasoning, nonmonotonic logics, and the frame problem, in: T. Kehler, S. Rosenschein (Eds.), Proc. 5th Natl. Conf. on Artificial Intelligence (AAAI'86), Philadelphia, Morgan Kaufmann Publishers, 1986, pp. 328–333. [23] M. Castilho, A. Herzig, I. Varzinczak, It depends on the context! a decidable logic of actions and plans based on a ternary dependence relation, in: S. Benferhat, E. Giunchiglia (Eds.), Workshop on Nonmonotonic Reasoning (NMR'02), Toulouse, 2002, pp. 343–348. [24] J. McCarthy, Epistemological problems of artificial intelligence, in: N. Sridharan (Ed.), Proc. 5th Intl. Joint Conf. on Artificial Intelligence (IJCAI'77), Cambridge, MA, Morgan Kaufmann Publishers, 1977, pp. 1038–1044. [25] M. Ginsberg, D. Smith, Reasoning about actions II: The qualification problem, Artificial Intelligence 35 (3) (1988) 311–342. [26] L. Schubert, Monotonic solution of the frame problem in the situation calculus: An efficient method for worlds with fully specified actions, in: H. Kyberg, R. Loui, G. Carlson (Eds.), Knowledge Representation and Defeasible Reasoning, Kluwer Academic Publishers, 1990, pp. 23–67. [27] P. Doherty, W. Łukaszewicz, A. Szałas, Explaining explanation closure, in: Proc. 9th Intl. Symposium on Methodologies for Intelligent Systems, Zakopane, Poland, in: Lecture Notes Comput. Sci., vol. 1079, Springer-Verlag, 1996. [28] J. Finger, Exploiting constraints in design synthesis, Ph.D. thesis, Stanford University, Stanford, 1987. [29] R. Demolombe, A. Herzig, I. Varzinczak, Regression in modal logic, Journal of Applied Non-Classical Logics (JANCL) 13 (2) (2003) 165– 185. [30] R. Reiter, The frame problem in the situation calculus: A simple solution (sometimes) and a completeness result for goal regression, in: V. Lifschitz (Ed.), Artificial Intelligence and Mathematical Theory of Computation: Papers in Honor of John McCarthy, Academic Press, San Diego, 1991, pp. 359–380. [31] I. Varzinczak, What is a good domain description? Evaluating and revising action theories in dynamic logic, Ph.D. thesis, Université Paul Sabatier, Toulouse, 2006. [32] R. Reiter, Knowledge in Action: Logical Foundations for Specifying and Implementing Dynamical Systems, MIT Press, Cambridge, MA, 2001. [33] M. Castilho, O. Gasquet, A. Herzig, A dependence-based framework for actions with indeterminate and indirect effects, Tech. Rep. RT-9804-R, Institut de recherche en informatique de Toulouse (IRIT), Université Paul Sabatier, http://www.irit.fr/LILaC/, February 1998. [34] C. Schwind, Causality in action theories, Linköping Electronic Articles in Computer and Information Science 4 (4). [35] P. Marquis, Consequence finding algorithms, in: D. Gabbay, P. Smets (Eds.), Algorithms for Defensible and Uncertain Reasoning, in: S. Moral, J. Kohlas (Eds.), Handbook of Defeasible Reasoning and Uncertainty Management Systems, vol. 5, Kluwer Academic Publishers, 2000, pp. 41–145, Chapter 2. [36] K. Inoue, Linear resolution for consequence finding, Artificial Intelligence 56 (2–3) (1992) 301–353. 984 A. Herzig, I. Varzinczak / Artificial Intelligence 171 (2007) 951–984[37] A. Herzig, I. Varzinczak, On the modularity of theories, in: R. Schmidt, I. Pratt-Hartmann, M. Reynolds, H. Wansing (Eds.), Advances in Modal Logic, vol. 5, King's College Publications, 2005, pp. 93–109, selected papers of AiML 2004, also available at http://www.aiml.net/volumes/volume5. [38] F. Lin, Embracing causality in specifying the indeterminate effects of actions, in: Shrobe and Senator [61], pp. 670–676. [39] M. Thielscher, Ramification and causality, Artificial Intelligence 89 (1–2) (1997) 317–364. [40] V. Lifschitz, W. Ren, Towards a modular action description language, in: Proc. 21st Natl. Conf. on Artificial Intelligence (AAAI'2006), Boston, AAAI Press/MIT Press, 2006. [41] F. Pirri, R. Reiter, Some contributions to the metatheory of the situation calculus, Journal of the ACM 46 (3) (1999) 325–361. [42] E. Amir, (De)composition of situation calculus theories, in: Proc. 17th Natl. Conf. on Artificial Intelligence (AAAI'2000), Austin, AAAI Press/MIT Press, 2000, pp. 456–463. [43] F. Lin, R. Reiter, State constraints revisited, Journal of Logic and Computation 4 (5) (1994) 655–678. [44] S. McIlraith, Integrating actions and state constraints: A closed-form solution to the ramification problem (sometimes), Artificial Intelligence 116 (1–2) (2000) 87–121. [45] I. Sommerville, Software Engineering, Addison Wesley, 1985. [46] R. Pressman, Software Engineering: A Practitioner's Approach, McGraw-Hill, 1992. [47] D. Zhang, S. Chopra, N. Foo, Consistency of action descriptions, in: M. Ishizuka, A. Sattar (Eds.), Proc. 7th Pacific Rim Intl. Conf. on Artificial Intelligence: Trends in Artificial Intelligence, in: Lecture Notes Comput. Sci., vol. 2417, Springer-Verlag, 2002, pp. 70–79. [48] J. Lang, F. Lin, P. Marquis, Causal theories of action-A computational core, in: V. Sorge, S. Colton, M. Fisher, J. Gow (Eds.), Proc. 18th Intl. Joint Conf. on Artificial Intelligence (IJCAI'03), Acapulco, Morgan Kaufmann Publishers, 2003, pp. 1073–1078. [49] L. Cholvy, Checking regulation consistency by using SOL-resolution, in: Proc. 7th Intl. Conf. on AI and Law, Oslo, 1999, pp. 73–79. [50] E. Giunchiglia, J. Lee, V. Lifschitz, N. McCain, H. Turner, Nonmonotonic causal theories, Artificial Intelligence 153 (1–2) (2004) 49–104. [51] R. Li, L. Pereira, What is believed is what is explained, in: Shrobe and Senator [61], pp. 550–555. [52] P. Liberatore, A framework for belief update, in: Proc. 7th Eur. Conf. on Logics in Artificial Intelligence (JELIA'2000), 2000, pp. 361–375. [53] T. Eiter, E. Erdem, M. Fink, J. Senko, Updating action domain descriptions, in: Kaelbling and Saffiotti [60], pp. 418–423. [54] A. Herzig, L. Perrussel, I. Varzinczak, Elaborating domain descriptions, in: G. Brewka, S. Coradeschi, A. Perini, P. Traverso (Eds.), Proc. 17th Eur. Conf. on Artificial Intelligence (ECAI'06), Riva del Garda, IOS Press, 2006, pp. 397–401. [55] J. Garson, Modularity and relevant logic, Notre Dame Journal of Formal Logic 30 (2) (1989) 207–223. [56] B. Cuenca Grau, B. Parsia, E. Sirin, A. Kalyanpur, Modularity and web ontologies, in: P. Doherty, J. Mylopoulos, C. Welty (Eds.), Proc. 10th Intl. Conf. on Knowledge Representation and Reasoning (KR'2006), Lake District, Morgan Kaufmann Publishers, 2006, pp. 198–208. [57] A. Kakas, L. Michael, R. Miller, Modular-E : An elaboration tolerant approach to the ramification and qualification problems, in: C. Baral, G. Greco, N. Leone, G. Terracina (Eds.), Proc. 8th Intl. Conf. Logic Programming and Nonmonotonic Reasoning, Diamante, Springer-Verlag, 2005, pp. 211–226. [58] J. Gustafsson, P. Doherty, Embracing occlusion in specifying the indirect effects of actions, in: L. Aiello, J. Doyle, S. Shapiro (Eds.), Proc. 5th Intl. Conf. on Knowledge Representation and Reasoning (KR'96), Cambridge, MA, Morgan Kaufmann Publishers, 1996, pp. 87–98. [59] P. Marquis, Knowledge compilation using theory prime implicates, in: Mellish [62], pp. 837–843. [60] L. Kaelbling, A. Saffiotti (Eds.), Proc. 19th Intl. Joint Conf. on Artificial Intelligence (IJCAI'05), Edinburgh, Morgan Kaufmann Publishers, 2005. [61] H. Shrobe, T. Senator (Eds.), Proc. 13th Natl. Conf. on Artificial Intelligence (AAAI'96), Portland, AAAI Press/MIT Press, 1996. [62] C. Mellish (Ed.), Proc. 14th Intl. Joint Conf. on Artificial Intelligence (IJCAI'95), Montreal, Morgan Kaufmann Publishers, 1995.