<!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>DysToPic: a Multi-Engine Theorem Prover for Preferential Description Logics</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Laura Giordano</string-name>
          <email>laura.giordano@unipmn.it</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valentina Gliozzi</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicola Olivetti</string-name>
          <email>nicola.olivetti@univ-amu.fr</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gian Luca Pozzato</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Luca Violanti</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Aix Marseille Universite ́ - ENSAM, Universite ́ de Toulon</institution>
          ,
          <addr-line>LSIS UMR 7296 -</addr-line>
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>DISIT - U. Piemonte Orientale - Alessandria</institution>
          ,
          <country country="IT">Italy -</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Dip. Informatica - Universita ́ di Torino -</institution>
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>NCR Edinburgh - United Kingdom -</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>We describe DysToPic, a theorem prover for the preferential Description Logic ALC + Tmin. This is a nonmonotonic extension of standard ALC based on a typicality operator T, which enjoys a preferential semantics. DysToPic is a multi-engine Prolog implementation of a labelled, two-phase tableaux calculus for ALC + Tmin whose basic idea is that of performing these two phases by different machines. The performances of DysToPic are promising, and significantly better than the ones of its predecessor PreDeLo 1.0.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Nonmonotonic extensions of Description Logics (DLs) have been actively investigated
since the early 90s [
        <xref ref-type="bibr" rid="ref1 ref13 ref3 ref4 ref5 ref6 ref7">3, 1, 4, 6, 7, 13, 5</xref>
        ]. A simple but powerful nonmonotonic extension
of DLs is proposed in [
        <xref ref-type="bibr" rid="ref12 ref13 ref7">7, 13, 12</xref>
        ]: in this approach “typical” or “normal” properties can
be directly specified by means of a “typicality” operator T enriching the underlying DL;
the typicality operator T is essentially characterized by the core properties of
nonmonotonic reasoning axiomatized by either preferential logic [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] or rational logic [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]. In
these logics one can consistently express defeasible inclusions and exceptions such as
“normally, kids eat chocolate, but typical kids who have lactose intolerance do not”:
T(Kid ) v ChocolateEater
      </p>
      <p>T(Kid u 9HasIntolerance :Lactose ) v :ChocolateEater .</p>
      <p>
        In order to perform useful inferences, in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] we have introduced a nonmonotonic
extension of the logic ALC plus T based on a minimal model semantics. Intuitively, the
idea is to restrict our consideration to models that maximize typical instances of a
concept: more in detail, we introduce a preference relation among ALC plus T models,
then we define a minimal entailment restricted to models that are minimal with respect
to such preference relation. The resulting logic, called ALC + Tmin, supports
typicality assumptions, so that if one knows that Roman is a kid, one can nonmonotonically
assume that he is also a typical kid and therefore that he eats chocolate. As an example,
for a TBox specified by the inclusions above, in ALC + Tmin we can infer that:
TBox j=ALC+Tmin T(Kid u Tall ) v ChocolateEater 5
TBox [ fKid (daniel)g j=ALC+Tmin ChocolateEater (daniel )
      </p>
      <p>TBox [ fKid (daniel ); 9HasIntolerance:Lactose(daniel )g j=ALC+Tmin</p>
      <sec id="sec-1-1">
        <title>5 Being tall is irrelevant with respect to eating chocolate or not.</title>
        <p>
          x j=ALC+Tmin :ChocolateEater (daniel )6
TBox [ fKid (daniel ); Tall (daniel )g j=ALC+Tmin ChocolateEater (daniel )
TBox [ f9HasBrother : Kid (seth)g j=ALC+Tmin 9 HasBrother : ChocolateEater (seth)7
In this work we focus on theorem proving for nonmonotonic extensions of DLs. We
introduce DysToPic, a theorem prover for preferential Description Logic ALC + Tmin.
DysToPic implements the labelled tableaux calculus for this logic introduced in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]
performing a two-phase computation: in the first phase, candidate models falsifying
a given query are generated (complete open branches); in the second phase the
minimality of candidate models is checked by means of an auxiliary tableau construction.
DysToPic is a multi-engine theorem prover, whose basic idea is that the two phases
of the calculus are performed by different machines: a “master” machine M , called the
employer, executes the first phase of the tableaux calculus, whereas other computers are
used to perform the second phase on open branches detected by M . When M finds an
open branch, it invokes the second phase on the calculus on a different “slave” machine,
called worker, S1, while M goes on performing the first phase on other branches, rather
than waiting for the result of S1. When another open branch is detected, then another
machine S2 is involved in the procedure in order to perform the second phase of the
calculus on that branch. In this way, the second phase is performed simultaneously on
different branches, leading to a significant increase of the performances.
        </p>
        <p>
          Labelled tableaux calculi are implemented in Prolog, following the line of the
predecessor PreDeLo 1.0, introduced in [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]: DysToPic is inspired by the methodology
introduced by the system leanTAP [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ], even if it does not fit its style in a rigorous
manner. The basic idea is that each axiom or rule of the tableaux calculi is implemented by
a Prolog clause of the program: the resulting code is therefore simple and compact.
        </p>
        <p>In general, the literature contains very few proof methods for nonmonotonic
extensions of DLs. We provide some experimental results to show that the performances
of DysToPic are promising, in particular comparing them to the ones of PreDeLo
1.0. DysToPic is available for free download at:</p>
        <p>http://www.di.unito.it/spozzato/theoremprovers.html
2</p>
        <sec id="sec-1-1-1">
          <title>The Logic ALC + Tmin</title>
          <p>
            The logic ALC + Tmin is obtained by adding to the standard ALC the typicality
operator T [
            <xref ref-type="bibr" rid="ref12 ref7">7, 12</xref>
            ]. The intuitive idea is that T(C) selects the typical instances of a concept
C. We can therefore distinguish between the properties that hold for all instances of
concept C (C v D), and those that only hold for the normal or typical instances of C
(T(C) v D).
          </p>
          <p>The language L of the logic is defined by distinguishing concepts and extended
concepts as follows. Given an alphabet of concept names C, of role names R, and of
individual constants O, A 2 C and &gt; are concepts of L; if C; D 2 L and R 2 R,
then C u D; C t D; :C; 8R:C; 9R:C are concepts of L. If C is a concept, then C and
T(C) are extended concepts, and all the boolean combinations of extended concepts</p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>6 Giving preference to more specific information.</title>
        <p>7 Minimal consequence applies to individuals not explicitly named in the ABox as well, without
any ad-hoc mechanism.
are extended concepts of L. A KB is a pair (TBox,ABox). TBox contains inclusion
relations (subsumptions) C v D, where C is an extended concept of the form either C0
or T(C0), and D 2 L is a concept. ABox contains expressions of the form C(a) and
R(a; b), where C 2 L is an extended concept, R 2 R, and a; b 2 O.</p>
        <p>
          In order to provide a semantics to the operator T, we extend the definition of a
model used in “standard” logic ALC. The idea is that the operator T is characterized
by a set of postulates that are essentially a reformulation of the Kraus, Lehmann and
Magidor’s axioms of preferential logic P [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ]. Intuitively, the assertion T(C) v D
corresponds to the conditional assertion C j D of P. T has therefore all the “core”
properties of nonmonotonic reasoning as it is axiomatized by P. The idea is that there
is a global preference relation among individuals, in the sense that x &lt; y means that x
is “more normal” than y, and that the typical members of a concept C are the minimal
elements of C with respect to this relation. In this framework, an element x 2 is
a typical instance of some concept C if x 2 CI and there is no element in CI more
typical than x. The typicality preference relation is partial.
        </p>
        <p>Definition 1. Given an irreflexive and transitive relation &lt; over , we define M in&lt;(S)
= fx : x 2 S and @y 2 S s.t. y &lt; xg. We say that &lt; is well-founded if and only if, for
all S , for all x 2 S, either x 2 M in&lt;(S) or 9y 2 M in&lt;(S) such that y &lt; x.
Definition 2. A model of ALC + Tmin is any structure h ; &lt;; Ii, where: is the
domain; I is the extension function that maps each extended concept C to CI ,
and each role R to a RI ; &lt; is an irreflexive, transitive and well-founded
(Definition 1) relation over . I is defined in the usual way (as for ALC) and, in
addition, (T(C))I = M in&lt;(CI ).</p>
        <p>Given a model M of Definition 2, I can be extended so that it assigns to each individual
a of O a distinct element aI of the domain (unique name assumption). We say that
M satisfies an inclusion C v D if CI DI , and that M satisfies C(a) if aI 2 CI and
R(a; b) if (aI ; bI ) 2 RI . Moreover, M satisfies TBox if it satisfies all its inclusions,
and M satisfies ABox if it satisfies all its formulas. M satisfies a KB (TBox,ABox), if
it satisfies both TBox and ABox.</p>
        <p>The semantics of the typicality operator can be specified by modal logic. The
interpretation of T can be split into two parts: for any x of the domain , x 2 (T(C))I
just in case (i) x 2 CI , and (ii) there is no y 2 CI such that y &lt; x. Condition (ii) can
be represented by means of an additional modality , whose semantics is given by the
preference relation &lt; interpreted as an accessibility relation. The interpretation of in
M is as follows: ( C)I = fx 2 j for every y 2 , if y &lt; x then y 2 CI g. We
immediately get that x 2 (T(C))I if and only if x 2 (C u :C)I .</p>
        <p>
          Even if the typicality operator T itself is nonmonotonic (i.e. T(C) v E does not
imply T(C u D) v E), what is inferred from a KB can still be inferred from any
KB’ with KB KB’. In order to perform nonmonotonic inferences, in [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] we have
strengthened the above semantics by restricting entailment to a class of minimal (or
preferred) models. Intuitively, the idea is to restrict our consideration to models that
minimize the non-typical instances of a concept.
        </p>
        <p>Given a KB, we consider a finite set LT of concepts: these are the concepts whose
non-typical instances we want to minimize. We assume that the set LT contains at least
all concepts C such that T(C) occurs in the KB or in the query F , where a query F is
either an assertion C(a) or an inclusion relation C v D. As we have just said, x 2 CI
is typical for C if x 2 ( :C)I . Minimizing the non-typical instances of C therefore
means to minimize the objects falsifying :C for C 2 LT. Hence, for a model M =
h ; &lt;; Ii, we define MLT = f(x; : :C) j x 62 ( :C)I ; with x 2 ; C 2 LTg:
Definition 3 (Preferred and minimal models). Given a model M = h , &lt;; Ii of a
knowledge base KB, and a model M0 = h 0; &lt;0; I0i of KB, we say that M is preferred
to M0 w.r.t. LT, and we write M &lt;LT M0, if (i) = 0, (ii) MLT M0LT , (iii)
aI = aI0 for all a 2 O. M is a minimal model for KB (w.r.t. LT) if it is a model of KB
and there is no other model M0 of KB such that M0 &lt;LT M.</p>
        <p>Definition 4 (Minimal Entailment in ALC + Tmin). A query F is minimally entailed
in ALC + Tmin by KB with respect to LT if F is satisfied in all models of KB that are
minimal with respect to LT. We write KB j=ALC+Tmin F .</p>
      </sec>
      <sec id="sec-1-3">
        <title>As an example, consider the TBox of the Introduction.</title>
        <p>We have that TBox [ fKid (daniel )g j=ALC+Tmin ChocolateEater (daniel ), since
daniel I 2 (Kid u :Kid )I for all minimal models M = h &lt;; Ii of the TBox. In
contrast, by the nonmonotonic character of minimal entailment, TBox [ fKid (daniel );
9HasIntolerance:Lactose(daniel )g j=ALC+Tmin :ChocolateEater (daniel ).
3</p>
        <sec id="sec-1-3-1">
          <title>A Tableau Calculus for ALC + Tmin</title>
          <p>
            In this section we recall the tableau calculus T ABAmLinC+T for deciding whether a query
F is minimally entailed from a KB in ALC + Tmin introduced in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ]. The
calculus performs a two-phase computation: in the first phase, a tableau calculus, called
          </p>
          <p>ALC+T, simply verifies whether KB [ f:F g is satisfiable in a model of
DefiniT ABP H1
tion 2, building candidate models; in the second phase another tableau calculus, called</p>
          <p>ALC+T, checks whether the candidate models found in the first phase are minimal
T ABP H2
ALC+T tries to build a
models of KB, i.e. for each open branch of the first phase, T ABP H2
model of KB which is preferred to the candidate model w.r.t. Definition 3. The whole
procedure is formally defined at the end of this section (Definition 5).</p>
          <p>T ABAmLinC+T tries to build an open branch representing a minimal model satisfying
KB [ f:F g, where :F is the negation of the query F and is defined as follows: if
F C(a), then :F (:C)(a); if F C v D, then :F (C u :D)(x), where x
does not occur in KB. T ABAmLinC+T makes use of labels, denoted with x; y; z; : : :. Labels
represent individuals either named in the ABox or implicitly expressed by existential
restrictions. These labels occur in constraints, that can have the form x R! y or x : C,
where x; y are labels, R is a role and C is a concept of ALC + Tmin or has the form
:D or : :D, where D is a concept.
3.1 The Tableaux Calculus TABPAHLC1+T</p>
          <p>ALC+T is a tree whose nodes are pairs hS j U i. S is a set of
conA tableau of T ABP H1
straints, whereas U contains formulas of the form C v DL, representing inclusion
relations C v D of the TBox. L is a list of labels, used in order to ensure the
termination of the tableau calculus. A branch is a sequence of nodes hS1 j U1i; hS2 j
U2i; : : : ; hSn j Uni : : :, where each node hSi j Uii is obtained from its immediate
predecessor hSi 1 j Ui 1i by applying a rule of T ABPAHLC1+T, having hSi 1 j Ui 1i as
the premise and hSi j Uii as one of its conclusions. A branch is closed if one of its
nodes is an instance of a (Clash) axiom, otherwise it is open. A tableau is closed if all
its branches are closed.</p>
          <p>The rules of T ABPAHLC1+T are presented in Fig. 1. Rules (9+) and ( ) are called
dynamic since they can introduce a new variable in their conclusions. The other rules are
called static. We do not need any extra rule for the positive occurrences of , since these
are taken into account by the computation of SxM!y of ( ). The (cut) rule ensures
ALC+T contains either
that, given any concept C 2 LT, an open branch built by T ABP H1
x : :C or x : : :C for each label x: this is needed in order to allow T ABPAHLC2+T
to check the minimality of the model corresponding to the open branch. As mentioned
above, given a node hS j U i, each formula C v D in U is equipped with the list L of
labels to which the rule (v) has already been applied. This avoids multiple applications
of such rule to the same subsumption by using the same label.</p>
          <p>In order to check the satisfiability of a KB, we build its corresponding constraint
system hS j U i, and we check its satisfiability. Given KB=(TBox,ABox), its
corresponding constraint system hS j U i is defined as follows: S = fa : C j C(a) 2
ABoxg [ fa R! b j R(a; b) 2 ABoxg; U = fC v D; j C v D 2 TBoxg. KB is
satisfiable if and only if its corresponding constraint system hS j U i is satisfiable. In order
ALC+T to check the satisfiability
to verify the satisfiability of KB [ f:F g, we use T ABP H1
of the constraint system hS j U i obtained by adding the constraint corresponding to :F
to S0, where hS0 j U i is the corresponding constraint system of KB. To this purpose, the</p>
          <p>ALC+T are applied until either a contradiction is generated
rules of the calculus T ABP H1
(clash) or a model satisfying hS j U i can be obtained.</p>
          <p>ALC+T are applied with the following standard strategy: 1. apply</p>
          <p>The rules of T ABP H1
a rule to a label x only if no rule is applicable to a label y such that y x (where y x
says that label x has been introduced in the tableaux later than y); 2. apply dynamic
rules only if no static rule is applicable.</p>
          <p>Theorem 1. Given LT, KB j=ALC+Tmin F if and only if there is no open branch</p>
          <p>
            ALC+T for the constraint system corresponding to KB
B in the tableau built by T ABP H1
[ f:F g such that the model represented by B is a minimal model of KB.
Thanks to the side conditions on the application of the rules and the blocking machinery
adopted by the dynamic ones, in [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] it has been shown that any tableau generated by
          </p>
          <p>ALC+T for hS j U i is finite.</p>
          <p>T ABP H1
3.2 The Tableaux Calculus TABPAHLC2+T</p>
          <p>ALC+T which checks whether each open branch
Let us now introduce the calculus T ABP H2</p>
          <p>ALC+T represents a minimal model of the KB.</p>
          <p>B built by T ABP H1
ALC+T, let D(B) be the set of</p>
          <p>Given an open branch B of a tableau built from T ABP H1
labels occurring in B. Moreover, let B be the set of formulas x : : :C occurring
in B, that is to say B = fx : : :C j x : : :C occurs in Bg.</p>
          <p>S, x : C, x : ¬C | U⇥
(Clash)
⇤S, x : ¬⇥ | U⌅
(Clash)
⇥S, x : | U⇤
(Clash)</p>
          <p>S, x : ¬(C ⇤ D), x : ¬CS|, xU:⇥¬(C ⇤ D)S|,ixUf⇥:x¬:(¬CC⇤⇥ DS), xan:d¬Dx |: U¬D⇥(⇥ S)</p>
          <p>S, x : C ⇤ D | U⇥ ( +)
S, x : C ⇤ D, x : C, x : D | U⇥
if {x : C, x : D} ⇥ S</p>
          <p>S, x : C ⇤ D | U⇥ ( +)
S, x : C ⇤ D, x : C | U⇥ ifS,xx::CC ⇥⇤ SD,axn:dDx|:UD⇥ ⇥ S</p>
          <p>S, x : ¬(C ⇤ D) | U⇥ ( )
S, x : ¬(C ⇤ D)if,{xx: :¬¬CC, x,x: :¬¬DD|}U⇥ ⇥ S
S,Sx,:x¬:¬¬C¬,Cx |: UC⇥| U⇥ (¬)
if x : C ⇥ S</p>
          <p>S | U⇥
S, x : ¬C | U⇥</p>
          <p>(cut)</p>
          <p>S, x : ¬ ¬C | U⇥
if x : ¬ ¬C ⇥ S and x : ¬CC ⇥ S
x occurs inLST
S, x : TS(C,x),:xT:(CC,)x|:U⇥¬C | U⇥ (T+)
if {x : C, x : ¬C} ⇥ S</p>
          <p>S, x : ¬T(C) | U⇥
S, x : ¬T(C), x : ¬C | U⇥ S, x : ¬T(C), x : ¬ ¬C | U⇥(T )</p>
          <p>if x : ¬C ⇥ S and x : ¬ ¬C ⇥ S</p>
          <p>S | U, C ⇤ DL⇥
S, x : ¬C ⇤ D | U, C ⌅ DL,x⇥ ( )
if x occurs in S and x ⇥ L</p>
          <p>⌅S, x : ⇤ R.C, x R⇥ y | U⇧
⌅S, x : ⇤ R.C, x R⇥ y, y : C | U⇧ ( +)</p>
          <p>if y : C ⇥ S
⇥S, x : R.C | U⇤ ( +)
⌅S, x : ⇤ R.C, x R⇥ y, y : C | U⇧ ⌅S, x : ⇤ R.C, x⇥ R v1, v1 : C | U⇧ ⌅S, x : ⇤ R.C, x⇥ R v2, v2 : C | U⇧ . . . ⌅S, x : ⇤ R.C, x⇥ R vn, vn : C | U⇧ y new
if ⇤ ⌅ z ⇥ x s.t. z S,x: R.C x and ⌅ ⇧ u s.t. x R⇥ u ⇤ S and u : C ⇤ S</p>
          <p>vi occurring in S</p>
          <p>S, x : ¬ ¬C | U⇥
S, x : ¬ ¬C, y &lt; x, y : C, y : ¬C, SxM y | U⇥ S, x : ¬ ¬C, v1 &lt; x, v1 : C, v1 : ¬C, SxM v1 | U⇥ . . . S, x : ¬ ¬C, vn &lt; x, vn : C, vn : ¬C, SxM vn(| U)⇥
y new
if z ⇥ x s.t. z S,x:¬ ¬C x and u s.t. {u &lt; x,u : C,u : ¬C,SxM u} S
⇥ vi occurring in S,x = vi</p>
          <p>Fig. 1. The calculus TABPAHLC1+T.</p>
          <p>S, x : C, x : ¬C | U | K⇥ (Clash)
(Clash) ⇥S, x : |(CUla|sKh)⇤ ⇤S, x : ¬⇥ | U | K⌅
⇥S |(UCl|ash⇤)</p>
          <p>S, x : ¬ ¬C | U | K⇥</p>
          <p>(Clash)
if x : ¬ ¬C ⇥ B</p>
          <p>S, xS,:xC:, xT(:C)¬|CU||UK|⇥K⇥(T+)</p>
          <p>S, x : ¬T(C) | U | K⇥ S | U, C ⇤ DL | K⇥ ⌅S, x : ⇤ R.C, x⇥ R y | U | K⇧ ( +)
S, x : ¬C | U | K⇥ S, x : ¬ ¬C | U | K⇥(T ) S, x : ¬C ⇤ D x|U, DC(⌅B)DaLn,xd |xK⇥ (⇥L) ⌅S, x : ⇤ R.C, x⇥ R y, y : C | Uif| yK:⇧C ⇥ S
⇤S, x R⇥ v1, v1 : C | U | K⌅ ⇤S,⇥xS, Rx⇥ : v2R, v.C2 :|CU ||UK|⇤K⌅ . . . ⇤S, x R⇥ vn, vn : C | U | K( ⌅+) S, x : ¬C | U | KS⇥| U | SK,⇥x : ¬ ¬C | U | K⇥ (cut)
If ⌅ ⌃ u ⇤ D(B) s.t. x R⇥ u ⇤ S and u : C ⇤ S. ⇧ vi ⇤ D(B) if x : ¬ ¬C ⇥ xS anDd(Bx): ¬CC ⇥ LST</p>
          <p>S, x : ¬ ¬C | U | K, x : ¬ ¬C⇥ ( )
⇥S, v1 : C, v1 : ¬C, SxM v1, x : ¬ ¬C | U | K⇤ ⇥S, v2 : C, v2 : ¬C, SxM v2, x : ¬ ¬C | U | K⇤ . . . ⇥S, vn : C, vn : ¬C, SxM vn, x : ¬ ¬C | U | K⇤
if ⇥ ⇤ u s.t. {u : C, u : ¬C, SxM u} S
⇤ vi D(B), x ⇥= vi
Fig. 2. The calculus TABPAHLC2+T. To save space, we only include the most relevant rules.</p>
          <p>ALC+T is a tree whose nodes are tuples of the form hS j U j Ki,
A tableau of T ABP H2</p>
          <p>ALC+T, whereas K contains formulas of the form
where S and U are defined as in T ABP H1
ALC+T is as follows. Given an open
x : : :C, with C 2 LT. The basic idea of T ABP H2
branch B built by T ABPAHLC1+T and corresponding to a model MB of KB [ f:F g,
T ABPAHLC2+T checks whether MB is a minimal model of KB by trying to build a model
of KB which is preferred to MB. To this purpose, it keeps track (in K) of the negated
box formulas used in B (B ) in order to check whether it is possible to build a model
of KB containing less negated box formulas.</p>
          <p>The rules of T ABP H2 ALC+T</p>
          <p>ALC+T are shown in Figure 2. The tableau built by T ABP H2
closes if it is not possible to build a model smaller than MB, it remains open otherwise.
Since by Definition 3 two models can be compared only if they have the same domain,</p>
          <p>ALC+T tries to build an open branch containing all the labels appearing in B, i.e.
T ABP H2
those in D(B). To this aim, the dynamic rules use labels in D(B) instead of introducing
new ones in their conclusions. The rule (v) is applied to all the labels of D(B) (and
not only to those appearing in the branch). The rule ( ) is applied to a node hS; x :
: :C j U j K; x : : :Ci, that is to say when the negated box formula x : : :C
also belongs to the open branch B. Also in this case, the rule introduces a branch on
the choice of the individual vi 2 D(B) to be used in the conclusion. In case a tableau
node has the form hS; x : : :C j U j Ki, and x : : :C 62 B , then T ABPAHLC2+T
detects a clash, called (Clash) : this corresponds to the situation where x : : :C
does not belong to B, while the model corresponding to the branch being built contains
x : : :C, and hence is not preferred to the model represented by B. The calculus
T ABPAHLC2+T also contains the clash condition (Clash);. Since each application of ( )
removes the negated box formulas x : : :C from the set K, when K is empty all the
negated boxed formulas occurring in B also belong to the current branch. In this case,</p>
          <p>ALC+T satisfies the same set of x : : :C (for all individuals)
the model built by T ABP H2
as B and, thus, it is not preferred to the one represented by B.</p>
          <p>Let KB be a knowledge base whose corresponding constraint system is hS j U i. Let
F be a query and let S0 be the set of constraints obtained by adding to S the constraint</p>
          <p>ALC+T is sound and complete in the following sense: an
corresponding to :F . T ABP H2</p>
          <p>ALC+T for hS0 j U i is satisfiable in a minimal model of
open branch B built by T ABP H1
KB iff the tableau in T ABPAHLC2+T for hS j U j B i is closed.</p>
          <p>ALC+T is ensured by the fact that dynamic rules make use</p>
          <p>The termination of T ABP H2
of labels belonging to D(B), which is finite, rather than introducing “new” labels in
the tableau. Also, it is possible to show that the problem of verifying that a branch B</p>
          <p>ALC+T is in NP in the size of B.
represents a minimal model for KB in T ABP H2</p>
          <p>The overall procedure T ABAmLinC+T is defined as follows:
Definition 5. Let KB be a knowledge base whose corresponding constraint system is
hS j U i. Let F be a query and let S0 be the set of constraints obtained by adding to S
the constraint corresponding to :F . The calculus T ABAmLinC+T checks whether a query
F can be minimally entailed from a KB by means of the following procedure:</p>
          <p>ALC+T is applied to hS0 j U i;
– the calculus T ABP H1
– if, for each branch B built by T ABPAHLC1+T, either: (i) B is closed or (ii) the tableau</p>
          <p>
            ALC+T for hS j U j B
built by the calculus T ABP H2
says YES else the procedure says NO
i is open, then the procedure
for verifying if KB j=LATLC+Tmin F , and that the problem is in CO-NEXPNP.
In [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ] we have shown that T ABAmLinC+T is a sound and complete decision procedure
4
          </p>
          <p>Design of DysToPic
In this section we present DysToPic, a multi-engine theorem prover for reasoning in
ALC + Tmin. DysToPic is a SICStus Prolog implementation of the tableaux calculi
T ABAmLinC+T introduced in the previous section, wrapped by a Java interface which
relies on the Java RMI APIs for the distribution of the computation. The system is
designed for scalability and based on a “worker/employer” paradigm: the computational
burden for the “employer” can be spread among an arbitrarily high number of “workers”
which operate in complete autonomy, so that they can be either deployed on a single
machine or on a computer grid.</p>
          <p>The basic idea underlying DysToPic is as follows: there is no need for the first
phase of the calculus to wait for the result of one elaboration of the second phase on
an open branch, before generating another candidate branch. Indeed, in order to prove
whether a query F entails from a KB, the first phase can be executed on a machine;
every time that a branch remains open after the first phase, the execution of the second
phase for this branch can be performed in parallel, on a different machine. Meanwhile,
the main machine (worker), instead of waiting for the termination of the second phase
on that branch, can carry on with the computation of the first phase (potentially
generating other branches). If a branch remains open in the second phase, then F is not
minimally entailed from KB (we have found a counterexample), so the computation
process can be interrupted early.
4.1 The Whole Architecture
In order to describe the architecture of DysToPic we refer to the worker-employer
metaphor. The system is characterized by: (i) a single employer, which is in charge of
verifying the query and yielding the final result. It also implements the first phase of</p>
          <p>ALC+T to generate branches: the ones that it cannot close
the calculus and uses T ABP H1
(representing candidate models of KB [f:F g), it passes to a worker; (ii) an unlimited</p>
          <p>ALC+T to evaluate the models generated by the
number of workers, which use T ABP H2
employer; (iii) a repository, which stores all the answers coming from the workers.
First, each worker registers to the employer. When checking whether KB j=ALC+Tmin</p>
          <p>ALC+T. If the employer needs to check whether an
F , the employer executes T ABP H1
open branch generated by the first phase represents a minimal model of the KB, then
it delegates the execution of the second phase to one of the registered workers, and
consequently proceeds with its computation on other branches generated in the first
phase. When a worker terminates its execution, it reports its result to the repository.</p>
          <p>If every branch has been processed and each worker has answered affirmatively,
ALC+T is open, the employer can
i.e. each tableaux built in the second phase by T ABP H2
conclude that KB j=ALC+Tmin F . Otherwise, the employer can conclude the proof
as soon as the first negative answer comes into the repository, since (at least) a worker</p>
          <p>ALC+T for an open branch (candidate model) generated
found a closed tableaux in T ABP H2
by the employer, in this case we have that KB 6j=ALC+Tmin F . It is worth noticing that
the employer has to keep a continuous dialogue with the repository.</p>
          <p>The library se.sics.jasper is used in order to combine Java and SICStus
Prolog to decouple the two phases of the calculus. In detail, the employer handles the
query in Employer.java, a piece of Java code which presents it to alct1.pl, the</p>
          <p>ALC+T. Every time that an open branch is generated,
Prolog core implementing T ABP H1
alct1.pl invokes Phase1RMIStub.java, another piece of Java code which will
send it to the correct worker. Workers will then have to process the open branches with</p>
          <p>ALC+T, which is implemented in alct2.pl.</p>
          <p>T ABP H2</p>
          <p>Concurrency is the main goal of our implementation, since we want the execution
of the first phase of the calculus to be independent from the second one. Java natively
supports concurrency via multithreading. The employer uses a separate thread
(impleALC+T
mented in Phase1Thread.java) to perform the current invocation of T ABP H1
on a query, while its main thread polls the repository waiting for termination (the
procedure can be stopped when the first counterexample is found, even if not all of the
ALC+T, every time that
branches have been explored). During the execution of T ABP H1
the employer wants to ask a worker to verify a branch, a new thread is spawned. The
worker itself makes use of threads: its main thread simply enqueues each request
comALC+T.
ing from the employer and spawns a new thread which performs T ABP H2
4.2</p>
          <p>
            The Implementation of the Tableaux Calculi
Concerning the implementation of the tableaux calculi T ABAmLinC+T, each machine of
the system runs a SICStus Prolog implementation which is strongly related to the
implementation of the calculi given by PreDeLo 1.0, introduced in [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]. The
implementation is inspired by the “lean” methodology of leanTAP, even if it does not follow
its style in a rigorous manner. The program comprises a set of clauses, each one
implementing a rule or axiom of the tableau calculi. The proof search is provided for free by
the mere depth-first search mechanism of Prolog, without any additional mechanism.
          </p>
          <p>DysToPic comprises two main predicates, called prove and prove phase2,
implementing, respectively, the first and the second phase of the tableau calculi.
Phase 1: the prove predicate. Concerning the first phase of the calculi, executed by
the employer, DysToPic represents a tableaux node hS j U i with two Prolog lists: S
and U. Elements of S are either pairs [X, F], representing formulas of the form x : F ,
or triples of the form either [X,R,Y] or [X,&lt;,Y], representing either roles x R! y
or the preference relation x &lt; y, respectively. Elements of U are pairs of the form [[C
inc D],L], representing C v DL 2 U described in Section 3.1.</p>
          <p>The calculi T ABAmLinC+T are implemented by a top-level predicate</p>
          <p>prove(+ABox,+TBox,[+X,+F],-Tree).</p>
          <p>This predicate succeeds if and only if the query x : F is minimally entailed from the
KB represented by TBox and ABox. When the predicate succeeds, then the output term
Tree matches a Prolog term representing the closed tableaux found by the prover. The
top-level predicate prove/4 invokes a second-level one:</p>
          <p>prove(+S,+U,+Lt,+Labels,+ABOX,-Tree)
having 6 arguments. In detail, S corresponds to ABox enriched by the negation of the
query x : F , whereas Lt is a list corresponding to the set of concepts LT. Labels
is the set of labels belonging to the current branch, whereas ABOX is used to store the
initial ABox (i.e. without the negation of the query) in order to eventually invoke the
second phase on it, in order to look for minimal models of the initial KB.</p>
          <p>Each clause of the prove/6 predicate implements an axiom or rule of the calculus</p>
          <p>ALC+T. To search a closed tableaux for hS j U i, DysToPic proceeds as follows.
T ABP H1
First of all, if hS j U i is a clash, the goal will succeed immediately by using one of the
clauses implementing axioms. As an example, the following clause implements (Clash):
prove(S,U,_,_,_,tree(clash)):</p>
          <p>member([X,C],S),member([X, neg C],S),!.</p>
          <p>If hS j U i is not an instance of the axioms, then the first applicable rule will be
chosen, e.g. if S contains an intersection [X,C and D], then the clause implementing
the (u+) rule will be chosen, and DysToPic will be recursively invoked on its unique
conclusion. DysToPic proceeds in a similar way for the other rules. The ordering of
the clauses is such that the application of the dynamic rules is postponed as much as
possible: this implements the strategy ensuring the termination of the calculi described
in the previous section. As an example, the clause implementing (T+) is as follows:
In line 1, the standard Prolog predicate member is used in order to find a formula of the
form x : T(C) in the list S. In line 2, the side conditions on the applicability of such a
rule are checked: the rule can be applied if either x : C or x : :C do not belong to
S. In line 3 DysToPic is recursively invoked on the unique conclusion of the rule, in
which x : C and x : :C are added to the list S. The last clause of prove is:
prove(...) :- ... , jasper_call(JVM,
method(’employer/Phase1RMIStub’,’solveViaRMI’,[static]),...,
solve_via_rmi(NextWorkerName, ’toplevelphase2(...)’ ) ),!.
invoked when no other clauses are applicable. In this case, the branch built by the
employer represents a model for the initial set of formulas, then the toplevelphase2
predicate is invoked on a worker in order to check whether such a model is minimal for
KB.</p>
          <p>Phase 2: the prove phase2 predicate. Given an open branch built by the first phase,
the predicate toplevelphase2 is invoked on a worker. It first applies an
optimization preventing useless applications of (v), then it invokes the predicate
prove phase2(+S,+U,+Lt,+K,+Bb,+Db).</p>
          <p>S and U contain the initial KB (without the query), whereas K, Bb and Db are Prolog
lists representing K, B and D(B) as described in Section 3.2. Lt is as for prove/6.</p>
          <p>Also in this case, each clause of prove phase2 implements an axiom or rule</p>
          <p>ALC+T. To search for a closed tableaux, DysToPic first checks
of the calculi TABP H2
whether the current node hS j U j Ki is a clash. otherwise the first applicable rule
will be chosen, and DysToPic will be recursively invoked on its conclusions. As an
example, the clause implementing (T+) is as follows:
prove_phase2(S,U,Lt,K,Bb,Db) :- select([X,ti C],S,S1),
prove_phase2([[X,C]|[[X,box neg C]|S1]],U,Lt,K,Bb,Db),!.</p>
          <p>ALC+T, the principal formula to which the
Notice that, according to the calculus TABP H2
rule is applied is removed from the current node: to this aim, the SICStus Prolog
predicate select is used rather than member.
4.3 Preliminary Performance Testing of DysToPic
We have made a preliminary attempt to show how DysToPic performs, especially in
comparison with its predecessor PreDeLo 1.0. The performances of DysToPic are
promising. We have tested both the provers by running SICStus Prolog 4.1.1 on Ubuntu
14.04.1 64 bit machines. Concerning DysToPic, we have tested it on 4 machines,
namely: 1. a desktop PC with an Intel Core i5-3570K CPU (3.4-3.8GHz, 4 cores, 4
threads, 8GB RAM); 2. a desktop PC with an Intel Pentium G2030 CPU (3.0GHz, 2
cores, 2 threads, 4GB RAM); 3. a Lenovo X220 laptop with an Intel Core i7-2640M
CPU (2.8-3.5GHz, 2 cores, 4 threads, 8GB RAM); 4. a Lenovo X230 laptop with an
Intel Core i7-3520M CPU (2.9-3.6GHz, 2 cores, 4 threads, 8GB RAM).</p>
          <p>We have performed two kinds of tests. On the one hand, we have randomly
generated KBs with different sizes (from 10 to 100 ABox formulas and TBox inclusions) as
well as different numbers of named individuals: in less than 10 seconds, both DysToPic
and PreDeLo 1.0 are able to answer in more than the 75% of tests. Notice that, as
far as we know, it does not exist a set of acknowledged benchmarks for defeasible DLs.
On the other hand, we have tested the two theorem provers on specific examples. As
expected, DysToPic is better in than the competitor in answering that a query F is not
minimally entailed from a given KB. Surprisingly enough, its performances are better
than the ones of PreDeLo 1.0 also in case the provers conclude that F follows from
KB, as in the following example:
Example 1. Given TBox=fT(Student ) v :IncomeTaxPayer ; WorkingStudent v
Student ; T(WorkingStudent ) v IncomeTaxPayer g and ABox=fStudent (mario);
WorkingStudent (mario); Tall (mario); Student (carlo); WorkingStudent (carlo);
Tall (carlo); Student (giuseppe); WorkingStudent (giuseppe); Tall (giuseppe)g, we
have tested both the provers in order to check whether IncomeTaxPayer (mario) is
minimally entailed from KB=(TBox,ABox). This query generates 1090 open branches
in T ABP H1 ALC+T. PreDeLo 1.0
an</p>
          <p>ALC+T, each one requiring the execution of T ABP H2
swers in 370 seconds, whereas DysToPic answers in 210 seconds if only two
machines are involved (employer + one worker). If 4 workers are involved, DysToPic
only needs 112 seconds to conclude its computation.</p>
          <p>Example 1 witnesses that the advantages obtained by distributing the computation
justify the overhead introduced by the machinery needed for such distribution.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>5 Conclusions</title>
      <p>
        We have introduced DysToPic, a multi-engine theorem prover implementing tableaux
calculi for reasoning in preferential DL ALC + Tmin. DysToPic implements a
distributed version of the tableaux calculus T ABAmLinC+T introduced in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], exploiting the
fact that the two phases characterizing such a calculus can be computed in parallel.
      </p>
      <p>
        We aim at extending DysToPic to the lightweight DLs of the DL-Lite and E L
family. Despite their relatively low expressivity, they are relevant for several applications,
in particular in the bio-medical domain. Extensions of E L? and of DL-Litecore with
the typicality operator T have been proposed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], where it has also been shown that
minimal entailment is in 2p (for E L?, if restricted to a specific fragment). Tableaux
calculi performing a two phases computation, similar to T ABAmLinC+T, have been
proposed in [
        <xref ref-type="bibr" rid="ref8 ref9">9, 8</xref>
        ].
      </p>
      <p>This research is partially supported by INDAM- GNCS Project 2015 “Logiche
descrittive e ragionamento non monotono”.</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>Priorities on defaults with prerequisites, and their application in treating specificity in terminological default logic</article-title>
          .
          <source>Journal of Automated Reasoning (JAR) 15(1)</source>
          ,
          <fpage>41</fpage>
          -
          <lpage>68</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Beckert</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Posegga</surname>
          </string-name>
          , J.:
          <article-title>leantap: Lean tableau-based deduction</article-title>
          .
          <source>Journal of Automated Reasoning (JAR) 15(3)</source>
          ,
          <fpage>339</fpage>
          -
          <lpage>358</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Bonatti</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>DLs with Circumscription</article-title>
          .
          <source>In: KR</source>
          . pp.
          <fpage>400</fpage>
          -
          <lpage>410</lpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Bonatti</surname>
            ,
            <given-names>P.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sauro</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Defeasible inclusions in low-complexity dls: Preliminary notes</article-title>
          . In: Boutilier,
          <string-name>
            <surname>C</surname>
          </string-name>
          . (ed.)
          <source>Proceedings of the 21st International Joint Conference on Artificial Intelligence (IJCAI</source>
          <year>2009</year>
          ). pp.
          <fpage>696</fpage>
          -
          <lpage>701</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Casini</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Straccia</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Rational closure for defeasible description logics</article-title>
          . In: Janhunen,
          <string-name>
            <surname>T.</surname>
          </string-name>
          , Niemela¨, I. (eds.)
          <source>Logics in Artificial Intelligence - Proceedings of the12th European Conference (JELIA 2010). Lecture Notes in Computer Science (LNCS)</source>
          , vol.
          <volume>6341</volume>
          , pp.
          <fpage>77</fpage>
          -
          <lpage>90</lpage>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Donini</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
          </string-name>
          , R.:
          <article-title>Description logics of minimal knowledge and negation as failure</article-title>
          .
          <source>ACM Transactions on Computational Logics (ToCL) 3</source>
          (
          <issue>2</issue>
          ),
          <fpage>177</fpage>
          -
          <lpage>225</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          :
          <article-title>ALC+T: a preferential extension of description logics</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>96</volume>
          ,
          <fpage>341</fpage>
          -
          <lpage>372</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.:</given-names>
          </string-name>
          <article-title>A tableau calculus for a nonmonotonic extension of E L?</article-title>
          . In: Bru¨nnler,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Metcalfe</surname>
          </string-name>
          ,
          <string-name>
            <surname>G</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the 20th International Conference on Automated Reasoning with Analytic Tableaux and Related Methods (TABLEAUX 2011). Lecture Notes in Artificial Intelligence (LNAI)</source>
          , vol.
          <volume>6793</volume>
          , pp.
          <fpage>180</fpage>
          -
          <lpage>195</lpage>
          . Springer-Verlag, Bern, Switzerland (
          <year>July 2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.:</given-names>
          </string-name>
          <article-title>A tableau calculus for a nonmonotonic extension of the Description Logic DL Litecore</article-title>
          . In: Pirrone,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Sorbello</surname>
          </string-name>
          ,
          <string-name>
            <surname>F</surname>
          </string-name>
          . (eds.)
          <source>AI*IA 2011: Artificial Intelligence Around Man and Beyond - XIIth International Conference of the Italian Association for Artificial Intelligence</source>
          , Palermo, Italy,
          <source>September 15-17</source>
          ,
          <year>2011</year>
          .
          <source>Proceedings. Lecture Notes in Artificial Intelligence (LNAI)</source>
          , vol.
          <volume>6934</volume>
          , pp.
          <fpage>164</fpage>
          -
          <lpage>176</lpage>
          . Springer-Verlag, Palermo,
          <source>Italy (Sptember</source>
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          :
          <article-title>Reasoning about typicality in low complexity DLs: the logics E L?Tmin and DL-Litec Tmin</article-title>
          . In: Walsh,
          <string-name>
            <surname>T</surname>
          </string-name>
          . (ed.)
          <source>Proceedings of the 22nd International Joint Conference on Artificial Intelligence (IJCAI</source>
          <year>2011</year>
          ). pp.
          <fpage>894</fpage>
          -
          <lpage>899</lpage>
          . IOS Press, Barcelona, Spain (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jalal</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          :
          <article-title>Predelo 1.0: a theorem prover for preferential description logics</article-title>
          . In: Baldoni,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Baroglio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Boella</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Micalizio</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of AI*IA 2013. Lecture Notes in Artificial Intelligence LNAI</source>
          , vol.
          <volume>8249</volume>
          , pp.
          <fpage>60</fpage>
          -
          <lpage>72</lpage>
          . Springer, Torino (
          <year>December 2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          :
          <article-title>Preferential vs Rational Description Logics: which one for Reasoning About Typicality?</article-title>
          . In: Coelho,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Studer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Wooldridge</surname>
          </string-name>
          , M. (eds.)
          <source>Proceedings of the 19th European Conference on Artificial Intelligence (ECAI</source>
          <year>2010</year>
          ).
          <source>FAIA (Frontiers in Artificial Intelligence and Applications)</source>
          , vol.
          <volume>215</volume>
          , pp.
          <fpage>1069</fpage>
          -
          <lpage>1070</lpage>
          . IOS Press, Lisbon, Portugal (
          <year>August 2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
            ,
            <given-names>G.L.</given-names>
          </string-name>
          :
          <article-title>A NonMonotonic Description Logic for Reasoning About Typicality</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>195</volume>
          ,
          <fpage>165</fpage>
          -
          <lpage>202</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kraus</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magidor</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Nonmonotonic reasoning, preferential models and cumulative logics</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>44</volume>
          (
          <issue>1-2</issue>
          ),
          <fpage>167</fpage>
          -
          <lpage>207</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magidor</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>What does a conditional knowledge base entail?</article-title>
          <source>Artificial Intelligence</source>
          <volume>55</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>60</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>