<!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>B. Glimm); yevgeny.kazakov@uni-ulm.de (Y. Kazakov)
 https://www.uni-ulm.de/in/ki/glimm/ (B. Glimm); https://www.uni-ulm.de/in/ki/kazakov/ (Y. Kazakov)</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>SAT-Based Axiom Pinpointing Revisited</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Birte Glimm</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yevgeny Kazakov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Ulm University</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2022</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>Propositional SAT solvers have been a popular way of computing justifications for ontological entailmentminimal subsets of axioms of the ontologies that entail a given conclusion. Most SAT encodings proposed for Description Logics (DLs), translate the inferences obtained by a consequence-based procedure to propositional Horn clauses, using which entailments from subsets of axioms can be efectively checked, and use modified SAT solvers to systematically search over these subsets. To avoid repeated discovery of subsets with already checked entailment, the modified SAT solvers add special blocking clauses that prevent generating truth assignments corresponding to these subsets, the number of which can be exponential, even if the number of justifications is small. In this paper, we propose alternative SAT encodings that avoid generation of unnecessary blocking clauses. Unlike the previous methods, the inferences are used not only for checking entailment from subsets of axioms, but also, as a part of the encoding, to ensure that the SAT solver generates truth assignments corresponding only to justifications.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Description Logics</kwd>
        <kwd>explanation</kwd>
        <kwd>propositional satisfiability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        Most Description Logic Reasoners, such as CEL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], ELK [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], FacT++ [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], HermiT [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], Konclude
[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], and Pellet [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], can answer yes/no questions about ontological entailment, but very few
reasoners can explain why the entailment holds or does not hold. Axiom pinpointing methods
[
        <xref ref-type="bibr" rid="ref10 ref11 ref12 ref13 ref14 ref15 ref16 ref17 ref18 ref7 ref8 ref9">7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18</xref>
        ] try to explain entailments by determining (some or all)
minimal subsets of axioms in the ontology that cause the entailment—the so-called justifications
or minimal axiom sets (MinAs). A dual notion to justification is a repair or minimal correction
set (MCS)—a minimal set of axioms the removal of which breaks the entailment.
      </p>
      <p>
        One usually distinguishes between black-box and glass-box axiom pinpointing procedures.
Black-box procedures use only the yes/no answers provided by the reasoner, whereas
glassbox procedures also use other information, such as the set of inferences applied during the
entailment test. The set of inferences can be generated using consequence-based procedures
[
        <xref ref-type="bibr" rid="ref19 ref20 ref21 ref22">19, 20, 21, 22</xref>
        ] implemented by reasoners, such as CEL [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], CB [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ], ELK [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], ConDOR [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ],
or Sequoia [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ]. Using a set of inferences, for example, one can quickly test entailments from
subsets of the ontology without using the reasoner. One of the popular approaches is to encode
inferences as propositional Horn clauses and use propositional satisfiability (SAT) solvers to
test entailments from candidate subsets [
        <xref ref-type="bibr" rid="ref14 ref15 ref18 ref9">9, 14, 15, 18</xref>
        ]. To avoid generation of subsets that have
been already tested (or for which the answer already follows from previous tests), the methods
add blocking clauses, which force the SAT solver to generate new models. However, in general,
the number of blocking clauses can be exponential in the number of justifications. In this paper,
we propose alternative SAT encodings that use the inferences to avoid generation of models
(and hence of blocking clauses) that are not relevant for computing justifications or repairs.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <p>
        We assume the standard syntax and semantics of Description Logics (DLs) such as ℒ (see,
e.g., [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]). Suppose that |= is an entailment relation between an ontology  and an axiom  . A
justification for the entailment  |=  is a minimal subset  ⊆  such that  |=  . A repair
for  |=  is a minimal subset  ⊆  such that  ∖  ̸|=  .
      </p>
      <p>Example 1. Consider the ontology  = { ⊑ ,  ⊑ ,  ⊑ ,  ⊓  ⊑ ⊥} and  =
 ⊑  ⊓ . The entailment  |=  has 2 justifications: 1 = { ⊑ ,  ⊑ ,  ⊑ } and
2 = { ⊑ ,  ⊑ ,  ⊓  ⊑ ⊥}, and 3 repairs: 1 = { ⊑ }, 2 = { ⊑ }, and
3 = { ⊑ ,  ⊓  ⊑ ⊥}.</p>
      <p>An inference is an expression inf of the form ⟨ 1, . . . ,   ⊢  ⟩ where  1, . . . ,   is a (possibly
empty) sequence of axioms called the premises of inf, and  is an axiom called the conclusion of
inf. An inference ⟨ 1, . . . ,   ⊢  ⟩ is sound if { 1, . . . ,  } |=  .</p>
      <p>Let I be a set of inferences. An I-derivation from  is a sequence of inferences  =
⟨inf1, . . . , inf⟩ from I such that for every  with 1 ≤  ≤ , and each premise  of inf
that is not in , there exists  &lt;  such that  is the conclusion of inf . An axiom  is
derivable from  using I (notation:  ⊢I  ) if either  ∈  or there exists an I-derivation
 = ⟨inf1, . . . , inf⟩ from  such that  is the conclusion of inf. A set of inferences I is
complete for the entailment  |=  if  |=  implies  ⊢I  for every subset  ⊆  .
Example 2 (Example 1 continued). Consider a set I consisting of the following inferences:
inf1: ⟨ ⊑ ,  ⊑  ⊢  ⊑ ⟩,
inf2: ⟨ ⊑ ,  ⊑  ⊢  ⊑  ⊓ ⟩,
inf3: ⟨ ⊑ ,  ⊑  ⊢  ⊑  ⊓ ⟩,
inf4: ⟨ ⊑  ⊓ ,  ⊓  ⊑ ⊥ ⊢  ⊑ ⊥⟩,
inf5: ⟨ ⊢ ⊥ ⊑  ⊓ ⟩,
inf6: ⟨ ⊑ ⊥, ⊥ ⊑  ⊓  ⊢  ⊑  ⊓ ⟩.</p>
      <p>Inference inf5 has no premises; all other inferences have 2 premises. Clearly, all inferences are
sound. For axiom  , and justifications 1 and 2 from Example 1, we have 1 ⊢I  and 2 ⊢I  due
to the derivation 1 = ⟨inf1, inf2⟩ and 2 = ⟨inf1, inf3, inf4, inf5, inf6⟩ respectively. Therefore, I
is complete for the entailment  |=  .</p>
      <p>Note that if  ̸|=  then the entailment  |=  has no justification, has a single repair  = ∅
and any set of inferences I is complete for  |=  .</p>
    </sec>
    <sec id="sec-3">
      <title>3. SAT-Based Axiom Pinpointing</title>
      <p>
        In this section, we describe the MARCO algorithm for computing justifications and repairs [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ].
This algorithm can be regarded sa a common basis of most SAT-based axiom pinpointing tools
such as EL+SAT [
        <xref ref-type="bibr" rid="ref26 ref9">9, 26</xref>
        ], EL2MUS [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], SATPin [
        <xref ref-type="bibr" rid="ref15 ref18">15, 18</xref>
        ], and BEACON [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. Although these
methods are frequently regarded as glass-box procedures, the additional information provided by
the reasoner is used only to speed up the entailment tests performed by the MARCO algorithm.
idea is as follows. Each found justification  ∈  determines subsets  ⊆
      </p>
      <p>Given an ontology  and an axiom  the algorithm computes the set of all justifications
 and minimal repairs  for the entailment  |=  (which may or may not hold). The basic
of the ontology
such that  |=  , namely all  ⊆ 
such that  ⊆
 . Similarly, each found repair  ∈ 
determines subsets  ⊆ 
such that  ̸|=  , namely those  ⊆ 
such that  ∩  = ∅. The
SAT solver is used to discover the remaining subsets  ⊆  , namely those  ⊆ 
such that
(1)  ̸⊆</p>
      <p>for every  ∈  and (2)  ∩  ̸= ∅ for every  ∈ . As we will see, using each such
subset  either a new justification or a new minimal repair can be found.</p>
      <p>To find a subset  ⊆</p>
      <p>for which the entailment  |=  is not yet known, Conditions (1)
and (2) are encoded using propositional formulas. Specifically, each axiom  ∈  is assigned
to a distinguished propositional variable  . Then each propositional assignment ℐ of these
variables describes a subset  (ℐ) = {</p>
      <p>∈  | ℐ = 1}. The goal, therefore, is to construct a
 . This clause ensures that if  ℐ = 1 then ℐ = 0 for some 
formula  such that for each model ℐ of  the subset  (ℐ) satisfies (1) and (2).</p>
      <p>To encode Condition (1), for each  ∈  we add a new blocking clause ⋁︀{¬ |
∈ , hence  /∈  (ℐ), and so
 ∈ } to
⋁︀{ |</p>
      <p≯⊆</p>
      <p>(ℐ). Similarly, to encode Condition (2), for each  ∈ , we add a new blocking clause
The construction of the resulting formula  as well as of new justifications and repairs is
∈ }. This clause ensures that  ∈  (ℐ) for some 
∈ . Hence  (ℐ) ∩  ̸= ∅.
described by Algorithm 1. We start with the empty set of justifications  and repairs , as well
as a tautological formula  whose models ℐ describe all subsets  (ℐ) ⊆ 
we repeatedly search for models of this formula using a SAT solver (Lines 2–12). For each
(Line 1). Then
such model ℐ (Line 3), we extract the corresponding subset  =  (ℐ) (Line 4) and test the
entailment  |=  , e.g., using a reasoner (Line 5). If the entailment holds, this means that
there exists a minimal subset  ⊆</p>
      <p>such that  |=  , i.e., a justification. This subset is found
using function Minimize( |=  ) (Line 6) to be discussed next. Due to Condition (1),  must be
diferent from any justifications in</p>
      <p>found so far. Hence, we add this justification to  (Line 7)
and add to  the encoding of (1) for this justification (Line 8). If  ̸|=  , we can compute a
maximal superset  ′ ⊇</p>
      <p>of  such that  ′ ̸|=  , and, consequently, a repair  =  ∖  ′
(Line 10). Again, due to Condition (2),  must be diferent from any repairs from
 found so far.</p>
      <p>Hence, we add  to  (Line 11) and add its encoding to  (Line 12).</p>
      <p>Minimizing entailments and maximizing non-entailments are preformed using two functions
Minimize( |=  ) and Maximize( ̸|=  ) shown in Algorithm 1. For minimizing  |=  ,
we repeatedly remove from  axioms</p>
      <p>∈  unless this breaks the entailment. For maximizing
 |=  , we repeatedly add remaining axioms  ∈  ∖ unless this causes the entailment. Note
that the results depend on the order in which the axioms  are iterated, however, correctness of
Algorithm 1 does not depend on the choice of minimal subsets or maximal supersets of  .</p>
      <p>Algorithm 1: Computing all justifications and minimal repairs using a SAT solver
SAT-Pinpointing(,  ):
input : ontology  and axiom 
output : the set  of all justifications and  of all minimal repairs for  |= 
5
6
7
8
9
10
11
12
1  ← ∅ ,  ← ∅ ,  ← ⊤ ;
2 while {ℐ |  ℐ = 1} ̸= ∅ do
3 ℐ ← ℐ :  ℐ = 1;
4  ← {  ∈  | ℐ = 1};
if  |=  then
 ← Minimize( |=  );
 ←  ∪ {};
 ←  ∧ ⋁︀{¬ |  ∈ };
else
 ←  ∖ Maximize( ̸|=  );
 ←  ∪ {};
 ←  ∧ ⋁︀{ |  ∈ };
13 return  , ;</p>
      <p>Minimize( |=  ):
14 for  ∈  do
15 if  ∖ { } |=  then
16  ←  ∖ { };
17 return  ;</p>
      <p>Maximize( ̸|=  ):
18 for  ∈  ∖  do
19 if  ∪ { } ̸|=  then
20  ←  ∪ { };
21 return  ;
Example 3. Let us see how Algorithm 1 computes justifications 1, 2 and repairs 1, 2, 3 for
the entailment  |=  in Example 1. We start by assigning propositional variables to axioms in
 as follows:  ⊑  ⇝ 1,  ⊑  ⇝ 2,  ⊑  ⇝ 3,  ⊓  ⊑ ⊥ ⇝ 4. Assume that each
iteration of the while loop (Lines 2–12) returns a model shown in the first column of the table:
ℐ
1
min( ) |=  /</p>
      <p>max( ) ̸|= 
∅ ∪ { ⊑ ,  ⊑ } ̸|= 
{ ⊑ } ∪ { ⊑ ,  ⊓  ⊑ ⊥} ̸|= 
{ ⊑ ,  ⊑ } ∪ { ⊓  ⊑ ⊥} ̸|=</p>
      <p>{ ⊑ ,  ⊑ ,  ⊑ } ∖ ∅ |= 
{ ⊑ ,  ⊑ ,  ⊓  ⊑ ⊥} ∖ ∅ |= 
just/rep
The second column shows the resulting set  and its minimization (if  |=  ) or maximization (if
 ̸|=  ). For example, the model in the first row corresponds to  = ∅ ̸|=  , which is maximized
by adding axioms  ⊑  and  ⊑ . The third column shows the corresponding justification or
repair from Example 1. The fourth column shows the clause resulting by encoding Conditions (1)
and (2) for the found justification or repair. Each next propositional assignment in the first column
must be a model of all previous clauses. After adding the 5 clauses in the table, the formula 
becomes unsatisfiable and Algorithm 1 terminates returning the content of the third column.</p>
      <p>An advantage of Algorithm 1 is that it can compute justifications as well as repairs. However,
in applications when only the computation of justifications is of main interest, e.g., for ontology
debugging, the additional overhead for computing repairs can be significant. Indeed, as next
example shows, the number of repairs can be exponential in the number of justifications.
Example 4. Consider the ontology  = { ⊑ ,  ⊑  | 1 ≤  ≤ }. Clearly, each subset
 = { ⊑ ,  ⊑ } (1 ≤  ≤ ) is a justification for the entailment  |=  ⊑ , and each
subset containing exactly one axiom from each  (1 ≤  ≤ ) is a repair. To compute these repairs,
Algorithm 1 performs 2 calls to the SAT solver, each resulting in a new blocking clause.</p>
      <p>
        Note that any black-box procedure that computes all justifications must perform an
exponential number of entailment tests for the ontology  in Example 4 because an entailment test
must be performed for the complement of every repair to rule out further justifications. As seen
from Example 4, Algorithm 1 is particularly problematic if many, mostly independent, subsets
of the ontology are responsible for the entailment. A similar example can be constructed when
there are exponentially-many justifications but only linearly-many repairs (see, e.g., Example 23
in [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ]). Next, we describe alternative SAT encodings using which only justifications or only
repairs can be computed. Unlike Algorithm 1, the encodings are truly glass-box since inferences
are used not only for checking entailments, but also, as a part of the encoding, to ensure that
the SAT solver returns models corresponding to only justifications or only repairs.
      </p>
    </sec>
    <sec id="sec-4">
      <title>4. Computing Just Repairs</title>
      <p>Assume that we have a set of sound inferences I that is complete for the entailment  |=  .
That is,  ⊢I  if  |=  for every  ⊆  (see Section 2). To find a repair for  |=  ,
we need to find a subset  ⊆  such that  ⊬I  , i.e.,  is not derivable from  using the
inferences in I. According to the definition of derivability, this means that (1)  /∈  , and (2) for
every inference ⟨ 1, . . . ,   ⊢  ⟩ ∈ I, some of the premises   is not derivable as well. This
simple observation is a basis of our new SAT encoding for computing repairs.</p>
      <p>Let us assign to each axiom  appearing in I (as a premise or a conclusion) a distinct
propositional variable  . Intuitively, each propositional interpretation ℐ describes axioms  with
ℐ = 1 that should not be derived from  . We call these axioms broken (hence the variable
name  ). According to Condition (1) above, we should have  /∈  for all broken  , so we take
 =  (ℐ) = { ∈  | ℐ = 0} to be all non-broken axioms in . According to Condition
(2), if ⟨ 1, . . . ,   ⊢  ⟩ ∈ I and  is broken then one of the premises   must be broken as well
(1 ≤  ≤ ). We can encode this condition using a clause ¬ ∨  1 ∨ · · · ∨   . Let  be the
conjunction of all such clauses for inferences in I plus  . Then for every model ℐ of  , we
have  =  (ℐ) ⊬I  , which implies  ̸|=  since I is complete for  |=  . Hence we can
extract a repair of  |=  by maximizing the non-entailment  ̸|=  just like in Algorithm 1.</p>
      <p>Algorithm 2 describes the above encoding and computations. We start with the empty set
of repairs  and initialize the formula  as conjunction of  and clauses for inferences in I
as described above (Line 1). So long  is satisfiable (Lines 2–7), we take a model of  (Line 3),
extract the subset  =  (ℐ) of non-broken axioms in  (Line 4) for which our encoding
guarantees that  ̸|=  . Then we maximize this non-entailment and extract the resulting
repair just like in Algorithm 1 (Line 5), add this repair to  (Line 6), and add the corresponding
blocking clause (Line 7) to  to ensure that this repair is not found by subsequent models.
Example 5. Let us see how Algorithm 2 computes the repairs 1, 2, and 3 for the entailment
 |=  in Example 1 using the set of 6 (sound and complete) inferences I from Example 2. Given
these parameters, the function InitRepairs(, I) creates a conjunction  of the following clauses:
Algorithm 2: Computing all repairs using a SAT solver</p>
      <p>SAT-Repair(, , I):
input : ontology ,  an axiom, I a set of sound inferences complete for  |= 
output : the set  of all repairs for  |= 
1  ← ∅ ,  ← InitRepairs(, I);
2 while {ℐ |  ℐ = 1} ̸= ∅ do
3 ℐ ← ℐ :  ℐ = 1;
4  ← {  ∈  | ℐ = 0};
5  ←  ∖ Maximize( ̸|=  );
6  ←  ∪ {};
7  ←  ∧ ⋁︀{¬ |  ∈ };
8 return ;</p>
      <p>InitRepairs(, I):
9  ←  ;
10 foreach ⟨ 1, . . . ,   ⊢  ⟩ ∈ I do
11  ←  ∧ (¬ ∨ ⋁︀{  | 1 ≤  ≤ })
12 return  ;
1. ⊑⊓ 2. ¬⊑ ∨ ⊑ ∨ ⊑
3. ¬⊑⊓ ∨ ⊑ ∨ ⊑
4. ¬⊑⊓ ∨ ⊑ ∨ ⊑
5. ¬⊑⊥ ∨ ⊑⊓ ∨ ⊓⊑⊥
6. ¬⊥⊑⊓
7. ¬⊑⊓ ∨ ⊑⊥ ∨ ⊥⊑⊓
We highlighted in bold the variables assigned to axioms in  since propositional assignments of
these variables determine the subsets  and the resulting repairs. The table below shows examples
of models of  and the resulting repairs obtained at each iteration of Algorithm 2:
ℐ = 1
⊑⊓ ⊑ ⊑ ⊑⊥ ⊑⊓
⊑⊓ ⊑ ⊑ ⊑⊥ ⊑⊓
⊑⊓ ⊑
⊑⊥ ⊓⊑⊥
repair
1
2
3
new clause
¬⊑
¬⊑
¬⊑ ∨ ¬⊓⊑⊥
The first column lists all variables corresponding to the broken axioms. For the set  of the
remaining axioms from , our encoding guarantees that  ̸|=  . In our example, the sets 
are already maximal, so their complements (Line 5) correspond to repairs shown in the second
column. Each of these repairs produces a new clause shown in the last column, which is added as a
conjunction to  . The algorithm, therefore, produces overall 7 + 3 = 10 clauses.</p>
      <p>The main advantage of Algorithm 2 over Algorithm 1 is that generation of subsets of  ⊆ 
with  |=  is completely avoided. The initial formula  obtained by InitRepairs(, I),
which has a linear size in the number of inferences in I, has the same efect as (potentially
exponentially-many in the size of ) blocking clauses for justifications added to  in Algorithm 2.
A disadvantage of Algorithm 2 is that the new SAT encoding now involves more propositional
variables (due to new axioms appearing in inferences), which could increase the search space of
the SAT solver. Also, if the set of inferences I is considerably larger than the size of , the new
translation might not pay of, particularly, if the number of justifications is relatively small.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Computing Just Justifications</title>
      <p>We now extend the ideas used in the encoding for repairs in Section 4, to compute all justifications
without computing repairs. Our goal is to construct a formula  whose models correspond to
only subsets  ⊆  such that  |=  , or, equivalently,  ⊢I  . Recall that  is derivable by
inferences in I from  if (1)  ∈ , or (2) there exists an inference ⟨ 1, . . . ,   |=  ⟩ ∈ I such
that all premises  1, . . . ,   of this inference are derivable. To handle Condition (1) as a special
case of (2), we extend the set I by adding, for every axiom  ∈ , an “asserted axiom” inference
⟨ ⊢  ⟩, which means that any axiom in  can be derived from no premises.</p>
      <p>To express Condition (2) using a propositional formula, to each axiom  appearing in I, we
assign a distinguished propositional variable  expressing that  appears in the derivation
of  . In addition, to every inference inf ∈ I we, likewise, assign a distinguished variable inf
expressing that this inference has been applied in the derivation of  . Then Condition (2) is
expressed using two types of clauses:
1. ¬ ∨ inf1 ∨ · · · ∨ inf , where inf 1, . . . , inf  are all inferences in I with conclusion  ,
2. ¬inf ∨  , where  is a premise of inf .</p>
      <p>Let  be the conjunction of all clauses above for all axioms  and inferences inf appearing in I
plus the unit clause  expressing that  must be derived. Similarly to the encoding for repairs in
Section 4, we define a subset  ⊆  using a model ℐ of  by  =  (ℐ) = { ∈  | ℐ = 1}.
The main question: does our encoding guarantee that  |=  ?
Example 6. Let us apply the described translation for the entailment  |=  from Example 1 and
the set of inferences I from Example 2. First, we extend I with inferences deriving axioms in :
inf 7: ⟨ ⊢  ⊑ ⟩, inf 8: ⟨ ⊢  ⊑ ⟩, inf 9: ⟨ ⊢  ⊑ ⟩, inf 10: ⟨ ⊢  ⊓  ⊑ ⊥⟩.
Then our encoding produces a formula  , which is the conjunction of the following 20 clauses:
1. ⊑⊓
2. ¬⊑ ∨ inf1
3. ¬⊑⊓ ∨ inf2 ∨ inf6
4. ¬⊑⊓ ∨ inf3
5. ¬⊑⊥ ∨ inf4
8. ¬⊑ ∨ inf8
9. ¬⊑ ∨ inf9
10. ¬⊓⊑⊥ ∨ inf10
11. ¬inf1 ∨ ⊑
12. ¬inf1 ∨ ⊑
13. ¬inf2 ∨ ⊑
15. ¬inf3 ∨ ⊑
16. ¬inf3 ∨ ⊑
17. ¬inf4 ∨ ⊑⊓
18. ¬inf4 ∨ ⊓⊑⊥
19. ¬inf6 ∨ ⊑⊥
6. ¬⊥⊑⊓ ∨ inf5 20. ¬inf6 ∨ ⊥⊑⊓
7. ¬⊑ ∨ inf7 14. ¬inf2 ∨ ⊑
As before, bold variables correspond to axioms from . By checking satisfiability of  , we may
obtain the models shown in the first column of the following table:
⊑⊓ inf2 ⊑ ⊑ inf1</p>
      <p>inf9 ⊑ ⊑ inf7 inf8
⊑⊓ inf6 ⊑⊥ ⊥⊑⊓ inf4
inf5 ⊑⊓ ⊓⊑⊥ inf3 inf10
⊑ ⊑ inf1 ⊑
justification</p>
      <p>¬⊑ ∨ ¬⊑ ∨ ¬⊑
¬⊑ ∨ ¬⊑ ∨ ¬⊓⊑⊥
The sets  =  (ℐ) extracted from these models consist of axioms corresponding to the bold
variables and, as can be seen, correspond to justifications 1 and 2 from Example 1. If we now
extend  by adding the corresponding blocking clauses for these justifications shown in the third
column,  becomes unsatisfiable. Hence, no further sets  and justifications can be produced.
Example 7. Let us see how the new translation can avoid computing exponentially-many repairs
for the entailment  |=  ⊑  from Example 4. Assume that we are given a set of inferences
I = {inf  = ⟨ ⊑ ,  ⊑  ⊢  ⊑ ⟩ | 1 ≤  ≤ }, which is, clearly, complete for this
entailment. First, I is extended with inf ′ = ⟨ ⊢  ⊑ ⟩ and inf ′′ = ⟨ ⊢  ⊑ ⟩ (1 ≤  ≤ ).
The translation creates Clauses 1 and 2 plus Clauses 3–6 for each  with 1 ≤  ≤ :
1. ⊑
2. ¬⊑ ∨ ⋁︀{inf | 1 ≤  ≤ }
3. ¬inf ∨ ⊑
4. ¬inf ∨ ⊑
5. ¬⊑ ∨ inf′
6. ¬⊑ ∨ inf′′
After each call, due to Clauses 1–4, the SAT solver returns a model with iℐnf = ℐ⊑ = ℐ⊑ =
1 for some  (1 ≤  ≤ ) from which the justification  = { ⊑ ,  ⊑ } can be extracted.
The added blocking clause ¬⊑ ∨ ¬⊑ ensures that inf ℐ = 0 in the subsequent models ℐ
(due to Clauses 3 and 4). Hence, the procedure terminates after adding exactly  additional clauses.</p>
      <p>Examples 6 and 7 may suggest that  |=  always holds for subsets  extracted from
models of  . However, this is true only if the set of inferences I is acyclic. An inference cycle
(of length ) is a sequence of inferences [inf 1; inf 2; . . . ; inf ] such that the conclusion of inf  is
a premise of inf +1 (1 ≤  &lt; ) and the conclusion of inf  is a premise of inf 1. The cycle is
elementary if all of its inferences have diferent conclusions. Clearly, each (non-elementary) cycle
[inf 1; inf 2; . . . ; inf ] contains an elementary sub-cycle [inf ; . . . ; inf ] with 1 ≤  ≤  ≤ .
A set of inferences I is cyclic if there is a cycle of inferences from I. Otherwise I is acyclic.
Example 8. Let us extend the set of inferences I from Example 6 with two additional inferences:
inf 11: ⟨ ⊑  ⊓  ⊢  ⊑ ⟩, inf 12: ⟨ ⊑  ⊓  ⊢  ⊑ ⟩.</p>
      <p>The resulting set of inferences has 2 elementary cycles: 1 = [inf 3; inf 11] and 2 = [inf 3; inf 12].
Updating the encoding of the formula  from Example 6 to the two additional inferences results in
two modified clauses 2, 7, and two additional clauses 20, 21 shown below:
2. ¬⊑ ∨ inf1 ∨ inf 12
7. ¬⊑ ∨ inf7 ∨ inf 11
20. ¬inf11 ∨ ⊑⊓
21. ¬inf12 ∨ ⊑⊓
The models of  obtained in Example 6 are also models of the new clause set, however, there is also
a new model shown below:
⊑⊓ inf2 ⊑ ⊑ inf12
inf9 ⊑⊓ inf3 ⊑ inf7
cycle
2</p>
      <p>new clause
¬ inf 3 ∨¬ inf 12
Notice that  =  (ℐ) = { ⊑ ,  ⊑ } ̸|=  =  ⊑  ⊓ , so why did this happen in
our translation? Note that the new model is similar to the first model in Example 6. The main
diference is that to satisfy the (updated) clause 2, we now chose to make inf12 true instead of inf1 .</p>
      <p>Algorithm 3: Computing all justifications using a SAT solver</p>
      <p>SAT-Justification( , , I):
input : ontology ,  an axiom, I a set of sound inferences complete for  |= 
output : the set  of all justifications for  |= 
8
9
10
11
12
13
14
15
This, intuitively, means that we chose to derive  ⊑  by inference inf12 instead of inf1. To apply
inf12, we need to derive  ⊑  ⊓  first, so we make ⊑⊓ true. This axiom, in turn, can be
derived using inf3 from  ⊑  and  ⊑ , so we make inf3 , ⊑ and ⊑ true. However,
we now came back to  ⊑ . This happened because of the inference cycle 2 = [inf3; inf12].</p>
      <p>We can prevent generating models with cycle 2 by adding a blocking clause similar to blocking
clauses for justifications shown in the last column. After adding this clause to  the resulting
formula becomes unsatisfiable, at which point we know that all justifications have been computed.</p>
      <p>Algorithm 3 formalizes the overall procedure for computing justifications. We start with the
empty set of justifications (Line 1), and extend the set of inferences I for axioms in  (Line 2).
Then we initialize our formula  (Line 3) by adding the clauses for  (Line 17), for each axiom in
I (Line 19), and each inference in I (Line 21). For now, ignore Line 4 assuming that InitCycles(I)
returns ⊤. Then, as usual, so long  is satisfiable (Line 5), we take the model ℐ returned by the
SAT solver (Line 6), determine the candidate subset of axioms  =  (ℐ) ⊆  (Line 7), and
check the entailment  |=  (Line 8). If the entailment holds, we extract a new justification
from  as usual (Lines 8–11). If not, this can happen only due to a cyclic subset of inferences
I∘ chosen by the model (Line 13), as we prove next. Note that  ̸|=  implies ∅ ⊬I∘  .</p>
      <p>To find a cycle in I∘ (Line 14), we traverse these inferences backwards starting from the
conclusion  . To detect the cycle, we add conclusions to the set Visited, while collecting the
expanded inferences in the list , both initially empty (Line 23). Our invariant is that ℐ = 1 but
∅ ⊬I∘  for every  ∈ Visited, which clearly holds for the initial  =  . Having such  , we first
check that it was not already visited (Line 24) and add it to Visited (Line 25). Then we take any
inference inf ∈ I∘ with conclusion  (Line 26), which must exist due to the added clause for 
(Line 19) since  ℐ = 1 and ℐ = 1. We prepend this inference to the list  (Line 27). Finally, we
choose the premise   of inf such that ∅ ⊬I∘  . Note that such a premise exists since otherwise
∅ ⊢I∘  , which would contradict our invariant. Note also that ℐ = 1 for all premises of inf
due to the initial translation for inf (Line 21). We reassign  to the found premise   (Line 28)
and continue the while loop. Eventually we obtain  ∈ Visited since the number of axioms
is bounded, which means that a premise  of the first inference in  is a conclusion of some
inference inf in . We traverse the list  to find this inference inf, and return the prefix of
 ending with this inference (Line 29), which will be the elementary inference cycle we were
looking for. After finding this cycle, we add the corresponding blocking clause to  (Line 11),
which makes sure that this cycle will not be a part of subsequent models of  .</p>
      <p>How many cycles could be encountered during a run of Algorithm 3? Since FindCycle(, I∘ )
produces only elementary cycles, the length of cycles is bounded by the number of inferences
in I. Further, the set of inferences in each returned cycle is unique due to the added blocking
clause in Line 11. Hence the number of cycles and such blocking clauses is at most exponential
in the size of I. It may seem that Algorithm 3 sufers from the same problem as Algorithm 1:
instead of enumerating possibly exponentially-many repairs we may need to enumerate possibly
exponentially-many cycles in order to compute all justifications. As we show next, it is possible
to extend the initial formula  of the encoding to prevent cyclic models completely.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Blocking of Cycles using a Transitive Closure Encoding</title>
      <p>Let I be a set of inferences. Consider the binary relation on axioms appearing in I defined by
the set of pairs  = (I) = {⟨ ,  ⟩ | ⟨ 1, . . . ,   ⊢  ⟩ ∈ I, 1 ≤  ≤ }. It is easy to see that I
is cyclic if the transitive closure + of  contains a reflexive pair ⟨,  ⟩ for some axiom  .
 ⊑  ⇝
 ⊑  ⇝
 ⊑  ⇝
 ⊓  ⇝
 ⊑  ⇝
 ⊑  ⊓  ⇝
Example 9. Let I be the set of (cyclic) inferences from Example 8. For conciseness, we number all
axioms appearing in I and use these numbers instead of the original axioms:
1 4 7
2 5 8
3 6 9
 ⊑ ⊥ ⇝
⊥ ⊑  ⊓  ⇝
 ⊑  ⊓  ⇝</p>
      <p>Then the set of inferences I defines the set  = (I) of pairs
of numbers corresponding to these axioms shown in the right
picture by solid lines. As can be seen, nodes 1 and 6 as well as
nodes 5 and 6 form cycles in this graph. The transitive closure
+ of  extends this relation with the additional pairs shown by
the dashed red lines. As can be seen, the extended graph contains
3 reflexive pairs: ⟨1, 1⟩, ⟨5, 5⟩, and ⟨6, 6⟩.
6
4
8
2
9
1
7
3
5</p>
      <p>Let  = (I) be the set of pairs induced by inferences from I. For each pair ⟨,  ⟩ ∈ + we
introduce a distinguished propositional variable  , ⟩. Consider the following clauses:
⟨
2. ¬⟨, ⟩ ∨ ¬⟨, ⟩ ∨  , ⟩ for every ⟨,</p>
      <p>⟨
3. ¬⟨, ⟩ for every ⟨,  ⟩ ∈ +.
1. ¬inf ∨ ⟨ , ⟩ for every inf = ⟨ 1, . . . ,   ⊢  ⟩ ∈ I and 1 ≤  ≤ ,
⟩ ∈ + and ⟨,  ⟩ ∈ ,
Intuitively, clauses of Form 1 express that if an inference ⟨ 1, . . . ,   ⊢  ⟩ ∈ I is selected by the
model, then all pairs ⟨ ,  ⟩ ∈  (1 ≤  ≤ ) must be selected by this model as well. Clauses
of Form 2 express that the pairs selected by the model are transitively closed. Finally, clauses of
Form 3 express that no reflexive pair from + can be selected by the model.</p>
      <p>Suppose that the function InitCycles(I) produces the conjunction of all clauses of Forms 1-3
as described above. By using this function in Line 4 of Algorithm 3, we make sure that for every
model ℐ of  , the set of inferences I(ℐ) = {inf ∈ I | iℐnf = 1} is acyclic. Hence the else-part of
the algorithm (Lines 12–15) never applies, and each model found by the SAT solver corresponds
to a new justification. Clearly, the number of clauses of Form 1 is linear in the size of I. Since
the number of axioms  appearing in I and the number of pairs ⟨,  ⟩ ∈  are linear in the size
of I, the number of clauses of Form 2 is quadratic in the size of I and the number of clauses of
Form 3 is linear. Thus, the maximal number of clauses generated by Algorithm 3 can be reduced
from exponential to quadratic.</p>
    </sec>
    <sec id="sec-7">
      <title>7. Outlook</title>
      <p>In this paper, we have described new SAT-based procedures for computing repairs and
justiifcations from a set of inferences. Unlike the previous methods, we use inferences not only
for entailment checks, but also to avoid generating unnecessary models. While for computing
repairs our encoding requires a linear number of additional clauses, computing justifications
may require a quadratic number of clauses in order to block cyclic models.</p>
      <p>
        There appears to be a strong connection between our encodings and reductions of Answer
Set Programming (ASP) to SAT [
        <xref ref-type="bibr" rid="ref29 ref30 ref31 ref32 ref33">29, 30, 31, 32, 33, 34</xref>
        ]. In particular, our encoding for computing
justifications is closely related to Clark’s Completion [ 35], which bridges the ASP semantics
and the classical (model-theoretic) semantics. Just like in our case, Clark’s Completion works
only for acyclic logic programs called tight [36]. Cyclic programs are dealt with using one shot
quadratic [
        <xref ref-type="bibr" rid="ref29 ref30">29, 30</xref>
        ] or O( · log2 ) encodings [
        <xref ref-type="bibr" rid="ref33">33, 34</xref>
        ], or using (possibly exponentially-many)
looping formulas that block cycles only when they are discovered [
        <xref ref-type="bibr" rid="ref31 ref32">31, 32</xref>
        ].
      </p>
      <p>
        For some ontologies, such as OpenGALEN [37], for which the generated proofs can be very
large and cyclic [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], a quadratic number of clauses can still be prohibitively large. To reduce
the number of clauses even further, it is possible to adapt the O( · log2 ) encoding for ASP
mentioned above, and use further optimizations, such as lazy encoding, which delays creation
of clauses until cycles are actually found.
      </p>
      <p>By combining encoding for repairs and justifications, it is also possible to obtain a procedure
for computing the unions of justifications (= the unions of repairs), which were recently of
some interest [38, 39, 40]. This procedure can compute the unions using at most  calls of the
SAT solver, where  is the size of the resulting union. This is optimal since the membership
problem for unions of justifications is already NP-Complete (see Theorem 7 in [ 41]). Our
preliminary empirical experiments on some selected dificult examples have been very promising.
Unfortunately, we have no space left in this paper to discuss these results in detail.
[34] T. Janhunen, Some (in)translatability results for normal logic programs and propositional
theories, J. Appl. Non Class. Logics 16 (2006) 35–86.
[35] K. L. Clark, Negation as failure, in: H. Gallaire, J. Minker (Eds.), Logic and Data Bases,
Symposium on Logic and Data Bases, Centre d’études et de recherches de Toulouse, France, 1977,
Advances in Data Base Theory, Plemum Press, New York, 1977, pp. 293–322. URL: https:
//doi.org/10.1007/978-1-4684-3384-5_11. doi:10.1007/978-1-4684-3384-5\_11.
[36] F. Fages, Consistency of Clark’s completion and existence of stable models, Methods Log.</p>
      <p>Comput. Sci. 1 (1994) 51–60.
[37] A. L. Rector, J. Rogers, P. E. Zanstra, E. J. van der Haring, OpenGALEN: Open source
medical terminology and tools, in: AMIA, AMIA, 2003.
[38] M. Janota, J. Marques-Silva, cmmus: A tool for circumscription-based MUS membership
testing, in: LPNMR, volume 6645 of Lecture Notes in Computer Science, Springer, 2011, pp.
266–271.
[39] C. Mencía, O. Kullmann, A. Ignatiev, J. Marques-Silva, On computing the union of MUSes,
in: SAT, volume 11628 of Lecture Notes in Computer Science, Springer, 2019, pp. 211–221.
[40] J. Chen, Y. Ma, R. Peñaloza, H. Yang, Union and intersection of all justifications, in: ESWC,
volume 13261 of Lecture Notes in Computer Science, Springer, 2022, pp. 56–73.
[41] R. Peñaloza, B. Sertkaya, Understanding the complexity of axiom pinpointing in lightweight
description logics, Artif. Intell. 250 (2017) 80–104.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Suntisrivaraporn</surname>
          </string-name>
          ,
          <article-title>CEL-a polynomial-time reasoner for life science ontologies</article-title>
          ,
          <source>in: Proc. 3rd Int. Joint Conf. on Automated Reasoning (IJCAR'06)</source>
          , volume
          <volume>4130</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2006</year>
          , pp.
          <fpage>287</fpage>
          -
          <lpage>291</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Simančík</surname>
          </string-name>
          ,
          <article-title>The incredible ELK: From polynomial procedures to eficient reasoning with ℰ ℒ ontologies</article-title>
          ,
          <source>J. of Automated Reasoning</source>
          <volume>53</volume>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>61</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          , FaCT++
          <article-title>description logic reasoner: System description</article-title>
          ,
          <source>in: Proc. 3rd Int. Joint Conf. on Automated Reasoning (IJCAR'06)</source>
          , volume
          <volume>4130</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2006</year>
          , pp.
          <fpage>292</fpage>
          -
          <lpage>297</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Shearer</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Hypertableau reasoning for description logics</article-title>
          ,
          <source>J. of Artificial Intelligence Research</source>
          <volume>36</volume>
          (
          <year>2009</year>
          )
          <fpage>165</fpage>
          -
          <lpage>228</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
            <surname>Steigmiller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Liebig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          , Konclude: System description,
          <source>J. Web Semant</source>
          .
          <fpage>27</fpage>
          -
          <lpage>28</lpage>
          (
          <year>2014</year>
          )
          <fpage>78</fpage>
          -
          <lpage>85</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalyanpur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <article-title>Pellet: A practical OWL-DL reasoner</article-title>
          ,
          <source>J. of Web Semantics</source>
          <volume>5</volume>
          (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Suntisrivaraporn</surname>
          </string-name>
          ,
          <article-title>Pinpointing in the description logic ℰ ℒ+</article-title>
          , in: J.
          <string-name>
            <surname>Hertzberg</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Beetz</surname>
          </string-name>
          , R. Englert (Eds.),
          <source>Proc. 30th Annual GermanConf. on Artificial Intelligence (KI'07)</source>
          , volume
          <volume>4667</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2007</year>
          , pp.
          <fpage>52</fpage>
          -
          <lpage>67</lpage>
          . URL: https://doi.org/ 10.1007/978-3-
          <fpage>540</fpage>
          -74565-
          <issue>5</issue>
          _7. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -74565-
          <issue>5</issue>
          _
          <fpage>7</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalyanpur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          , E. Sirin,
          <article-title>Finding all justifications of OWL DL entailments</article-title>
          , in: ISWC/ASWC, volume
          <volume>4825</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2007</year>
          , pp.
          <fpage>267</fpage>
          -
          <lpage>280</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sebastiani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Vescovi</surname>
          </string-name>
          ,
          <article-title>Axiom pinpointing in lightweight description logics via HornSAT encoding and conflict analysis</article-title>
          , in: R. A.
          <string-name>
            <surname>Schmidt</surname>
          </string-name>
          (Ed.),
          <source>Proc. 22st Conf. on Automated Deduction (CADE'09)</source>
          , volume
          <volume>5663</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>84</fpage>
          -
          <lpage>99</lpage>
          . URL: http://dx.doi. org/10.1007/978-3-
          <fpage>642</fpage>
          -02959-
          <issue>2</issue>
          _6. doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>642</fpage>
          -02959-
          <issue>2</issue>
          _
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <article-title>Automata-based axiom pinpointing</article-title>
          ,
          <source>J. Autom. Reason</source>
          .
          <volume>45</volume>
          (
          <year>2010</year>
          )
          <fpage>91</fpage>
          -
          <lpage>129</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , Axiom pinpointing in general tableaux,
          <source>J. Log. Comput</source>
          .
          <volume>20</volume>
          (
          <year>2010</year>
          )
          <fpage>5</fpage>
          -
          <lpage>34</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>M.</given-names>
            <surname>Horridge</surname>
          </string-name>
          ,
          <article-title>Justification based explanation in ontologies</article-title>
          ,
          <source>Ph.D. thesis</source>
          , University of Manchester, UK,
          <year>2011</year>
          . URL: http://www.manchester.ac.uk/escholar/uk-ac
          <string-name>
            <surname>-</surname>
          </string-name>
          man-scw:
          <fpage>131699</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Arif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mencía</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <article-title>Eficient axiom pinpointing with EL2MCS</article-title>
          , in: S. Hölldobler,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , S. Rudolph (Eds.),
          <source>Proc. 38th Annual German Conf. on Artificial Intelligence (KI'15)</source>
          , volume
          <volume>9324</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>225</fpage>
          -
          <lpage>233</lpage>
          . URL: http://dx.doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -24489-1_
          <fpage>17</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -24489-1_
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Arif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mencía</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <article-title>Eficient MUS enumeration of horn formulae with applications to axiom pinpointing</article-title>
          ,
          <source>CoRR abs/1505</source>
          .04365 (
          <year>2015</year>
          ). URL: http://arxiv.org/abs/ 1505.04365.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>N.</given-names>
            <surname>Manthey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rudolph</surname>
          </string-name>
          ,
          <article-title>Eficient axiom pinpointing in ℰ ℒ using SAT technology</article-title>
          , in: M.
          <string-name>
            <surname>Lenzerini</surname>
          </string-name>
          , R. Peñaloza (Eds.),
          <source>Proc. 29th Int. Workshop on Description Logics (DL'16)</source>
          , volume
          <volume>1577</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2016</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1577</volume>
          /paper_33.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Skocovský</surname>
          </string-name>
          ,
          <article-title>Enumerating justifications using resolution</article-title>
          ,
          <source>in: IJCAR</source>
          , volume
          <volume>10900</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2018</year>
          , pp.
          <fpage>609</fpage>
          -
          <lpage>626</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>A.</given-names>
            <surname>Ozaki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <article-title>Consequence-based axiom pinpointing</article-title>
          ,
          <source>in: SUM</source>
          , volume
          <volume>11142</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2018</year>
          , pp.
          <fpage>181</fpage>
          -
          <lpage>195</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>N.</given-names>
            <surname>Manthey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          , S. Rudolph,
          <article-title>SATPin: Axiom pinpointing for lightweight description logics through incremental SAT, Künstliche Intell</article-title>
          .
          <volume>34</volume>
          (
          <year>2020</year>
          )
          <fpage>389</fpage>
          -
          <lpage>394</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brandt</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Lutz, Pushing the ℰ ℒ envelope</article-title>
          ,
          <source>in: Proc. 19th Int. Joint Conf. on Artificial Intelligence (IJCAI'05)</source>
          ,
          <year>2005</year>
          , pp.
          <fpage>364</fpage>
          -
          <lpage>369</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <article-title>Consequence-driven reasoning for Horn ℋℐ ontologies</article-title>
          , in
          <source>: Proc. 21st Int. Joint Conf. on Artificial Intelligence (IJCAI'09)</source>
          , IJCAI,
          <year>2009</year>
          , pp.
          <fpage>2040</fpage>
          -
          <lpage>2045</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>F.</given-names>
            <surname>Simancik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Consequence-based reasoning beyond horn ontologies</article-title>
          ,
          <source>in: Proc. 22nd Int. Joint Conf. on Artificial Intelligence (IJCAI'11)</source>
          ,
          <year>2011</year>
          , pp.
          <fpage>1093</fpage>
          -
          <lpage>1098</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>A.</given-names>
            <surname>Bate</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. T.</given-names>
            <surname>Cucala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Simancik</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Consequence-based reasoning for description logics with disjunctions and number restrictions</article-title>
          ,
          <source>J. Artif. Intell. Res</source>
          .
          <volume>63</volume>
          (
          <year>2018</year>
          )
          <fpage>625</fpage>
          -
          <lpage>690</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>D. T.</given-names>
            <surname>Cucala</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks</surname>
          </string-name>
          ,
          <article-title>Sequoia: A consequence based reasoner for SROIQ</article-title>
          , in: Description Logics, volume
          <volume>2373</volume>
          <source>of CEUR Workshop Proceedings, CEUR-WS.org</source>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          , I. Horrocks,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          , An Introduction to Description Logic, Cambridge University Press,
          <year>2017</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>M. H.</given-names>
            <surname>Lifiton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Previti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Malik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <article-title>Fast, flexible MUS enumeration, Constraints An Int</article-title>
          . J.
          <volume>21</volume>
          (
          <year>2016</year>
          )
          <fpage>223</fpage>
          -
          <lpage>250</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>M.</given-names>
            <surname>Vescovi</surname>
          </string-name>
          ,
          <string-name>
            <surname>Exploiting</surname>
            <given-names>SAT</given-names>
          </string-name>
          <source>and SMT Techniques for Automated Reasoning and Ontology Manipulation in Description Logics, Ph.D. thesis</source>
          , University of Trento, Italy,
          <year>2011</year>
          . URL: http://eprints-phd.biblio.unitn.it/477/.
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Arif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Mencía</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Ignatiev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Manthey</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Peñaloza</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Marques-Silva</surname>
          </string-name>
          ,
          <article-title>BEACON: an efifcient sat-based tool for debugging ℰ ℒ+ ontologies</article-title>
          , in: N.
          <string-name>
            <surname>Creignou</surname>
            ,
            <given-names>D. L.</given-names>
          </string-name>
          Berre (Eds.),
          <source>Proc. 19th Int. Conf. on Theory and Applications of Satisfiability Testing (SAT'16)</source>
          , volume
          <volume>9710</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2016</year>
          , pp.
          <fpage>521</fpage>
          -
          <lpage>530</lpage>
          . URL: http://dx.doi.org/10.1007/978-3-
          <fpage>319</fpage>
          -40970-2_
          <fpage>32</fpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -40970-2_
          <fpage>32</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <article-title>Classical algorithms for reasoning and explanation in description logics</article-title>
          ,
          <source>in: Reasoning Web</source>
          , volume
          <volume>11810</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2019</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>64</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>R.</given-names>
            <surname>Ben-Eliyahu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Dechter</surname>
          </string-name>
          ,
          <article-title>Propositional semantics for disjunctive logic programs</article-title>
          , Ann. Math. Artif. Intell.
          <volume>12</volume>
          (
          <year>1994</year>
          )
          <fpage>53</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <article-title>On tight logic programs and yet another translation from normal logic programs to propositional logic</article-title>
          , in: IJCAI, Morgan Kaufmann,
          <year>2003</year>
          , pp.
          <fpage>853</fpage>
          -
          <lpage>858</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>F.</given-names>
            <surname>Lin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Zhao</surname>
          </string-name>
          ,
          <article-title>ASSAT: computing answer sets of a logic program by SAT solvers, Artif</article-title>
          . Intell.
          <volume>157</volume>
          (
          <year>2004</year>
          )
          <fpage>115</fpage>
          -
          <lpage>137</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>E.</given-names>
            <surname>Giunchiglia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Lierler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Maratea</surname>
          </string-name>
          ,
          <article-title>Answer set programming based on propositional satisfiability</article-title>
          ,
          <source>J. Autom. Reason</source>
          .
          <volume>36</volume>
          (
          <year>2006</year>
          )
          <fpage>345</fpage>
          -
          <lpage>377</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>T.</given-names>
            <surname>Janhunen</surname>
          </string-name>
          ,
          <article-title>Representing normal programs with clauses</article-title>
          ,
          <source>in: ECAI</source>
          , IOS Press,
          <year>2004</year>
          , pp.
          <fpage>358</fpage>
          -
          <lpage>362</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>