<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Verification of action theories in ASP: a complete Bounded Model Checking approach</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Laura Giordano</string-name>
          <email>laura.giordano@mfn.unipmn.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alberto Martelli</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniele Theseider Dupre´</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DISIT, Universita` del Piemonte Orientale</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Dipartimento di Informatica, Universita` di Torino</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Temporal logics are well suited for reasoning about actions, as they allow for the specification of domain descriptions including temporal constraints as well as for the verification of temporal properties of the domain. This paper focuses on the verification of action theories formulated in a temporal extension of answer set programming which combines ASP with a dynamic linear time temporal logic. The paper proposes an approach to bounded model checking (BMC) which exploits the Bu¨chi automaton construction while searching for a counterexample, with the aim of achieving completeness. The paper provides an encoding in ASP of the temporal action domains and of BMC of DLTL formulas.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Temporal logics have been extensively used in the specification and verification of
action domains in many fields, from planning to web services. In planning, both CTL [
        <xref ref-type="bibr" rid="ref22 ref25">22,
25</xref>
        ] and LTL [
        <xref ref-type="bibr" rid="ref3 ref4">4, 3</xref>
        ] have been used in the specification of temporally extended goals.
The need for state trajectory constraints has been advocated in PDDL3 [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]
exploits a first order linear temporal logic for defining domain dependent search control
knowledge in the planner TLPlan, and in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] strong fairness constraints expressed in
LTL are used to restrict nondeterminism in generalized planning. LTL has been used
in the verification of agent interaction protocols [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] and for enforcing regulations in
automated Web service composition [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]. In the context of reasoning about action, [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
has introduced a second order extension of the temporal logic CTL*, E SG, to reason
about non-terminating Golog programs.
      </p>
      <p>
        In this paper, we start from the temporal action theories introduced in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ],
formulated in a temporal extension of answer set programming (ASP [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]), and we exploit
Bounded Model Checking (BMC) techniques for the verification of properties of such
action theories. BMC [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is an efficient model checking techniques which does not
require a tableau or automaton construction. Given a system model (a transition system)
and a property to be checked, it searches for a counterexample of the property as a path
of length k, generating a propositional formula that is satisfiable iff such a
counterexample exists. The bound k on the length of the path is iteratively increased and, if no
counterexample exists, the procedure never stops. As a consequence, bounded model
checking provides only a partial decision procedure for checking validity. Techniques
for achieving completeness have been described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], where upper bounds for k are
determined for some classes of properties, namely unnested properties. To deal with
completeness, [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] proposes a semantic translation scheme, based on Bu¨ chi automata.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] Helianko and Niemela¨ developed a compact encoding of bounded model
checking of LTL formulas as the problem of finding stable models of logic programs.
Since ASP naturally accommodates for reasoning about actions, in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] this encoding
is extended to deal with Dynamic Linear Time Temporal Logic (DLTL) formulas, for
reasoning about action theories including complex actions and programs. These papers
do not address the problem of achieving completeness.
      </p>
      <p>
        In this paper we propose an alternative encoding of BMC of DLTL formulas in
ASP, with the aim of achieving completeness. Unlike [
        <xref ref-type="bibr" rid="ref19 ref23">23, 19</xref>
        ], here the search for a
counterexample exploits the Bu¨ chi automaton construction [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] as well as the transition
system. Unlike [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], a “counterexample” path is searched for, without assuming that the
Bu¨ chi automaton is constructed in advance. Our counterexample is an accepting path
of the product Bu¨ chi automaton which can be finitely represented as a (k,l)-loop , i.e., a
finite path of length k terminating in a loop back to a previous state l, in which the states
are all distinct from each other. The procedure for verifying a given property searches
for a (k,l)-loop, providing a counterexample to the property, increasing k until either a
counterexample is found, or no (k,l)-loop of length greater or equal to k can be found.
      </p>
      <p>
        As in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ], verification is performed on a transition system provided by a domain
description in a temporal action theory, and our BMC approach is used for proving
properties of domain descriptions. The action theory is given in a temporal extension of
ASP, based on the generalization of the notion of answer set [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] to temporal answer
sets. The temporal properties of a domain description can be proved by combining
the construction of temporal extensions of the domain with the verification of their
properties, according to a tableaux-based procedure which provides an encoding of
BMC in ASP. The proposed approach provides a decision procedure for the verification
of satisfiability and validity properties of an action domain in a temporal action theory.
      </p>
      <p>The outline of the paper is the following. First, we introduce the temporal action
language and its answer sets, and we introduce verification problems for action theories.
We then describe our approach to action theory verification by BMC. Finally we provide
an ASP encoding of BMC and discuss related work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Temporal Action Theories</title>
      <p>
        In this paper we refer to a formulation of DLTL (dynamic linear time temporal logic),
in [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ], where the next state modality is indexed by actions and the until operator U π
is indexed by a program π which, as in PDL, can be any regular expression built from
atomic actions using sequence (;), nondeterministic choice (+) and finite iteration (∗).
      </p>
      <p>Let Σ = {a1, . . . , an} be a finite non-empty alphabet of actions. From the until
operator, the derived modalities hπi, [a], (next), U , 3 and 2 can be d∗efined as follows:
hπiα ≡ ⊤U πα, [a]α ≡ ¬hai¬α, α ≡ Wa∈Σ∗haiα, αU β ≡ αU Σ β, 3α ≡ ⊤U α,
2α ≡ ¬3¬α, where α is a formula and, in U Σ , Σ is taken to be a shorthand for the
program a1 + . . . + an
2.1</p>
      <sec id="sec-2-1">
        <title>Temporal Action Language</title>
        <p>Let L be a first order language which includes a finite number of constants and
variables, but no function symbol. Let P be the set of predicate symbols, V ar the set of
variables and C the set of constant symbols. We call fluents atomic literals of the form
p(t1, . . . , tn), where, for each i, ti ∈ V ar ∪ C. A simple fluent literal (or s-literal) l is
an atomic literals p(t1, . . . , tn) or its negation ¬p(t1, . . . , tn). We denote by LitS the
set of all simple fluent literals. LitT is the set of temporal fluent literals: if l ∈ LitS,
then [a]l, l ∈ LitT , where a is an action name (an atomic proposition, possibly
containing variables), and [a] and are the temporal operators introduced in the previous
section. Let Lit = LitS ∪ LitT ∪ {⊥}, where ⊥ represents the inconsistency. Given a
(simple or temporal) fluent literal l, not l represents the default negation of l. A
(simple or temporal) fluent literal possibly preceded by a default negation, will be called an
extended fluent literal.</p>
        <p>A domain description Π is a set of laws describing the effects of actions and their
executability preconditions. The laws are formulated as rules of a temporally extended
logic programming language. Rules have the form
l0 ← l1, . . . , lm, not lm+1, . . . , not ln
(1)
where the li’s are either simple fluent literals or temporal fluent literals, with the
following constraints: (i) If l0 is a simple literal, then the body cannot contain temporal
literals; (ii) If l0 = [a]l, then the temporal literals in the body must have the form [a]l′;
(iii) If l0 = l, then the temporal literals in the body must have the form l′. As usual
in ASP, the rules with variables will be used as a shorthand for the set of their ground
instances.</p>
        <p>A state, informally, is a set of ground fluent literals closed with respect to the rules
above (see Section 2.2). A state is said to be consistent if it is not the case that both f
and ¬f belong to the state, or that ⊥ belongs to the state. A state is said to be complete
if, for each fluent name p ∈ P , either p or ¬p belong to the state. The execution of an
action in a state may possibly change the values of fluents in the state through its direct
and indirect effects, thus giving rise to a new state. We assume that a law as (1) can be
applied in all states, while when prefixed with the Init, only applies to the initial state.
Example 1. This example describes a mail delivery agent, which checks if there is mail
in the mailbox of employees and delivers mail to them. The actions in Σ are: sense (the
agent verifies if there is mail in any of the mailboxes), deliver(E) (the agent delivers
the mail to employee E), wait. The fluent names are mail(E) (there is mail in the
mailbox of E). Π contains the following immediate effects and persistency laws:
[deliver(E)]¬mail(E)
[sense]mail(E) ← not [sense]¬mail(E)
mail(E) ← mail(E), not ¬mail(E)
¬mail(E) ← ¬mail(E), not mail(E)
Their meaning is (in the order) that: after delivering the mail to E, there is no mail for E
any more; the action sense may (non-monotonically) cause mail(E) to become true.
The last two rules define the persistency of fluent mail.</p>
        <p>Observe that the persistency laws interact with the immediate effect laws above.
The execution of sense in a state in which there is no mail for some E (¬mail(E)),
may either lead to a state in which mail(E) holds (by the second action law) or to a
state in which ¬mail(E) holds (by persistency of ¬mail(E)). Thus, sense is a
nondeterministic action. The following precondition laws:
[deliver(E)] ⊥← ¬mail(E)
[wait] ⊥← mail(E)
specify that, if there is no mail for E, deliver(E) is not executable, while, if there is
mail for E, wait is not executable.</p>
        <p>
          We assume that there are only two employees, a and b and, in the initial state, there
is mail for a and not for b, i.e. Π includes Init mail(a) and Init ¬mail(b).
The language is also well suited to describe causal dependencies among fluents [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
by the definition of static and dynamic causal laws similar to the ones in the action
languages K [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] and C+ [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
2.2
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Temporal Answer Sets</title>
        <p>
          In this section, we recall the notion of temporal answer set in [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], which extends the
notion of answer set [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], and we state a new result on the transition system associated
with a domain description. To this purpose, we let Π be the ground instantiation of the
domain description, and Σ the set of all the ground instances of the action names in Π .
        </p>
        <p>A temporal interpretation is defined as a pair (σ, S), where σ ∈ Σω is a sequence
of actions and S is a consistent set of ground literals of the form [a1; . . . ; ak]l, where
a1 . . . ak is a prefix of σ and l is a ground simple fluent literal, meaning that l holds in
the state obtained by executing a1 . . . ak. S is consistent iff it is not the case that both
[a1; . . . ; ak]l ∈ S and [a1; . . . ; ak]¬l ∈ S, for some l, or [a1; . . . ; ak]⊥ ∈ S. A temporal
interpretation (σ, S) is said to be total if either [a1; . . . ; ak]p ∈ S or [a1; . . . ; ak]¬p ∈
S, for each a1 . . . ak prefix of σ and for each fluent name p.</p>
        <p>
          The notion of satisfiability of a rule in a temporal interpretation (σ, S), as well as the
notion of reduct Π (σ,S) of (a domain description) Π relative to (σ, S) can be defined as
natural extensions of Gelfond and Lifschitz’ ones [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. With these notions, a temporal
answer set of Π is defined as a temporal interpretation (σ, S) such that S is minimal
(in the sense of set inclusion) among the S′ such that (σ, S′) is a partial interpretation
satisfying the rules in the reduct Π (σ,S).
        </p>
        <p>The case of total temporal answer sets is of special interest, as a total temporal
answer set (σ, S) can be regarded as temporal model (σ, VS ), where, for each finite
prefix a1 . . . ak of σ, VS (a1, . . . , ak) = {p : [a1, . . . , ak]p ∈ S}. In the following,
we restrict our consideration to domain descriptions Π , such that all the answer sets
of Π are total. If the initial state is not complete, we consider all the possible ways
to complete the initial state by introducing in Π , for each fluent name f , the rules:
Init f ← not ¬f and Init ¬f ← not f .</p>
        <p>A total temporal interpretation (σ, S) provides, for each prefix a1 . . . ak, a complete
state corresponding to that prefix. We denote by wa(σ1,.S..a)k the state obtained by the
execution of the actions a1 . . . ak in the sequence, namely wa(σ1,.S..a)k = {l : [a1; . . . ; ak]l ∈ S}.</p>
        <p>Given a domain description Π over Σ with total answer sets, a transition system
(W, I , T ) can be associated with Π as follows: (i) W is the set of all the possible
consistent and complete states of the domain description; (ii) I is the set of all the states
in W satisfying the initial state laws in Π ; (iii) T ⊆ W × Σ × W is the set of all triples
(w, a, w′) such that: w, w′ ∈ W , a ∈ Σ and for some total answer set (σ, S) of Π :
w = w[(aσ1,S;..).;ah] and w′ = w[(aσ1,S;..).;ah;a], for some h.</p>
        <p>It is possible to show that the next states of a given state w in the transition system
(W, I, T ) above only depend on the state w. Let Πw be the domain description obtained
form Π by removing all the laws prefixed by Init while adding to Π Init l, for all l ∈ w.
Proposition 1. Let w be a state in W which is reachable form an initial state by the
action sequence a1 . . . ah. If (w, a, w′) ∈ T , then there is an answer set (σ′, S′) of Πw,
such that (1) σ = a1 . . . ahσ′ and (2) [a]l ∈ S′ iff l ∈ w′. Vice versa, if there is an
answer set (σ′, S′) of Πw satisfying conditions (1) and (2) above, then (w, a, w′) ∈ T .
Proposition 1 guarantees that, given a state w and an action a, a next state function
nextT Sstate can be defined to compute all the states reachable in the transition system
from w by a. Such a function is used in the following to describe the BMC construction.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Verification of Enriched Domain Descriptions</title>
        <p>As a total temporal answer set of a domain description can be interpreted as an DLTL
model, it is easy to combine domain descriptions with DLTL formulas. This can be done
by adding to the domain description Π a set of DLTL formulas C used as constraints
on the executions of the domain description. We denote by (Π, C) the enriched domain
description, and we define the extensions of (Π, C) to be the temporal answer sets (σ, S)
of Π satisfying the constraints C. For example,
hbegini⊤
2[begin]hsense; (deliv(a) + deliv(b) + wait); begini⊤
impose that the agent continuously executes a loop where it senses mail and delivers the
mail. DLTL formulas can be used to encode properties to be verified on the enriched
domain description. We may want to check that, if there is mail for a, the agent will
eventually deliver it, i.e.: 2(mail(a) ⊃ 3¬mail(a)). This does not hold, as there is a
possible scenario in which there is always mail for a and for b, but the mail is repeatedly
delivered to b and never to a.</p>
        <p>Given an enriched domain description (Π, C), some problems, e.g. planning, can be
formulated as satisfiability of a formula ϕ, and others, such as the one in the example
above, as validity of a formula ϕ. Usually, the validity of a property ϕ formulated as a
DLTL formula is reduced to the unsatisfiability of ¬ϕ. In this case, if a model satisfying
¬ϕ is found, it represents a counterexample to the validity of ϕ.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Model Checking</title>
      <p>
        Satisfiability and validity problems can be solved by means of model checking
techniques. The standard approach to model checking for LTL is based on Bu¨ chi automata.
The satisfiability problem for a LTL formula α can be solved by constructing a Bu¨ chi
automaton Bα [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] such that the language of ω-words accepted by Bα is non-empty if
and only if α is satisfiable.
      </p>
      <p>Given a system modeled by a transition system T S, which corresponds to a Bu¨ chi
automaton BT S , model checking verifies that the property α holds for the system, by
constructing the product automaton of BT S and B¬α, and by checking for emptiness of
the accepted language.</p>
      <p>
        Biere et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] showed that model checking can be more efficient if, instead of
building the product automaton, a path of the transition system satisfying ¬α is searched
for. This technique is called bounded model checking (BMC), since it looks for infinite
paths which can be represented as a finite path of length k with a back loop from state k
to a previous state l in the path (a (k,l)-loop); the search proceeds iteratively, increasing
the length k until a model satisfying α is found — if one exists.
      </p>
      <p>
        A BMC problem can be efficiently reduced to a propositional satisfiability problem
or to an ASP problem [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. If no model exists and the transition system contains a loop,
the iterative procedure in general does not stop, i.e., it is a partial decision procedure
for validity. Techniques for achieving completeness are described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for some kinds
of LTL formulas.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Bounded Model Checking with B u¨chi Automata</title>
      <p>In this paper, we propose an approach to model checking which combines the
advantages of BMC, in particular the possibility of formulating it easily and efficiently as
an ASP problem, with the advantages of reasoning on the product Bu¨ chi automaton
described above, mainly its completeness.</p>
      <p>
        In the following we show how to adapt the procedure for building a Bu¨ chi
automaton corresponding to a given DLTL formula [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] to the “on-the-fly” construction of the
product Bu¨ chi automaton, and we show how this construction can be used to build a
(k,l)-loop corresponding to a run of the product Bu¨ chi automaton.
      </p>
      <p>
        In the following construction we assume that, as in [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], until formulas are indexed
with finite automata rather than regular expressions. Thus, we have αU A(q)β instead of
αU π β, where L(A(q)) = [[π]]. We denote with A(q) a finite automaton A with initial
state q. The following equivalences hold for the until operator [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]:
αU A(q)β ≡ (β ∨ (α ∧ Wa∈Σhai Wq′∈δ(q,a) αU A(q′)β)) (q is a final state of A)
′
αU A(q)β ≡ (α ∧ Wa∈Σhai Wq′∈δ(q,a) αU A(q )β) (q is not a final state of A)
The construction of the nodes makes use of tableau rules which handle DLTL signed
formulas, i.e. formulas prefixed with the symbol T or F. These rules are applied to a set
of formulas1 as follows:
– φ ⇒ ψ1, ψ2, if φ belongs to the set of formulas, then add ψ1 and ψ2 to the set
– φ ⇒ ψ1|ψ2, if φ belongs to the set of formulas, then make two copies of the set
and add ψ1 to one of them and ψ2 to the other one.
      </p>
      <sec id="sec-4-1">
        <title>The rules are the following: Tor: For: Tneg:</title>
        <p>Fneg:
TuntilFS:</p>
        <p>T(α ∨ β) ⇒ Tα|Tβ
F(α ∨ β) ⇒ Fα, Fβ
T¬α ⇒ Fα
F¬α ⇒ Tα</p>
        <p>TαU A(q)β ⇒ T(β ∨ (α ∧ Wa∈Σ hai Wq′∈δ(q,a) αU A(q′)β)) (q final state)</p>
      </sec>
      <sec id="sec-4-2">
        <title>1 In this section “formula” means “signed DLTL formula”.</title>
        <p>We use a function tableau which takes as input a set of formulas s, adds to it
T Wa∈Σ hai⊤, and returns a (possibly empty) set of sets of formulas, obtained by
repeatedly applying the above rules (by possibly creating new sets) until all non-elementary
formulas in all sets have been expanded. We call elementary formulas the formulas
of the form Tφ or Fφ where φ is either ⊤, or ⊥, or a proposition or haiα. Formula
T Wa∈Σ hai⊤ makes explicit that in DLTL each state must be followed by a next state.</p>
        <p>If the expansion of a set of formulas produces an inconsistent set, then this set is
deleted. A set of formulas s is inconsistent in the following cases: (i) T⊥ ∈ s; (ii)
F⊤ ∈ s; (iii) Tα ∈ s and Fα ∈ s; (iv) Thaiα ∈ s and Thbiβ ∈ s with a 6= b, because
in a linear time logic two different actions cannot be executed in the same state.</p>
        <p>We describe now how to build a path of the product automaton, which is constructed
by the BMC procedure while searching for a counterexample. Each state s of the path
is a tuple s = (F , w, x, f ), where F is an expanded set of formulas, w is a state of
the transition system whose literals are represented as signed formulas, x ∈ {0, 1} and
f ∈ {↓, X} are used to track fulfillment of until formulas, as we will describe below.</p>
        <p>Given a domain description Π with the associated transition system T S, and a
DLTL formula α describing constraints and properties to be proved, the initial states
will have the form (F0, w0, 0, X), where F0 is a set of formulas obtained by applying
function tableau to α, and w0 is an initial state of T S, such that F0 ∪ w0 is consistent.</p>
        <p>Transitions of the product automaton are defined by function next states(s, a),
defined in Figure 2, which returns the set of successor states of s after a. This function
makes use of the functions nextT Sstates(w, a), which returns the set of the states of
the transition system T S reached with a transition a from state w, and nextF (F , a),
which returns a set of formulas obtained by propagating the formulas in F through
action a. Function nextF is defined in Figure 1. This function first checks whether it
is possible to execute action a from F , then propagates elementary temporal formulas
through a and expands them with tableau.
function nextF(F, a)
if F does not contain a formula Thaiα then return ∅
else return tableau({Tα|Thaiα ∈ F}
∪{Fα|Fhaiα ∈ F})</p>
        <p>The fields x and f are used to characterize accepting states of the product
automaton, and are used to check that all until formulas are fulfilled in a finite number of steps.</p>
        <p>If a state si of an accepting run ρ contains the until formula TαU A(q)β, then there
must be a state sj , i ≤ j in ρ satisfying the conditions given by the semantics of
until. We say that sj fulfills the until formula. If si does not fulfill the until formula,
then it is possible to show that, according to the axioms of until, si contains a formula
function next states((F, w, x, f ), a)
return {(F′, w′, x′, f ′) such that</p>
        <p>F′ ∈ nextF(F, a),
w′ ∈ nextT Sstates(w, a),
F′ ∪ w′ is consistent,
if there exist no ThaiαUxA(q)β ∈ F
then x′ = 1 − x; f ′ = X
else x′ = x; f ′ =↓ }
ThaiiαU A(q′)β, where q′ ∈ δ(q, ai)2 and, according to function nextF (Fi, ai), si+1
contains a formula TαU A(q′)β. We say that this until formula is derived from formula
TαU A(q)β in state si. If a state contains an until formula which is not derived from
a predecessor state, we say that the formula is new. New until formulas are obtained
during the expansion of tableau.</p>
        <p>In order to check fulfillment of until formulas, we must be able to track them along
the states of the run. This is done by using the field x and by extending accordingly
signed formulas so that all true until formulas have a label 0 or 1, i.e. they have the
form TαUlA(q)β where l ∈ {0, 1}. For each state (F , w, x, f ), the label of an until
formula in F is assigned as follows: if it is a derived until formula, then its label is the
same as that of the until formula in the predecessor state it derives from, otherwise, if
the formula is new, it is given the label 1 − x.</p>
        <p>Function tableau must be suitably modified in order to deal with the labels of until
formulas. We assume that it has two parameters: a set of formulas and the value of x.</p>
        <p>Let us assume that in a state si we have x = 0. Then all new until formulas of si
have label 1, and all until formulas with label 0 must be derived from previous states.
If si belongs to an accepting run, all until formulas will be fulfilled in a finite number
of steps. The value 0 of x is propagated to the next states until a state sj does not
contain any more until formulas with label 0. Then x is switched to 1, and we proceed
in the same way. Whenever x changes its value, we set f = X. A state with f = X is
an accepting state of the product automaton, and a run ρ containing infinite accepting
states is an accepting run.</p>
        <p>It is an obvious consequence of the construction that:
Proposition 2. (i) Any accepting run of the product automaton corresponds an infinite
path of the transition system (i.e., a temporal answer set of Π) satisfying the initial
DLTL formula α; (ii) every infinite path of the transition system which is a model of α
corresponds to an accepting run of the product automaton.</p>
        <p>
          The proof, omitted for lack of space, exploits Theorems 4 and 5 in [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ].
        </p>
        <p>
          Our approach to BMC relies on the well known result [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] that the language accepted
by a Bu¨ chi automaton is nonempty iff there is a reachable accepting state with a cycle
back to itself. The construction of the (k,l)-loop is described by the function BM C in
Figure 3. The construct choose in S returns any of the elements of set S or null if
2 δ is the transition relation of A.
function BM C(max k)
k := 0
do
path := choose in {s0 →a0 s1 →a1 . . . sk+1 such that
sj 6= sm for 0 ≤ j &lt; m ≤ k,
sl = sk+1 for some l ≤ k,
sacc is an accepting state for some l ≤ acc ≤ k}
k := k + 1
while path = null ∧ k ≤ max k
return path
S = ∅. With s0 →a0 s1 →a1 . . . si we represent a finite path of the product automaton,
where s0 is an initial state and si ∈ next states(si−1, ai−1). Given an integer k, we
look for a path of length k + 1, such that sk+1 = sl for some previous state sl in the
path. Furthermore the loop must contain an accepting state. If such a loop is found, it
finitely represents an accepting run. Otherwise, k is increased until max k is reached.
        </p>
        <p>
          Observe that the standard approach for bounded model checking in [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] does not
guarantee termination, because the path of length k is a path of the transition system,
and thus it is not possible to restrict the search to simple paths without missing
solutions. On the other hand, we can consider only simple paths, that is paths without
repeated states. This property allows to define a terminating algorithm, thus achieving
completeness, by passing the length of the longest simple path as parameter to BM C.
        </p>
        <p>The length of the longest simple path can be found iteratively, searching for a simple
path of length i (without loop), and incrementing i at each step (See Figure 4). Since
the number of different states if finite, this procedure terminates.</p>
        <p>The set of tableau rules can be easily extended to deal with other boolean
connectives and derived modal operators. In the following, we use tableau rules for 2 and ⋄,
using the equivalences 2β ≡ (β ∧ 2β)) and 3β ≡ (β ∨ 3β)). Observe that, as
false box formulae correspond to negated until formulas, we need to label them with x.
Example 2. Consider the domain description given in Example 1 with the constraints
and the property given in Section 2.3. We describe some steps of the (non
deterministic) construction of a (k,l)-loop for k = 7. For the initial state s0 we have w0 =
{Tmail(a), Fmail(b)}, x0 = 0, f0 = X. F0 contains the following formulas:
F0.1 : Thbegini⊤</p>
      </sec>
      <sec id="sec-4-3">
        <title>3 For lack of space we consider only the most significant formulas.</title>
        <p>By applying function max, we obtain that the longest path has length 17. By
executing function BMC(17) we get no solution. Therefore the property 2(mail(a) ⊃
3¬mail(a)) holds in the modified domain description.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 An ASP Encoding of BMC with Bu¨chi Automata</title>
      <p>We now provide a translation into standard ASP of the above procedure for building
a path of the product Bu¨chi automaton. We use predicates like fluent, action,
state to express the type of atoms. As we are interested in infinite runs represented
as (k,l)-loops, we assume a bound K to the number of states. States are represented in
ASP as integers from 0 to K, where K is given by the predicate laststate(State).
The predicate occurs(Action,State) describes transitions. Occurrence of exactly
one action per state can be encoded as:
-occurs(A,S):- occurs(A1,S),action(A),action(A1),A!=A1,state(S).
occurs(A,S):- not -occurs(A,S),action(A),state(S).</p>
      <p>As we have seen, states are associated with a set of fluent literals, a set of signed
formulas, and the values of x and f. Fluent literals are represented with the predicate
holds(Fluent,State),TorFformulaswithtt(Formula,State)orff(Formula,
State), x with the predicate x(Val,State) and f with the predicate acc(State),
which is true if State is an accepting state.</p>
      <p>States on the path must be all different, and thus we need to define a predicate
eq(S1,S2) to check whether the two states S1 and S2 are equal:
eq(S1,S2):- state(S1), state(S2),not diff(S1,S2).
diff(S1,S2):- state(S1),state(S2),tt(F,S1),not tt(F,S2).
diff(S1,S2):- state(S1),state(S2),holds(F,S1),not holds(F,S2).
and similarly for other componentsof a state.</p>
      <p>The following constraint requires all states up to K to be different:
:-state(S1),state(S2),S1!=S2,eq(S1,S2),laststate(K),S1&lt;=K,S2&lt;=K.</p>
      <p>Furthermore we need constraints stating that there is a transition from state K to a
previous state L4, and that there is a state S, L ≤ S ≤ K, such that acc(S) holds, i.e.
S is an accepting state. To do this we compute the successor of state K, and check that
it is equal to S.
loop(L):- state(L), laststate(K), L&lt;=K,SuccK=K+1, eq(L,SuccK).
accept:- loop(L), state(S), laststate(K), L&lt;=S, S&lt;=K, acc(S).
:- not accept.</p>
      <p>
        Given a domain description Π and a set of DLTL formulasϕ1,...ϕn, representing
constraints or negated properties, we want to compute the temporal answer sets of the
domain description Π satisfying the temporal formulas, if any. The rules in Π can be
easily translated to ASP, similarly to [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. In the following we provide the translation
of our running example, see [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] for details.
action(sense).
action(deliver(a)).
action(deliver(b)).
4 Since states are all different, there will be at most one state equal to the successor of K.
action(wait).
fluent(mail(a)).
fluent(mail(b)).
      </p>
      <p>action effects:
holds(mail(E),NS):- occurs(sense,S), fluent(mail(E)),NS=S+1,
not -holds(mail(E),NS).
-holds(mail(E),NS):-occurs(deliver(E),S),fluent(mail(E)),NS=S+1.</p>
      <p>persistence:
holds(F,NS):- holds(F,S), fluent(F),NS=S+1,not -holds(F,NS).
-holds(F,NS):- -holds(F,S),fluent(F),NS=S+1,not holds(F,NS).</p>
      <p>preconditions:
:- occurs(deliver(E),S),-holds(mail(E),S).
:- occurs(wait,S), holds(mail(E),S).</p>
      <p>initial state:
-holds(mail(a),0). -holds(mail(b),0).</p>
      <p>DLTL formulas are represented as ASP terms. In the encoding, each formula αUA(q)β
is represented as until(A,q,alpha,beta), where the automaton A is described by
the predicates trans(A,Q1,Act,Q2) defining transitions, and final(A,Q) defining
final states. Predicate x(L,S) gives the value L = 0, 1 of x in state S. We introduce the
terms until(A,q,alpha,beta,L) and diamond(Act,alpha) for encoding labeled
until formulas and haiα formulas. The expansion of signed formulas can be formulated
by means of ASP rules corresponding to the tableau rules given in the previous section.</p>
      <p>Disjunction:
tt(F1,S) v tt(F2,S):- tt(or(F1,F2),S).
ff(F1,S):- ff(or(F1,F2),S).
ff(F2,S):- ff(or(F1,F2),S).</p>
      <p>Negation:
ff(F,S):- tt(neg(F),S).
tt(F,S):- ff(neg(F),S).</p>
      <p>Until:
tt(until(Aut,Q,F1,F2,1-N),S):- state(S),</p>
      <p>tt(until(Aut,Q,F1,F2),S),x(N,S),label(N).
tt(or(F2,and(F1,diamond(Act,until(Aut,Q1,F1,F2,L)))),S):tt(until(Aut,Q,F1,F2,L),S),state(S),label(L),final(Aut,Q),
occurs(Act,S),choose(until(Aut,Q,F1,F2,L),S,Act,Q1).
tt(and(F1,diamond(Act,until(Aut,Q1,F1,F2,L))),S):- state(S),
tt(until(Aut,Q,F1,F2,L),S),label(L),not final(Aut,Q),
occurs(Act,S),choose(until(Aut,Q,F1,F2,L),S,Act,Q1).
ff(F2,S):- state(S),ff(until(Aut,Q,F1,F2),S), final(Aut,Q).
ff(diamond(Act,until(Aut,Q1,F1,F2)),S):-state(S),
occurs(Act,S),ff(until(Aut,Q,F1,F2),S),trans(Aut,Q,Act,Q1).</p>
      <p>Diamond
tt(F,NS):- tt(diamond(Act,F),S), NS=S+1.
ff(F,NS):- ff(diamond(Act,F),S),occurs(Act,S), NS=S+1.</p>
      <p>Note that, to express splitting of sets of formulas, as in the case of disjunction, we
can exploit disjunction in the head of clauses, provided by some ASP languages such
as DLV, or choice constructs available in other languages. The predicate choose below
non deterministically chooses a transition Q1 among those possible for action Act in
the automaton Aut, and uses that choice in the expansion of the until formula:
choose(until(Aut,Q,F1,F2,L),S,Act,Q1):- state(S),action(Act),
not-choose(until(Aut,Q,F1,F2,L),S,Act,Q1),trans(Aut,Q,Act,Q1).
-choose(until(Aut,Q,F1,F2,L),S,Act,Q1):- state(S),action(Act),
choose(until(Aut,Q,F1,F2,L),S,Act,Q2),Q1!=Q2.</p>
      <p>Inconsistency of signed formulas is formulated with the following constraints:
:- ff(true,S), state(S).
:- tt(F,S), ff(F,S), state(S).
:- tt(diamond(Act1,F),S),tt(diamond(Act2,F),S), Act1!=Act2.
:- tt(F,S), not holds(F,S).
:- ff(F,S), not -holds(F,S).</p>
      <p>As a difference with the tableau construction, rather than introducing the translation
of formula T Wa∈Σhai⊤ in the initial state, we include the rule</p>
      <p>tt(diamond(A,true),S):- occurs(A,S).
as we know that at least one action (and at most one) occurs in a state.</p>
      <p>Predicates x and acc are defined as follows:
cont(S):-state(S),x(Lab,S),tt(diamond( ,until( , , ,Lab)),S).
x(Lab,SN):- x(Lab,S),SN=S+1, cont(S).
-acc(SN):- x(Lab,S),SN=S+1, cont(S).
x(1-Lab,SN):- x(Lab,S),SN=S+1, not cont(S).
acc(SN):- x(Lab,S),SN=S+1, not cont(S).
x(0,0). acc(0).</p>
      <p>Finally, we must add a fact tt(tr(ϕi),0) for each DLTL formula ϕi to be satisfied
in the model, where tr(ϕi) is the ASP term representing ϕi.</p>
      <p>It is easy to see that the (groundization of the) encoding in ASP is linear in the size
of the formula φ to be verified and in the number f of ground fluents while quadratic
in the size of k. We can prove that there is a one to one correspondence between the
extensions of a domain description satisfying a given temporal formula and the answer
sets of the ASP program encoding the domain and the formula.</p>
      <p>Proposition 3. Let Π be a domain description whose temporal answer sets are total,
let tr(Π) be the ASP encoding of Π (for a given k), and let φ be a DLTL formula.</p>
      <p>If there is a temporal answer set of Π that satisfies the formula φ, then there exists
an answer sets of the ASP program tr(Π) ∪ tt(tr(φ), 0) (where tr(φ) is the ASP term
representing φ); and vice versa.</p>
      <p>For achieving completeness, the search for the longest simple path can be done by
removing from the above ASP encoding the rules for defining loops and the rules for
defining the Bu¨chi acceptance condition.</p>
      <p>
        The translation has been run in iClingo [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. For the dining philosophers problems
in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], the scalability of the approach in this paper is similar to the one for the method
(without Bu¨chi automaton) in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] and the one in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], when looking for a
counterexample. E.g., a counterexample for DP(12) is found in 183 seconds, wrt 274 seconds
for a Clingo implementation of the method in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] — see also Appendix C in that
paper. The search for the longest simple path is substantially more costly and practically
feasible only for problems where the action domain is sufficiently constrained.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusions</title>
      <p>
        The paper presents a bounded model checking approach for the verification of
properties of temporal action theories in ASP. The temporal action theory is formulated in
a temporal extension of ASP, where DLTL constraints in domain descriptions allow
for state trajectory constraints to be captured. The approach provides a uniform ASP
metodology for specifying and verifying domain descriptions, which can be used for
several reasoning tasks, including business process verification [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] and planning.
      </p>
      <p>
        Helianko and Niemela¨ [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] developed a compact encoding of bounded model
checking of LTL formulas as the problem of finding stable models of logic programs. In [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]
this encoding is extended to address the verification of action domains including DLTL
constraints. In this paper, we follow a different approach to BMC which exploits the
Bu¨ chi automaton construction to achieve completeness. [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] first proposed the use of
the Bu¨ chi automaton in BMC. As a difference, our encoding in ASP is defined without
assuming that the Bu¨ chi automaton is computed in advance.
      </p>
      <p>
        The action language in this paper is related to the logic programming based
planning language K [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] and with the languages C and C+ [
        <xref ref-type="bibr" rid="ref20 ref21">21, 20</xref>
        ]. Unlike K, C and C+ our
action language does not allow for concurrent actions, but it provides general temporal
constraints. K, C and C+ can perform several kinds of reasoning, such as, prediction,
postdiction and planning. However, they do not exploit standard temporal logic
constructs to reason about actions.
      </p>
      <p>
        E SG [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] is a second order extension of CTL* for reasoning about nonterminating
Golog programs. The paper presents a method for verification of a first order CTL
fragment of E SG, using model checking and regression based reasoning. Because of
first order quantification, this fragment is in general undecidable.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] the verification problem for action logic programs with nonterminating
behavior is addressed using an action formalism based on a temporalized description logic,
ALCO-LTL. DLTL does not allow for first order constructs as ALCO-LTL, while it
allows for the specification of regular expressions.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] Cabalar introduces normal forms for Temporal Equilibrium Logic (TEL),
an extension of the Answer Set semantics to arbirary theories in the syntax of Linear
Temporal Logic. The rules in Π, in our action theories, appear to be in normal form. It
would be interesting to investigate the possibility of mapping the LTL fragment of our
action theories into TEL.
      </p>
      <p>Acknowledgments
We thank the anonymous referees for their helpful comments. This work has been
partially supported by the project of Regione Piemonte “ICT4Law”.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Franz</given-names>
            <surname>Baader</surname>
          </string-name>
          , Hongkai Liu, and
          <article-title>Anees ul Mehdi. Verifying properties of infinite sequences of description logic actions</article-title>
          .
          <source>In ECAI</source>
          , pages
          <fpage>53</fpage>
          -
          <lpage>58</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Bacchus</surname>
          </string-name>
          and
          <string-name>
            <given-names>F.</given-names>
            <surname>Kabanza</surname>
          </string-name>
          .
          <article-title>Using temporal logics to express search control knowledge for planning</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>116</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>123</fpage>
          -
          <lpage>191</lpage>
          ,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Jorge</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Baier</surname>
          </string-name>
          , Fahiem Bacchus, and
          <string-name>
            <surname>Sheila</surname>
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>McIlraith</surname>
          </string-name>
          .
          <article-title>A heuristic search approach to planning with temporally extended preferences</article-title>
          .
          <source>Artif</source>
          . Intell.,
          <volume>173</volume>
          (
          <issue>5-6</issue>
          ):
          <fpage>593</fpage>
          -
          <lpage>618</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.</given-names>
            <surname>Baral</surname>
          </string-name>
          and
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhao</surname>
          </string-name>
          .
          <article-title>Non-monotonic temporal logics for goal specification</article-title>
          .
          <source>In IJCAI 2007</source>
          , pages
          <fpage>236</fpage>
          -
          <lpage>242</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Cimatti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Strichman</surname>
          </string-name>
          , and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhu</surname>
          </string-name>
          .
          <article-title>Bounded model checking</article-title>
          .
          <source>Advances in Computers</source>
          ,
          <volume>58</volume>
          :
          <fpage>118</fpage>
          -
          <lpage>149</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>Pedro</given-names>
            <surname>Cabalar</surname>
          </string-name>
          .
          <article-title>A normal form for linear temporal equilibrium logic</article-title>
          .
          <source>In JELIA, LNCS 6341</source>
          , pages
          <fpage>64</fpage>
          -
          <lpage>76</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Edmund</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Clarke</surname>
            , Orna Grumberg, and
            <given-names>Doron</given-names>
          </string-name>
          <string-name>
            <surname>Peled</surname>
          </string-name>
          .
          <article-title>Model checking</article-title>
          . MIT Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kroening</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ouaknine</surname>
          </string-name>
          , and
          <string-name>
            <given-names>O.</given-names>
            <surname>Strichman</surname>
          </string-name>
          .
          <article-title>Completeness and complexity of bounded model checking</article-title>
          .
          <source>In VMCAI</source>
          , pages
          <fpage>85</fpage>
          -
          <lpage>96</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Claßen</surname>
          </string-name>
          and
          <string-name>
            <surname>G. Lakemeyer.</surname>
          </string-name>
          <article-title>A logic for non-terminating Golog programs</article-title>
          .
          <source>In Proc. KR</source>
          <year>2008</year>
          , pages
          <fpage>589</fpage>
          -
          <lpage>599</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>D. D'Aprile</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Martelli</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          <string-name>
            <surname>Pozzato</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Theseider</surname>
          </string-name>
          <article-title>Dupre´</article-title>
          .
          <article-title>Verifying business process compliance by reasoning about actions</article-title>
          .
          <source>In CLIMA 2010, LNCS 6245</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. Giuseppe De Giacomo, Fabio Patrizi, and
          <article-title>Sebastian Sardin˜a. Generalized planning with loops under strong fairness constraints</article-title>
          .
          <source>In Proc. KR</source>
          <year>2010</year>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Faber</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <surname>G.</surname>
          </string-name>
          <article-title>Pfeifer, and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          .
          <article-title>A logic programming approach to knowledge-state planning: Semantics and complexity</article-title>
          .
          <source>ACM TOCL</source>
          ,
          <volume>5</volume>
          (
          <issue>2</issue>
          ):
          <fpage>206</fpage>
          -
          <lpage>263</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>M. Gebser</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Kaminski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          <string-name>
            <surname>Kaufmann</surname>
            , M. Ostrowski,
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Schaub</surname>
            , and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Thiele</surname>
          </string-name>
          .
          <article-title>Engineering an incremental ASP solver</article-title>
          .
          <source>In Proc. ICLP08</source>
          , volume
          <volume>5366</volume>
          <source>of LNCS</source>
          , pages
          <fpage>190</fpage>
          -
          <lpage>205</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          .
          <source>Handbook of Knowledge Representation, ch. 7</source>
          ,
          <string-name>
            <given-names>Answer</given-names>
            <surname>Sets</surname>
          </string-name>
          . Elsevier,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>A.</given-names>
            <surname>Gerevini</surname>
          </string-name>
          and
          <string-name>
            <given-names>D.</given-names>
            <surname>Long</surname>
          </string-name>
          .
          <article-title>Plan constraints and preferences in PDDL3</article-title>
          .
          <source>Technical Report</source>
          , Department of Electronics and Automation, University of Brescia, Italy,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <given-names>R.</given-names>
            <surname>Gerth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Peled</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.Y.</given-names>
            <surname>Vardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Wolper</surname>
          </string-name>
          .
          <article-title>Simple on-the-fly automatic verification of linear temporal logic</article-title>
          .
          <source>In 15th Work. Protocol Specification, Testing and Verification</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <given-names>L.</given-names>
            <surname>Giordano</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Martelli</surname>
          </string-name>
          .
          <article-title>Tableau-based automata construction for dynamic linear time temporal logic</article-title>
          .
          <source>Annals of Mathematics and AI</source>
          ,
          <volume>46</volume>
          (
          <issue>3</issue>
          ):
          <fpage>289</fpage>
          -
          <lpage>315</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18. L.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Martelli</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Schwind</surname>
          </string-name>
          .
          <article-title>Specifying and verifying interaction protocols in a temporal action logic</article-title>
          .
          <source>Journal of Applied Logic</source>
          ,
          <volume>5</volume>
          :
          <fpage>214</fpage>
          -
          <lpage>234</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19. L.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Martelli</surname>
            , and
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Theseider</surname>
          </string-name>
          <article-title>Dupre´</article-title>
          .
          <article-title>Reasoning about actions with temporal answer sets</article-title>
          .
          <source>TPLP</source>
          , To appear. Available at http://arxiv.org/abs/1110.3672.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20. E. Giunchiglia,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <string-name>
            <surname>N.</surname>
          </string-name>
          <article-title>McCain, , and</article-title>
          <string-name>
            <given-names>H.</given-names>
            <surname>Turner</surname>
          </string-name>
          .
          <article-title>Nonmonotonic causal theories</article-title>
          .
          <source>Artificial Intelligence</source>
          ,
          <volume>153</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>49</fpage>
          -
          <lpage>104</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          .
          <article-title>An action language based on causal explanation: Preliminary report</article-title>
          .
          <source>In AAAI/IAAI</source>
          , pages
          <fpage>623</fpage>
          -
          <lpage>630</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <given-names>F.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <article-title>Planning as model checking</article-title>
          .
          <source>In Proc. The 5th European Conf. on Planning (ECP'99)</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>20</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <given-names>K.</given-names>
            <surname>Heljanko</surname>
          </string-name>
          and
          <string-name>
            <surname>I.</surname>
          </string-name>
          <article-title>Niemela¨. Bounded LTL model checking with stable models</article-title>
          .
          <source>TPLP</source>
          ,
          <volume>3</volume>
          (
          <issue>4</issue>
          -5):
          <fpage>519</fpage>
          -
          <lpage>550</lpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <given-names>J.G.</given-names>
            <surname>Henriksen</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.S.</given-names>
            <surname>Thiagarajan</surname>
          </string-name>
          .
          <article-title>Dynamic linear time temporal logic</article-title>
          .
          <source>Annals of Pure and Applied logic</source>
          ,
          <volume>96</volume>
          (
          <issue>1-3</issue>
          ):
          <fpage>187</fpage>
          -
          <lpage>207</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <given-names>M.</given-names>
            <surname>Pistore</surname>
          </string-name>
          and
          <string-name>
            <given-names>P.</given-names>
            <surname>Traverso</surname>
          </string-name>
          .
          <article-title>Planning as model checking for extended goals in nondeterministic domains</article-title>
          .
          <source>In Proc. IJCAI</source>
          <year>2001</year>
          , pages
          <fpage>479</fpage>
          -
          <lpage>486</lpage>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sohrabi</surname>
          </string-name>
          and
          <string-name>
            <given-names>S. A.</given-names>
            <surname>McIlraith</surname>
          </string-name>
          .
          <article-title>Optimizing web service composition while enforcing regulations</article-title>
          .
          <source>In ISWC</source>
          <year>2009</year>
          ,
          <article-title>Chantilly</article-title>
          , USA, LNCS
          <volume>5823</volume>
          , pages
          <fpage>601</fpage>
          -
          <lpage>617</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>