<!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>
      <journal-title-group>
        <journal-title>E. Giunchiglia); marco.maratea@unical.it (M. Maratea); marco.mochi@edu.unige.it (M. Mochi)
{ http://www.star.dist.unige.it/~marco/ (M. Maratea); https://www.marcomochi.me (M. Mochi)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>A simple proof-theoretic characterization of Stable Models</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Enrico Giunchiglia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Maratea</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Mochi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>DIBRIS, University of Genova</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Calabria</institution>
          ,
          <addr-line>Rende</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Stable models of logic programs have been studied and characterized also in comparison with other formalisms by many researchers. As already argued, such characterizations are interesting for many reasons, including the possibility of leading to new algorithms for computing stable models. In this paper we provide a simple characterization of stable models which can be seen as the proof-theoretic counterpart of the standard model-theoretic definition. We show how it can be naturally encoded in diference logic. Our encoding, compared to the existing reductions to classical logics, does not explicitly rely on a previous computation of Clark's completion, and it does not involve any Boolean variable.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Logic programming</kwd>
        <kwd>stable models</kwd>
        <kwd>answer set programming</kwd>
        <kwd>diference logic</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>Stable models of logic programs [2, 3, 4, 5, 6, 7], a.k.a. answer set programming (ASP), have been</title>
        <p>studied and characterized also in comparison with other formalisms by many researchers, given its
widespread use to solve application problems, even in an industrial setting [8, 9, 10, 11, 12, 13, 14]. As
already argued (see, e.g., [15]), such characterizations are interesting for many reasons, including the
possibility of leading to new algorithms for computing stable models.</p>
        <p>In this paper we introduce stable derivations as a new characterization of stable models and show
how it can be naturally encoded in diference logic, i.e., in quantifier free first order formulas whose
atoms have the form</p>
        <p>( ◁▷  + ),
where  and  are variables ranging over the reals/rationals or the integers, ◁▷∈ {=, ̸=, ≤ , &lt;, ≥ , &gt;}
and  is a numeric constant. While this is neither the first alternative to the standard definition of
stable models (see, e.g., [15]) nor the first reduction to diference logic (see, e.g., [16]),</p>
      </sec>
      <sec id="sec-1-2">
        <title>1. our definition of stable derivation is simple, as witnessed by the fact that it is rather short, and</title>
      </sec>
      <sec id="sec-1-3">
        <title>2. its corresponding reduction to diference logic uses only one numeric variable per atom in the program, without the need to include any Boolean variable, given that it does not explicitly rely on a previous computation of Clark’s completion [17].</title>
      </sec>
      <sec id="sec-1-4">
        <title>Given the correspondence we establish between stable derivations and stable models, the former can be seen as the proof-theoretic counterpart of the standard model-theoretic definition of the latter.</title>
      </sec>
      <sec id="sec-1-5">
        <title>The paper is structured as follows. First, Section 2 introduces needed preliminaries. Then, Section</title>
      </sec>
      <sec id="sec-1-6">
        <title>3 presents our characterization, while the reduction to diference logic is shown in Section 4. The paper ends by discussing (further) related work in Section 5, and by drawing some conclusion and possible topics for future research in Section 6.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Stable models, Clark’s completion and ordering constraints</title>
      <p>Let  be a countable set of atoms. By  ⊥ we mean the set obtained adding the atom ⊥ denoting
falsity to  , i.e.,  ⊥ =  ∪ {⊥}. A rule is an expression of the form
 ←</p>
      <p>
        1, . . . , , ¬+1, . . . , ¬
(0 ≤  ≤ ) where , 1, . . . ,  are atoms in  ⊥ and ¬ is the symbol for negation. We assume
that in (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ),  ̸=  for 1 ≤  &lt;  ≤ . A (logic) program is a set of rules. Given a rule  of the form (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ),
ℎ() =  is the head, +() = {1, . . . , } is the set of positive body atoms, − () =
{+1, . . . , } is the set of negative body atoms, and () = {1, . . . , , ¬+1, . . . , ¬}
is the body of . If  = ⊥ then (
        <xref ref-type="bibr" rid="ref1">1</xref>
        ) is said to be a constraint.
      </p>
      <p>Consider a logic program Π . A (truth) assignment is a subset of the set  of atoms, thus not
containing ⊥. A truth assignment  satisfies
1. an atom  if  ∈  ,
2. a negated atom ¬ if  ̸∈  ,</p>
      <sec id="sec-2-1">
        <title>3. a set of atoms and negated atoms if  satisfies all the elements in the set,</title>
      </sec>
      <sec id="sec-2-2">
        <title>4. a rule if  satisfies the head whenever  satisfies (), and</title>
      </sec>
      <sec id="sec-2-3">
        <title>5. a program Π if  satisfies all the rules in Π , in which case  is also said to be a model of Π .</title>
      </sec>
      <sec id="sec-2-4">
        <title>A model  of Π is minimal if Π has no other model which is a subset of  . As standard, for a</title>
        <p>suitable concept , we write  |=  to mean that  satisfies .</p>
        <sec id="sec-2-4-1">
          <title>For any truth assignment  , the reduct Π  of Π relative to  is the set of rules obtained from</title>
          <p>
            Π by considering each rule  ∈ Π of the form (
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) and dropping  if at least one of the atoms in
+1, . . . ,  is in  , and then dropping ¬+1, . . . , ¬ otherwise, i.e.,
          </p>
          <p>Π  = {ℎ() ← +() :  ∈ Π ,  ∩ − () = ∅}.</p>
        </sec>
      </sec>
      <sec id="sec-2-5">
        <title>A truth assignment  is a stable model of Π if it is the minimal model of the reduct of Π relative to</title>
        <p>.</p>
        <p>
          Example 1. Consider the program Π in the three atoms , ,  whose rules are:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
 ←
 ←
 ← ¬
 ←
,
,
,
.
Π has the three models {, , }, {, } and {}, of which only the last two are minimal and only
the second one is stable.
        </p>
        <p>Such definition of stable model is due to [ 4] and has the property that each stable model  of Π is
a supported model of Π , i.e., for each atom  ∈  ⊥,  ∈  if and only if there exists a rule  ∈ Π
such that ℎ() =  and  |= (). Thus, all the stable models are also supported while the
converse is not necessarily true [18]. [19] proved that also the converse is true if Π is tight, i.e., if the
positive dependency graph of Π</p>
      </sec>
      <sec id="sec-2-6">
        <title>1. having one node for each atom in  , and</title>
        <p>
          2. an edge from  to each atom 1, . . . ,  for each rule (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) in Π ,
does not contain any loop.
        </p>
        <p>Theorem 1 ([19]). Let Π be a program. A stable model of Π is also a supported model of Π , and if Π
is tight then a supported model of Π is also a stable model of Π .</p>
      </sec>
      <sec id="sec-2-7">
        <title>If for each atom  there are finitely many rules with head , the supported models of Π coincide</title>
        <p>
          with the models of the Clark’s completion (Π) [17]. Assuming Π is finite, the Clark’s completion
(Π) of Π is defined to be the set of formulas in propositional logic consisting of
(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )
(
          <xref ref-type="bibr" rid="ref4">4</xref>
          )
for each atom  ∈  ⊥.
        </p>
        <p>
          Note that (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) is included in (Π) for every  ∈  ⊥, even when  = ⊥ or  is not the head
of any rule in Π . In the former case, (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) is equivalent to
        </p>
        <p>
          and, in the latter case, (
          <xref ref-type="bibr" rid="ref3">3</xref>
          ) is equivalent to ¬. Clark’s completion provides a reduction to classical
logic for tight programs. (Π) has | | Boolean variables and size (||Π ||), where ||Π || is the
size of Π .
        </p>
        <p>[20] and later [21] generalized Fages’ [19] result to programs Π tight on a set  ⊆  of atoms,
defined as the programs for which there exists a function  Π mapping each atom in  to an ordinal
such that for each rule  in Π , if  satisfies the head and the body of the rule then, for each atom
 in the positive body of the rule,  (ℎ()) &gt;  (). A program is tight according to Fages’ [19]
definition, if it is tight on every set of atoms.</p>
        <p>Theorem 2 ([21]). Let Π be a program. Let  be a supported model of Π . If Π is tight on  then 
is a stable model of Π .</p>
        <p>
          Example 2. Consider the rules in (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). If Π consists of the second and third rules then Π is tight and
(Π) consists of the formulas
 ≡
⋁︁
⋀︁
        </p>
        <p>,
:∈Π,ℎ()= ∈()
¬
⋁︁
⋀︁</p>
        <p>:∈Π,ℎ()=⊥ ∈()
 ≡ ¬ ,
 ≡ ,</p>
        <p>¬.
 ≡ ( ∨ ¬),
 ≡ ,
 ≡ ,</p>
        <p>
          If Π consists of the last three rules in (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), then () Π is not tight, () (Π) consists of the first
two of the above formulas, () we can conclude that  = {, } is a stable model since Π is tight on
 , but () we are not allowed to conclude, on the basis of Theorem 2, that {} is not a stable model.
        </p>
        <p>
          If Π consists of all the rules in (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), then () Π is not tight, () (Π) consists of the formulas
() the set of models of (Π) is {{, , }, {, }, {}}, and () Π is not tight on any of the
models of (Π) .
        </p>
      </sec>
      <sec id="sec-2-8">
        <title>If the program Π is non tight, several authors showed how it possible to add extra constraints in</title>
        <p>order to rule out the supported models which are not stable, see for instance [22, 23, 24].</p>
      </sec>
      <sec id="sec-2-9">
        <title>Here, in the following, we give a brief overview of the approaches which are more related to our</title>
        <p>work. Other related works are briefly discussed in Section 6.</p>
        <p>Janhunen [25] proved that in order to rule out the models of the completion which are not stable,
it is suficient to add suitable level ordering constraints. For any truth assignment  ⊆  , define the
set of supporting rules of  to be Π  = { ∈ Π :  |= ()}. Given an assignment  , a level
numbering of  for Π is a function  Π :  ∪ Π  ↦→ N such that for each atom  ∈  ,
 () = { () :  ∈ Π  , ℎ() = }
and, for each rule  ∈ Π  ,</p>
        <p>() = {0, { () :  ∈ +()}} + 1.</p>
        <p>Theorem 3 ([25]). Let Π be a program. Let  be a supported model of Π .  is a stable model of Π if
and only if there exists a level numbering of  for Π .</p>
      </sec>
      <sec id="sec-2-10">
        <title>In the same work, Janhunen [25] proved that for a supported model  of Π there is at most one level</title>
        <p>numbering, and also showed –assuming  is finite– how to encode level numbering in propositional
logic using ⌈2(| |+2)⌉ bits. Thanks to Theorem 3, there exists a one-one-correspondence between
the stable models of Π and the models of the set  (Π) of propositional formulas consisting of the
encoding of the level numbering and of (Π) .  (Π) has (| |×⌈ 2(| |)⌉)) Boolean variables
and size (||Π || × 2(| |)).</p>
        <p>A few years later, Niemelä [16] introduced level ranking of an assignment  for Π to be a function
 Π :  ↦→ N such that for each atom  ∈  , there exists a rule  ∈ Π  such that ℎ() = 
and for each atom  ∈ +(),  () ≥  () + 1. [16] also showed that if we add the restrictions
to level rankings saying that for each  ∈ 
1.  () = 1 whenever there is a rule  ∈ Π  with ℎ() =  and +() = ∅, and
2. for every rule  ∈ Π  with ℎ() =  and +() ̸= ∅, there exists  ∈ +() with
 () ≤  () + 1,
then we have a one-to-one correspondence between level ranking and level numbering. Level rankings
satisfying such additional restrictions are said to be strong.</p>
        <p>Theorem 4 ([16]). Let Π be a program. Let  be a supported model of Π .  is a stable model of Π if
and only if there exists a (strong) level ranking of  for Π .</p>
        <p>Like level numbering, for each supported model  , there is at most one strong level ranking. The
strong level ranking can be thus used to produce compact encodings in propositional logic as in [25],
but without the need of encoding the level associated to the rules.</p>
        <p>(Strong) level rankings can be encoded in diference logic, defined as the extension to propositional
logic in which the set of atomic formulas is extended in order to allow for expressions of the form
 ◁▷ +, where  and  are variables ranging over a numeric unbounded domain (usually the integers
or the rationals/reals),  is a numeric constant and ◁▷∈ {=, ̸=, ≤ , &lt;, ≥ , &gt;}. Then, an interpretation 
maps each numeric variable to a value in its domain, and  satisfies an atomic formula  ◁▷  + 
if  () ◁▷  () + 1. Thanks to Theorem 4, the stable models of Π can be computed as the models
1It is possible to distinguish between rational/real diference logic and integer diference logic ; in the former, variables
take values in the rationals/reals while in the latter case variables are assumed to take integer values. The distinction is
useful as, e.g., the satisfiability of 0 &lt; −  &lt; 1 depends on the domain of  and . However, in this paper such distinction
is useless since we are going to consider formulas whose satisfiability does not depend on the chosen domain.
of  (Π) , where  (Π) is the set of formulas in diference logic consisting of (Π) and of the
encoding of the (strong) level ranking.  (Π) has | | Boolean variables, | | numeric variables and
size (||Π ||), though the introduction of additional Boolean variables may produce a more compact
encoding, but still in (||Π ||).</p>
        <p>
          Example 3. Let Π be the set rules in (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). For each atom  ∈  , we assume to have a numeric variable
  () in the diference logic encoding. Then,  (Π) , as defined in [16], is equivalent to
(
          <xref ref-type="bibr" rid="ref5">5</xref>
          )
(
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
 ≡ ( ∨ ¬),
 ≡ ,
 ≡ ,
 → (( ∧   () ≥   () + 1) ∨ ¬),
 →  ∧   () ≥   () + 1,
 →  ∧   () ≥   () + 1,
where the first 3 formulas correspond to (Π) and the other ones are the encoding of the level
ranking conditions. Any model of the above formulas satisfy , , ¬,   () ≥   () + 1.
        </p>
        <p>The formulas encoding the additional conditions on strong level ranking are
 → (¬ ∨   () ≤   () + 1) ∧ ( ∨   () =   (⊤)),
 → ¬ ∨   () ≤   () + 1,</p>
        <p>
          →   () ≤   () + 1,
where   (⊤) is a “dummy" variable necessary in order to respect the syntax of diference logic and whose
intended interpretation is 1. The encoding in diference logic of the strong level ranking corresponds to the
formulas in (
          <xref ref-type="bibr" rid="ref5">5</xref>
          ) and (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ) which impose, assuming the intended interpretation of   (⊤), that the models
satisfy
  () = 1,
  () = 2.
        </p>
        <p>As expected, strong level rankings (like level numbering) are unique: each atom in the stable model has
a uniquely associated level, while the constraints say nothing about the value of the variables associated
to the atoms not belonging to the stable model, in this case   ().</p>
      </sec>
      <sec id="sec-2-11">
        <title>Several other characterizations and corresponding reductions can be introduced on the basis of</title>
      </sec>
      <sec id="sec-2-12">
        <title>Niemelä’s [16] level ranking. For instance, in the same paper Niemelä [16] defines other reductions</title>
        <p>based on the strongly connected components (SCCs) of the positive dependency graph associated to
Π , and [26] show how it is possible to encode (strong) level rankings (also exploiting SCCs) in SAT
modulo acyclicity.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. A simple proof-theoretic characterization of stable models</title>
      <sec id="sec-3-1">
        <title>This section presents our characterization of stable models.</title>
        <p>Consider a program Π . A stable derivation is a function  Π mapping each atom  ∈  ⊥ to an
ordinal such that  () &lt;  (⊥) if and only if there exists a rule  ∈ Π with head  and
1. for each atom  ∈ +(),  () &gt;  (), and
2. for each atom  ∈ − (),  () ≥  (⊥).</p>
        <p>Given a stable derivation  Π, the set of atoms stably derived by  Π is { :  () &lt;  (⊥)}. A set
of atoms  is stably derivable (from Π) if there exists a stable derivation of  . From the above
definitions, it immediately follows that, in a stable derivation,  (⊥) = 0 only if the set of stably
derivable atoms is empty.</p>
        <p>
          Example 4. In the case of the logic program (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), every stable derivation  Π is such that  () &lt;  () &lt;
 (⊥) ≤  () and the only stably derivable set of atoms is {, }. In general, there is more than one
stably derivable set of atoms, as in the case of the program
whose stable derivations satisfy either
or
 ← ¬
 ← ¬
,

 () &lt;  (⊥) ≤  ()
 () &lt;  (⊥) ≤  ()
and the two corresponding stably derivable sets of atoms are {} and {}.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>A set of atoms is stably derivable if and only if it is a stable model.</title>
        <p>Theorem 5. Let Π be a program. A set of atoms  is a stable model of Π if and only if  is stably
derivable from Π .</p>
        <p>Proof. For the left to right direction, assume  is a stable model. We define a stable derivation for Π
via the operator Π : 2 ↦→ 2 defined, for an arbitrary program Π , as</p>
        <p>Π() = {ℎ() :  ∈ Π ,  |= ()},
and considering the following sequence of subsets of 
and, for each  ≥ 0,</p>
        <p>Π↑0= ∅,
Π↑+1= Π(Π↑).</p>
        <p>Now, since  is a stable model of Π , for each  ∈  there is a unique  such that  ∈ Π ↑
∖Π ↑− 1, and we set  () =  if  ∈ Π ↑ ∖Π ↑− 1. For  ̸∈  , we set  () =  (⊥) = ,
the first limit ordinal. Then,  = Π ↑ and for each  ∈  ,  () &lt;  (⊥) if  ∈  . Clearly,  Π
is a stable derivation for Π : if  () =  &lt;  then  ∈ Π ↑ ∖Π ↑− 1 and thus there exists a rule
 ∈ Π such that () for each  ∈ +(),  ∈ Π ↑− 1 and thus  () &lt;  (), and () for each
 ∈ − (),  ̸∈  and thus  () =  (⊥) = .</p>
        <p>
          For the right to left direction, suppose there is a stable derivation  Π for Π . We show that
 = { :  () &lt;  (⊥)} is the minimal model of Π  , which implies that  is a stable model of
Π . We first show that  is a model of Π  . Assume it is not. Then, there exists a rule  of the form
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) such that  |= {1, . . . , , ¬+1, . . . , ¬, ¬} i.e.,  (1) &lt;  (⊥), . . . ,  () &lt;  (⊥)
while  (+1) ≥  (⊥), . . . ,  () ≥  (⊥),  () ≥  (⊥), which implies  (1) &lt;  (), . . . ,
 () &lt;  () and  (+1) ≥  (⊥), . . . ,  () ≥  (⊥),  () ≥  (⊥), which is not possible
since  Π is a stable derivation. Now we prove that  is minimal. Assume it is not. Then, there is
another model  ′ ⊂  of Π  and an atom  ∈  ∖ ′ with the lowest value  () among the atoms
in  ∖  ′. Since  ∈  then  () &lt;  (⊥) and there exists a rule  ∈ Π such that  |= ().
But, for each  ∈ +(),  ∈  ′ since  () &lt;  (), and for each  ∈ − (),  ̸∈  ′
since  ′ ⊂  . Thus,  ′ |= () and then, since  ′ is a model of Π ,  ∈  ′, contradicting the
assumption.
        </p>
        <p>The term “stable derivation" has been used given () the analogy with the standard definition of
derivation in classical logic, and () the correspondence, as established by Theorem 5, with stable
models. Indeed, a stable derivation can be seen as a sequence of applications of rules as in a standard
derivation in classical logic, once
1. each rule  is interpreted as the inference rule ℎ() ← +() carrying the restriction
that the whole derivation must not contain the atoms in − (), and</p>
      </sec>
      <sec id="sec-3-3">
        <title>2. each applicable rule  is applied in the derivation.</title>
      </sec>
      <sec id="sec-3-4">
        <title>Diferently from classical logic, given the restrictions of the rules, the later application of an applicable</title>
        <p>rule  may invalidate the (stability of the) derivation. These two diferences make the stably derivable
relation nonmonotonic –while classical logic is indeed monotonic– but thanks to Theorem 5 we have
a nice correspondence between the standard “model-theoretic" definition of stable model and this
“proof-theoretic" definition of stable derivation, again similarly to what happens in classical logic.</p>
      </sec>
      <sec id="sec-3-5">
        <title>Comparing the statements of Theorem 2, Theorem 3, and Theorem 4 with Theorem 5, our charac</title>
        <p>terization of stable models does not assume that the starting assignment  is a supported model.</p>
      </sec>
      <sec id="sec-3-6">
        <title>If instead we consider our definition of stable derivation, since for any two ordinals  and  the</title>
        <p>condition  &gt;  is equivalent to  ≥  + 1, it is easy to check the correspondence between the first
condition on stable derivation and the condition on level ranking.</p>
      </sec>
      <sec id="sec-3-7">
        <title>As it happens for level rankings, given the freedom in selecting the ordinal associated to each</title>
        <p>atom, the number of stable derivations is, in general, infinite even in the case of finite programs. If
we consider two stable derivations  1Π and  2Π to be equivalent if, for each pair of atoms ,  ∈  ⊥,
 1Π() &lt;  1Π() if and only if  2Π() &lt;  2Π(), then, whenever  ⊥ is finite, there are finitely many
non equivalent stable derivations. It is however still possible that there exists two non equivalent
stable derivations having the same set of stably derivable atoms.</p>
        <p>
          Example 5. Consider the logic program Π obtained adding  ← ¬  to (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). In this case there are three
sets of non equivalent stable derivations  1Π,  2Π and  3Π for Π , characterized by  1Π() &lt;  1Π() &lt;
 1Π(⊥) ≤  1Π(),  2Π() &lt;  2Π() &lt;  2Π(⊥) ≤  2Π() and  3Π() =  Π() &lt;  Π(⊥) ≤  Π().
However, all the stable derivations lead to the same set {, } of stably derivable atoms.
        </p>
        <p>We can thus define a weaker notion of equivalence, and say that two stable derivations are weakly
equivalent if they have the same set of stably derivable atoms. Of course, two equivalent stable
derivations are also weakly equivalent. Further, similarly to what has been done in [16] for level
rankings, we can impose additional restrictions on stable derivations in order to enforce that any two
of them are either not weakly equivalent or map ⊥ to a diferent ordinal. We do this by introducing
strict stable derivations. A stable derivation  is strict if it maps each atom  ∈  to an ordinal  ()
such that  () ≤  (⊥) and either  () = 1 or for each rule  ∈ Π with head ,
1. either there exists an atom  ∈ +() with  () ≤  () + 1, or
2. there exists an atom  ∈ − () with  () &lt;  (⊥).</p>
        <p>Notice that the above conditions trivially hold when  = ⊥ and, thus, in a strict stable derivation
they hold for each  ∈  ⊥. Further, it is easy to check that in a strict stable derivation, for each
 ∈  ⊥,  () = 0 only if  (⊥) = 0 and thus only if the set of stably derived atoms is empty.
Theorem 6. Let Π be a program in the set  of atoms. For any stable derivation  of Π there is a strict
stable derivation  1 of Π which is equivalent to  and such that  1(⊥) = | | + 1 if  is finite, and
 1(⊥) = , otherwise. Any two distinct weakly equivalent strict stable derivations of Π difer only in
the ordinal associated to ⊥.</p>
        <p>Proof. Let  be the set of atoms stably derived by  . Consider the stable derivation  1 having  as
stably derived set of atoms constructed in the “left to right" direction of the proof of Theorem 5. By
construction  1 is strict, equivalent to  and satisfies  1(⊥) = . On the other hand, it is clear that if
 is finite, then the proof still holds if in the proof we replace  = Π ↑ with  = Π ↑| |+1
and impose  1(⊥) = | | + 1.</p>
        <p>Assume there are two weakly equivalent strict stable derivations  1 and  2 and an atom  ∈ 
with  1() ̸=  2(), and either  1() ̸=  1(⊥) or  2() ̸=  2(⊥). Since  1 and  2 are weakly
equivalent then  1() &lt;  1(⊥) and  2() &lt;  2(⊥). Take such atom  to be such that for
each atom  ∈  with  1() ̸=  2(), ( 1(),  2()) ≤ ( 1(),  2()). Assume
( 1(),  2()) =  1() (analogous proof can be done for the other case). Thus, for each atom
 with  1() &lt;  1(),  1() =  2(). Further, from  1() &lt;  2(), it follows  2() &gt; 1. Then,
 1() &lt;  1(⊥),  2() &lt;  2(⊥) and the equivalence between  1 and  2 implies the existence of a
rule  with ℎ() =  and
1. for each  ∈ +(),  1() =  2() &lt;  1() &lt;  2(),
2. for each  ∈ − (),  1() =  1(⊥) and  2() =  2(⊥), and
3. since  2() &gt; 1, there exists  ∈ +(),  1() + 1 =  2() + 1 ≥  2() &gt;  1() ≥
 1() + 1 which is not possible.</p>
      </sec>
      <sec id="sec-3-8">
        <title>It is worth observing that our definition of strict stable derivation explicitly imposes that for each</title>
        <p>atom  ∈  ,  () ≤  (⊥). However,  () ≤  (⊥) is already entailed by the definition of stable
derivation for those atoms  for which the rule  ← ⊥ is in Π .</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. A simple reduction of stable derivations/models to diference logic</title>
      <sec id="sec-4-1">
        <title>The simple definition of (strict) stable derivation has a correspondingly simple reduction to diference logic, which, thanks to Theorem 5, characterize also stable models.</title>
        <p>
          Consider a finite program Π in a finite set  of variables. In the reduction of Π to diference logic
we have a variable  () for each atom  ∈  ⊥, while the set  (Π) of formulas corresponding to
Π consists of the formula
⋁︀:∈Π,=ℎ()(⋀︀∈+()( () &gt;  ())∧
⋀︀∈− ()( () ≥  (⊥))),
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
for each  ∈  ⊥. For a set of atoms  , define  ( ) to be the set of formulas in diference logic
 ( ) = { () &lt;  (⊥) :  ∈  } ∪ { () ≥  (⊥) :  ̸∈  }.
        </p>
        <p>Theorem 7. Let Π be a finite program. A set of atoms  is a stable model of Π or, equivalently, is
stably derivable from Π if and only if  (Π) ∪  ( ) is satisfiable in diference logic.</p>
        <sec id="sec-4-1-1">
          <title>Proof. Each formula in  (Π) is a direct translation of the corresponding condition in the definition</title>
          <p>of stable derivation.</p>
          <p>Thus, for the left to right direction, every stable derivation  corresponds to an interpretation  
such that for each atom  ∈  with  () &lt;  (⊥),   ( ()) =  () and for each atom  ∈ 
with  () ≥  (⊥),   ( ()) = , where  is a value bigger than any value assigned to
the variables  with  () &lt;  (⊥).   satisfies  (Π) ∪  ( ) where  is the set of atoms stably
derived by  .</p>
          <p>For the right to left direction, if  is a satisfying interpretation of  (Π) ∪  ( ), we can put
the set  of values assigned by  in one to one correspondence with the first || ordinals respecting
the ordering. Then, if  is the function defining the correspondence between the two sets, for each
atom  ∈  ⊥, define  () =  ( ( ())). By construction, for each ,  ∈  ⊥,  () ≤  ()
if and only if  ( ()) ≤  ( ()) and, thus, given the correspondence between  (Π) and the
definition of stable derivation,  is a stable derivation in which  is the set of atoms stably derived
by  .</p>
          <p>According to the above theorem, stably derivable set of atoms of a program Π can be computed
with diference logic solvers. We can also provide the corresponding translation for the al conditions
holding for strict stable derivations. However, dificulties arise if we consider variables ranging
over the rationals/reals. In fact, in such cases, when  () &lt;  (⊥) we would like to impose
additional conditions forcing  () to be the “successor" value of some value  () &lt;  (),
and if  () ranges over the rationals/reals there is no such successive value. Further, diference
logic does not allow to impose that a given variable is greater or equal than a constant and the set of
reals/rationals/integers do not have a minimum value.</p>
          <p>
            A simple solution to all the above problems –providing a translation to the observations of the
previous section– is to modify condition (
            <xref ref-type="bibr" rid="ref7">7</xref>
            ) to
and then include the formula corresponding to the strictness conditions:
(
            <xref ref-type="bibr" rid="ref8">8</xref>
            )
(
            <xref ref-type="bibr" rid="ref9">9</xref>
            )
⋀︀:∈Π,=ℎ()(
⋁︀∈+()( () ≤  () + 1)∨
⋁︀∈− ()( () &lt;  (⊥))∨
 () =  (⊤) ),
where, as it has been the case of the encoding of strong level ranking in diference logic,  (⊤)
is a new variable that is supposed to be interpreted as 1, and which is needed in order to respect
the syntax of diference logic. Let  (Π) be the set consisting of the formulas (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) and (
            <xref ref-type="bibr" rid="ref9">9</xref>
            ), for each
 ∈  .
          </p>
          <p>Theorem 8. Let Π be a program in a finite set  of atoms. For each  ∈  ,  (Π) entails both
 () ≤  (⊥) and either  (⊤) &lt;  (⊥) or  () =  (⊥).</p>
          <p>
            Proof.  () ≤  (⊥) is an easy consequence of (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ). Assume there exists a model  of  (Π)
satisfying  () &lt;  (⊥) and  (⊤) ≥  (⊥) for some variable  (). Consider such variable
to be the one with the lowest  ( ()) value. Since  ( ()) &lt;  ( (⊥)), by (
            <xref ref-type="bibr" rid="ref8">8</xref>
            ) there must be
a rule  with head , +() = ∅ (otherwise for each  ∈ +(),  ( ()) &lt;  ( ())
contradicting that  () is the variable with minimum  ( ()) value) and each  ∈ − ()
with  ( ()) =  ( (⊥)). Then, by (
            <xref ref-type="bibr" rid="ref9">9</xref>
            ),  ( ()) =  ( (⊤)). But  ( (⊤)) =  ( ()) &lt;
 ( (⊥)) which contradicts the other initial hypothesis that  satisfies  (⊤) ≥  (⊥).
Theorem 9. Let Π be a program in a finite set  of atoms. Let  be an interpretation of  (Π) such
that  ( (⊤)) = 1 and  ( (⊥)) = | | + 1. Let   be the function such that for each  ∈  ⊥,
 () =  ( ()).  is a model of  (Π) if and only if   is a strict stable derivation.
          </p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>Proof. Formulas (8) and (9) are a direct translation of the corresponding condition in the definition of</title>
        <p>strict stable derivation.</p>
        <p>
          Example 6. Let Π be the set rules in (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ). The set of formulas in  (Π) are
 () &lt;  (⊥) ≡ ( () &lt;  () ∨  () ≥  (⊥)),
 () &lt;  (⊥) ≡  () &lt;  (),
 () &lt;  (⊥) ≡  () &lt;  ().
        </p>
        <p>Any model of the above formulas satisfies  () &lt;  () &lt;  (⊥) ≤  ().</p>
        <p>The formulas in  (Π) encoding strict stable derivations are
and they entail  (⊤) =  () =  () − 1 &lt;  () =  (⊥).</p>
        <p>The proposed encoding in diference logic of (strict) stable derivations has thus | | + 1 numeric
variables and size (||Π ||), as opposed to [16] encoding of (strong) level ranking which require | |
Boolean variables and | | numeric variables. Given that we can restrict the range of strict stable
derivation in [1, | | + 1] it is also possible to produce a corresponding encoding in propositional
logic mimicking what has been done by [25]. Analogously, it is also possible to further improve the
encoding by exploiting the strongly connected component of the positive dependency graph and/or
provide “SAT modulo acyclity” encodings again mimicking what has been already proposed in the
literature, see, e.g., [25, 16, 27, 26].</p>
      </sec>
      <sec id="sec-4-3">
        <title>To the best of our knowledge, we are the first to provide a linear encoding, in the number of variables of the program, in classical logic (and more specifically in diference logic), without explicitly relying on Clark’s completion.</title>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5. Related Work</title>
      <p>As mentioned in the Introduction, there have been several characterizations of stable models, with
(possibly) corresponding reductions, and some of them are introduced through the paper. Here, we
mention some of the main remaining charactizations/reductions to diference logic or other
logicbased formalisms other than propositional satisfiability. [ 26] presented alternative target formalisms
in which the acyclicity conditions can be checked using a linear representation. The input program
is instrumented such that propositional models of its completion subject to an acyclicity condition
checked on graph representation match the answer sets of the program. The required acyclicity can
be represented as additional SAT formulas, including diference logic [ 27]. Such acyclicity conditions
can be also linearly represented via SMT with Bit-Vector Logic [28], where the authors introduced
additional constraints for atoms involved in SCCs by considering external and internal support for the
rules, and Mixed Integer Programming [29]. [30] presented a reduction of programs with monotone
and convex constraints to pseudo-Boolean constraints, based on loop formulas. The approach of
[31] is based on a syntactic transformation which turns a logic program into a formula of
secondorder logic similar to the formula from the definition of circumscription. Reductions have been also
presented for CASP, an extension of ASP with linear constraints [32], but often limited to diference
constraints due to their usefulness in, e.g., scheduling applications, in contrast to native approaches
to handle such extension natively (e.g., [33] and solver clingo[DL]). Reduction-based approaches
include those implemented in ezcsp [34] and ezsmt [35], which rely on CSP and some SMT logics,
including diference logic, respectively.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusion</title>
      <p>In this paper we strengthen the relation between ASP and classical logic [36, 37] by providing a new,
simple proof-theoretic characterization of stable models, and a corresponding reduction from logic
programs to diference logic, which does not rely on a previous computation of Clark’s completion, and
it does not involve any Boolean variable. As future work, we would like to implement the reduction
as SMT formulas, and test it employing SMT solvers for diference logic (see, e.g., [ 38, 39, 40]) on
benchmarks from the last ASP Competitions [41], against state-of-the-art ASP solvers such as clingo
[42], lp2diff [27], and wasp [43].
Fields of Logic and Computation, Essays Dedicated to Yuri Gurevich on the Occasion of His
70th Birthday, volume 6300 of Lecture Notes in Computer Science, Springer, 2010, pp. 488–503.
[16] I. Niemelä, Stable models and diference logic, Annals of Mathematics and Artificial Intelligence
53 (2008) 313–329.
[17] K. L. Clark, Negation as failure, in: Logic and data bases, Springer, 1978, pp. 293–322.
[18] V. W. Marek, V. S. Subrahmanian, The relationship between stable, supported, default and
autoepistemic semantics for general logic programs, Theoretical Computer Science 103 (1992)
365–386.
[19] F. Fages, Consistency of clark’s completion and existence of stable models, Methods of Logic in</p>
      <p>Computer Science 1 (1994) 51–60.
[20] Y. Babovich, E. Erdem, V. Lifschitz, Fages’ theorem and answer set programming, CoRR
cs.AI/0003042 (2000). URL: https://arxiv.org/abs/cs/0003042.
[21] E. Erdem, V. Lifschitz, Tight logic programs, Theory and Practice of Logic Programming 3 (2003)
499–518.
[22] R. Ben-Eliyahu, R. Dechter, Propositional semantics for disjunctive logic programs, Annals of</p>
      <sec id="sec-6-1">
        <title>Mathematics and Artificial Intelligence 12 (1994) 53–87.</title>
        <p>[23] F. Lin, J. Zhao, On tight logic programs and yet another translation from normal logic programs
to propositional logic, in: Proceedings of the Eighteenth International Joint Conference on</p>
      </sec>
      <sec id="sec-6-2">
        <title>Artificial Intelligence (IJCAI 2003), Morgan Kaufmann, 2003, pp. 853–858.</title>
        <p>[24] F. Lin, Y. Zhao, ASSAT: computing answer sets of a logic program by SAT solvers, Artificial</p>
        <p>Intelligence 157 (2004) 115–137.
[25] T. Janhunen, Representing normal programs with clauses, in: R. L. de Mántaras, L. Saitta (Eds.),</p>
      </sec>
      <sec id="sec-6-3">
        <title>Proceedings of the 16th Eureopean Conference on Artificial Intelligence, (ECAI 2004), IOS Press,</title>
        <p>2004, pp. 358–362.
[26] M. Gebser, T. Janhunen, J. Rintanen, Answer set programming as SAT modulo acyclicity, in:</p>
      </sec>
      <sec id="sec-6-4">
        <title>T. Schaub, G. Friedrich, B. O’Sullivan (Eds.), Proceedings of the 21st European Conference on Ar</title>
        <p>tificial Intelligence (ECAI 2014), volume 263 of Frontiers in Artificial Intelligence and Applications ,
IOS Press, 2014, pp. 351–356.
[27] T. Janhunen, I. Niemelä, M. Sevalnev, Computing stable models via reductions to diference
logic, in: E. Erdem, F. Lin, T. Schaub (Eds.), Proceedings of the 10th International Conference on</p>
      </sec>
      <sec id="sec-6-5">
        <title>Logic Programming and Nonmonotonic Reasoning (LPNMR 2009), volume 5753 of Lecture Notes</title>
        <p>in Computer Science, Springer, 2009, pp. 142–154.
[28] M. Nguyen, T. Janhunen, I. Niemelä, Translating answer-set programs into bit-vector logic, in:</p>
      </sec>
      <sec id="sec-6-6">
        <title>H. Tompits, S. Abreu, J. Oetsch, J. Pührer, D. Seipel, M. Umeda, A. Wolf (Eds.), Revised Selected</title>
      </sec>
      <sec id="sec-6-7">
        <title>Papers - 19th International Conference, (INAP 2011), and 25th Workshop on Logic Programming</title>
        <p>(WLP 2011) of Applications of Declarative Programming and Knowledge Management, volume
7773 of Lecture Notes in Computer Science, Springer, 2011, pp. 95–113.
[29] G. Liu, T. Janhunen, I. Niemelä, Answer set programming via mixed integer programming, in:</p>
      </sec>
      <sec id="sec-6-8">
        <title>G. Brewka, T. Eiter, S. A. McIlraith (Eds.), Proceedings of the Thirteenth International Conference</title>
        <p>on Principles of Knowledge Representation and Reasoning: Proceedings (KR 2012), AAAI Press,
2012.
[30] L. Liu, M. Truszczynski, Properties and applications of programs with monotone and convex
constraints, Journal of Artificial Intelligence Research 27 (2006) 299–334.
[31] P. Ferraris, J. Lee, V. Lifschitz, A new perspective on stable models, in: M. M. Veloso (Ed.),</p>
      </sec>
      <sec id="sec-6-9">
        <title>Proceedings of the 20th International Joint Conference on Artificial Intelligence (IJCAI 2007),</title>
        <p>2007, pp. 372–379.
[32] S. Baselice, P. A. Bonatti, M. Gelfond, Towards an integration of answer set and constraint
solving, in: M. Gabbrielli, G. Gupta (Eds.), Proceedings of the 21st International Conference on</p>
      </sec>
      <sec id="sec-6-10">
        <title>Logic Programming (ICLP 2005), volume 3668 of Lecture Notes in Computer Science, Springer,</title>
        <p>2005, pp. 52–66.
[33] M. Banbara, B. Kaufmann, M. Ostrowski, T. Schaub, Clingcon: The next generation, Theory and</p>
      </sec>
      <sec id="sec-6-11">
        <title>Practice of Logic Programming 17 (2017) 408–461.</title>
        <p>[34] M. Balduccini, Y. Lierler, Constraint answer set solver EZCSP and why integration schemas
matter, Theory and Practice of Logic Programming 17 (2017) 462–515.
[35] D. Shen, Y. Lierler, Smt-based constraint answer set solver EZSMT+ for non-tight programs, in:</p>
      </sec>
      <sec id="sec-6-12">
        <title>M. Thielscher, F. Toni, F. Wolter (Eds.), Proceedings of the Sixteenth International Conference on</title>
      </sec>
      <sec id="sec-6-13">
        <title>Principles of Knowledge Representation and Reasoning (KR 2018), AAAI Press, 2018, pp. 67–71.</title>
        <p>[36] E. Giunchiglia, M. Maratea, On the Relation Between Answer Set and SAT Procedures (or,</p>
      </sec>
      <sec id="sec-6-14">
        <title>Between cmodels and smodels), in: ICLP, volume 3668 of LNCS, Springer, 2005, pp. 37–51.</title>
        <p>[37] E. Giunchiglia, N. Leone, M. Maratea, On the relation among answer set solvers, Ann. Math.</p>
        <p>Artif. Intell. 53 (2008) 169–204.
[38] A. Armando, C. Castellini, E. Giunchiglia, M. Idini, M. Maratea, TSAT++: an open platform for
satisfiability modulo theories, in: W. Ahrendt, P. Baumgartner, H. de Nivelle, S. Ranise, C. Tinelli
(Eds.), Selected Papers from the Workshops on Disproving, D@IJCAR 2004, and the Second</p>
      </sec>
      <sec id="sec-6-15">
        <title>International Workshop on Pragmatics of Decision Procedures, PDPAR@IJCAR 2004, volume</title>
        <p>125 of Electronic Notes in Theoretical Computer Science, Elsevier, 2004, pp. 25–36.
[39] L. M. de Moura, N. S. Bjørner, Z3: an eficient SMT solver, in: C. R. Ramakrishnan, J. Rehof (Eds.),</p>
      </sec>
      <sec id="sec-6-16">
        <title>Proc. of the 14th International Conference on Tools and Algorithms for the Construction and</title>
      </sec>
      <sec id="sec-6-17">
        <title>Analysis of Systems (TACAS 2008), volume 4963 of Lecture Notes in Computer Science, Springer,</title>
        <p>2008, pp. 337–340.
[40] B. Dutertre, Yices 2.2, in: A. Biere, R. Bloem (Eds.), Proc. of the Computer Aided Verification
26th International Conference (CAV 2014), volume 8559 of Lecture Notes in Computer Science,
Springer, 2014, pp. 737–744.
[41] F. Calimeri, M. Gebser, M. Maratea, F. Ricca, The design of the fifth answer set programming
competition, CoRR abs/1405.3710 (2014). URL: http://arxiv.org/abs/1405.3710. arXiv:1405.3710.
[42] M. Gebser, B. Kaufmann, T. Schaub, Conflict-driven answer set solving: From theory to practice,</p>
      </sec>
      <sec id="sec-6-18">
        <title>Artificial Intelligence 187 (2012) 52–89.</title>
        <p>[43] M. Alviano, G. Amendola, C. Dodaro, N. Leone, M. Maratea, F. Ricca, Evaluation of disjunctive
programs in WASP, in: M. Balduccini, Y. Lierler, S. Woltran (Eds.), LPNMR, volume 11481 of
LNCS, Springer, 2019, pp. 241–255.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>R. De Benedictis</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Gatti</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Murano</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Scala</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>Serafini</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          <string-name>
            <surname>Serina</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Tosello</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Umbrico</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Vallati</surname>
          </string-name>
          , Preface to the
          <source>Italian Workshop on Planning and Scheduling</source>
          , RCRA Workshop on
          <article-title>Experimental evaluation of algorithms for solving problems with combinatorial explosion, and</article-title>
          SPIRIT Workshop on Strategies, Prediction, Interaction, and
          <article-title>Reasoning in Italy (IPS-RCRA-SPIRIT</article-title>
          <year>2023</year>
          ),
          <source>in: Proceedings of the Italian Workshop on Planning and Scheduling</source>
          , RCRA Workshop on
          <article-title>Experimental evaluation of algorithms for solving problems with combinatorial explosion, and</article-title>
          SPIRIT Workshop on Strategies, Prediction, Interaction, and
          <article-title>Reasoning in Italy (IPS-RCRA-SPIRIT 2023) co-located with 22th International Conference of the Italian Association for Artificial Intelligence (AI* IA</article-title>
          <year>2023</year>
          ),
          <year>2023</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>C.</given-names>
            <surname>Baral</surname>
          </string-name>
          ,
          <source>Knowledge Representation, Reasoning and Declarative Problem Solving</source>
          , Cambridge University Press,
          <year>2003</year>
          . doi:
          <volume>10</volume>
          .1017/cbo9780511543357.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Brewka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Truszczynski</surname>
          </string-name>
          ,
          <article-title>Answer set programming at a glance</article-title>
          ,
          <source>Communications of the ACM</source>
          <volume>54</volume>
          (
          <year>2011</year>
          )
          <fpage>92</fpage>
          -
          <lpage>103</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <article-title>The stable model semantics for logic programming</article-title>
          , in: R. A.
          <string-name>
            <surname>Kowalski</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <article-title>A</article-title>
          .
          <string-name>
            <surname>Bowen</surname>
          </string-name>
          (Eds.),
          <string-name>
            <surname>Logic</surname>
            <given-names>Programming</given-names>
          </string-name>
          ,
          <source>Proceedings of the Fifth International Conference and Symposium</source>
          , Seattle, Washington, USA,
          <year>August</year>
          15-
          <issue>19</issue>
          ,
          <year>1988</year>
          (
          <article-title>2 Volumes)</article-title>
          , MIT Press,
          <year>1988</year>
          , pp.
          <fpage>1070</fpage>
          -
          <lpage>1080</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <article-title>Classical Negation in Logic Programs</article-title>
          and Disjunctive Databases,
          <source>New Generation Computing</source>
          <volume>9</volume>
          (
          <year>1991</year>
          )
          <fpage>365</fpage>
          -
          <lpage>386</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>V. W.</given-names>
            <surname>Marek</surname>
          </string-name>
          , I. Niemelä,
          <string-name>
            <given-names>M.</given-names>
            <surname>Truszczynski</surname>
          </string-name>
          ,
          <article-title>Logic programs with monotone abstract constraint atoms</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>8</volume>
          (
          <year>2008</year>
          )
          <fpage>167</fpage>
          -
          <lpage>199</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>I. Niemelä</surname>
          </string-name>
          ,
          <article-title>Logic Programs with Stable Model Semantics as a Constraint Programming Paradigm</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>25</volume>
          (
          <year>1999</year>
          )
          <fpage>241</fpage>
          -
          <lpage>273</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Erdem</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <article-title>Applications of answer set programming</article-title>
          ,
          <source>AI</source>
          Magazine
          <volume>37</volume>
          (
          <year>2016</year>
          )
          <fpage>53</fpage>
          -
          <lpage>68</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>A. A.</given-names>
            <surname>Falkner</surname>
          </string-name>
          , G. Friedrich,
          <string-name>
            <given-names>K.</given-names>
            <surname>Schekotihin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Taupe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. C.</given-names>
            <surname>Teppan</surname>
          </string-name>
          ,
          <article-title>Industrial applications of answer set programming</article-title>
          ,
          <source>Künstliche Intelligenz</source>
          <volume>32</volume>
          (
          <year>2018</year>
          )
          <fpage>165</fpage>
          -
          <lpage>176</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Obermeier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Schaub</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ratsch-Heitmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Runge</surname>
          </string-name>
          ,
          <article-title>Routing driverless transport vehicles in car assembly with answer set programming</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>18</volume>
          (
          <year>2018</year>
          )
          <fpage>520</fpage>
          -
          <lpage>534</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Galatà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Grioni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Mochi</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>An ASP-based solution to the chemotherapy treatment scheduling problem</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>21</volume>
          (
          <year>2021</year>
          )
          <fpage>835</fpage>
          -
          <lpage>851</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Alviano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Nurse (re)scheduling via answer set programming</article-title>
          ,
          <source>Intelligenza Artificiale</source>
          <volume>12</volume>
          (
          <year>2018</year>
          )
          <fpage>109</fpage>
          -
          <lpage>124</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>Operating room scheduling via answer set programming</article-title>
          ,
          <source>in: AI*IA</source>
          , volume
          <volume>11298</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2018</year>
          , pp.
          <fpage>445</fpage>
          -
          <lpage>459</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>C.</given-names>
            <surname>Dodaro</surname>
          </string-name>
          , G. Galatà,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Khan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Porro</surname>
          </string-name>
          ,
          <article-title>An ASP-based solution for operating room scheduling with beds management</article-title>
          , in: P. Fodor,
          <string-name>
            <given-names>M.</given-names>
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , D. Roman (Eds.),
          <source>Proceedings of the Third International Joint Conference on Rules and Reasoning (RuleML+RR 2019)</source>
          , volume
          <volume>11784</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2019</year>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>81</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>V.</given-names>
            <surname>Lifschitz</surname>
          </string-name>
          ,
          <article-title>Thirteen definitions of a stable model</article-title>
          , in: A.
          <string-name>
            <surname>Blass</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          <string-name>
            <surname>Dershowitz</surname>
          </string-name>
          , W. Reisig (Eds.),
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>