=Paper= {{Paper |id=None |storemode=property |title=Algebraic Reasoning for SHIQ |pdfUrl=https://ceur-ws.org/Vol-846/paper_32.pdf |volume=Vol-846 |dblpUrl=https://dblp.org/rec/conf/dlog/PourH12 }} ==Algebraic Reasoning for SHIQ== https://ceur-ws.org/Vol-846/paper_32.pdf
                   Algebraic Reasoning for SHIQ

                         Laleh Roosta Pour and Volker Haarslev

                      Concordia University, Montreal, Quebec, Canada

       Abstract. We present a hybrid tableau calculus for the description logic SHIQ
       that decides ABox consistency and uses an algebraic approach for more informed
       reasoning about qualified number restrictions (QNRs). Benefiting from integer
       linear programming and several optimization techniques to deal with the interac-
       tion of QNRs and inverse roles, our approach provides a more informed calculus.
       A prototype reasoner based on the hybrid calculus has been implemented that de-
       cides concept satisfiability for ALCHIQ. We provide a set of benchmarks that
       demonstrate the effectiveness of our hybrid reasoner.


1 Introduction
It is well known that standard tableau calculi for reasoning with qualified number re-
strictions (QNRs) in description logics (DLs) have no explicit knowledge about set car-
dinalities implied by QNRs. This lack of information causes significant performance
degradations for DL reasoners if the numbers occurring in QNRs are increased. Over
the last years a family of hybrid tableau calculi has been developed that address this
inefficiency by integrating integer linear programming (ILP) with DL tableau methods,
where ILP is used to reason about these set cardinalities. We developed hybrid calculi
for the DLs ALCQ [3], SHQ [5], and SHOQ [4, 2]. In this paper we present a new
calculus that decides ABox consistency for the DL SHIQ, which extends SHQ with
inverse roles. This new calculus is a substantial extension of the one for SHQ [5] since
the interaction between inverse roles and QNRs results in back propagation of infor-
mation possibly adding new back-propagated QNRs, which, in turn, possibly require a
conservative extension of solutions obtained by using ILP.
     Informally speaking this line of research is based on several principles: (i) role suc-
cessors are semantically partitioned into disjoint sets such that all members of one set
are indistinguishable w.r.t. to their restrictions; (ii) cardinalities of partitions are de-
noted by non-negative integer variables and the cardinality of a union of partitions can
be expressed by the sum of the corresponding partition variables; (iii) all members of
a non-empty partition are represented by a proxy element [6] associated with the cor-
responding partition variable; (iv) cardinality restrictions on a set of role successors
imposed by QNRs are encoded as a set of linear inequations; (v) the satisfiability of
a set of QNRs is mapped to the problem whether the corresponding system of linear
inequations has a non-negative integer solution and the involved proxy elements do not
lead to a logical contradiction. This approach is better informed than traditional tableau
methods because (i) (implied) set cardinalities are represented using ILP that is inde-
pendent of the values occurring in QNRs; (ii) the tableau part of the hybrid calculus
becomes more efficient because a set of indistinguishable role successors is represented
by one proxy; (iii) the partitioning of role successors supports semantic branching on
partition cardinalities and more refined dependency-directed backtracking.
2 Preliminaries
In this section we briefly describe syntax and semantics of SHIQ and its basic infer-
ences services. Furthermore, we define a rewriting that reduces SHIQ to SHIN \ in
order to apply the atomic decomposition technique [10], which is a basic foundation of
our calculus. Let NC be a set of concept names, NR a set of role names, NT R ⊆ NR
a set of transitive role names, NSR ⊆ NR a set of non-transitive role names with
NSR ∩ NT R = ∅. The set of roles is defined as NRS = NR ∪ {R− | R ∈ NR }. We de-
fine a function Inv such that Inv(R) = R− if R ∈ NR , and Inv(R) = S if R = S − .
For a set of roles RO = {R1 , . . . , Rn }, Inv(RO) = {Inv(R1 ), . . . , Inv(Rn )}. A
role hierarchy R is a set of axioms of the form R v S where R, S ∈ NRS and v∗
is transitive-reflexive closure of v over R ∪ {Inv(R) v Inv(S) | R v S ∈ R}. R is
called a sub-role of S and S a super-role of R if R v∗ S. A role R ∈ NSR is called
simple if R is neither transitive nor has a transitive sub-role. The set of SHIQ con-
cepts is the smallest set such that (i) every concept name is a concept, and (ii) if A is a
concept name, C and D are concepts, R is a role, S is a simple role, n, m ∈ N, n ≥ 1,
then C u D, C t D, ¬C, ∀R.C, ∃R.C, > nS.C, and 6 mS.C are also concepts. We
consider > (⊥) as abbreviations for A t ¬A (A u ¬A). A general concept inclusion
axiom (GCI) is an expression of the form C v D with C, D concepts. A SHIQ TBox
T w.r.t. a role hierarchy R is a set of GCIs.
     Let I be a set of individual names. A SHIQ ABox A w.r.t. a role hierarchy R
                                                                          .
is a finite set of assertions of the form of a : C, ha, bi : R, and a =  6 b with IA ⊆
I the set of individuals occurring in A and a, b ∈ IA and R a role. We assume an
interpretation I = (∆I , .I ), where the non-empty set ∆I is the domain of I and .I is
an interpretation function which maps each concept to a subset of ∆I and each role to
a subset of ∆I × ∆I . Semantics and syntax of the DL SHIQ are presented in [8].
     An interpretation I holds for a role hierarchy R iff RI ⊆ S I for each R v S ∈ R.
An interpretation I satisfies a TBox T iff C I ⊆ DI for every GCI C v D ∈ T . An
interpretation I satisfies an ABox A if it satisfies T and R and all assertions in A such
                                                                                  .
that aI ∈ C I if a : C ∈ A, haI , bI i ∈ RI if ha, bi : R ∈ A, and aI 6= bI if a =
                                                                                 6 b ∈ A.
Such an interpretation is called a model of A. An ABox A is consistent iff there exists
a model I of A. A concept description C is satisfiable iff C I 6= ∅.
     Let E be a concept expression, then clos(E) defines the usual closure of all con-
cept names occurring in E. Therefore, for a TBox T if C v D ∈ T , then clos(C) ⊆
clos(T ) and clos(D) ⊆ clos(T ). Likewise for an ABox A, if (a : C) ∈ A then
clos(C) ⊆ clos(A). Inspired by [10] we use a satisfiability-preserving rewriting to
replace QNRs with unqualified ones. This rewriting uses a new role-set difference op-
erator ∀(R \ R0 ).C for which (∀(R \ R0 ).C)I = {x | ∀y : hx, yi ∈ RI \ R0I implies
y ∈ C I }. We name the new language SHIN \ . We have (> nR)I = (> nR.>)I and
(6 nR)I = (6 nR.>)I . Considering ¬C      ˙ as the standard negation normal form (NNF)
of ¬C we define a recursive function unQ which rewrites SHIQ concept descriptions
and assertions into SHIN \ .
Definition 1 (unQ). Let R0 be a new role in NR with R := R ∪ {R0 v R} for
each transformation. unQ rewrites the axioms as follows: unQ(C) := C if C ∈ NC ,
unQ(¬C) := ¬C if C ∈ NC otherwise unQ(¬C),     ˙     unQ(∀R.C) := ∀R.unQ(C),
unQ(C u D) := unQ(C) u unQ(D), unQ(C t D) := unQ(C) t unQ(D),
                            P3
                                            α(v001) = P1, α(v010) = P2, α(v100) = P4,
                 P1                    P2
                                            α(v011) = P3, α(v110) = P6, α(v101) = P5,
                           SR
                 S                     R                  α(v111) = P7
                            P7
                      P5          P6
                           ST R                   v001 + v011 + v101 + v111 6 2
                      ST          RT
                                                  v010 + v011 + v110 + v111 > 1
                            P4
                                                  v100 + v110 + v101 + v111 6 2
                            T                     v100 + v110 + v101 + v111 > 3
              Fig. 1. Atomic decomposition for 6 2S u > 1R u 6 2T u > 3T

unQ(> nR.C) := > nR0 u ∀R0 .unQ(C), unQ(6 nR.C) := 6 nR0 u ∀(R \ R0 ).
unQ(¬C),˙    unQ(a : C) := a : unQ(C), unQ(ha, bi : R) := ha, bi : R,
           .          .
unQ(a =   6 b) := a =6 b.
      Note that this rewriting generates a unique new role for each QNR. For instance,
unQ(> nR.C u 6 mR.C u > kR− .D) is rewritten to > nR1 u ∀R1 .C u 6 mR2 u
∀(R \ R2 ).¬C u > kR3 u ∀R3 .D and {R1 v R, R2 v R, R3 v R− } ⊆ R. SHIN \
is not closed under negation due to the fact that unQ(6 nR.C) itself creates a nega-
tion which must be in NNF before further applying unQ. In order to avoid the whole
negating problem for the concept description generated by unQ(6 nR.C) and unQ(>
nR.C) the calculus makes sure that the application of unQ starts from the innermost
part of an axiom, therefore such concept descriptions will never be negated.
Atomic decomposition A so-called atomic decomposition for reasoning about sets was
proposed in [10] and later applied to DLs for reasoning about sets of role fillers (see
Def. 3 for role fillers). For instance, for the concept description 6 2S u > 1R u 6 2T u
> 3T we get 7 disjoint partitions shown in the left part of Fig. 1, where partition P1
represents S-fillers that are neither R nor T fillers and P5 represents fillers in the in-
tersection of S and T that are not R-fillers, etc. For example, due to the disjointness of
Pi , 1 ≤ i ≤ 7, the cardinality of all S-fillers can be expressed as |P1 |+|P3 |+|P5 |+|P7 |
(| · | denotes the cardinality of a set). The satisfiability of the above-mentioned concept
descriptions can now be defined by finding a non-negative integer solution for the in-
equations shown at the bottom-right part of Fig. 1, where vi denotes the cardinality of
Pi with i in unary encoding.
3 SHIQ ABox Calculus
In this section we introduce our calculus and the tableau completion rules for SHIQ.
Definition 2 (Completion forest). The algorithm generates a model consisting of a set
of arbitrarily connected individuals in IA as the roots of completion trees. Ignoring the
connections between roots, the created model is a forest F = (V, E, L, LE , LI ) for a
SHIQ ABox A. Every node     Px ∈ V is labeled by L(x) ⊆ clos(A) and LE (x) as a set
of inequations of the form i∈N vi ./ n with n ∈ N and ./ ∈ {>, 6} and variables
vi ∈ V. Each edge hx, yi ∈ E is labeled by the set L(hx, yi) ⊆ NR . For each node
x, LI (x) is defined to keep an implied back edge for x equivalent to Inv(L(hy, xi)),
where y is a parent of x (see Def. 4). For the nodes with no parents (root nodes) LI will
be the empty set.
Definition 3 (-successor, -predecessor, -neighbour, -filler). Given a completion tree,
for nodes x and y with R ∈ L(hx, yi) and R v∗ S, y is called S-successor of x and
x is Inv(S)-predecessor of y. If y is an S-successor or an Inv(S)-predecessor of x
then y is called and S-neighbor of x. In addition, if R ∈ L(hx, yi) then y is an R-filler
(role-filler) for x. The R-fillers of x are defined as F il(x, R) = {y | hxI , y I i ∈ RI }.
Definition 4 (Precedence). Due to the existence of inverse roles for each pair of indi-
viduals x, y, R ∈ L(hx, yi) imposes Inv(R) ∈ L(hy, xi). A global counter PR keeps
the number of nodes and is increased by one when a new node x is created, setting
PR x = PR. Hence, each node is ranked with a PR. A successor of x with the lowest
PR is called parent (parent successor) of x and others are called its children. Accord-
ingly, a node x has a lower precedence than a node y if x has a lower rank compared
to y. Also, each node has a unique rank and no two nodes have the same rank.
Definition 5 (ξ). Assuming a set of variables V, a unique variable v ∈ V is associated
with a set of role names RV v . Let V R = {v ∈ V | R ∈ RV v } be the set of all variables
which are related to a rolePR. The function ξ maps number restrictions to inequations
such that ξ(R, ./,n) := ( vi ∈V R vi ) ./ n.
Definition 6 (Distinct partitions). Rx is defined as the set of related roles for x such
that Rx =S{S | {ξ(S, >,n), ξ(S, 6,m)} ∩ LE (x) 6= ∅}. A partitioning           Px is defined
as Px = P ⊆Rx {P } \ {∅}. For a partition Px ∈ Px , PxI = ( S∈Px F ilI (x, S)) \
                                                                     T

( S∈(Rx \Px ) F ilI (x, S)) with F ilI (x, S) = {y I | y ∈ F il(x, S)}. Let α be a mapping
  S
α : V ↔ Px for a node x, each variable v ∈ V is assigned to a partition Px ∈ Px such
that α(v) = Px .
The definition clearly demonstrates that the fillers of x related to the roles of partition
Px are not the fillers of the roles in Rx \ P (other partitions). Therefore, by definition
the fillers of x associated with the partitions in Px are mutually disjoint w.r.t. the inter-
pretation I. An arithmetic solution is defined using the function σ : V → N mapping
each variable in V to a non-negative integer. Let Vx be the set of all variables assigned
to a node x such that Vx = {vi ∈ V | vi ∈ LE (x)}, a solution Ω for a node x is
Ω(x) := {σ(v) = n | n ∈ N, v ∈ Vx }. The inequation solver uses an objective func-
tion to determine whether to minimize the solution or maximize it. We minimize the
solution in order to keep the size of the forest small.
     The example in Fig. 1 depicts the process of finding an arithmetic solution in more
detail. Let L(x) = {6 2S, > 1R, 6 2T , > 3T } be the label of node x. Applying the
atomic decomposition for the related roles Rx = {S, R, T } results in seven disjoint
partitions such that Px = {Pi | 1 6 i 6 7} where P1 = {S}, P2 = {R}, P4 = {T },
P3 = {S, R}, P5 = {S, T }, P6 = {R, T }, P7 = {R, S, T } as shown in Fig. 1. In order
to simplify the mapping between variables and partitions, each bit in the binary coding
of a variable index represents a specific role in Rx . Therefore, in this example the first
bit from right represents S, the second R, and the last T . Since |Rx | = 3, the number of
variables in Vx becomes 23 − 1. The mapping of variables and the resulting inequations
in LE (x) are also shown in Fig. 1.
Definition 7 (Node Cardinality). The cardinality associated with proxy nodes is de-
fined by the mapping card : V → N.
Since the hybrid algorithm requires to have all numerical restrictions encoded as a set of
inequations, three functions are defined to map number restrictions (NRs) to inequations
and/or further constrain variables. Function ξ (see Def. 5) is used in the >-Rule and 6-
Rule as shown in Fig. 2. Function ζ and ς also add new inequations to the label LE
of a node and modify the variables. The functions ζ and ς are respectively used in the
IBE-Rule and resetIBE -Rule as shown in Fig. 2.
Definition 8 (ζ). For a set of roles RO and k ∈ N, the function ζ(RO, k) maps number
restrictions to inequations via the function ξ for each Rj ∈ RO. ζ(RO, k) returns a set
of inequations such that ζ(RO, k) = {ξ(Rj , >, k) | Rj ∈ RO} ∪ {ξ(Rj , 6, k) | Rj ∈
RO}. For v ∈ V Rj , if Rj ∈ α(v) ∧ α(v) * RO then v 6 0 is also returned.
Definition 9 (ς). For a set of roles RO and k ∈ N, the function ς(RO, k) maps number
restrictions to inequations via the function ξ for each Rj ∈ RO. ς(RO, k) returns a set
of inequations such that ς(RO, k) = {ξ(Rj , >, k) | Rj ∈ RO} ∪ {ξ(Rj , 6, k) | Rj ∈
RO}. For v ∈ V Rj , if RO = α(v) then v = k is also returned.
Definition 10 (Proper Sub-Role). For each role in existing number restrictions a set
will be assigned which contains a specific type of sub-role called proper sub-role. A
proper sub-role <(R) for a role R is defined as <(R) = {Ri | (R ∈ NR ∪ Inv(R)) ∧
Ri v R}.
This makes specializing the edges between nodes possible. Therefore, in our algorithm
when a role set is assigned to L(hx, yi) a new proper sub-role Si will be created for
each role S ∈ L(hx, yi), where <(S) = <(S) ∪ {Si }, and will be assigned to the edge
label. A role in <(S) cannot have any proper sub-role. Only roles that occur in number
restrictions and their inverses can have proper sub-roles. Since these proper sub-roles
do not appear in the logical label of nodes, they do not violate the correctness of our
algorithm.
Definition 11 (Blocked Node). Since SHIQ does not have the finite model property
pair-wise blocking [7] is used. Node y is blocked by node x, also called witness,
if L(x) = L(y) and for their successors y 0 , x0 , L(y 0 ) = L(x0 ) and L(hx, x0 i) =
L(hy, y 0 i). Also, unreachable nodes which were discarded from the forest (due to the
application of the reset-Rule or resetIBE -Rule) are called blocked. In order to detect
blocked nodes, all roles in a proper sub-role of role R are considered equivalent to R.
Definition 12 (Clash Triggers). A node x contains a clash if {A, ¬A} ⊆ L(x) (logical
clash) or LE (x) does not have a non-negative integer solution (arithmetic clash).
The interaction between the tableau rules and the inequation solver is similar to the clash
triggers. No particular rule is needed to invoke the inequation solver. For each LE (x),
there is always a solution (if there exists any) otherwise a clash occurs. If a variable
changes or LE (x) is extended, a new solution will be calculated automatically. The
completion rules for a SHIQ ABox are shown in Fig. 2, listed in decreasing priority
from top to bottom. Rules in the same cell have the same priority. Rules with lower
priorities cannot be applied to a node x, which is not blocked, if there exists any rule
with a higher priority still applicable to it. Among the completion rules in Fig. 2, the u-
Rule, t-Rule, ∀-Rule, ∀+ -Rule are the same as in standard tableaux. The merge-Rule,
∀\ -Rule, ch-Rule, >-Rule, 6-Rule are similar to [5].
    >-Rule and 6-Rule: all number restrictions from L(x) are collected via these two
rules. The function ξ maps them to inequations according to the proper atomic decom-
position and adds them to LE (x).
    IBE-Rule: this rule considers the implied back edge as a set of NRs, maps them to
a set of inequations, add the inequations to the LE , and determines potential variables
that can represent the IBE through elimination of the non-related variables. Assume that
for a node x a successor y has been created with L(hx, yi). This implies a back edge for
reset-Rule     if {(≤ nR), (≥ nR)} ∩ L(x) 6= ∅ and ∀v ∈ Vx : R ∈      / α(v)
               then set LE (x) := ∅ and
                  for every successor y of x set L(hx, yi) := ∅ and,
                  if y in not parent of x set L(hy, xi) := ∅
resetIBE -Rule if Inv(R) ∈ L(hy, xi) but R ∈     / L(hx, yi)
               then set LE (x) := LE (x) ∪ {ζ(L(hx, yi), card(y))} and,
                  for every successor y of x set L(hx, yi) := ∅ and,
                  if y is not parent of x set L(hy, xi) := ∅
merge-Rule if there exist root nodes za , zb , zc for a, b, c ∈ IA such that
                  R0 v∗ Rab , R0 ∈ L(hza , zc i)
               then merge the node zb , zc and their labels and,
                  replace every occurrence of zb in the completion graph by zc
u-Rule         if (C1 u C2 ) ∈ L(x) and {C1 , C2 } * L(x)
               then set L(x) = L(x) ∪ {C1 , C2 }
t-Rule         if (C1 t C2 ) ∈ L(x) and {C1 , C2 } ∩ L(x) = ∅
               then set L(x) = L(x) ∪ {X} for some X ∈ {C1 , C2 }
∀-Rule         if ∀S.C ∈ L(x) and there is an S-neighbour y of x with C ∈    / L(y)
               then set L(y) = L(y) ∪ {C}
∀\ -Rule       if ∀R \ S.C ∈ L(x) and there is an R-neighbour y of x with C ∈    / L(y)
                  and y is not S-neighbour of x
               then set L(y) = L(y) ∪ {C}
∀+ -Rule       if ∀S.C ∈ L(x) and there is some R with T rans(R) and R v∗ S
                  and there is R-neighbour y of x with ∀R.C ∈   / L(y)
               then set L(y) = L(y) ∪ {∀R.C}
ch-Rule        if there occurs v in LE (x) with {v ≥ 1, v ≤ 0} ∩ LE (x) = ∅
               then set L(x) = L(x) ∪ {X} for some X ∈ {v ≥ 1, v ≤ 0}
≥-Rule         if (≥ nR) ∈ L(x) and ξ(R, ≥, n) ∈      / LE (x)
               then set LE (x) = LE (x) ∪ {ξ(R, ≥, n)}
≤-Rule         if (≤ nR) ∈ L(x) and ξ(R, ≤, n) ∈      / LE (x)
               then set LE (x) = LE (x) ∪ {ξ(R, ≤, n)}
IBE-Rule       if LI (x) 6= ∅ and {ς(LI (x), 1)} ∩ LE (x) = ∅
               then set LE (x) = LE (x) ∪ {ς(LI (x), 1)}
BE-Rule        if there exists v occurring in LE (x) such that σ(v) = 1, R ∈ α(v),
                  R ∈ LI (x) and y is parent of x with L(hx, yi) = ∅
               then set L(hx, yi) := α(v)
RE-Rule        if there exists v occurring in LE (za )
                  such that σ(v) = 1, za , zb root nodes,
                  Rab ∈ α(v) with x, b ∈ IA and L(hza , zb i) = ∅
               then set L(hza , zb i) := α(v), LI (zb ) := Inv(α(v))
f il-Rule      if there exists v occurring in LE (x)
                  such that σ(v) = n with n > 0,
                  x is not blocked and ¬∃y : L(hx, yi) = α(v)
               then create a new node y and set L(hx, yi) := α(v),
                  LI (y) := Inv(α(v)) and card(y) = n

               Fig. 2. The complete tableaux expansion rules for SHIQ-ABox
y with a label LI (y) = Inv(L(hx, yi)). This back edge is considered as a set of NRs
of the form > 1Ri , 6 1Ri where Ri ∈ Inv(L(hx, yi)). The IBE-Rule        P transforms the
implied back edge into a set of inequations in LE (y) of the form ( vj ∈V Ri vj ) > 1
and ( vj ∈V Ri vj ) 6 1 using the function ς. Since the inequations representing the back
       P
edge are restricted to the value one, only one common variable vk in these inequations
will be σ(vk ) = 1. In addition, ς ensures that the potential variables for IBE include all
the roles in LI (y) (see Def. 9).
     resetIBE -Rule: this rule extends LE as follows. If for a node y and its parent node
x, L(hx, yi) 6= Inv(L(hy, xi)), then it implies that a new role should be considered in
LE (x) due to the restrictions of its child y. Therefore, the resetIBE -Rule fires for x
where ζ extends LE (x) to consider Inv(L(hy, xi)) and ensures that the specific vari-
able representing it is included in the solution as in Def. 8.
     reset-Rule: if a new number restriction with a new role R is added to the logical
label of a node x, all its children are discarded from the tree and LE (x) = ∅.
     BE-Rule: this rule fills a label of the back edge a node to its parent due to the
solution of the inequation solver. If a variable v in a solution exists such that σ(v) = 1
and LI (y) ⊆ α(v), then v represents the back edge and the BE-Rule fires and fills the
edge label.
     We adjust the edges between a pair of nodes to satisfy the nature of the inverse roles
between them. Interactions of IBE-Rule, BE-Rule, and resetIBE -Rule maintain this
characteristic.
     RE-Rule: this rule sets the edge between two root nodes. For nodes a, b ∈ IA ,
(a, b) : R is considered as a : > 1Rab , a : 6 1Rab , b : > 1Inv(Rab ), b : 6 1Inv(Rab )
with Rab v R and Inv(Rab ) v Inv(R). Therefore, a variable with the value of 1,
σ(v) = 1, for node a that contains Rab represents this edge. The RE-Rule fires and
fills the edge label.
     merge-Rule: the merge-Rule merges root nodes. Assume three root nodes a, b, c ∈
IA where b, c are respectively R-successor and S-successor of a. These assertions will
be translated such that we have a : > 1Rab , a : 6 1Rab , a : > 1Sac , a : 6 1Sac with
Rab v R and Sac v S. If there exists a variable v in an arithmetic solution of node a
with Rab , Sac ∈ α(v), it means that c and b need to be merged. The merge-Rule merges
b and c and w.l.o.g replaces every occurrence of b with c and all outgoing/incoming
edges of b become outgoing/incoming edges of c.
     ch-Rule: this rule is necessary to ensure the completeness of the algorithm. The
partitions of the atomic decomposition represent all possible combinations of the suc-
cessors of a particular node. The inequation solver has no knowledge about logical
reasons that can force a partition to be empty. Thus, from a semantic branching point of
view we need to distinguish between the two cases v 6 0 and v > 1, where v denotes
the cardinality of a partition.
     f il-Rule: the f il-Rule has the lowest priority among the completion rules. This rule
is the only one that generates new nodes, called proxy nodes. For example, if a solution
Ω for a node x includes a variable v with σ(v) = 2, the f il-Rule creates a proxy node y
with cardinality of 2 and sets the edge label and LI (y) as shown in Fig. 2. Since this rule
generates proxy nodes based on an arithmetic solution that satisfies all the inequations,
there is no need to merge the generated proxy nodes later.
    The algorithm preserves role hierarchies in its pre-processing phase. If there occurs
a variable v ∈ LE (x), where R ∈ α(v) and S ∈        / α(v) and R v∗ S, then v 6 0.
Therefore, the variables that violate the role hierarchy are set to zero. Due to the space
limitations, we refer for the proof to [12].

4     Practical Reasoning
In this section, we discuss the complexity of our algorithm and evaluate its behavior in
practical reasoning. Let k be the number of all roles occurring in NRs in a TBox after
pre-processing and transforming all QNRs to unqualified ones considering inverse roles.
The search space of the hybrid algorithm depends on the number of variables occurring
in LE labels. Since there are k roles, the number of partitions and their associated
variables is bounded by 2k −1. The ch-Rule creates two branches for each variable: v >
                              k
1 or v 6 0. Consequently, 22 cases could be examined by the inequation solver and the
worst-case complexity of the algorithm is double exponential. Moreover, the Simplex
method which is used in the hybrid algorithm is NP in the worst case. However, in [11] it
is shown that integer programming is in P in the worst case, if the number of variables
is bounded. The implemented inequation solver (using Simplex method presented in
[1]) minimizes the sum of all variables occurring in the inequations. In addition, we use
several optimization techniques and heuristics that can eliminate branches in the search
space, therefore, avoiding unnecessary invocations of the ch-Rule. These techniques
dramatically improve the average complexity of the hybrid algorithm over the worst
           k
case of 22 .

4.1    Optimization Techniques
In most cases, in order to utilize these theoretical algorithms in practice, optimization
techniques are required. Due to the complexity of the algorithm, achieving a good per-
formance may seem infeasible. However, optimization techniques can dramatically de-
crease the size of the search space by pruning many branches. For instance, a stan-
dard technique such as axiom absorption [9] often improves reasoning by reducing the
number disjunctions. Here we explain some of the optimization techniques used in our
hybrid algorithm.
    Variable initialization: the inequation solver starts with the default v 6 0 for all
variables and later sets some to v > 1 to satisfy the inequations according to at-least
                                               k
restrictions. Since the ch-Rule is invoked 22 times in the worst case to check variables
for v 6 0 or v > 1, default zero setting of variables prevents unnecessary invocations of
the ch-Rule. Moreover, the boundary value of some of the variables can be determined
from the beginning according to the occurrence of the numbers in at-most or/and at-
least restrictions. For example, if a variable occurs in an at-least restriction but not in an
at-most restriction, then it does not have any arithmetic restriction and is called a don’t
care variable [5]. In addition, the resetIBE -Rule specifically determines the value of
a single variable and sets some of the rest to zero. Similarly, the IBE-Rule sets the
value of some variables to zero and enforces some of the others to be the potential
choices for the answer, therefore, reducing the solution space. Moreover, in order to
avoid unnecessary applications of the resetIBE -Rule additional heuristics are applied.
For a node x, if a role occurs in an at-least restriction but not in any at-most restriction
                                                                                     Algebraic Reasoning for SHIQ              9

                            106        Hermit
            milliseconds)




                                                                            milliseconds)
        (in milliseconds)




                                                                        (in milliseconds)
                                                                                            106           at-least
                                       Pellet
                                                                                                          at-most
                                      FaCT++
                                       Hybrid                                               104
                            103
                            10
Runtime (in




                                                                Runtime (in
                                                                                            102
Runtime




                                                                Runtime
                            100 2 3 4 5 6 7 8 9 10
                               2 2 2 2 2 2 2 2 2                                                  1   3     5   7    9 11 13
                                 Value of k = 2i , 2  i  10                                             Number of QNRs


Fig. 3. Runtimes for satisfiable concept                        Fig. 4. Runtimes for concept Test 22 (using a
                                                                                  y-axis)
                                                                log scale for the y-axis).
Test 11 (log-log
        (log-log scale;
                 scale; timeout
                        timeout of 1066 msecs).
                                of 10   msecs)

and it is not a sub-role of any role R in a concept of the form 8(R     ∀(R \ S).C 2  ∈ L(x), then
it cannot be in ↵(v)
                  α(v) where v represents a back edge for node x.
     Dependency-directed backtracking:
                              backtracking:we     weuse
                                                     usebacktracking
                                                           backtrackingtechniques     to findofsources
                                                                           to find sources       logi-
of
callogical
     clashesclashes
              and thenand then consider
                        consider  the causetheofcause  of in
                                                 a clash   a setting
                                                             clash inthesetting  the boundaries
                                                                          boundaries    of variablesof
variables  in new solutions.
in new solutions.              This
                     This results      results in
                                   in pruning     pruningwhich
                                                branches     branches
                                                                  would which
                                                                           lead would    lead to
                                                                                 to the same       the
                                                                                                clash.
same   clash.occurs
If a clash     If a clash occurs
                     in node        in nodewas
                              x, which           which was
                                             x, created   due created    due to va with
                                                               to a variable       variable
                                                                                          σ(v)v with
                                                                                                 = k
and      k and
  (v) k= ∈                   1, vthen
            N, kk 2≥N,1,k then         v must
                                     must      be set
                                           be set  to to zero.
                                                      zero.     Thisisiscalled
                                                              This       called simple
                                                                                 simple backtrack-
ing. The previous technique can be improved: if a logical clash is encountered due to
{A, ¬A} 2  ∈ L(x), then the source for propagation of these two concepts to L(x) could
be the roles occurring in 8∀ or 8∀\\ constructs. In this case, the variables which contain
all these roles are set to zero. This is called complex backtracking. These techniques
eliminate many branches in the search space and consequently improving the average
complexity of the algorithm.
4.2 A First Evaluation Using Synthetic Benchmarks
In order to evaluate our hybrid algorithm, a prototype reasoner has been implemented
in Java using the Web Ontology Language API. The reasoner decides satisfiability of
ALCHIQ concepts.
     We show the performance of the hybrid reasoner by a set of three benchmarks.
Fig. 3 demonstrates the performance of different DL reasoners for testing the satisfia-
bility of the concept Test 11 defined as C u > 2kRu8R.(>
                                               2kRu∀R.(> kR −.Cu 6 kR −.C), where
        ii
k = 2 ,2    ≤i ≤ 10. Fig. 3 compares the reasoning time of our hybrid reasoner with
Pellet, FaCT++, and Hermit.11 All reasoners determine the satisfiability of the concept
in less than ⇠∼ 100 ms before reaching k = 244. While our hybrid reasoner maintains its
reasoning time (constantly under 100 ms), Pellet, Hermit, and FaCT++ start exhibiting
exponential growth in the reasoning time for values higher than k = 244. For exam-
ple, for k = 299 Pellet’s reasoning time is more than 18 minutes and for k = 210   10
                                                                                      it
did not finish within the time limit of 1000 seconds. This example demonstrates the
independent behavior of our hybrid calculus in the presence of higher values in QNRs
interacting with inverse roles.
       11
                    We used an AMD 3.4GHz quad core CPU with 16 GB of RAM.
 10
10                                 RoostaPour
                                  Roosta  Pour&&Haarslev
                                                 Haarslev

                                              Hermit
                                             Hermit          Pellet
                                                            Pellet         FaCT++
                                                                          FaCT++                                   Hybrid-S
                                                                                                                  Hybrid-S         Hybrid-C
                                                                                                                                  Hybrid-C
                                  66                                                                          66
                                 10
                                10                                                                           10
                                                                                                            10
                milliseconds)




                                                                                            milliseconds)
            (in milliseconds)




                                                                                        (in milliseconds)
                                 1044
                                10                                                                           1044
                                                                                                            10
    Runtime (in




                                                                                Runtime (in
                                 1022
                                10                                                                           1022
                                                                                                            10
    Runtime




                                                                                Runtime
                                 1000
                                10                                                                           1000
                                                                                                            10
                                         200 400
                                        200   400 600
                                                   600 800
                                                        800 1,000
                                                             1,000                                                   200 400
                                                                                                                    200   400 600
                                                                                                                               600 800
                                                                                                                                    800 1,000
                                                                                                                                         1,000
                                          Valueofofkkininsteps
                                         Value            stepsofof100
                                                                    100                                               Valueofofkkininsteps
                                                                                                                     Value            stepsofof100
                                                                                                                                                100
                                 (a) Unsatisfiable
                                 (a)Unsatisfiable
                                (a)                version
                                     Unsatisfiableversion  of
                                                   versionof  Test
                                                           ofTest
                                                              Test333                                         (b)
                                                                                                               (b)Satisfiable
                                                                                                              (b)  Satisfiableversion
                                                                                                                  Satisfiable  versionof
                                                                                                                              version ofofTest
                                                                                                                                           Test333
                                                                                                                                          Test

                                            Fig. 5.
                                             Fig.5.
                                            Fig.    Linear
                                                  5.Linear  increase
                                                     Linearincrease  of     (using
                                                                             (usingaaalog
                                                                      ofkkk(using
                                                             increaseof                log  scale
                                                                                        logscale  for
                                                                                            scalefor   the
                                                                                                   forthe  y-axis)
                                                                                                        they-axis).
                                                                                                            y-axis).

      The    second
       Thesecond
      The     secondtest  test     defines
                            testdefines         concept
                                    definesconcept
                                                 conceptTest    Test
                                                                 Test222as as
                                                                            as> > >1S.A
                                                                                     1S.A
                                                                                      1S.Au   uu8S.8S.>
                                                                                                  ∀S.     >>1R.B
                                                                                                               1R.B
                                                                                                                1R.Bu      uu8S.8R.8R
                                                                                                                               ∀S.∀R.∀R
                                                                                                                                8S.8R.8R .P
                                                                                                                                                 −
                                                                                                                                                    .P
                                                                                                                                                     .P
with    P   defined
  withPP defined
with         definedasas{uas    {u    ./
                                 {u././1M  1M1Mii.C.C      | 1
                                                   i .Ciii| |11≤   i  ≤
                                                                 iik}.   k}.    Fig.
                                                                             k}.Fig.      4 shows
                                                                                    Fig.44shows
                                                                                              showsthe    the   effect
                                                                                                           theeffect         of  increasing
                                                                                                                  effectofofincreasing
                                                                                                                                  increasingthe    the
                                                                                                                                                    the
number
  numberof
number       of   at-least
               ofat-least
                   at-leastand    and    at-most
                                   andat-most            restrictions
                                          at-mostrestrictions
                                                          restrictionsin     in    reasoning
                                                                               inreasoning
                                                                                    reasoningfor    for     Test222...In
                                                                                                           Test
                                                                                                      forTest            In
                                                                                                                          Inaaamodel
                                                                                                                                 model
                                                                                                                                  modelfor   for   the
                                                                                                                                              forthethe
concept
  conceptTest
concept      Test       ,  the
               Test222, ,the       concept
                            theconcept           expression
                                    conceptexpression                 P    is
                                                  expressionPP isispropagated  propagated
                                                                                 propagatedback    back
                                                                                                     backand and
                                                                                                              andwill will
                                                                                                                       willbe be   added
                                                                                                                               beadded         to
                                                                                                                                    addedtotothe   the
                                                                                                                                                    the
label
  labelof
label    of
          ofaaanode
                 node
                  nodewhichwhich        already
                             whichalreadyalreadyhas    has
                                                        has>  > > 1R.B,
                                                                   1R.B,        therefore,
                                                                                  therefore,we
                                                                    1R.B,therefore,              wewehavehave
                                                                                                          have(k  (k(k+ ++1) 1)   QNRs.
                                                                                                                                   QNRs.Since
                                                                                                                              1)QNRs.          Since
                                                                                                                                                Since
for   each
  foreach
for           node
       eachnode        which
               nodewhich whichhas    has
                                      hasaaaparent,
                                              parent,
                                               parent,an     an  IBE
                                                              anIBE
                                                                  IBEwillwill
                                                                          willbe  be   considered
                                                                                   beconsidered
                                                                                        consideredas      as
                                                                                                           asaaaset
                                                                                                                  set
                                                                                                                    setofof   two
                                                                                                                          oftwo      inequations
                                                                                                                               twoinequations
                                                                                                                                      inequations
in  the
ininthe   L
     theLLE      of
             EE of    the
                  ofthe       node.
                       thenode.node.As   As    shown
                                          Asshown
                                                shownininFig.in  Fig.    4,   increasing
                                                                  Fig.4,4,increasing
                                                                               increasingthe    the     number
                                                                                                  thenumber
                                                                                                         numberofofQNRsof    QNRs        decreases
                                                                                                                              QNRsdecreases
                                                                                                                                          decreases
the   performance
  theperformance
the    performanceofofthe     of   the   hybrid
                                    thehybrid          reasoner.
                                           hybridreasoner.
                                                        reasoner.This   This      is
                                                                         Thisisisdue  due   to
                                                                                       duetotothethe     fact
                                                                                                   thefact       that
                                                                                                          factthat        a
                                                                                                                  thataalargelarge     number
                                                                                                                              largenumber
                                                                                                                                        numberof     of
                                                                                                                                                      of
roles    in  the
  rolesininthe
roles              QNRs
              theQNRsQNRsincreasesincreases
                                   increasesthe   the      number
                                                    thenumber            of   variables
                                                            numberofofvariablesvariablesand   and
                                                                                               andthe  the   size
                                                                                                        thesize       of
                                                                                                              sizeofofthe   the   search
                                                                                                                             thesearch        space.
                                                                                                                                   searchspace.space.
Comparing
  Comparingthe
Comparing          the
                     thetwotwo      diagrams
                             twodiagrams
                                     diagramsin       in    Fig.
                                                       inFig.Fig.4a4a
                                                                    4aandand
                                                                          and4b  4b    shows
                                                                                   4bshows
                                                                                        showsthat that
                                                                                                    thatby by    increasing
                                                                                                            byincreasing
                                                                                                                  increasingthe      the    number
                                                                                                                                      thenumber
                                                                                                                                             number
of   at-most
ofofat-most
      at-mostQNRs QNRs
                   QNRsthe      the    reasoning
                                 thereasoning
                                        reasoningtime      time
                                                            timeforfor   the
                                                                    forthe       arithmetic
                                                                           thearithmetic           reasoner
                                                                                   arithmeticreasoner                increases
                                                                                                     reasonerincreasesincreasesfaster faster     than
                                                                                                                                        fasterthanthan
for   at-least
  forat-least
for               restrictions.
       at-leastrestrictions.
                   restrictions.The      The     reason
                                           Thereason
                                                  reasonisistheis the    heuristic
                                                                   theheuristic
                                                                          heuristicthat  that
                                                                                          thatwewe     explained
                                                                                                 weexplained              in
                                                                                                        explainedininSection   Section
                                                                                                                                Section4.1.  4.1.  By
                                                                                                                                              4.1.By By
means      of
  meansofofthis
means           this   heuristic,
                 thisheuristic,           if
                        heuristic,ififaarole  a  role     occurs
                                                  roleoccurs          in
                                                            occursininan   an    at-least
                                                                            anat-least       restriction
                                                                                  at-leastrestriction
                                                                                              restrictionand     and
                                                                                                                  andnot not    in
                                                                                                                           notininanyany    at-most
                                                                                                                                      anyat-most
                                                                                                                                             at-most
restriction
  restrictionand
restriction       and     satisfies
                   andsatisfies
                           satisfiesthe   the    pre-conditions
                                           thepre-conditions
                                                  pre-conditionsthat        that
                                                                             thatare are   mentioned
                                                                                      arementioned
                                                                                           mentionedin         in   Section
                                                                                                                inSection
                                                                                                                     Section4.1,   4.1,    then
                                                                                                                                    4.1,thenthenthethe
                                                                                                                                                    the
potential      variables
  potentialvariables
potential       variablesfor     for   IBE
                                  forIBE       which
                                        IBEwhichwhichcontaincontain
                                                             containthisthis    role
                                                                          thisrole      are
                                                                                  roleare   set
                                                                                         areset    to   zero.
                                                                                              settotozero.        Therefore,
                                                                                                         zero.Therefore,
                                                                                                                   Therefore,the     the    number
                                                                                                                                       thenumber
                                                                                                                                             number
of
of  variables
  ofvariables
     variablesin    in   the
                     inthe      search
                          thesearch
                                  searchspacespace
                                              spaceis   isisdecreased.
                                                             decreased.
                                                              decreased.
      For   the
       Forthe
      For         third
             thethird       benchmark
                   thirdbenchmark
                              benchmarkwe        we     consider
                                                  weconsider
                                                         considerthe   the   concept
                                                                        theconcept
                                                                               conceptTest Test        defined
                                                                                                        definedas
                                                                                            Test333defined            as
                                                                                                                       as>> >8S.Au6
                                                                                                                               8S.Au6
                                                                                                                                8S.Au69S.A      9S.A
                                                                                                                                                 9S.A
u∀S.(>
  u8S.(>kR.C
u8S.(>        kR.C
               kR.C u     uu6  6 66T.D
                                    6T.D
                                     6T.Du      uu> > >5T.D)
                                                          5T.D)
                                                           5T.D)u     uu8S.8R.(>
                                                                           ∀S.∀R.(>
                                                                            8S.8R.(>2T.D     2T.D
                                                                                               2T.Du      uu6 6 63T.D)
                                                                                                                   3T.D)
                                                                                                                     3T.D)u      uu8S.8R.8T.
                                                                                                                                     ∀S.∀R.∀T.
                                                                                                                                      8S.8R.8T.
∀T
8T
     −
  8T .8R.∀R   −
         .8R .P  .P    with
                  .P withwith {R   {R
                                    {R v  vvM  M M}}} 2   ∈2 R R   and
                                                                Randandkkk 2    ∈2 {100,
                                                                                     {100,
                                                                                      {100,.........,,,1000}.
                                                                                                       1000}.
                                                                                                        1000}. Fig.  Fig.
                                                                                                                       Fig. 5a 5a   displays
                                                                                                                                5a displays
                                                                                                                                     displays the  the
                                                                                                                                                    the
runtimes
  runtimesfor
runtimes       for     Test333,,,where
                     Test
                forTest             where
                                     whereP    PP isisisdefined
                                                        defined
                                                          definedas   as
                                                                       as6 66(k (k(k− 2)M.(C
                                                                                         2)M.(C
                                                                                          2)M.(Ct        ttD).
                                                                                                             D).
                                                                                                              D).In  In    this
                                                                                                                       Inthis     example
                                                                                                                            thisexample
                                                                                                                                   exampleP      PP isisis
propagated
  propagatedback
propagated         back
                    backand  and     causes
                              andcauses
                                      causesthe  the    unsatisfiability
                                                  theunsatisfiability
                                                         unsatisfiabilityof        of    Test333...Fig.
                                                                                        Test
                                                                                    ofTest         Fig.
                                                                                                     Fig.5b 5b   shows
                                                                                                             5bshows
                                                                                                                  showsthe    the   runtimes
                                                                                                                               theruntimes
                                                                                                                                     runtimesfor   for
                                                                                                                                                     for
Test      where
           whereP
  Test333where
Test                  PPisisisdefined
                               defined
                                definedas    as
                                              as666(k  (k   +1)M.(C
                                                        (k+1)M.(C
                                                             +1)M.(CtD).      tD).
                                                                                tD).In   In this
                                                                                          Inthis     example
                                                                                              thisexample
                                                                                                      exampleP       PPis isisalso
                                                                                                                              also    propagated
                                                                                                                               alsopropagated
                                                                                                                                       propagated
back
  backbut
back     but  does
          butdoes
               doesnot not     result
                        notresult
                                resultin in   the
                                           inthe     unsatisfiability
                                               theunsatisfiability
                                                       unsatisfiabilityof       of    Test333...As
                                                                                     Test
                                                                                  ofTest        As     expected
                                                                                                 Asexpected
                                                                                                        expectedthe     the   hybrid
                                                                                                                         thehybrid        reasoner
                                                                                                                                hybridreasoner
                                                                                                                                            reasoner
remains       stable
  remainsstable
remains        stablewhilewhile
                           whilethe   the    execution
                                       theexecution
                                              executiontimes    times
                                                                 timesof  of    the
                                                                            ofthe     other
                                                                                 theother       reasoners
                                                                                        otherreasoners
                                                                                                 reasonersincrease increase        according
                                                                                                                    increaseaccording
                                                                                                                                    accordingto      toto
the   values
  thevalues
the               occurring
       valuesoccurring
                   occurringin       in   the
                                       inthe     QNRs.
                                            theQNRs.
                                                  QNRs.As       As   shown
                                                                 Asshown
                                                                      shownin      in  Fig.
                                                                                    inFig.
                                                                                        Fig.5a 5a
                                                                                                5aandand
                                                                                                       and5b,5b,    Hermit’s
                                                                                                              5b,Hermit’s            behavior
                                                                                                                      Hermit’sbehavior behavioris     isis
the   worst
  theworst
the             among
       worstamongamongall     all   the
                               allthe      reasoners.
                                     thereasoners.
                                            reasoners.Hermit   Hermit
                                                                Hermitand   and     Pellet
                                                                             andPellet        show
                                                                                     Pelletshowshowaaarapid rapid      exponential
                                                                                                             rapidexponential
                                                                                                                         exponentialgrowth   growth
                                                                                                                                              growth
in
in  their
  intheir   reasoning
     theirreasoning
              reasoningtimes    times
                                 timesas   asasaaafunction
                                                   function
                                                     functionof    of
                                                                    ofk.k.   For
                                                                         k.For Forkkk >  >  400,       Hermit
                                                                                              400,Hermit
                                                                                          >400,         Hermitdid    did
                                                                                                                      didnot not   finish
                                                                                                                              notfinish       within
                                                                                                                                    finishwithin
                                                                                                                                               within
the   time
  thetime
the           limit
       timelimit
               limitof of    1000
                        of1000         seconds.
                              1000seconds.
                                        seconds.FaCT++  FaCT++
                                                         FaCT++solves   solves
                                                                         solvesthe  the   problem
                                                                                     theproblem
                                                                                           problemin      in
                                                                                                           inaaamore
                                                                                                                  more       reasonable
                                                                                                                   morereasonable
                                                                                                                              reasonabletime,   time,
                                                                                                                                                 time,
however,
  however,itititdemonstrates
however,           demonstrates
                    demonstratesits          its  dependency
                                              itsdependency
                                                    dependencyon         on
                                                                          onthethe    value
                                                                                 thevalue
                                                                                       valueof  of
                                                                                                 ofkkkas as   its
                                                                                                          asits     runtime
                                                                                                               itsruntime          increases.
                                                                                                                     runtimeincreases.
                                                                                                                                    increases.In     In
                                                                                                                                                      In
addition,
  addition,Fig.
addition,      Fig.     5
                 Fig.55showsshows
                              showsthe   the    behavior
                                          thebehavior
                                                 behaviorofofour  of  our     hybrid
                                                                       ourhybrid          algorithm
                                                                               hybridalgorithm
                                                                                           algorithmusing    using
                                                                                                              usingsimplesimple       (Hybrid-S)
                                                                                                                          simple(Hybrid-S)
                                                                                                                                       (Hybrid-S)
and complex (Hybrid-C) dependency-directed backtracking. The complex backtrack-
ing outperforms simple backtracking since it prunes more branches that would lead to
the same sort of clash. In addition to improving the performance of the reasoner the
optimization techniques used in hybrid reasoner can make its performance more stable.
5 Conclusion and Future Work
The hybrid calculus presented in this paper decides SHIQ ABox satisfiability. The
implemented prototype demonstrates the improvement on reasoning time for selected
benchmarks featuring QNRs and inverse roles. Utilizing algebraic reasoning and ap-
plying optimization techniques, the hybrid calculus would be a good solution in case
of large numbers occurring in QNRs. In [2] a hybrid algorithm for SHOQ using alge-
braic reasoning has been proposed and extensively analyzed in an empirical evaluation.
Due to the nature of nominals, [2] needs to use a global partitioning in contrast to the
local partition used in our approach. Several novel techniques to optimize reasoning for
SHOQ have been designed and evaluated in [2]. Some of these techniques are not ex-
clusively dedicated to nominals and could be applied to our hybrid calculus for SHIQ
too. For instance, the exponential number of partitions was addressed using a so-called
lazy partitioning technique which only generates partitions and their associated vari-
ables on demand. We are currently developing a new hybrid prototype for SHIQ that
integrates suitable optimizations techniques from [2]. We are planning to combine our
work on both SHIQ and SHOQ in order to design a hybrid algebraic calculus for
SHOIQ.
References
 1. Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C.: Introduction to Algorithms. The MIT
    Press, 2nd edn. (Sep 2001)
 2. Faddoul, J.: Reasoning Algebraically with Description Logics. Ph.D. thesis, Concordia Uni-
    versity (September 2011)
 3. Faddoul, J., Farsinia, N., Haarslev, V., Möller, R.: A hybrid tableau algorithm for ALCQ. In:
    Proceedings of ECAI 2008, Greece. pp. 725–726 (2008)
 4. Faddoul, J., Haarslev, V.: Algebraic tableau reasoning for the description logic SHOQ. Jour-
    nal of Applied Logic 8(4), 334–355 (December 2010)
 5. Farsiniamarj, N., Haarslev, V.: Practical reasoning with qualified number restrictions: A hy-
    brid Abox calculus for the description logic SHQ. AI Commun. 23, 205–240 (2010)
 6. Haarslev, V., Möller, R.: Optimizing reasoning in description logics with qualified number
    restriction. In: Proc. of DL 2001, USA. pp. 142–151 (Aug 2001)
 7. Horrocks, I., Sattler, U.: A description logic with transitive and inverse roles and role hierar-
    chies. Journal of Logic and Computation 9(3), 385–410 (1999)
 8. Horrocks, I., Sattler, U., Tobies, S.: Reasoning with individuals for the description logic
    SHIQ. In: Proc. of CADE-17. pp. 482–496. Springer-Verlag, London, UK (2000)
 9. Horrocks, I., Tobies, S.: Reasoning with axioms: Theory and practice. In: In Proc. of KR
    2000. pp. 285–296 (2000)
10. Ohlbach, H.J., Koehler, J.: Modal logics, description logics and arithmetic reasoning. Artif.
    Intell. 109, 1–31 (1999)
11. Papadimitriou, C.H.: On the complexity of integer programming. J. ACM 28, 765–768
    (1981)
12. Roosta Pour, L.: A Hybrid ABox calculus using algebraic reasoning for the description logic
    SHIQ. Master’s thesis, Concordia University (January 2012)