<!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>Axiom Pinpointing Using an Assumption-Based Truth Maintenance System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Hai Nguyen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Natasha Alechina</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Brian Logan</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Nottingham</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The problem of axiom pinpointing [1, 22], that is, finding the minimal set of axioms responsible for an unwanted consequence, is an important problem in ontology debugging. One approach to identifying the axioms responsible for an unwanted consequence is to trace dependencies between inferences leading to the consequence. Several authors have proposed truth maintenance systems as a means of keeping track of dependencies or inferences in ontologies, e.g., [21, 5, 7]. In this paper we show that truth maintenance systems can also be used for axiom pinpointing. More specifically, we present a system which returns all minimal sets of axioms responsible for the derivation of inconsistency in an unfoldable ALC ontology. Following Sirin et al [24], we refer to these sets of axioms as explanations. Our approach involves using a modified Assumption-Based Truth Maintenance System (ATMS) [11] to trace inferential dependencies between formulas and compute the minimal sets of ontology axioms responsible for a contradiction. The main technical contribution of the paper is extending the ATMS to deal with disjunctions. We generalise the notion of an ATMS environment (a set of axioms from which a formula is derivable) to include the non-deterministic choices required for the derivation of the formula. We show that this extended ATMS (which we call the D-ATMS), combined with a tableau reasoner, produces correct, complete and minimal explanations for a contradiction in an unfoldable ALC ontology. We have developed a prototype implementation of our approach which we call AOD. Preliminary results of experiments comparing AOD, MUPSter and the Pellet explanation service are encouraging, and suggest that AOD can outperform MUPSter and Pellet on both synthetic and real-world ontologies.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>v-rule from A(a) and A v C derive C(a)
u-rule from (C1 u : : : u Cn)(a) derive C1(a); : : : ; Cn(a)
9-rule from (9s:C)(a) derive s(a; b); C(b) where b is a new individual and (9s:C)(a)
has not been used before to generate another new individual
8-rule from (8s:C)(a) and s(a; b) derive C(b)
?-rule from A(a) and :A(a) derive ?
t-rule from (C1 t : : : t Cn)(a), derive choices C1(a), . . . , Cn(a)
where A is an atomic concept, C and D are arbitrary concepts, a; b are constants, and s
is a role.</p>
      <p>The t-rule creates branches in the tableaux for each disjunct (choice) C1(a), . . . ,
Cn(a). A tableau is a tree where nodes are sets of formulas, and children of a node are
obtained by applying inference rules to formulas in the node, so that the child node(s)
contains all the formulas from the parent node and the newly derived formula. For
readability, we will sometimes show only the new formula in a child node, with the
understanding that all the formulas higher up on the branch belong to the node as well.
If a node contains several disjunctions, for example B1 t B2 t B3(a) and C1 t C2(b) as
in Figure 1, the order in which the disjunction rule is applied does not matter, but once
this order is fixed, the choices for the second disjunction are repeated under each of the
choices for the first disjunction:
(B1 t B2 t B3)(a)</p>
      <p>(C1 t C2)(b)</p>
      <p>B1(a) B2(a) B3(a)
(C1 t C2)(b) (C1 t C2)(a) (C1 t C2)(a)
B1(a), B1(a), B2(a), B2(a), B3(a), B3(a),
C1(b) C2(b) C1(b) C2(b) C1(b) C2(b)</p>
      <p>The reasoner derives consequences by applying inference rules to axioms and
previously derived formulas. An inference 1; : : : ; n =r) indicates that the formula
can be derived from the set of formulas 1; : : : ; n using the inference rule r. The
reasoner does not stop after a contradiction is derived on a branch, but continues to apply
inference rules until no new rule applications are possible. A rule application is new if
the inference rule has not been used before with the same premises. The reasoner never
repeats the same rule application.
3</p>
    </sec>
    <sec id="sec-2">
      <title>The D-ATMS</title>
      <p>The D-ATMS maintains dependencies between formulas inferred by the reasoner. To do
so, the D-ATMS builds and maintains a justification graph. Each node in the graph
corresponds to a formula or a justification. We denote the node corresponding to a formula
by n . Axioms are represented by axiom nodes, and inconsistency is represented by
a distinguished false node, n?. A justification is a structure j : n 1 ; : : : ; n k ) n ,
where n 1 ; : : : ; n k are nodes corresponding to the antecedents of an inference rule
application, n is a node corresponding to the consequent,and j is the justification id, a
unique, sequentially assigned integer that identifies the justification.1 In the interests of
readability, we will often refer to a formula node n by the formula it represents.</p>
      <p>When the reasoner applies an inference rule, it passes the resulting inference to the
D-ATMS, causing the D-ATMS to update the justification graph. The reasoner keeps
making inferences until no new inferences can be made. The D-ATMS is then invoked
to compute all explanations for ?. An explanation consists of all minimal sets of axioms
from which ? can be derived, and, optionally, the sequence of inference rules necessary
to derive ? from each set of axioms. The explanations returned by the D-ATMS are
guaranteed to be correct (in the sense that ? is derivable from each of the returned sets
of axioms) and minimal (in the sense that ? is not derivable from their proper subsets).</p>
      <p>As an example, consider the following TBox inspired by the MadCow example
from the OilEd tutorial:
ax1 Sheep v Animal
ax2 Cow v Animal u 8eats::Animal
ax3 M adCow v Cow u 9eats:(Sheep t Cow)
we also add the assumption M adCow(a). The inferences made by the reasoner give
rise to the following justifications (note that Animal(b) has two justifications):
j1 M adCow(a), M adCow v Cowu9eats:(SheeptCow) ) Cowu9eats:(Sheept</p>
      <p>Cow)(a)
j2 Cow u 9eats:(Sheep t Cow)(a) ) Cow(a)
j3 Cow u 9eats:(Sheep t Cow)(a) ) 9eats:(Sheep t Cow)(a)
j4 Cow(a), Cow v Animal u 8eats::Animal, ) Animal u 8eats::Animal(a)
j5 9eats:(Sheep t Cow)(a) ) eats(a; b)
j6 9eats:(Sheep t Cow)(a) ) (Sheep t Cow)(a)
j7 (Animal u 8eats::Animal)(a) ) Animal(a)
j8 (Animal u 8eats::Animal)(a) ) 8eats::Animal(a)
j9 eats(a; b), 8eats::Animal(a) ) :Animal(b)
j10 (Sheep t Cow)(a) ) Sheep(a) (non-deterministic)
j11 (Sheep t Cow)(a) ) Cow(a) (non-deterministic)
j12 Sheep(b), Sheep v Animal ) Animal(b)
j13 Animal(b), :Animal(b) ) ?
j14 Cow(b), Cow v Animal u 8eats::Animal ) (Animal u 8eats::Animal)(b)
j15 (Animal u 8eats::Animal)(b) ) Animal(b)
j16 (Animal u 8eats::Animal)(b) ) 8eats::Animal(b)
and the justification graph is shown in Figure 2.</p>
      <p>
        In a standard ATMS [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], each node has a label consisting of a set of environments.
An environment is a minimal set of axioms from which the corresponding formula is
1 Note that we use the term justification as it is used in ATMS literature, rather than to mean the
minimal set of axioms responsible for an entailment as in, e.g., [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Cow(a)
j1 ∃ eats.(Sheep Cow)(a)
n5 j2
j3
j5</p>
      <p>j6
(Sheep Cow)(b) n10</p>
      <p>j10</p>
      <p>MadCow
Cow ∃ eats.(Sheep Cow)
n3</p>
      <p>Cow
Animal ∀eats.¬Animal Animal(a)
n2
n6
Cow(a)
j11
n15</p>
      <p>Cow(b)
∃ eats.(Sheep Cow)(a) n7</p>
      <p>n4
MadCow(a)
eats(a, b)
n9</p>
      <p>j9
n13
¬Animal(b)
derivable (an explanation). For example, Animal(a) in Figure 2 would have an
environment fCow v Animalu8eats::Animal, M adCow v Cowu9eats:(SheeptCow),
M adCow(a)g. Labels are computed and minimised at the same time as the
justification graph is built. In contrast, in AOD, labels are computed only for the nodes which
belong to the part of the justification graph which is involved in the derivation of ? (is
reachable from ? following the edges backwards), and only after the graph is complete.
In our example, the relevant part is the graph without the justifications j7, j16 and the
nodes n11, n18.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Computing Labels</title>
      <p>In this section, we explain how the standard ATMS label computation algorithms are
generalised to deal with disjunctions. Basically, the generalisation consists in keeping
track of dependencies on disjunctive choices in addition to dependencies on axioms.</p>
      <p>As in a standard ATMS, each node in the justification graph has a label consisting
of a set of environments. However in the D-ATMS, an environment represents a set of
axioms and choices under which a particular formula holds.</p>
      <p>Definition 1 (environment). An environment e is a pair (A; C) where A is a set of
axioms and C is a sequence of choice sets [c1; : : : ; ck] of length k 0. Each choice set
ci is a pair (di; bi) where di = 1 t : : : t n is a disjunction and bi f 1; : : : ; ng
is a set of choices for di (i.e., a subset of the disjuncts appearing in the disjunction).
The presence of an environment (A; C) in the label of a node n indicates that can
be derived from the axioms A together with a sequence of choices from C. The choice
sequence corresponds to a (set of) tableau branch(es): each choice consists of a
disjunction di and one or more of the disjuncts appearing in di. If can be derived from all the
disjuncts appearing in di, we have eliminated dependency on all choices for di, and the
choice set for di can be removed from C. If the sequence of choice sets is empty, then
does not depend on any choices (i.e., it can be derived from only the axioms A). For
example, the presence of the environment (f 1; : : :, kg; [ ]) in the label of a node n
means that has been derived by the reasoner from the axioms 1; : : : ; k.</p>
      <p>Environments in the D-ATMS thus capture the branching structure of a tableau.
For example, in the tableau in Figure 1 an environment for B1(a) will have a choice
sequence [((B1 t B2 t B3)(a); B1(a))] and C1(b) will have a choice sequence [((B1 t
B2 t B3)(a); B1(a)), ((C1 t C2)(b); C1(b))]. The order of choice sets in a choice
sequence comes from the order in which the t-rule is applied to disjunctions on the
corresponding branch. If one choice sequence corresponds to a prefix of another, then
the first choice sequence depends on fewer disjunctive choices. This intuition may be
helpful when considering the definition of subsumption for environments below.</p>
      <p>The label of a node contains the set of environments from which the formula
corresponding to the node can be derived. The label of n? consists of a set of inconsistent
environments or nogoods.</p>
      <p>
        To define the D-ATMS algorithms for computing labels, we need the following
primitive operations on environments and labels which generalise and extend the
corresponding notions in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
      <p>We say that a choice sequence C1 is a prefix of a choice sequence C2, C1 C2, if
C1 = [(d1; b1); : : : ; (dk; bk)] and C2 = [(d01; b01); : : : ; (d0n; b0n)], k n and for every
i k, di = d0i and b0i bi. C1 C2 iff C1 C2 and C2 6 C1.</p>
      <p>Definition 2 (Subsumption of environments). An environment (A1; C1) subsumes an
environment (A2; C2), (A1; C1) s (A2; C2) iff A1 A2, and C1 C2. (A1; C1) s
(A2; C2) iff (A1; C1) s (A2; C2) and (A2; C2) 6 s (A1; C1).</p>
      <p>An environment e is nogood if it is subsumed by an environment in the label of the
false node n?.</p>
      <p>Definition 3 (Union of environments). The union of two environments e1 = (A1; C1)
and e2 = (A2; C2), e1 [ e2 = (A1 [ A2; C1 [ C2) if C1 and C2 are sequences of
choice sets for which C1 [ C2 is defined, otherwise e1 [ e2 is not defined. [ for
sequences of choice sets is defined as follows:
1. if C1 C2 then C1 [ C2 = C2;
2. if C2 C1 then C1 [ C2 = C1;
3. for all other cases, C1 [ C2 is not defined.</p>
      <p>Intuitively, environments of two antecedents can be combined by [ to form an
environment of the consequent if the antecedents belong to the same branch of the tableau.
Definition 4 (Merge of environments). The merge of two environments e1 = (A1; C1)
and e2 = (A2; C2), e1 [+ e2 = (A1 [A2; C1 [+ C2) if C1 and C2 are sequences of choice
sets for which [+ is defined. Otherwise, e1 [+ e2 is not defined. [+ for sequences of
choice sets is defined as follows:
1. if C1 = [(d1; b1); : : : ; (dn; bn)] and C2 = [(d01; b01); : : : ; (d0n; b0n)], n 1, and for
every i &lt; n di = d0i and b0i = bi (in other words, C1 and C2 are the same apart
from their last element), dn = d0n, bn 6= b0n, then
(a) if bn [b0n does not include all the disjuncts in dn, then C1 [+ C2 = [(d1; b1); : : : ;
(dn; bn [ b0n)]
(b) C1 [+ C2 = [(d1; b1); : : : ; (dn 1; bn 1)] otherwise;
2. for all other cases, C1 [+ C2 is not defined.</p>
      <p>Intuitively, if the same formula belongs to all children of a disjunctive node in a tableau,
then it can be lifted ‘up’ to the parent, otherwise, [+ merges two subtrees into one
subtree where the formula belongs to all children. Recall that the label of a node is the
set of all environments from which the node can be derived.</p>
      <p>Definition 5 (Union of labels). The union of two labels L1 and L2, L1 [+ L2 = L1 [
L2 [ fe1 [+ e2 j e1; e2 2 L1 [ L2g.</p>
      <p>We can now give a sketch of how labels are computed.</p>
      <p>Given a justification graph as in Figure 2, we first compute the justification closure
J for n?, namely the set of justifications that have n? as a consequent, together with
the justifications of the antecedents of those justifications, and so on until we reach
justifications whose antecedents are axiom nodes. Initially, the labels of all nodes in J
other than axiom nodes are empty, and the label of each axiom node in J contains a
single environment consisting of the axiom itself.</p>
      <p>The justifications in J are processed in order of their ids. For each justification
j : n 1 ; : : : ; n k ) n 2 J in turn, if j is deterministic (corresponds to any inference
rule apart from the t-rule), then for every k-tuple of environments from the labels
of n 1 ; : : : ; n k (every way to derive the premises) we take their [ union (which
means, we only combine derivations on the same branch), remove any of the resulting
environments which are subsumed (to guarantee minimality), remove nogoods and, if
the label of n has changed as a result, propagate the changes to the nodes reachable by
following already processed (having a smaller id) justification links from n (since we
discovered a new way to derive those formulas, too).</p>
      <p>If a justification j : nd ) n i is non-deterministic (corresponds to t-rule), then
we need to make sure that the choices corresponding to splitting d are added at the
correct points in the tableau tree (recall Figure 1). New branches should be added
under each existing branch in the tableau where the disjunction is derivable. To reflect
this tableau structure in the label of n i , for each environment (A; C) appearing in the
label of nd we compute the set of choice sequences of maximal length appearing in
any label, fC1; : : : ; Ckg. Each element Cs (1 s k) of this set is maximal
(corresponds to a complete branch ending in a leaf), and C is a prefix of Cs. For each such Cs
we add an environment (A; Cs + (d; f ig)) to a set L which is a new set of
environments for i generated by j. For example, in Figure 1, when the t-rule is applied to
(C1 t C2)(b), the only choice sequence appearing in its label is [ ]. The set of choice
sequences of maximal length which have [ ] as a prefix are [((B1 t B2 t B3)(a); B1(a))],
[((B1 t B2 t B3)(a); B2(a))], and [((B1 t B2 t B3)(a); B3(a))]. The choice sequences
in the environments of C1(b) and C2(b) become [((B1 t B2 t B3)(a); B1(a)); ((C1 t
C2)(a); C1(a))], [((B1 t B2 t B3)(a); B1(a)); ((C1 t C2)(a); C2(a))], etc. Finally we
add L to the old label of i using [+, remove any subsumed environments and
nogoods, and propagate the changes to the nodes reachable from i by following already
processed justifications from i in J .</p>
      <p>The label computation algorithms are correct, in that every set of axioms 0 from
which ? can be derived given the set of justifications produced by the reasoner is a
superset of the axioms appearing in some environment in the label of n?, and ? can be
derived from every environment in its label.
5</p>
    </sec>
    <sec id="sec-4">
      <title>Experimental Results</title>
      <p>We have developed a prototype implementation of our approach.2 Both the reasoner
and the D-ATMS are implemented in Pop-11.3 The tableaux reasoner is implemented
as a set of six inference rules using Poprulebase, a Pop-11 rule interpreter.</p>
      <p>
        To evaluate our approach, we performed experiments in which we compared the
performance of our prototype system when providing all minimal explanations for
inconsistencies in a variety of unfoldable ALC TBoxes with that of MUPSter [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and
Pellet [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] (version 2.2.2). We chose to compare the D-ATMS with MUPSter and Pellet
as they represent different approaches to finding all minimal explanations for an
inconsistency. Both use a glass-box approach (extending the reasoner with dependency
tracking), but MUPSter finds all minimal explanations, while Pellet finds a single
minimal explanation, which is then combined with Reiter’s Hitting Set algorithm [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] to find
all other explanations [
        <xref ref-type="bibr" rid="ref24 ref9">9, 24</xref>
        ]. (In our experiments, we used Pellet’s glass-box approach,
as this typically requires less time to find an explanation [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].) The experiments were
performed on a Intel Dual Core 2.16GHz, 2GB RAM PC running Ubuntu. All times are
CPU times in ms and represent the average of 5 runs. Only the time actually used for
generating explanations is given. We do not count the time AOD, MUPSter, and Pellet
spend parsing and loading the ontologies, nor the time required for them to render the
explanations.
      </p>
      <p>
        To test the correctness of our implementation, we compared the results for AOD
with those of MUPSter on the set of 1,611 randomly generated unfoldable ALC TBoxes
used by Schlobach to evaluate the performance of MUPSter [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ].4 For each ontology,
we obtained a list of unsatisfiable concept names from RacerPro before finding all
minimal explanations for each unsatisfiable concept name.5 The explanations generated
2 AOD is available at http://www.agents.cs.nott.ac.uk/research/logics/
ontologies.
3 http://www.cs.bham.ac.uk/research/projects/poplog/freepoplog.
      </p>
      <p>html
4 The dataset is available at http://www.few.vu.nl/˜schlobac/software.html.
5 http://www.racer-systems.com/products/racerpro
by both systems were the same, apart from one case where MUPSter returned a
nonminimal explanation.6</p>
      <p>We also recorded the CPU time required for AOD, MUPSter and Pellet to generate
explanations for each ontology. In one case MUPSter did not produce an explanation
within 5000 seconds and the run was aborted. We omitted this case and the case in
which MUPSter returned a non-minimal explanation from our analysis, and in the
following we consider only the remaining 1609 cases. Overall, AOD was noticeably faster
than both MUPSter and Pellet, with an average execution time of 30ms (median 9ms)
compared to 1001ms (median 166ms) for MUPSter and 478ms (median 383) for Pellet.</p>
      <p>
        To evaluate the performance of AOD on more realistic examples, we used the Geo
ontology [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], the Biochemistry-primitive ontology from the TONES repository,7 a
fragment of the Ordnance Survey BuildingsAndPlaces ontology,8 and the Adult Mouse
Brain Ontology from the NCBO BioPortal.9 The Biochemistry-primitive,
BuildingsAndPlaces, and Adult Mouse Brain ontologies were translated into ALC by removing
axioms for inverse roles and role inclusions. As in [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], the Geo ontology was made
incoherent by adding disjointness axioms of the form DJ (A1; : : : ; An) stating that the
concepts A1; : : : ; An are pairwise disjoint. To handle the disjointness axioms, we added
the following inference rule to the reasoner:
dj-rule from Ai(a) and DJ (A1; : : : ; An) derive :Aj (a) for all j 6= i, j 2 f1; : : : ; ng.
To make the other ontologies incoherent, we choose to systematically create
unsatisfiable concepts from existing ontology entailments, allowing us to control the number of
unsatisfiable concepts and the form of the resulting explanations. For each ontology, we
randomly selected 10 pairs of concepts (A; B) where A v B is non-trivially entailed
by the ontology, i.e., A v B 62 T . Then for each entailment, A v B, we created a
concept EntailmentA B v A u :B. Finding all minimal explanations for the
entailment A v B thus becomes equivalent to finding all minimal explanations for the
unsatisfiability of EntailmentA B.
6 For the TBox tbox 50 6 1 1 3 5 v1 and unsatisfiable concept A49 MUPSter returns
fA49; A37; A26; A34; A0g as an explanation for the unsatisfiability of A49, while the
DATMS returns fA49; A37; A34; A0g.
7 http://owl.cs.manchester.ac.uk/repository
8 http://www.ordnancesurvey.co.uk/oswebsite/ontology/
      </p>
      <p>BuildingsAndPlaces/v1.1/BuildingsAndPlaces.owl
9 http://bioportal.bioontology.org/ontologies/1290</p>
      <p>The results are presented in Table 1. The second and third columns show the number
of axioms and the total number of unsatisfiable concepts in each ontology. As can be
seen, AOD is 1.5 to 3.5 times faster than MUPSter and 4 to 50 times faster than Pellet
on these ontologies.
6</p>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Two main approaches to axiom pinpointing have been proposed in the literature:
glassbox methods and black-box methods. A glass-box method extends a description logic
reasoner with some method of dependency tracking. A black-box method, e.g., [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], uses
the reasoner as an oracle to determine whether a set of axioms results in an
inconsistency or a concept is unsatisfiable with respect to a set of axioms, and then shrinks
that set to find a minimal set of reasons for the inconsistency or concept
unsatisfiability. Black-box methods have the advantage of being reasoner-independent. However it
can be argued that glass-box methods provide additional information in the form of a
derivation, which is useful for debugging, e.g., to present the user with a summary of
the derivation and which parts of the axioms were used to derive a contradiction.
      </p>
      <p>
        AOD adopts a glass-box approach to ontology debugging. To date, much of the
work on glass box approaches, e.g., [
        <xref ref-type="bibr" rid="ref15 ref16 ref22 ref8">22, 8, 16, 15</xref>
        ], has been tailored to a particular
logic. More recently, Baader and Pen˜aloza [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] have proposed a generic tableau rule
specification format and a pinpointing algorithm that works for reasoners specified in
this format. They also show that termination of a tableau reasoner for satisfiability does
not necessarily lead to the termination of its pinpointing extension. In addition, for
tableau reasoners that require a blocking condition for termination, e.g., full ALC, it
is not sufficient for the pinpointing extension to use the same blocking condition as
the reasoner, because the pinpointing extension needs to take into account not only the
presence of an assertion in A, but also its justifications to determine if a tableau rule
instance should be blocked. In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] they give a characterisation of a class of terminating
tableaux where the blocking condition yields a complete and terminating pinpointing
extension. However, to the best of our knowledge, this approach has not been
implemented. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ] we sketched an approach to using an ATMS for ontology debugging in
a description logic without disjunctions, but did not provide an implementation.
      </p>
      <p>
        The ATMS as described in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] does not support non-deterministic choices.
However several approaches to handling disjunctions in an ATMS have been proposed in the
literature. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] de Kleer extended the original ATMS to encode disjunctions of
assumptions (axioms) by introducing a set of hyper-resolution rules. However, such rules
may significantly reduce the efficiency of the ATMS. Another approach uses a
justification for ? by negated assumptions to represent a disjunction of assumptions, e.g.,
A _ B can be encoded by the justification :A; :B )? [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Both of these approaches
are limited to encoding a disjunction of assumptions (axioms). However, in ontology
debugging, disjunctions often appear in concept descriptions. In contrast, the D-ATMS
allows disjunctions of nodes corresponding to arbitrary formulas. In [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] the original
ATMS was generalised to a clause management system (CMS) where justifications are
arbitrary disjunctive clauses. To find the ‘minimal support’ for a clause, the CMS
implementation described in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] uses a method for computing prime implicants which
relies on justifications being clauses consisting of literals to which the resolution rule
can be applied. Adopting such an approach would require translating TBox axioms into
clauses, and more importantly, finding some way of mapping the clauses returned by
the CMS back to the original TBox. The latter in particular is a non-trivial problem.
Label computation in the D-ATMS has some similarities with lazy label evaluation in
assumption-based truth maintenance systems, e.g., [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], and the restriction to n? can
be seen as a special case of focussing the ATMS, e.g., [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Such approaches have been
shown to offer significant performance improvements relative to the ATMS described
in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
7
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>We described AOD, a system for debugging unfoldable ALC TBoxes based on an
ATMS with disjunctions. Our approach is correct and complete with respect to a
reasoner for ALC with unfoldable TBoxes. We presented experimental results which
suggest that its performance compares favourably with that of MUPSter and Pellet. As the
D-ATMS maintains an explicit justification structure, it is straightforward to generate
explanations of how a contradiction is derivable intended for human users — the
DATMS essentially keeps intermediate steps in a derivation and can produce them on
request.</p>
      <p>
        We believe the D-ATMS is a promising new approach to ontology debugging.
Although our approach was developed for ALC with unfoldable TBoxes, the reasoner
and the reason maintenance component are only loosely coupled, and the D-ATMS can
be adapted to work with other tableau reasoners. Characterising the conditions under
which a terminating tableau algorithm can be combined with the D-ATMS to produce a
debugging tool that will find all minimal explanations of ? is further work. One possible
approach would be to build on the results of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. The production of more user-friendly
explanations of how a contradiction is derivable is also a topic of future work.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hollunder</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Embedding defaults into terminological representation systems</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>14</volume>
          ,
          <fpage>149</fpage>
          -
          <lpage>180</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hollunder</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A terminological knowledge representation system with complete inference algorithms</article-title>
          .
          <source>In: Processing Declarative Knowledge, LNCS</source>
          , vol.
          <volume>567</volume>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>86</lpage>
          (
          <year>1991</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , Pen˜aloza, R.:
          <article-title>Axiom pinpointing in general tableaux</article-title>
          .
          <source>Journal of Logic and Computation</source>
          <volume>20</volume>
          (
          <issue>1</issue>
          ),
          <fpage>5</fpage>
          -
          <lpage>34</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bail</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>The justificatory structure of the NCBO BioPortal ontologies</article-title>
          .
          <source>In: Proceedings of the 10th International Semantic Web Conference (ISWC</source>
          <year>2011</year>
          ). LNCS, vol.
          <volume>7031</volume>
          , pp.
          <fpage>67</fpage>
          -
          <lpage>82</lpage>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Broekstra</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kampman</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Inferencing and truth maintenance in RDF schema</article-title>
          .
          <source>In: Proceedings of the First International Workshop on Practical and Scalable Semantic Systems. CEUR Workshop Proceedings</source>
          , vol.
          <volume>89</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Forbus</surname>
          </string-name>
          , K.D., de Kleer, J.:
          <article-title>Focusing the ATMS</article-title>
          .
          <source>In: Proceedings of the Seventh National Conference on Artificial Intelligence</source>
          . pp.
          <fpage>193</fpage>
          -
          <lpage>198</lpage>
          . AAAI Press/MIT Press (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Guo</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heflin</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>An initial investigation into querying an untrustworthy and inconsistent web</article-title>
          .
          <source>In: Proceedings of the ISWC'04 Workshop on Trust, Security, and Reputation on the Semantic Web</source>
          . vol.
          <volume>127</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hendler</surname>
          </string-name>
          , J.:
          <article-title>Debugging unsatisfiable classes in OWL ontologies</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>3</volume>
          (
          <issue>4</issue>
          ),
          <fpage>268</fpage>
          -
          <lpage>293</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
          </string-name>
          , E.:
          <article-title>Finding all justifications of OWL DL entailments</article-title>
          . The Semantic Web pp.
          <fpage>267</fpage>
          -
          <lpage>280</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kelleher</surname>
          </string-name>
          , G., van der Gaag, L.:
          <article-title>The LazyRMS: Avoiding work in the ATMS</article-title>
          .
          <source>Computational Intelligence</source>
          <volume>9</volume>
          (
          <issue>3</issue>
          ),
          <fpage>239</fpage>
          -
          <lpage>253</lpage>
          (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11. de Kleer,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>An assumption-based TMS</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>28</volume>
          (
          <issue>2</issue>
          ),
          <fpage>127</fpage>
          -
          <lpage>162</lpage>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. de Kleer, J.:
          <source>Extending the ATMS. Artificial Intelligence</source>
          <volume>28</volume>
          (
          <issue>2</issue>
          ),
          <fpage>163</fpage>
          -
          <lpage>196</lpage>
          (
          <year>1986</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. de Kleer, J.:
          <article-title>A general labeling algorithm for assumption-based truth maintenance</article-title>
          .
          <source>In: Proceedings of the Seventh National Conference on Artificial Intelligence (AAAI'88)</source>
          . pp.
          <fpage>188</fpage>
          -
          <lpage>192</lpage>
          . AAAI Press/MIT Press (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. de Kleer,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>An improved incremental algorithm for generating prime implicates</article-title>
          .
          <source>In: Proc. of the Tenth National Conference on Artificial Intelligence (AAAI'92)</source>
          . pp.
          <fpage>780</fpage>
          -
          <lpage>785</lpage>
          . AAAI Press/MIT Press (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lam</surname>
            ,
            <given-names>J.S.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sleeman</surname>
            ,
            <given-names>D.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vasconcelos</surname>
            ,
            <given-names>W.W.:</given-names>
          </string-name>
          <article-title>A fine-grained approach to resolving unsatisfiable ontologies</article-title>
          .
          <source>Journal of Data Semantics</source>
          <volume>10</volume>
          ,
          <fpage>62</fpage>
          -
          <lpage>95</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16. Meyer, T.A.,
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Booth</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J.Z.</given-names>
          </string-name>
          :
          <article-title>Finding maximally satisfiable terminologies for the description logic ALC</article-title>
          .
          <source>In: Proceedings of the Twenty First National Conference on Artificial Intelligence (AAAI'06)</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Nebel</surname>
          </string-name>
          , B.:
          <article-title>Terminological reasoning is inherently intractable</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>43</volume>
          (
          <issue>2</issue>
          ),
          <fpage>235</fpage>
          -
          <lpage>249</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Nguyen</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alechina</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Ontology debugging with truth maintenance systems</article-title>
          . In: Bundy,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Lehmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Qi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Varzinczak</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.J</surname>
          </string-name>
          . (eds.) ECAI-10
          <source>Workshop on Automated Reasoning about Context and Ontology Evolution (ARCOE-10)</source>
          , Workshop Notes. pp.
          <fpage>13</fpage>
          -
          <lpage>14</lpage>
          . Lisbon, Portugal (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Reiter</surname>
          </string-name>
          , R.:
          <article-title>A theory of diagnosis from first principles</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>32</volume>
          (
          <issue>1</issue>
          ),
          <fpage>57</fpage>
          -
          <lpage>95</lpage>
          (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Reiter</surname>
          </string-name>
          , R., de Kleer, J.:
          <article-title>Foundations of assumption-based truth maintenance systems: Preliminary report</article-title>
          .
          <source>In: Proceedings of the Sixth National Conference on Artificial Intelligence</source>
          ,
          <source>(AAAI'87)</source>
          . pp.
          <fpage>183</fpage>
          -
          <lpage>189</lpage>
          (
          <year>1987</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Ren</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J.Z.</given-names>
          </string-name>
          :
          <article-title>Optimising ontology stream reasoning with truth maintenance system</article-title>
          .
          <source>In: Proceedings of the ACM Conference on Information and Knowledge Management (CIKM</source>
          <year>2011</year>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornet</surname>
          </string-name>
          , R.:
          <article-title>Non-standard reasoning services for the debugging of description logic terminologies</article-title>
          . In: Gottlob,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Walsh</surname>
          </string-name>
          , T. (eds.)
          <source>Proceedings of the Eighteenth International Joint Conference on Artificial Intelligence (IJCAI'03)</source>
          . pp.
          <fpage>355</fpage>
          -
          <lpage>360</lpage>
          . Morgan Kaufmann (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornet</surname>
          </string-name>
          , R., van
          <string-name>
            <surname>Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Debugging incoherent terminologies</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>317</fpage>
          -
          <lpage>349</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical OWL-DL reasoner</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <fpage>51</fpage>
          -
          <lpage>53</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>