<!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>Probabilistic Logic Programming under the L-Stable Semantics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Denis Deratani Mauá</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Fabio G. Cozman</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexandro Garces</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Escola Politécnica, University of São Paulo</institution>
          ,
          <addr-line>São Paulo</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Mathematics and Statistics, University of São Paulo</institution>
          ,
          <addr-line>São Paulo</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>MIT</institution>
          ,
          <addr-line>Cambridge, MA</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Probabilistic logic programming extends logic programming to ofer a rich specification language for statistical relational models and, more recently, to neurosymbolic reasoners. The standard stable model semantics adopted by probabilistic logic programs collapses in the presence of contradictions that can arise when knowledge is not carefully elicited. In this work, we study probabilistic disjunctive logic programs under the least-undefined stable model semantics. We prove missing complexity results for logic inference with bounded-arity predicates, and then derive the complexity of probabilistic inference with respect to both the credal and the maximum entropy semantics.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Probabilistic Logic Programming</kwd>
        <kwd>Inconsistent Knowledge Bases</kwd>
        <kwd>Computational Complexity</kwd>
        <kwd>Stable Model Semantics</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The construction of a knowledge base may produce
contradictions, for instance, when several experts are consulted,
or when rules are extracted automatically [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A
contradiction may render a knowledge base completely useless,
depending on the adopted semantics. Take the following
well-known logic program example that describes John and
the barber as two male adults, and expresses that a barber
shaves every male adult who does not shave himself:
maleAdult(john).
      </p>
      <p>maleAdult(barber).
shaves(barber, ) ←</p>
      <p>maleAdult(), not shaves(, ).</p>
      <p>There is no stable model here, for if the barber shaves
himself then shaves(barber, barber) is not enforced by
the rule; and if the barber does not shave himself, then
shaves(barber, barber) must be true. Yet the rule produces
the sensible inference shaves(barber, john).</p>
      <p>
        We can handle such contradictions gracefully through a
three-valued semantics where facts may be left undefined [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
The least-undefined (partial) stable model semantics
(Lstable, for short) is one such semantics [
        <xref ref-type="bibr" rid="ref3 ref4">3, 4</xref>
        ]. The semantics
considers that facts can be true, false or undefined; the latter
can be interpreted as denoting a local inconsistency of the
knowledge base, or simply some fact whose truthiness is
impossible to determine given the available state of
knowledge. For example, under the L-stable semantics, a
minimal model for the previous logic program considers that
shaves(barber, john) is true while shaves(barber, barber)
is undefined.
      </p>
      <p>
        Probabilistic logic programming languages [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] extend
logic programming [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] to represent relational probabilistic
models. Most such languages adopt a semantics derived
from Sato’s distribution semantics [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], where a basic
distribution over logic programs is extended into a distribution
over the intended models, from which probabilistic queries
of interest can be answered. The following program, written
in ProbLog’s syntax, gives a taste of one such a language:
0.01 :: likes(anna, bob). likes(bob, carl).
likes(,  ) ←
      </p>
      <p>likes(, ), likes(,  ).
22nd International Workshop on Nonmonotonic Reasoning, November 2–4,
2024, Hanoi, Vietnam
* Corresponding author.
$ ddm@ime.usp.br (D. D. Mauá); fgcozman@usp.br (F. G. Cozman);
agarces2@mit.edu (A. Garces)
© 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License
Attribution 4.0 International (CC BY 4.0).</p>
      <p>The program states that Anna likes Bob with probability 0.01,
that Bob likes Carl, and that liking is transitive. The
distribution semantics assigns a probability distribution over two
logic programs: one containing the fact likes(anna, bob)
and the remaining facts and rules, with probability 0.01, and
another one that does not contain that fact, with probability
0.99. Thus, considering the minimal model semantics for
the logic programs, the probabilistic program infers that
likes(anna, carl) is true with probability 0.01.</p>
      <p>
        The distribution semantics is appealing for its simplicity
and for separating the logic and probabilistic parts, which
enables diferent combinations of logic and probabilistic
semantics. And while such a combination can be made in a
number of diferent forms [
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref8 ref9">8, 9, 10, 11, 12</xref>
        ], most probabilistic
logic programming languages require that any induced logic
program admits at least one model, thus ruling out programs
containing contradictions.
      </p>
      <p>
        Targeting the modeling of probabilistic argumentative
knowledge, which often contains contradictions, Totis,
Kimmig and De Raedt [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] adopted the stable semantics (which
extends the minimal model semantics to handle recursive
definitions that go through negations) and suggested to
make all atoms undefined (inconsistent, in their
terminology) whenever a contradiction occurs. The approach, which
they named smProbLog, copes with the requirement of
existence of an intended model at the expense of introducing
an extreme case of undefinedness in the semantics.
      </p>
      <p>
        LPMLN [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] instead copes with inconsistency by
renormalizing the probability mass over the induced logic programs
that admit a stable model. As noted in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], doing so
violates the essential assumption of Sato’s semantics that
probabilistic choices are independent. That leads to probabilistic
inconsistencies, as inferences draw from the program might
disagree with the specified marginal probabilities specified,
and creates dificulties for parametric learning from data.
      </p>
      <p>
        Hadjichristodoulou and Warren [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] advocated using the
three-valued well-founded semantics [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] for the induced
logic programs, which always admit a single model. The
well-founded semantics does not distinguish between
undefinedness that arises from inconsistencies and those that
arise from multiple possible intended models. That is, an
atom might be assigned as undefined either because it is
involed in a contradiction (e.g.  ← not .), or because it is
defined diferently in more than one model (e.g.  ← not .,
 ← not .). The well-founded semantics is also more
undefined: given a logic program, it assigns more undefined
atoms than the corresponding L-stable semantics.
      </p>
      <p>
        Another path has been followed by Rocha and Cozman
[
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], where the L-stable semantics is applied to each
induced logic program. As they also focused on probabilistic
argumentation, the authors considered only normal logic
programs without integrity constraints, which always admit
at least one L-stable model. While the L-stable semantics
is not widely adopted, it is an interesting choice in that it
diferentiates between situations that admit more than one
stable model from situations that have no stable model (and
are then identified with contradictions).
      </p>
      <p>
        To summarize: the L-stable semantics handles
inconsistencies so as to minimize the number of undefined atoms, in
a way that is consistent with the distribution semantics,
coincides with the widely adopted stable model semantics in the
lack of contradictions, and as such is able to also represent
non-determinism (i.e., multiple intended models/solutions).
In addition, the L-stable semantics is also akin to typical
semantics of abstract argumentation frameworks [
        <xref ref-type="bibr" rid="ref13 ref16 ref17">13, 17, 16</xref>
        ].
      </p>
      <p>To make the probabilistic language applicable, one needs
to derive inference algorithms that take a probabilistic logic
program and a target atom and produce the probabilities
of that atom being true according to the given semantics.
When designing such algorithms, is useful to classify such
inference tasks with respect to their computational
complexity class.</p>
      <p>
        In this work, we study the computational complexity of
probabilistic logic programming under the L-stable
semantics. We first prove some missing results about the
complexity of (non-probabilistic) logic programs with bounded-arity
predicates. More precisely, we show that marginal
inference under the L-stable semantics is Σ 3-hard for normal
programs and Σ 4-hard for disjunctive programs, thus
climbing one step of the polynomial hierarchy with respect to
the stable model semantics [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]. We then prove complexity
of probabilistic logic programs under two common choices
of probabilistic semantics.
      </p>
      <p>
        The credal semantics [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ] considers all probability
distributions that are consistent with the distribution semantics
requirements and the respective L-stable models, thus
providing interval-valued inferences. Using our results on the
complexity of logic programs, e show that computing such
inferences for normal/disjunctive probabilistic programs
with bounded-arity predicates is PPΣ 3 /PPΣ 4 -complete, a
result that again let us climb one level of the counting
hierarchy relative to the stable model semantics complexity
[
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
      <p>
        The maximum entropy semantics averages all probability
models and produces a sharp probability value [
        <xref ref-type="bibr" rid="ref13 ref22 ref8">8, 22, 13</xref>
        ].
Despite being relatively more common than the credal
semantics, its complexity is largely unexplored. In fact, this
work provides the first complexity results under that
semantics that we are aware of. We show that the complexity of
inference under the maximum entropy semantics is upper
bounded by PPPP, an extremely powerful class, and lower
bounded by PPNP, even for propositional normal programs
with no undefined atoms (i.e., under the stable model
semantics), and for propositional disjunctive programs with
no undefined atoms and no negation. While those results
still leave us with quite a large gap in the characterization
of the complexity class, it shows that the maximum entropy
semantics can be least as hard as the credal semantics, if not
harder. That might encourage the development of inference
algorithms that use the credal semantics to approximate the
maximum entropy semantics.
      </p>
      <p>
        We also address a more practical aspect of inference
under the L-stable semantics. We use a known relation [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]
between models under the L-stable and stable semantics to
devise an algorithm that reduces inference under the
former to inference under the latter. Using the algorithm, we
provide empirical evidence that L-stable semantics is more
informative than smProbLog semantics.
      </p>
      <p>The rest of this paper is organized as follows. We start
by reviewing some basic facts about logic programming
and probabilistic logic programming (Section 2). We then
prove complexity results first for logic programs (Section
3) and then for probabilistic logic programs (Section 4). In
Section 5, we discuss the practical inference algorithm for
probabilistic programs and the empirical results comparing
definedness of L-stable semantics and smProbLog. Final
remarks conclude this paper (Section 6).</p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>
        We assume the reader is familiar with logic programming
and refer to [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] for a gentle introduction to the topic. Thus,
here we only review the basic elements that help us fix some
notation and terminology.
      </p>
      <sec id="sec-2-1">
        <title>2.1. Logic Programming</title>
        <p>A rule  is an expression of the form
1 ∨ · · · ∨
 ←</p>
        <p>1, . . . , , not +1, . . . , not  ,
where  and  are atoms,  &gt; 0 (note: this disallows
integrity constraints) and ,  ≥ 0. We define head() =
{1, . . . , }, body+() = {1, . . . , }, body− () =
{+1, . . . , }, and body() = body+() ∪ body− ().
A rule is normal if  = 1. It is a fact if in addition  =
 = 0. In general, facts provide input data and rules derive
new data or verify properties of the input data. A disjunctive
logic program, or simply a program, is a finite set of rules.
We denote the set of facts of a program  by facts( ). The
program is normal if and only if all rules are normal.</p>
        <p>The semantics of a program with variables is given by
the semantics of its grounding, so for the rest of this section
we consider only propositional programs.</p>
        <p>The Herbrand base of a program is the set formed by
all ground atoms that can be built using predicate names
and constants in the program. The grounding of a program
is the propositional program obtained by grounding each
rule, that is, replacing variables with constants from the
Herbrand base in every consistent way. Let t, f and u
denote ground atoms which do not occur in a program  . A
three-valued interpretation  is a function from the atoms
in the Herbrand base to f &lt; u &lt; t. We extend  so that
() =  for  = t, u, f, (¬) = t if () = f, () = f
if () = t and (¬) = u if () = u. We say that  is
defined if () ̸= u. We write  = { | () = } for
 = t, f, u. An interpretation  is total if u = ∅. We define
(head()) = max{() |  ∈ head()} and (body())
as the minimum of min{() |  ∈ body+()} and
min{(¬) |  ∈ body− ()}. An interpretation 
satisfies a rule  if (head()) ≥ (body()). Equivalently,
the rule is satisfied by  if and only if:
(S1) The rule body contains a false literal, that is, if either
body+() ∩ f ̸= ∅ or body− () ∩ t ̸= ∅; or
(S2) The literals in the body are all satisfied (i.e., true if
positive, false if negative), and the head has at least
one atom which is true; or
(S3) Each literal in the body is either satisfied or undefined,
some literal is the body is undefined, and some atom
in the head is either satisfied or undefined.</p>
        <p>The last rule is what diferentiates three-valued semantics,
such as the L-stable semantics, from two-valued semantics,
such as the stable semantics, as it allows local inconsistency
introduced by a rule to be resolved by an undefined atom in
the body and/or an undefined atom in the head. Note that,
by definition, a fact can only be satisfied by (S2).</p>
        <p>Example 1. The interpretation () = t and () = () =
f satisfies the rule ∨ ← , not . by (S1); the interpretation
() = f and () = () = t satisfies that same rule by
(S2); last, the valuation () = u, () = t and () = f
satisfies that rule by (S3).</p>
        <p>
          An interpretation is a model of a program if it satisfies all
of its rules. We define a partial order ≤ (reflexive,
antisymmetric and transitive) of interpretations as: 0 ≤ 1 if and
only if 0() ≤ 1() for all . A model 1 is minimal if
there is no model 0 ≤ 1 such that 0 ̸= 1. If  is total
then it is minimal if and only if t is ⊆ -minimal. Note that
by (S3) if t = f = ∅, then  is a model as it satisfies all
rules (and we disallow integrity constraints). Thus, since
≤ is a partial order and the Herbrand base is finite, every
normal program admits one or more minimal models [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ].
This is contrast to complete (i.e., 2-valued) semantics, for
which a normal program might have none, one or multiple
minimal models.
        </p>
        <p>
          The stability of a model  is connected to the notion
of the program’s reduct w.r.t. , written  /, obtained by
the so-called the modified Gelfond–Lifschitz (mGL)
transformation [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. The transformation operates on each atom
 ∈ body− () in the negative body of a rule  ∈  and
replaces it by the atom t, f or u corresponding to its semantics
in . Formally, it replaces  with: (i) t if  ∈ f ; or (ii) f if
 ∈ t; or (iii) u if  ∈ u. We say that  is a stable model of
 if  is a minimal model of  /. This is the partial stable
model semantics (P-stable) for logic programs [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. A stable
model 1 is least undefined (L-stable, for short) if there is
no other stable model 0 with 0u ⊂ 1u. That is,  is least
undefined if there is no other stable model that defines (as
true or false) more atoms than it. This is the L-stable model
semantics [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. We denote the L-stable models of program 
by models( ).
        </p>
        <p>Example 2. Table 1 lists the interpretations  =
((), ()), the respective program reduct and minimal
models for the program
 ∨ .</p>
        <p>←</p>
        <p>To see why the program does not have stable models, note that
the three normal rules induce a contradiction on the
truthvalue of each atom (this can be seen as a 2-coloring of an order
3 complete graph whose nodes are the atoms). Additionally,
interpreting any of ,  or  as undefined leads the others to
also be interpreted as undefined (due to the cycle). But this
violates the disjunction.</p>
        <p>While joint use of disjunction and negation can create
inconsistent programs, disjunction can also be used to avoid
the need of contradictions to discard interpretations:
Example 4. To see another important feature of the stable
semantics, consider the following program, which describes
the property of 3-colorability of a given undirected graph.
edge(a, b). edge(a, c). edge(b, d). edge(c, d).
eq(r, r). eq(g, g). eq(b, b).</p>
        <p>As the underlying graph is 3-colorable, the program admits
a total stable model where fail is false. Now consider a
modiifcation of the facts so that the graph is not 3-colorable (e.g.,
by adding the fact edge(b, c)). Then any (stable) model must
assign fail to true and therefore must also assign color(, ) to
true for any node  and color . But such a model is maximal
(it assigns the maximum number of true atoms); hence it is
only stable, if there is not other stable model. It follows that
there is a stable model defining colorable as true if and only
if the graph is 3-colorable.</p>
        <p>
          This type of modeling feature is called saturation, and
is important to achieve more computation power in the
representation [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. The combination of saturation and
contradictions increases the computational power of the
logic programming language [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
1Taken as the set of true-value atoms, the well-founded model is the
intersection of all P-stable models.
2.2. Probabilistic Logic Programming
A probabilistic logic program is a (disjunctive) logic
program  equipped with a function  : facts( ) → [
          <xref ref-type="bibr" rid="ref1">0, 1</xref>
          ]
that assigns a probability value to each (ground) fact of the
program. We follow ProbLog’s syntax and write  ::  to
denote that  ( ) = . We adopt the common requirement
that no two atoms in probabilistic facts unify with each
another nor with the the head of any rule. Such a requirement
is not necessary for the complexity results we prove here,
but it simplifies some definitions and seems reasonable in
realistic use cases.
        </p>
        <p>Example 5. We can specify a random graph of order 3 as:
0.5 :: arc(a, b). 0.5 :: arc(a, c). 0.5 :: arc(b, c).</p>
        <p>The semantics of a probabilistic program is given by its
grounding. Thus, we consider only grounded programs
in the rest of this section. A total choice is any subset
of the facts. Given a total choice  ⊆ facts( ), we
denote the subsequent (deterministic) logic program by
  = ( ∖ facts( )) ∪ . A probabilistic program
induces a distribution over logic programs by</p>
        <p>Pr(  ) =
∏︁  ( )
∏︁</p>
        <p>(1 −  ( )) .
 ∈</p>
        <p>∈facts( )∖
That is, the logic program assumes that each fact  ∈
facts( ) is selected independently with probability  ( )
in the resulting random logic programs. Note that because
we assumed that probabilistic facts do not unify with rule
heads, and because under minimal model semantics an atom
is true only if it appears as a fact or in the head of rule, then
an atom in a probabilistic fact is true if it is selected by a
total choice. That is, a total choice is equivalent to fixing
the interpretation of a probabilistic atom.</p>
        <p>Let  ∼  denote an interpretation  that agrees with ,
i.e., t ∩ facts( ) =  and f ∩ facts( ) = facts( ) ∖ .
The probabilistic semantics can be extended to
interpretations of the remaining atoms of the Herbrand base by
probabilistic models. A probabilistic model is a probability
measure over the interpretations such that
(PM1) Pr() &gt; 0 only if  ∈ models(  ) for  ∼ , and
(PM2) Pr({ ∼ }) = Pr(  ).</p>
        <p>Thus, if for some total choice  the induced logic program
has no L-stable model, then by (PM1) Pr() = 0 for any
 ∼ , which contradicts (PM2). We call such a program
inconsistent.</p>
        <p>
          The probabilistic model semantics is only defined for
consistent programs, and a consistent probabilistic program
admits one or more probabilistic models. When there are
many probabilistic models, there are generally two ways of
attributing a semantics. The credal semantics [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] takes the
entire set of probability models, and derives tight bounds on
inferences with respect to that set. It is therefore a
conservative approach to probabilistic reasoning. Another choice,
adopted e.g. by P-log [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], NeurASP [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] and SMProblog [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ],
is selecting the (single) maximum entropy (MaxEnt)
distribution, which amounts to: Pr() = Pr(  )/  , where
  = |models(  )| and  ∼ . That is, to uniformly
select a model in models(  ). That is the MaxEnt (for
Maximum Entropy) semantics.
        </p>
        <p>Given a probabilistic model, a target atom  and a list of
evidence literals  = {1, . . . , }, all in the Herbrand
base of the program, we define a probabilistic inference as
the computation of the conditional probability Pr(|),
where Pr(1, . . . , ) = ∑︀|=1,..., Pr() for any list
of literals . For semantics that admit more than one
probabilistic model, we are interested in obtaining tight upper
and lower bounds on such probabilities:
Pr(|) = min Pr(|),</p>
        <p>Pr</p>
        <p>Pr(|) = max Pr(|).</p>
        <p>
          Pr
For semantics which produce a single probability value, a
conditional probability can be obtained as the ratio of two
joint probability events, Pr(, ) and Pr(), so that there
is no loss in focusing on the computation of the marginal
probability of an atom. This is not the case for multivalued
semantics such as the credal semantics. However, due to its
structure, the credal semantics do admit a similar
decomposition [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ]:
        </p>
        <p>Pr(|) =</p>
        <p>Pr(, )
Pr(, ) + Pr(¬, )
.</p>
        <p>A similar expression can be obtained for Pr(|), noting
that Pr(|) = 1 − Pr(¬|). Additionally, the marginal
lower and upper probabilities according to the credal
semantics satisfy:</p>
        <p>Pr() =
Pr() =</p>
        <p>∑︁
:∀∼ ,|=</p>
        <p>∑︁
:∃∼ ,|=</p>
        <p>Pr(  ),
Pr(  ).</p>
        <p>
          That is, the lower probability collects the probabilities of
total choices that induce a logic program of which  is a
cautious consequence, while the upper probability collects
the probabilities of logic programs of which  is a brave
consequence. Credal semantics thus extends the cautious/brave
reasoning strategies of answer set programming [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
Example 6. Consider the probabilistic program:
 ∨ .
        </p>
        <p>0.1 :: . 0.3 :: .
 ←
 ←
.</p>
        <p>←
not .</p>
        <p>.
 ←
not .</p>
        <p>The total choices, their distribution, and the L-stable
models of the induced programs (denoted as tuples
((), (), (), ()) are listed in Table 2. The credal
semantics yields Pr() ∈ [0.1, 0.73] and the MaxEnt semantics
yields Pr() = 0.415. Also, we have that Pr(¬) = 0, which
implies that credal and MaxEnt semantics coincide for that
inference, and also that the probability that  is undefined is
1 − 0.415 = 0.585, under the MaxEnt semantics. This value
can be taken as a measure of inconsistency of the program
w.r.t. atom .</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.3. Computational Complexity</title>
        <p>
          Computational complexity classifies computational
problems according to the type of resources and machines needed
to solve them. This section collects basic definitions of
concepts related to computational complexity theory. We point
the reader to [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ] and [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ] for gentle introductions of the
topic.
        </p>
        <p>
          A language is a set of strings, and a complexity class is
a set of languages. For some complexity class , a decision
problem  accepts or rejects strings and can be viewed as a
language. Then  is -hard if every problem ′ in the
complexity class  can be (many-one) reduced in polynomial
time to  (that is, there is an algorithm that takes the input
to ′, modifies it with polynomial efort, calls  with the
modified input, and then accepts or rejects ). If  is in 
and is -hard, then  is -complete. An oracle Turing
machine Mℒ is a Turing machine with additional tapes, such
that it can write a string  to a tape and obtain from the oracle,
in another tape and in unit time, the decision as to whether
 ∈ ℒ or not. If a class of languages  is defined by a set of
Turing machines M (that is, the languages are decided by
these machines), then define ℒ to consist of the languages
defined by oracle machines in {Mℒ : M ∈ ℳ}. If  and ′
are sets of languages, ′ = ∪ℒ∈′ ℒ. We use well-known
complexity classes P, NP, coNP. The Polynomial
Hierarchy [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ] includes classes such as Σ kp = NPΣ kp− 1 = NPΠ kp− 1 ,
Π kp = coNPΣ kp− 1 = coNPΠ kp− 1 and Δ kp = PΣ kp− 1 = PΠ kp− 1 ,
We also use the complexity class PP: a language ℒ is in
PP when there is a nondeterministic Turing machine M
such that  ∈ ℒ if more than half of computation paths of
M accept . The Polynomial Counting Hierarchy [
          <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
          ]
is the collection of complexity classes that includes P and
such that if  is in the hierarchy then so are the classes of
decision problems computed by oracle machines PP , NP
and coNP . The Polynomial Counting Hierarchy therefore
contains the Polynomial Hierarchy, which includes classes
such as Σ  = NPΣ − 1 and Π  = coNPΣ − 1 for  &gt; 0,
with Σ 0 = Π 0 = P, and also counting classes with oracles
in the polynomial hierarchy, such as PPΣ  .
        </p>
        <p>When discussing complexity results in the following, we
consider always the decision versions of the inference
problems, e.g. deciding whether min / max Pr() ≥  for some
rational  and atom .
3. Complexity of Logic Programs
The first contribution of this work is to provide some missing
results about the computational complexity of inference in
(deterministic) logic programs under the L-stable semantics.</p>
        <p>
          The complexity of logic programs under the total stable
model semantics has been thoroughly analyzed in the
literature, both in terms of the expressivity of the language (i.e.,
the presence of negation, disjunction, aggregation, etc) and
the program structure (i.e., its dependency graph) [
          <xref ref-type="bibr" rid="ref18 ref26 ref6">6, 26, 18</xref>
          ].
In short, the only island of tractability is for propositional
and stratified programs. The inclusion of negation makes
inference coNP-hard, and allowing disjunction climbs one
level in the polynomial hierarchy to Σ 2-hard (even if
negation is disallowed). Allowing variables (but bounding
predicate arity) climbs another step in the hierarchy (to Σ 2-hard
in normal programs to Σ 3 hard in disjunctive programs).
And allowing variables and no bound in predicates takes the
problem to EXPTIME. There are also results regarding the
complexity of partial stable models. Eiter and Gottlob [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]
showed that deciding if there is a partial stable model for
a disjunctive logic program is Σ 2-complete. In fact, it was
shown that one can, in polynomial-time, map stable models
of a program to partial stable models of an equivalent
program [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ] and vice-versa [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ]. Thus, the ability to model
undefinedness of truth-values does not seem important for
computation complexity. That result does not extend to the
L-stable model semantics, as partial stable models might not
be least undefined.
        </p>
        <p>
          Eiter, Leone and Saccà [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] proved that deciding if a
propositional normal program has an L-stable model satisfying a
given atom is Σ 2-complete, which is the same complexity of
propositional disjunctive programs under the stable model
semantics [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. Note that inference in propositional normal
programs under the P-stable model semantics is coNP-hard
(i.e., Σ 1-hard). Hence, the L-stable semantics adds another
layer of computational power. Combining negation,
disjunction and minimal undefinedness increases computation
power: inference in such programs is Σ 3-complete [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
        </p>
        <p>The complexity of non-propositional logic programs
under the L-stable semantics has been open. The next results
ifll that gap. We start with the complexity of normal logic
programs with bounded-arity predicates.</p>
        <p>Theorem 1. Deciding if there is an L-stable model
satisfying a given atom for a normal program with bounded-arity
predicates is Σ 3-hard.</p>
        <p>
          Proof. Hardness is shown by a many-one reduction from
the canonical Σ 3-complete problem of deciding satisfiability
of a 3-Quantified Boolean Formula (3-QBF) [
          <xref ref-type="bibr" rid="ref31">31</xref>
          ]:
        </p>
        <p>∃1, . . . ,  ∀1, . . . ,  ∃1, . . . ,   ,
where  is in 3-CNF with clauses 1, . . . , .</p>
        <p>We encode each literal over  and  by a predicate
lit(, ,  ), where  ∈ {, },  is the corresponding
variable subindex and  is 0 if the literal is negated (i.e.,
¬1) and 1 otherwise. For any such variable, insert the
rules
lit(, ,  ) ←</p>
        <p>not lit(, , ),  ̸= .</p>
        <p>That rule creates a bijection between L-stable models and
configurations ,  of the variables  and  . Insert also:
fail(,  ) ←</p>
        <p>not fail(,  ), lit(, ,  ).</p>
        <p>The efect of that rule is to make any two L-stable
models that correspond to diferent configurations of the
variables  incomparable w.r.t. undefinedness. Then encode
each clause  = 1 ∨ 2 ∨ 3 by a set of rules
cl(1, 2, 3) ← lit(, ,  ) and facts cl(1, 2, 3),
as follows. If  is a literal over a variable  or , then
add the corresponding atom lit(, ,  ) in the body and
instantiate the logical variable  to the respective
constant x or y. If instead  is over a  variable, then select
the respective logic variable  to the constant 1 or 0,
dependening of the assignment that satisfies the clause. For
example, the clause ¬1 ∨ 1 ∨ ¬2 is encoded as
cl(, 1, 2) ←</p>
        <p>lit(, 1, 0). cl(, 1, 2). cl(1, 1, 0).</p>
        <p>The formula  is represented as the rule
phi ←
cl1(11, 12, 13), . . . , cl(1, 2, 3),
where the variables  are selected to reeflct the variables
in literal  mentioned in clause  (if it is an /
variable with use the constant /). Consider a configuration
,  to the variables  and  , and a corresponding
t/finterpretation , of the groundings of lit(, ,  ). Then
∃ (, ) is true if an only if phi is satisfied by the
extension of ,. Finally, insert the rule  ← not , phi. The
efect of that rule is to encode the universal quantification
of variables  . To see this, fix a configuration  of the
 variables. Suppose there is a configuration  such that
∃ (, ) is false. Then there is an L-stable model  that
defines phi (as false), defines values for all groundings of
lit(, ,  ), and defines  as false. Suppose instead that
there is no such . Then for any model  satisfying phi the
atom  must be undefined. Hence, there is an L-stable model
satisfying phi only if Φ is true. To observe the converse, note
that changing the interpretation of any atom either violates
some clause or breaks minimality. Thus, checking if an
L-stable model satisfies phi solves the 3-QBF problem.</p>
        <p>We now handle the case with disjunctive rules.</p>
        <p>Theorem 2. Deciding if there is an L-stable model satisfying
a given atom for a disjunctive program with bounded-arity
predicates is Σ 4-hard.</p>
        <p>Proof. Hardness follows from a reduction from 4-QBF:
∃1, . . . ,  ∀1, . . . ,  ∃1, . . . ,  ∀1, . . . ,   .
We repeat the same encoding in the proof of Theorem 1,
with the following diferences. First, we encode ¬ as
where cl(1, 2, 3) is the negation of the the -th
clause. We also add phi ← not negphi, for convenience.
We represent the literals relative to the  variables as
lit(, ,  ), and use the saturation technique to quantify
over them:
lit(, , 1) ∨ lit(, , 0). lit(, ,  ) ←</p>
        <p>The existence of a configuration  for which (, , , ) is
false for some  is represented by an interpretation defining
both lit(, , 1) and lit(, , 0) as true, for  = 1, . . . , .
Since such an interpretation is ⊆ -dominated by any
interpretation that assigns true to only one of the literals
lit(, ,  ) (and false to the other), it is a model only if
∀ ∃ ¬(, ). The remainder of the proof is as in
Theorem 1.
4. Complexity of Probabilistic Logic</p>
        <p>
          Programs
If logical inference in some logic programming language
belongs to complexity class , then probabilistic inference
under the credal semantics in the corresponding
probabilistic logic programming language belongs to PPC [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. We
thus have:
Corollary 1. Probabilistic inference in propositional normal
programs under the credal L-stable semantics predicates is
PPΣ 2 -complete.
        </p>
        <p>Corollary 2. Probabilistic inference in propositional
disjunctive programs under the credal L-stable semantics predicates
is PPΣ 3 -complete.</p>
        <p>Corollary 3. Probabilistic inference in normal probabilistic
programs with bounded-arity predicates under the credal
Lstable semantics is PPΣ 3 -complete.</p>
        <p>Corollary 4. Probabilistic inference in disjunctive
probabilistic programs with bounded-arity predicates under the credal
L-stable semantics is PPΣ 4 -complete.</p>
        <p>The argument however does not apply for the MaxEnt
semantics. Intuitively, this is because that semantics has
no inner decision problem, hence it is not clear how to
relate the complexity of logical inference to the respective
probabilistic inference complexity. In the rest of this section,
we provide a few results regarding the complexity of MaxEnt
semantics. As will become clear, such a semantics demands
more sophisticated strategies.</p>
        <p>
          We start by proving complexity of the restricted case
where the L-stable models in models(  ) for any total
choice  can be eficiently enumerated. This is the case, for
example, when the number of negated atoms, the number
of rules with non-empty bodies is limited or yet the size
of the strongly connected components of the dependency
graph are bounded [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]. Note that if we can enumerate
stable models of a program, then we can also enumerate
L-stable models in the same complexity [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ].
        </p>
        <p>Theorem 3. Deciding whether the probability of an atom
exceeds a given threshold under the MaxEnt semantics for
propositional disjunctive programs is PP-complete when the
L-stable models of any induced logic program are eficiently
enumerated.</p>
        <p>Proof. Hardness follows from the complexity of stratified
programs (where the number of induced stable models is 1).</p>
        <p>Membership: We want to decide if Pr() ≥  for some
program  , atom  and rational threshold  . For simplicity
we first assume that each total choice has uniform
probability and that  = 0.5. We later discuss how to generalize
those assumptions.</p>
        <p>Guess a total choice  and let  be an upper bound on
|models(  )|. To be able to eficiently enumerate models,
 needs to be polynomial on the input size. And since
we can eficiently enumerate, we can also eficiently count
both   = |models(  )| and the number  of such
models that satisfy . Thus guess a model in models(  )
and branch the respective computation path into ! paths;
for (!/  ) ·  of them accept the computation and
for the (!/  ) ·  ¬ remaining, reject it. Let  denote
the number of total choices. The machine accepts with
probability
∑︀⊆ facts( )(!/  ) · 
∑︀⊆ facts( ) !
=</p>
        <p>∑︁
⊆ facts( )</p>
        <p>Pr(  )  ,

which equals Pr(). To lift the assumption of  = 0.5,
branch any accepting path such that it accepts with
probability 0.5 + (1 −  ) and branch any rejecting path such that
it accepts with probability 0.5 −  . Then we accept with
probability Pr()· [0.5+(1−  )]+[1− Pr()](0.5−  ) =
0.5 + Pr() −  , which is greater than 0.5 if Pr() &gt;  .
To remove the assumption of uniform total choice
probabilities, proceed as follows. For each atom  ∈  with
rational probability  () = /, branch into  paths: for
 of them insert  into the logic program then proceed as
before; for the remaining  −  do not insert  and also
proceed as before. Then a total choice  is selected with
probability Pr(  ), and the machine accepts with
probability ∑︀∈facts( ) Pr(  ) /  = Pr().</p>
        <p>We now consider the more general case, that is, when
model enumeration is not tractable.</p>
        <p>
          Theorem 4. Deciding if the probability of an atom exceeds
a given threshold under the MaxEnt semantics for disjunctive
programs with bounded-arity predicates is in PPPP.
Proof. Denote by  = |atoms( )| the number of
probabilistic facts and take  = |atoms( )| −  (for the grounded
program). Assume w.l.o.g. that the threshold  is 0.5, and
that Pr(  ) = 1/2 for all . Guess a total choice  and
use the PP oracle to obtain the counts  and  ; note that
PPΣ  ⊆ PPP for any  &gt; 0 [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]. Now, let ˜ /2 be an
approximation from above of  /  with -bits of precision,
where  does not depend on . Branch the computation
into 2 of paths and accept ˜  of them, while rejecting the
rest. The machine hence accepts with probability
˜  ˜ 
∑︀2 = ∑︁ Pr(  )  
∑︀ 2 ≥


∑︁ Pr(  )︂[ 
  −
        </p>
        <p>While we conjecture that inference under the MaxEnt
semantics is PPPP-complete, we have not yet been able to prove
so. We can however show evidence that MaxEnt inference
is at least as hard as inference under the credal semantics.
Recall that, under the credal semantics, inference for
propositional probabilistic normal logic programs whose stable
models are all total (i.e., no atom is assigned undefined) is
PPNP-complete. The following theorem shows that for those
programs, MaxEnt inference is at least as hard.</p>
        <p>Theorem 5. Deciding if the probability of an atom exceeds a
given threshold under the MaxEnt semantics for propositional
normal programs is PPNP-hard, even if all atoms are defined.
Proof. We reduce from PPNP-complete problem MAJ-E-SAT,
which consists of deciding if for the majority of
configurations of a set of Boolean variables 1, . . . ,  there
is a configuration of Boolean variables 1, . . . ,  that
satisfy a given CNF formula (1, . . . , ). More
formally, for each configuration  = 1, . . . ,  let  ()
denote the number of configurations of 1, . . . ,  such that
(1, . . . , , 1, . . . , ) is true. The MAJ-E-SAT
problem is to determine if</p>
        <p>= ⃒⃒ { ∈ {0, 1} :  () ̸= 0}⃒⃒ &gt; 2− 1.</p>
        <p>Let  be the number of clauses in , and  be the number
of literals in the -th clause. We represent each literal in 
by an atom lit(, , ), where  ∈ {x, y} indicates the set
of variables to which the literal belongs,  is the respective
variable index in that set and  ∈ {0, 1} indicates the signal
(if negated or not). We define an operator  (, ) that returns
the atom lit(, , ) corresponding to the th literal in the th
clause of . For example, if  is (1 ∨ ¬2 ∨ 1) ∧ (¬1),
then  (1, 3) = lit(y, 1, 1) and  (2, 1) = lit(x, 1, 0). Thus
assemble the program:</p>
        <p>Fix a total choice , hence a semantics for lit(x, 1, 0), . . . ,
lit(x, , 1). The mutual negative dependency of lit(y, , 1)
on lit(y, , 0) and vice-versa, makes so that we potentially
have one stable model for each of the 2 configurations of
1, . . . , . The atom phi is true in any such stable model
if  is satisfied by the corresponding configuration of 
and . Now let  be some integer that we will soon define
and extend that program with the following rules:
aux(, 1) ←
aux(, 0) ←
phi, not aux(, 0).
phi, not aux(, 1).
The new program has 2 stable models for each stable model
of the previous program that satisfies phi, and it has one
stable model for each stable model of the previous program
that does not satisfy phi. Thus, each  corresponds to a total
choice , and we have that   = 2 ·  ()+(2 −  ()).
It follows that</p>
        <p>Pr(phi) =
1 ∑︁ 2 ·  ()
2 ∈0,1 2 ·  () + (︀ 2 −  ())︀
.</p>
        <p>Recall that our intention is to use Pr(phi) to decide if , the
number of configurations  for which  () is nonzero, is
greater than 2− 1. To this end, let  =  − 2 Pr() be the
error introduced by our reduction. Note that since  is an
integer then either  ≥ 2− 1 + 1 or  ≤ 2− 1. Hence, if
 &lt; 1, we can use the value of Pr(phi) to decide the
MAJE-SAT problem. That error is maximized when  () = 1
for each of the 2 configurations , hence:
 ≤ 2 −</p>
        <p>2+
2 + (2 − 1)</p>
        <p>&lt; 1 ⇔ 2 &gt; (2 − 1)(2 − 1).</p>
        <p>Thus, selecting  =  +  ensures that  &lt; 1. To conclude,
if Pr() &gt; 1/2 we decide that MAJ-E-SAT is true, otherwise
we decide that it is false.</p>
        <p>Inference under the credal semantics is also PPNP-hard
for propositional probabilistic disjunctive programs with
no negation (which always admit a total stabel model). The
next result shows that the same lower complexity is obtained
for the MaxEnt semantics.</p>
        <p>Theorem 6. Deciding if the probability of an atom exceeds a
given threshold under the MaxEnt semantics for propositional
disjunctive programs without negation is PPNP-hard.
Proof. Again, we reduce from MAJ-E-SAT with a CNF
formula . Assemble the program:
clause(i) ←  ′(, 1), . . . ,  ′(, ).
The operator  ′(, ) above returns the atom lit(, , )
corresponding to the negation of the th literal in the th
clause of . For example, if  is 1 ∨ ¬2 ∨ 1, then
 ′(1, 1) = lit(x, 1, 0).</p>
        <p>Compared to the program in the proof of Theorem 5, the
program above replaces negative cycles by disjunctions, and
represents the negation of  by the atom negphi. It also adds
rules to employ the saturation technique. The efect is as
follows. For a fixed total choice , that fixes the semantics
of lit(x, , 1) for  = 1, . . . , , there is not a congfiuration
1, . . . ,  that satisfies (, ) if the (single) stable model
satisfies negphi. This is because such a model is saturated:
lfipping the interpretation of any atom from true to false
must cease being a model, else the model would not be
minimal (as it assigns all atoms lit(y, , 0/1) to true). Hence,
2 Pr(phi) counts the number  of assignments  for which
 () &gt; 0.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>5. Computing Inferences</title>
      <p>
        To benefit from state-of-the-art ASP solvers that adopt (total)
stable model semantics, we revisit a translation developed in
[
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] to obtain partial stable models as (total) stable models
of a translated program. Given a disjunctive logic program
 , we first specify a set of atoms  for each atom  in
the Herbrand base of  . The translation produces a new
program  ′ =  ( ) such that:
 ′ = { ←
∪ { ←
, not ;  ←
, not  |  ←
, not  ∈  }
 |  ∈ Hb( )},
where Hb( ) denotes the Herbrand Base of program  .
That is, the translation splits each rule into two rules whose
negative body and head belong to diferent sets of atoms
(original or duplicated atoms). The rationale is that the three
possible assignments of an atom  in the source program
are represented by the possible joint assignments of a pair
of atoms (, ), with one joint assignment being ruled out
in any stable model.
      </p>
      <p>Example 7. Take the program in Example 2. Its translation
is then the program</p>
      <p>∨ .  ∨ .
 ←
 ←
not .  ←
not .  ←
not .  ←
not .  ←
.
.</p>
      <p>Table 3 shows interpretation (, , , ) and the respective
program reducts their minimal models. To save space, we only
list interpretations that satisfy rules  ′ = { ∨ .  ∨ .  ←
.  ← }, as these are always in the reduct (and thus must
be satisfied by any model). The interpretations in bold show
the (total) stable models (which are also L-stable). The partial
stable models of the original program are obtained by verifying
whether atoms  and  disagree on the model.</p>
      <sec id="sec-3-1">
        <title>Example 8. Consider the following program</title>
        <p>←
not .  ←
not .  ←
, not .</p>
        <p>The first two rules enforce that in any stable model we either
have both  and  undefined or both defined as diferent values.
The third rule causes  to be undefined if  is true, and false
when  is false (so  can be seen as the “enabler” of the rule).
Thus, the only L-stable model is () = () = 0 and () =
1. The translation of the program is
 ←
 ←
 ←
not .  ←</p>
        <p>
          As a proof of concept, we have implemented an inference
algorithm based on the described translation in the dPASP
system, available at http://github.com/kamel-usp/dpasp.
Our implementation work as follows. Given a probabilistic
logic program and a target atom, we obtain a new program
with the inclusion of the auxiliary variables. Then we
enumerate the total choices. For each total choice, we call clingo
[
          <xref ref-type="bibr" rid="ref35">35</xref>
          ] to enumerate the stable models, from which we obtain
the L-stable models by the mapping described. We then
collect all L-stable models that satisfy the target atom and
compute the desired probabilistic semantics (i.e., we average
the respective probabilities, if MaxEnt is used, otherwise,
we compute lower and upper bounds w.r.t. to the set of
Lstable models for the credal semantics). The procedure is
thus ineficient in the number of probabilistic atoms and the
number of stable models of the translated program.
Example 9. We compare inference under the L-stable
semantics with inference under the smProbLog semantics, proposed
in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Recall that smProbLog adopts a modified stable model
semantics, where all atoms are considered undefined whenever
the program has no stable model. We use a reduced variant
of the asthma example provided in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. According to the
example, people that smoke develop asthma, and those that
have asthma do not smoke. Additionally, people can decide
to smoke for some unknown cause or be influenced to smoke
by some other smoker; the presence of an asthmatic, smoking
person thus leads to a contradiction. To represent a negative
consequence ¬a (e.g., people that have asthma do not smoke),
we include auxiliary atoms a_pos and a_neg that represent,
respectively, positive and negative variants of a. a_pos
replaces each occurrence of a in a rule’s head; similarly, a_neg
replaces occurrences of ¬a in a rule’s head. We also add a
        </p>
        <p>As the program has only one L-stable model for each total
choice, the credal and MaxEnt semantics coincide. The
following table compares the probability of smokes(X) being
undefined for each person, under the L-stable and smProblog
semantics.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Semantics</title>
        <p>smProbLog</p>
        <p>L-stable</p>
        <p>One notes that the smProblog semantics assigns a lower
probability mass to undefined states due to the allowing only
one model with undefined atoms per total choice when faced
with inconsistencies, while the L-stable semantics admits
several and thus sums over all possible undefined models. In
contrast, the L-stable semantics diferentiates the diferent
degrees to which atoms are involved in inconsistencies.</p>
        <p>
          Much more can be said about algorithms for inference
under the L-stable semantics. For example, to make the
procedure less ineficient, we can employ any of the many
approximate strategies from the probabilistic answer set
solving literature, such as searching for stable models
according to the their relative probability [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], or resorting to
sampling strategies [
          <xref ref-type="bibr" rid="ref37 ref38">37, 38</xref>
          ]. We leave the development and
analysis of more eficient inexact methods as future work.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>6. Conclusion</title>
      <p>The L-stable semantics provides a very convenient treatment
for expressing knowledge with default negation (hence
nonmonotonic reasoning), nondeterminism (multiple models),
and local inconsistency. The last property is particular
important for probabilistic extensions of logic programming,
since an inconsistent program has typically no semantics.</p>
      <p>In this work, we have examined the complexity of
probabilistic disjunctive logic programs under the L-stable
semantics, thus filling a number of gaps in the literature (both
for programs without and with probabilities). We showed
complexity results for programs without variables and with
variables and bounded-arity predicates under the credal
semantics (which provides set-valued probabilistic inferences).
And we partially characterized the complexity of inference
under the maximum entropy semantics. Despite most
literature in probabilistic logic programming with multiple
models being focused on the latter, there has been
virtually no complexity analysis thus far, even in the absence of
contradictions.</p>
      <p>A few extensions to those results should be relatively
easy to build based on the techniques presented here. For
instance, inferences that concern the search for maximum
probability models or probabilistic inferences when the
program is fixed (i.e., data complexity) are likely to be obtained
with much similar results. We leave that as future work.</p>
      <p>
        This work leaves open a seemingly much harder question,
namely, how to close the gap between lower and upper
complexity for inference under the maximum entropy semantics.
Interestingly, the maximum entropy semantics might seem
at first to lead to counting problems with obvious counting
oracles; however, the “inner” counting of models does not
contain itself a decision problem — hence the need for the
more sophisticated proofs we had to build. We presented
her an upper bound that shows that inference in that
semantics is at most PPPP. That complexity reduces to PP, for
programs whose intended models are eficiently
enumerable. And we showed that the inference is already PPNP-hard
in propositional programs with no contradictions and that
have either no negation or no disjunction, thus matching
the complexity of credal semantics [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]. We expect those
results to foster future research to close the gap and fully
characterize the complexity of credal semantics.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <p>The authors of this work would like to thank the generous
support from the Center for Artificial Intelligence at
University of São Paulo (C4AI-USP), the São Paulo Research
Foundation (FAPESP grants #2019/07665-4 and
2022/029379), the IBM Corporation, the Brazilian National Research
Council (CNPq grants no. 305136/2022-4 and 305753/2022-3)
and from CAPES (Finance Code 001).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <article-title>Weighted rules under the stable model semantics</article-title>
          ,
          <source>in: Proceedings of the 15th International Conference on Principles of Knowledge Representation and Reasoning (KR)</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>145</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>S.</given-names>
            <surname>Kripke</surname>
          </string-name>
          ,
          <article-title>Outline of a theory of truth</article-title>
          ,
          <source>The Journal of Philosophy</source>
          <volume>72</volume>
          (
          <year>1975</year>
          )
          <fpage>690</fpage>
          -
          <lpage>716</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Saccà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          ,
          <article-title>Stable models and nondeterminism in logic programs with negation</article-title>
          ,
          <source>in: Proceedings of the 9th ACM-PODS Symposium</source>
          ,
          <year>1990</year>
          , pp.
          <fpage>205</fpage>
          -
          <lpage>218</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>D.</given-names>
            <surname>Saccà</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zaniolo</surname>
          </string-name>
          ,
          <article-title>Deterministic and nondeterministic stable models</article-title>
          ,
          <source>Journal of Logic and Computation</source>
          <volume>7</volume>
          (
          <year>1997</year>
          )
          <fpage>555</fpage>
          -
          <lpage>579</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Riguzzi</surname>
          </string-name>
          ,
          <article-title>Foundations of Probabilistic Logic Programming: Languages, Semantics, Inference and Learning</article-title>
          , River Publishers,
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Dantsin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Voronkov</surname>
          </string-name>
          ,
          <article-title>Complexity and expressive power of logic programming</article-title>
          ,
          <source>ACM Computing Surveys</source>
          <volume>33</volume>
          (
          <year>2001</year>
          )
          <fpage>374</fpage>
          -
          <lpage>425</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>T.</given-names>
            <surname>Sato</surname>
          </string-name>
          ,
          <article-title>A statistical learning method for logic programs with distribution semantics</article-title>
          ,
          <source>in: Proceedings of the 12th International Conference on Logic Programming (ICLP)</source>
          ,
          <year>1995</year>
          , pp.
          <fpage>715</fpage>
          -
          <lpage>729</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>C.</given-names>
            <surname>Baral</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Gelfond</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. N.</given-names>
            <surname>Rushton</surname>
          </string-name>
          ,
          <article-title>Probabilistic reasoning with answer sets</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>9</volume>
          (
          <year>2009</year>
          )
          <fpage>57</fpage>
          -
          <lpage>144</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>L.</given-names>
            <surname>De Raedt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kimmig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Toivonen</surname>
          </string-name>
          ,
          <article-title>Problog: A probabilistic prolog and its application in link discovery</article-title>
          ,
          <source>in: Proceedings of the 20th International Joint Conference in Artificial Intelligence (IJCAI)</source>
          , volume
          <volume>7</volume>
          ,
          <year>2007</year>
          , pp.
          <fpage>2462</fpage>
          -
          <lpage>2467</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>S.</given-names>
            <surname>Michels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hommersom</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Lucas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Velikova</surname>
          </string-name>
          ,
          <article-title>A new probabilistic constraint logic programming language based on a generalised distribution semantics</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>228</volume>
          (
          <year>2015</year>
          )
          <fpage>1</fpage>
          -
          <lpage>44</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Í.</given-names>
            <surname>Í. Ceylan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <article-title>Complexity results for probabilistic datalog±</article-title>
          ,
          <source>in: Proceedings of the 22nd European Conference on Artificial Intelligence (ECAI)</source>
          ,
          <year>2016</year>
          , pp.
          <fpage>1414</fpage>
          -
          <lpage>1422</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>F. G.</given-names>
            <surname>Cozman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Mauá</surname>
          </string-name>
          ,
          <article-title>The joy of probabilistic answer set programming: Semantics, complexity</article-title>
          , expressivity, inference,
          <source>International Journal of Approximate Reasoning</source>
          <volume>125</volume>
          (
          <year>2020</year>
          )
          <fpage>218</fpage>
          -
          <lpage>239</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>P.</given-names>
            <surname>Totis</surname>
          </string-name>
          , L. De Raedt,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Kimmig, smproblog: Stable model semantics in problog for probabilistic argumentation</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>23</volume>
          (
          <year>2023</year>
          )
          <fpage>1198</fpage>
          -
          <lpage>1247</lpage>
          . doi:
          <volume>10</volume>
          .1017/ S147106842300008X.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Hadjichristodoulou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. S.</given-names>
            <surname>Warren</surname>
          </string-name>
          ,
          <article-title>Probabilistic logic programming with well-founded negation</article-title>
          ,
          <source>in: International Symposium on Multiple-Valued Logic</source>
          ,
          <year>2012</year>
          , pp.
          <fpage>232</fpage>
          -
          <lpage>237</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>A. van Gelder</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>J. S.</given-names>
          </string-name>
          <string-name>
            <surname>Schlipf</surname>
          </string-name>
          ,
          <article-title>The well-founded semantics for general logic programs</article-title>
          ,
          <source>Journal of the ACM</source>
          <volume>38</volume>
          (
          <year>1991</year>
          )
          <fpage>620</fpage>
          -
          <lpage>650</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>V. H. N.</given-names>
            <surname>Rocha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F. G.</given-names>
            <surname>Cozman</surname>
          </string-name>
          ,
          <article-title>A credal least undefined stable semantics for probabilistic logic programs and probabilistic argumentation</article-title>
          ,
          <source>in: 19th International Conference on Principles of Knowledge Representation and Reasoning (KR)</source>
          ,
          <year>2022</year>
          , pp.
          <fpage>309</fpage>
          -
          <lpage>319</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>P. M. Dung</surname>
          </string-name>
          ,
          <article-title>On the acceptability of arguments and its fundamental role in non-monotonic reasoning, logic programming, and n-person games</article-title>
          ,
          <source>Artificial Intelligence</source>
          <volume>77</volume>
          (
          <year>1995</year>
          )
          <fpage>321</fpage>
          -
          <lpage>357</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <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>M.</given-names>
            <surname>Fink</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Woltran</surname>
          </string-name>
          ,
          <article-title>Complexity results for answer set programming with bounded predicate arities and implications</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>123</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>T.</given-names>
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <article-title>Probabilistic description logic programs</article-title>
          ,
          <source>International Journal of Approximate Reasoning</source>
          <volume>45</volume>
          (
          <year>2007</year>
          )
          <fpage>288</fpage>
          -
          <lpage>307</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>F. G.</given-names>
            <surname>Cozman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Mauá</surname>
          </string-name>
          ,
          <article-title>On the semantics and complexity of probabilistic logic programs</article-title>
          ,
          <source>Journal of Artificial Intelligence Research</source>
          <volume>60</volume>
          (
          <year>2017</year>
          )
          <fpage>221</fpage>
          -
          <lpage>262</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <surname>D. D. Mauá</surname>
            ,
            <given-names>F. G.</given-names>
          </string-name>
          <string-name>
            <surname>Cozman</surname>
          </string-name>
          ,
          <article-title>Complexity results for probabilistic answer set programming</article-title>
          ,
          <source>International Journal of Approximate Reasoning</source>
          <volume>118</volume>
          (
          <year>2020</year>
          )
          <fpage>133</fpage>
          -
          <lpage>154</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Yang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ishay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lee</surname>
          </string-name>
          ,
          <article-title>NeurASP: Embracing neural networks into answer set programming</article-title>
          ,
          <source>in: Proceedings of the 29th International Joint Conference on Artificial Intelligence (IJCAI)</source>
          ,
          <year>2020</year>
          , pp.
          <fpage>1755</fpage>
          -
          <lpage>1762</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>T.</given-names>
            <surname>Janhunen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Niemelä</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Seipel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Simons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.-H.</given-names>
            <surname>You</surname>
          </string-name>
          ,
          <article-title>Unfolding partiality and disjunctions in stable model semantics</article-title>
          ,
          <source>ACM Transactions on Computational Logic</source>
          <volume>7</volume>
          (
          <year>2006</year>
          )
          <fpage>1</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          , G. Ianni, T. Krennwallner,
          <source>Answer Set Programming: A Primer</source>
          , Springer-Verlag Berlin,
          <year>2009</year>
          , pp.
          <fpage>40</fpage>
          -
          <lpage>110</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>T.</given-names>
            <surname>Przymusinski</surname>
          </string-name>
          ,
          <article-title>Stable semantics for disjunctive programs</article-title>
          ,
          <source>New Generation Computing</source>
          <volume>9</volume>
          (
          <year>1991</year>
          )
          <fpage>401</fpage>
          -
          <lpage>424</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          , G. Gottlob,
          <article-title>On the computational cost of disjunctive logic programming: Propositional case</article-title>
          ,
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>15</volume>
          (
          <year>1995</year>
          )
          <fpage>289</fpage>
          -
          <lpage>323</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>T.</given-names>
            <surname>Eiter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Leone</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Saccá</surname>
          </string-name>
          ,
          <article-title>Expressive power and complexity of partial models for disjunctive deductive databases</article-title>
          ,
          <source>Theoretical Computer Science</source>
          <volume>206</volume>
          (
          <year>1998</year>
          )
          <fpage>181</fpage>
          -
          <lpage>218</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>C.</given-names>
            <surname>Papadimitriou</surname>
          </string-name>
          , Computational Complexity,
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>S.</given-names>
            <surname>Arora</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Barak</surname>
          </string-name>
          , Computational Complexity:
          <string-name>
            <given-names>A Modern</given-names>
            <surname>Approach</surname>
          </string-name>
          , Cambridge University Press,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>L. J.</given-names>
            <surname>Stockmeyer</surname>
          </string-name>
          ,
          <article-title>The polynomial-time hierarchy</article-title>
          ,
          <source>Theoretical Computer Science</source>
          <volume>3</volume>
          (
          <year>1977</year>
          )
          <fpage>1</fpage>
          -
          <lpage>22</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>K.</given-names>
            <surname>Wagner</surname>
          </string-name>
          ,
          <article-title>The complexity of combinatorial problems with succinct input representation</article-title>
          ,
          <source>Acta Informatica</source>
          <volume>23</volume>
          (
          <year>1986</year>
          )
          <fpage>325</fpage>
          -
          <lpage>356</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>J.</given-names>
            <surname>Tóran</surname>
          </string-name>
          ,
          <article-title>Complexity classes defined by counting quantifiers</article-title>
          ,
          <source>Journal of the ACM</source>
          <volume>38</volume>
          (
          <year>1991</year>
          )
          <fpage>753</fpage>
          -
          <lpage>774</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ben-Eliyahu</surname>
          </string-name>
          ,
          <article-title>A hierarchy of tractable subsets for computing stable models</article-title>
          ,
          <source>Journal of Artificial Intelligence research 5</source>
          (
          <year>1996</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>S.</given-names>
            <surname>Toda</surname>
          </string-name>
          ,
          <article-title>PP is as hard as the polynomial-time hierarchy</article-title>
          ,
          <source>SIAM Journal on Computing</source>
          <volume>20</volume>
          (
          <year>1991</year>
          )
          <fpage>865</fpage>
          -
          <lpage>877</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>M.</given-names>
            <surname>Gebser</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kaminski</surname>
          </string-name>
          , B. Kaufmann, T. Schaub,
          <article-title>Multishot ASP solving with clingo</article-title>
          ,
          <source>CoRR abs/1705</source>
          .09811 (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>J.</given-names>
            <surname>Pajunen</surname>
          </string-name>
          , T. Janhunen,
          <article-title>Solution enumeration by optimality in answer set programming</article-title>
          ,
          <source>Theory and Practice of Logic Programming</source>
          <volume>21</volume>
          (
          <year>2021</year>
          )
          <fpage>750</fpage>
          -
          <lpage>767</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>D.</given-names>
            <surname>Azzolini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Bellodi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Riguzzi</surname>
          </string-name>
          ,
          <article-title>Approximate inference in probabilistic answer set programming for statistical probabilities</article-title>
          , in: A.
          <string-name>
            <surname>Dovier</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Montanari</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          . Orlandini (Eds.),
          <source>AIxIA 2022 - Advances in Artificial Intelligence</source>
          ,
          <year>2023</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>46</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38]
          <string-name>
            <given-names>D.</given-names>
            <surname>Tuckey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Russo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Broda</surname>
          </string-name>
          ,
          <article-title>PASOCS: A parallel approximate solver for probabilistic logic programs under the credal semantics</article-title>
          ,
          <source>CoRR abs/2105</source>
          .10908 (
          <year>2021</year>
          ).
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>