1 Introduction

Description Logic (DL) [2] is a class of logical formalisms, typically based on classical first-order logic, and widely used in Knowledge Representation and Reasoning to describe and reason about relevant concepts in a given application domain and their relationships. Since certain laws of classical logic fail in certain application domains, in recent years, there has been a growing interest in developing versions of description logics on weaker (non-classical) propositional bases. For instance, in [20], an intuitionistic version of the DL \(\mathcal {ALC}\) has been introduced for resolving some inconsistencies arising from the classical law of excluded middle when applying \(\mathcal {ALC}\) to legal domains. In [6, 19], many-valued (fuzzy) description logics have been introduced to account for uncertainty and imprecision in processing information in the Semantic Web, and recently, frameworks of non-monotonic description logics have been introduced [14, 15, 18].

One domain of application in which there is no consensus as to how classical logic should be applied is Formal Concept Analysis (FCA). In this setting, formal concepts arise from formal contexts \(\mathbb {P}=(A,X,I)\), where A and X are sets (of objects and features respectively), and \(I\subseteq A \times X\). Specifically, formal concepts are represented as Galois-stable tuples (BY) such that \(B \subseteq A\) and \(Y \subseteq X\) and \(B = \{a \in A \mid \forall y (y \in Y \Rightarrow a I y)\}\) and \(Y= \{x \in X \mid \forall b(b \in B \Rightarrow b I x)\}\). The formal concepts arising from a formal context are naturally endowed with a partial order (the sub-concept/super-concept relation) as follows: \((B_1, Y_1) \le (B_2, Y_2)\) iff \(B_1 \subseteq B_2\) iff \(Y_2 \subseteq Y_1\). This partial order is a complete lattice, which is in general non-distributive. The failure of distributivity in the lattice of formal concepts introduces a tension between classical logic and the natural logic of formal concepts in FCA. This failure motivated the introduction of lattice-based propositional (modal) logics as the (epistemic) logics of formal concepts [9, 10]. Complete relational semantics of these logics is given by enriched formal contexts (cf. Sect. 2.2), relational structures \(\mathbb {F}= (\mathbb {P}, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\) based on formal contexts.

In this paper, we introduce LE-\(\mathcal {ALC}\), a lattice-based version of \(\mathcal {ALC}\) which stands in the same relation to the lattice-based modal logic of formal concepts [12] as classical \(\mathcal {ALC}\) stands in relation to classical modal logic: the language and semantics of LE-\(\mathcal {ALC}\) is based on enriched formal contexts and their associated modal algebras. Thus, just like the language of \(\mathcal {ALC}\) can be seen as a hybrid modal logic language interpreted on Kripke frames, the language of LE-\(\mathcal {ALC}\) can be regarded as a hybrid modal logic language interpreted on enriched formal contexts.

FCA and DL are different and well known approaches in the formal representation of concepts (or categories). They have been used together for several purposes [1, 4, 17]. Thus, providing a DL framework which allows us to describe formal contexts (possibly enriched, e.g. with additional relations on them) would be useful in relating these frameworks both at a theoretical and at a practical level. Proposals to connect FCA and DL have been made, in which concept lattices serve as models for DL concepts. Shilov and Han [21] interpret the positive fragment of \(\mathcal {ALC}\) concept names over concept lattices and show that this interpretation is compatible with standard Kripke models for \(\mathcal {ALC}\). A similar approach is used by Wrum [22] in which complete semantics for the (full) Lambek calculus is defined on concept lattices. The approach of the present paper for defining and interpreting non-distributive description logic and modal logic in relation with concept lattices with operators differs from the approaches mentioned above in that it is based on duality-theoretic insights (cf. [10]). This allows us not only to show that the DL framework introduced in the present paper is consistent with the standard DL setting and its interpretation on Kripke models, but also to show that several properties of these logics and the meaning of their formulas can also be “lifted” from the classical (distributive) to non-distributive settings (cf. [7, 8, 12] for extended discussions).

The main technical contribution of this paper is a tableaux algorithm for checking the consistency of LE-\(\mathcal {ALC}\) ABoxes. We show that the algorithm is terminating, sound and complete. Interestingly, this algorithm has a polynomial time complexity, compared to the complexity of the consistency checking of classical \(\mathcal {ALC}\) ABoxes which is PSPACE-complete. The algorithm also constructs a model for the given ABox which is polynomial in size. Thus, it also implies that the corresponding hybrid modal logic has the finite model property.

Structure of the Paper. In Sect. 2, we give the necessary preliminaries on the DL \(\mathcal {ALC}\), lattice-based modal logics and their relational semantics. In Sect. 3, we introduce the syntax and the semantics of LE-\(\mathcal {ALC}\). In Sect. 4, we introduce a tableaux algorithm for checking the consistency of LE-\(\mathcal {ALC}\) ABoxes and show that it is terminating, sound and complete. In Sect. 5, we conclude and discuss some future research directions.

2 Preliminaries

2.1 Description Logic \(\mathcal {ALC}\)

Let \(\mathcal {C}\) and \(\mathcal {R}\) be disjoint sets of primitive or atomic concept names and role names. The set of concept descriptions or compound concept names over \(\mathcal {C}\) and \(\mathcal {R}\) are defined recursively as follows.

$${{\small C :=A \mid \top \mid \bot \mid C \wedge C \mid C \vee C \mid \lnot C \mid \exists r.C\mid \forall r.C}}$$

where \(A \in \mathcal {C}\) and \(r \in \mathcal {R}\). An interpretation is a tuple \(\textrm{I}=(\varDelta ^{\textrm{I}}, \cdot ^{\textrm{I}})\) s.t. \(\varDelta ^{\textrm{I}}\) is a non-empty set and \(\cdot ^{\textrm{I}}\) maps every concept name \(A \in \mathcal {C}\) to a set \(A^{\textrm{I}} \subseteq \varDelta ^{\textrm{I}}\), and every role name \(r \in \mathcal {R}\) to a relation \(r^{\textrm{I}} \subseteq \varDelta ^{\textrm{I}} \times \varDelta ^{\textrm{I}}\). This mapping extends to all concept descriptions as follows:

$$ \begin{array}{rclcrcl} \top ^{\textrm{I}} &{} = &{} \varDelta ^{\textrm{I}} &{} \quad &{} \bot ^{\textrm{I}} &{} = &{} \varnothing \\ (C \wedge D)^{\textrm{I}} &{} = &{} C ^{\textrm{I}} \cap D ^{\textrm{I}} &{} \quad &{} (C \vee D)^{\textrm{I}} &{} = &{} C ^{\textrm{I}} \cup D ^{\textrm{I}} \\ (\exists r.C )^{\textrm{I}} &{} = &{} \{ d \in \varDelta ^{\textrm{I}} \mid \exists e((d,e) \in r^{\textrm{I}}\ \& \ e \in C ^{\textrm{I}}\} &{} \quad &{} (\lnot C )^{\textrm{I}} &{} = &{} \varDelta ^{\textrm{I}} \setminus C ^{\textrm{I}} \\ (\forall r.C )^{\textrm{I}} &{} = &{} \{ d \in \varDelta ^{\textrm{I}} \mid \forall e((d,e) \in r^{\textrm{I}} \Rightarrow e \in C ^{\textrm{I}}\} \\ \end{array}$$

Let \(\mathcal {S}\) be a set of individual names disjoint from \(\mathcal {C}\) and \(\mathcal {R}\), such that for every a in \(\mathcal {S}\), \(a^\textrm{I} \in \varDelta ^\textrm{I}\). For any \(a,b \in \mathcal {S}\), any \(C\in \mathcal {C}\) and \(r \in \mathcal {R}\), an expression of the form a : C (resp. (ab) : r) is an \(\mathcal {ALC}\) concept assertion (resp. role assertion). A finite set of \(\mathcal {ALC}\) concept and role assertions is an \(\mathcal {ALC}\) ABox. An assertion a : C (resp. (ab) : r) is satisfied in an interpretation \({\textrm{I}}\) if \(a^{\textrm{I}} \in C^{\textrm{I}}\) (resp. if \((a^{\textrm{I}},b^{\textrm{I}}) \in r^{\textrm{I}}\)). An \(\mathcal {ALC}\) TBox is a finite set of expressions of the form \(C_1 \equiv C_2\). An interpretation \({\textrm{I}}\) satisfies \(C_1 \equiv C_2\) iff \(C_1^{\textrm{I}} = C_2^{\textrm{I}}\). An \(\mathcal {ALC}\) knowledge base is a tuple \((\mathcal {A}, \mathcal {T})\), where \(\mathcal {A}\) is an \(\mathcal {ALC}\) ABox, and \(\mathcal {T}\) is an \(\mathcal {ALC}\) TBox. An interpretation \({\textrm{I}}\) is a model for a knowledge base \((\mathcal {A}, \mathcal {T})\) iff it satisfies all members of \(\mathcal {A}\) and \(\mathcal {T}\). A knowledge base \((\mathcal {A}, \mathcal {T})\) is consistent if there is a model for it. An ABox \(\mathcal {A}\) (resp. TBox \(\mathcal {T}\)) is consistent if the knowledge base \((\mathcal {A}, \varnothing )\) (resp. \((\varnothing , \mathcal {T})\)) is consistent.

An \(\mathcal {ALC}\) concept definition in T is an expression of the form \(A \equiv C\) where A is an atomic concept. We say that A directly uses B if there is a concept definition \(A \equiv C\) in \(\mathcal {T}\) such that B occurs in C. We say that A uses B if A directly uses B, or if there is a concept name \(B'\) such that A uses \(B'\) and \(B'\) directly uses B. A finite set \(\mathcal {T}\) of concept definitions is an acyclic TBox if

  1. 1.

    there is no concept name in \(\mathcal {T}\) that uses itself,

  2. 2.

    no concept name occurs more than once on the left-hand side of a concept definition in \(\mathcal {T}\).

Checking the consistency of a knowledge base is a key problem in description logics, usually solved via tableaux algorithms. In the \(\mathcal {ALC}\) case, checking the consistency of any knowledge base is EXPTIME-complete while checking the consistency of a knowledge base with acyclic TBoxes is PSPACE-complete [2].

2.2 Basic Normal Non-distributive Modal Logic and Its Semantics

The logic introduced in this section is part of a family of lattice-based logics, sometimes referred to as LE-logics (cf. [11]), which have been studied in the context of a research program on the logical foundations of categorization theory [8,9,10, 12]. Let \(\textsf{Prop}\) be a (countable) set of atomic propositions. The language \(\mathcal {L}\) is defined as follows:

$$ \varphi :=\bot \mid \top \mid p \mid \varphi \wedge \varphi \mid \varphi \vee \varphi \mid \Box \varphi \mid \Diamond \varphi , $$

where \(p\in \textsf{Prop}\), and \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\) for finite sets \(\mathcal {F}\) and \(\mathcal {G}\) of unary \(\Diamond \)-type (resp. \(\Box \)-type) modal operators. The basic, or minimal normal \(\mathcal {L}\)-logic is a set \(\textbf{L}\) of sequents \(\varphi \vdash \psi \), with \(\varphi ,\psi \in \mathcal {L}\), containing the following axioms for every \(\Box \in \mathcal {F}\) and \(\Diamond \in \mathcal {G}\):

$${{\begin{array}{ccccccccccccc} p \vdash p &{} \qquad &{} \bot \vdash p &{} \qquad &{} p \vdash p \vee q &{} \qquad &{} p \wedge q \vdash p &{} \qquad &{} \top \vdash \Box \top &{} \qquad &{} \Box p \wedge \Box q \vdash \Box (p \wedge q) \\ &{} \qquad &{} p \vdash \top &{} \qquad &{} q \vdash p \vee q &{} \qquad &{} p \wedge q \vdash q &{}\qquad &{} \Diamond \bot \vdash \bot &{} \qquad &{} \Diamond (p \vee q) \vdash \Diamond p \vee \Diamond q \\ \end{array}}}$$

and closed under the following inference rules:

$$\begin{aligned}\begin{gathered} \frac{\varphi \vdash \chi \quad \chi \vdash \psi }{\varphi \vdash \psi } \ \ \frac{\varphi \vdash \psi }{\varphi \left( \chi /p\right) \vdash \psi \left( \chi /p\right) } \ \ \frac{\chi \vdash \varphi \quad \chi \vdash \psi }{\chi \vdash \varphi \wedge \psi } \ \ \frac{\varphi \vdash \chi \quad \psi \vdash \chi }{\varphi \vee \psi \vdash \chi } \ \ \frac{\varphi \vdash \psi }{\Box \varphi \vdash \Box \psi } \ \ \frac{\varphi \vdash \psi }{\Diamond \varphi \vdash \Diamond \psi } \end{gathered}\end{aligned}$$

Note that unlike in classical modal logic, we cannot assume that \(\Box \) and \(\Diamond \) are inter-definable in LE-logics, hence we take all connectives as primitive.

Relational Semantics. The following notation, notions and facts are from [8, 12]. For any binary relation \(T\subseteq U\times V\), and any \(U'\subseteq U\) and \(V'\subseteq V\), we let \(T^c\) denote the set-theoretic complement of T in \(U\times V\), and

$$\begin{aligned} T^{(1)}[U']:=\{v\mid \forall u(u\in U'\Rightarrow uTv) \} \quad \quad T^{(0)}[V']:=\{u\mid \forall v(v\in V'\Rightarrow uTv) \}.\end{aligned}$$

In what follows, we fix two sets A and X, and use ab (resp. xy) for elements of A (resp. X), and \(B, C, A_j\) (resp. \(Y, W, X_j\)) for subsets of A (resp. of X).

A polarity or formal context (cf. [13]) is a tuple \(\mathbb {P} =(A,X,I)\), where A and X are sets, and \(I \subseteq A \times X\) is a binary relation. Intuitively, formal contexts can be understood as abstract representations of databases [13], so that A and X represent collections of objects and features, and for any object a and feature x, the tuple (ax) belongs to I exactly when object a has feature x.

As is well known, for every formal context \(\mathbb {P} = (A, X, I)\), the pair of maps

$${{(\cdot )^\uparrow : \mathcal {P}(A)\rightarrow \mathcal {P}(X)\quad \text{ and } \quad (\cdot )^\downarrow : \mathcal {P}(X)\rightarrow \mathcal {P}(A),}}$$

defined by the assignments \(B^\uparrow :=I^{(1)}[B]\) and \(Y^\downarrow :=I^{(0)}[Y]\), form a Galois connection, and hence induce the closure operators \((\cdot )^{\uparrow \downarrow }\) and \((\cdot )^{\downarrow \uparrow }\) on \(\mathcal {P}(A)\) and on \(\mathcal {P}(X)\) respectively. The fixed points of \((\cdot )^{\uparrow \downarrow }\) and \((\cdot )^{\downarrow \uparrow }\) are the Galois-stable sets. A formal concept of a polarity \(\mathbb {P}=(A,X,I)\) is a tuple \(c=(B,Y)\) such that \(B\subseteq A\) and \(Y\subseteq X\), and \(B = Y^\downarrow \) and \(Y = B^\uparrow \). The subset B (resp. Y) is the extension (resp. the intension) of c and is denoted by \([\![{c}]\!]\) (resp. \((\![{c}]\!)\)). It is well known (cf. [13]) that the sets B and Y are Galois-stable, and that the set of formal concepts of a polarity \(\mathbb {P}\), with the order defined by

$${{c_1 \le c_2 \quad \text {iff} \quad [\![{c_1}]\!] \subseteq [\![{c_2}]\!] \quad \text {iff} \quad (\![{c_2}]\!) \subseteq (\![{c_1}]\!),}}$$

forms a complete lattice \(\mathbb {P}^+\), namely the concept lattice of \(\mathbb {P}\).

For the language \(\mathcal {L}\) defined above, an enriched formal \(\mathcal {L}\)-context is a tuple \(\mathbb {F} =(\mathbb {P}, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\), where \(\mathcal {R}_\Box = \{R_\Box \subseteq A \times X \mid \Box \in \mathcal {G}\} \) and \( \mathcal {R}_\Diamond = \{R_\Diamond \subseteq X \times A \mid \Diamond \in \mathcal {F}\}\) are sets of I-compatible relations, that is, for all \(\Box \in \mathcal {G}\), \(\Diamond \in \mathcal {F}\), \(a \in A\), and \(x \in X\), the sets \(R_\Box ^{(0)}[x]\), \(R_\Box ^{(1)}[a]\), \(R_\Diamond ^{(0)}[a]\), \(R_\Diamond ^{(1)}[x]\) are Galois-stable in \(\mathbb {P}\). For each \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\), their associated relations \(R_\Box \) and \(R_\Diamond \) provide their corresponding semantic interpretations as operations \([R_\Box ]\) and \(\langle R_\Diamond \rangle \) on the concept lattice \(\mathbb {P}^+\) defined as follows: For any \(c \in \mathbb {P}^+\),

$${{[R_\Box ] c =(R_\Box ^{(0)}[(\![{c}]\!)], I^{(1)}[R_\Box ^{(0)}[(\![{c}]\!)]]) \quad \text {and} \quad \langle R_\Diamond \rangle c =( I^{(0)}[R_\Diamond ^{(0)}[[\![{c}]\!]]], R_\Diamond ^{(0)}[[\![{c}]\!]]).}}$$

We refer to the algebra \(\mathbb {F}^+=(\mathbb {P}^+, \{[R_\Box ]\}_{\Box \in \mathcal {G}}, \{\langle R_\Diamond \rangle \}_{\Diamond \in \mathcal {F}})\) as the complex algebra of \(\mathbb {F}\).

A valuation on such an \(\mathbb {F}\) is a map \(V:\textsf{Prop}\rightarrow \mathbb {P}^+\). For each \(p\in \textsf{Prop}\), we let \([\![{p}]\!] :=[\![{V(p)}]\!]\) (resp. \((\![{p}]\!):=(\![{V(p)}]\!)\)) denote the extension (resp. intension) of the interpretation of p under V.

A model is a tuple \(\mathbb {M} = (\mathbb {F}, V)\) where \(\mathbb {F} = (\mathbb {P}, \mathcal {R}_{\Box }, \mathcal {R}_{\Diamond })\) is an enriched formal context and V is a valuation on \(\mathbb {F}\). For every \(\varphi \in \mathcal {L}\), we let \([\![{\varphi }]\!]_\mathbb {M} :=[\![{V(\varphi )}]\!]\) (resp. \((\![{\varphi }]\!)_\mathbb {M}:=(\![{V(\varphi )}]\!)\)) denote the extension (resp. intension) of the interpretation of \(\varphi \) under the homomorphic extension of V. The following ‘forcing’ relations can be recursively defined as follows:

figure a

As to the interpretation of modal formulas, for every \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\):

$${{ \begin{array}{llcll} \mathbb {M}, a \Vdash \Box \varphi &{} \text { iff } (\forall x\in X)(\mathbb {M}, x \succ \varphi \Rightarrow a R_\Box x) &{} \quad \quad &{} \mathbb {M}, x \succ \Box \varphi &{} \text { iff } (\forall a\in A)(\mathbb {M}, a \Vdash \Box \varphi \Rightarrow a I x) \\ \mathbb {M}, x \succ \Diamond \varphi &{}\text { iff for all } a\in A, if \mathbb {M}, a \Vdash \varphi \text { then } x R_\Diamond a &{}&{} \mathbb {M}, a \Vdash \Diamond \varphi &{}\text { iff } (\forall x\in X)(\mathbb {M}, x \succ \Diamond \varphi \Rightarrow a I x) \\ \end{array}}}$$

The definition above ensures that, for any \(\mathcal {L}\)-formula \(\varphi \),

$$\mathbb {M}, a \Vdash \varphi \text { iff }a\in [\![{\varphi }]\!]_{\mathbb {M}}, \quad \text { and } \quad \mathbb {M},x \succ \varphi \text { iff } x\in (\![{\varphi }]\!)_{\mathbb {M}}. $$
$$\mathbb {M}\models \varphi \vdash \psi \quad \text { iff }\quad [\![{\varphi }]\!]_{\mathbb {M}}\subseteq [\![{\psi }]\!]_{\mathbb {M}}\quad \text { iff } \quad (\![{\psi }]\!)_{\mathbb {M}}\subseteq (\![{\varphi }]\!)_{\mathbb {M}}. $$

The interpretation of the propositional connectives \(\vee \) and \(\wedge \) in the framework described above reproduces the standard notion of join and the meet of formal concepts used in FCA. The interpretation of the operators \(\Box \) and \(\Diamond \) is motivated by algebraic properties and duality theory for modal operators on lattices (cf. [12, Sect. 3] for an expanded discussion). In [8, Proposition 3.7], it is shown that the semantics of LE-logics is compatible with Kripke semantics for classical modal logic, and thus, LE-logics are indeed generalizations of classical modal logic. This interpretation is further justified in [8, Sect. 4] by noticing that, under the interpretations of the relation I as aIx iff “object a has feature x” and \(R=R_\Box =R^{-1}_\Diamond \) as aRx iff “there is evidence that object a has feature x”, then, for any concept c, the extents of concepts \(\Box c\) and \(\Diamond c\) can be interpreted as “the set of objects which certainly belong to c” (upper approximation), and “the set of objects which possibly belong to c” (lower approximation) respectively. Thus, the interpretations of \(\Box \) and \(\Diamond \) have similar meaning in the LE-logic as in the classical modal logic. A similar justification regarding similarity of epistemic interpretations of \(\Box \) in classical and lattice-based modal logics is discussed in [9]. This transfer of meaning of modal axioms from classical modal logic to LE-logics has been investigated as a general phenomenon in [7, Sect. 4.3], [12].

3 LE Description Logic

In this section, we introduce the non-classical DL LE-\(\mathcal {ALC}\), so that LE-\(\mathcal {ALC}\) will be in same relation with LE-logic as \(\mathcal {ALC}\) is with classical modal logic. This similarity extends to the models we will introduce for LE-\(\mathcal {ALC}\): in the same way as Kripke models of classical modal logic are used as models of \(\mathcal {ALC}\), enriched formal contexts, which provide complete semantics for LE-logic, will serve as models of LE-\(\mathcal {ALC}\). In this specific respect, LE-\(\mathcal {ALC}\) can be seen as a generalization of the positive fragment (i.e. the fragment with no negations in concept names) of \(\mathcal {ALC}\) in which we do not assume distributivity laws to hold for concepts. Consequently, the language of LE-\(\mathcal {ALC}\) contains individuals of two types, usually interpreted as the objects and features of the given database or categorization. Let \(\textsf{OBJ}\) and \(\textsf{FEAT}\) be disjoint sets of individual names for objects and features.

The set \(\mathcal {R}\) of the role names for LE-\(\mathcal {ALC}\) is the union of three disjoint sets of relations: (1) the singleton set \(\{I \mid I \subseteq \textsf{OBJ} \times \textsf{FEAT} \}\); (2) a set \(\mathcal {R}_\Box = \{ R_\Box \subseteq \textsf{OBJ} \times \textsf{FEAT} \mid \Box \in \mathcal {G}\}\); (3) a set \(\mathcal {R}_\Diamond = \{ R_\Diamond \subseteq \textsf{FEAT} \times \textsf{OBJ} \mid \Diamond \in \mathcal {G}\}\). While I is intended to be interpreted as the incidence relation of formal concepts, and encodes information on which objects have which features, the relations in \(\mathcal {R}_\Box \) and \(\mathcal {R}_\Diamond \) encode additional relationships between objects and features (cf. [8] for an extended discussion).

For any set \(\mathcal {C}\) of atomic concept names, the language of LE-\(\mathcal {ALC}\) concepts is:

$${{C :=D\ |\ C_1 \wedge C_2\ |\ C_1\vee C_2\ |\ \top \ |\ \bot \ |\ \langle R_\Diamond \rangle C\ |\ [R_\Box ]C}}$$

where \(D \in \mathcal {C}\), \(R_\Box \in \mathcal {R}_\Box \) and \(R_\Diamond \in \mathcal {R}_\Diamond \). This language matches the language of LE-logic, and has an analogous intended interpretation on the complex algebras of enriched formal contexts (cf. Sect. 2.2). As usual, \(\vee \) and \(\wedge \) are to be interpreted as the smallest common superconcept and the greatest common subconcept as in FCA. The constants \(\top \) and \(\bot \) are to be interpreted as the largest and the smallest concept, respectively. We do not include \(\lnot C\) as a valid concept name in our language, since there is no canonical and natural way to interpret negations in non-distributive settings.

The concept names \(\langle R_\Diamond \rangle C\) and \([R_\Box ]C \) in LE-\(\mathcal {ALC}\) are intended to be interpreted as the operations \(\langle R_\Diamond \rangle \) and \([R_\Box ]\) defined by the interpretations of their corresponding role names in enriched formal contexts, analogously to the way in which \(\exists r\) and \(\forall r\) in \(\mathcal {ALC}\) are interpreted on Kripke frames. We do not use the symbols \(\forall r\) and \(\exists r\) in the context of LE-\(\mathcal {ALC}\) because, as discussed in Sect. 2.2, the semantic clauses of modal operators in LE-logic use universal quantifiers, and hence using the same notation verbatim would be ambiguous or misleading.

TBox assertions in LE-\(\mathcal {ALC}\) are of the shape \(C_1 \equiv C_2\), where \(C_1\) and \(C_2\) are concepts defined as above.Footnote 1 The ABox assertions are of the form:

$${{aR_\Box x,\quad xR_\Diamond a,\quad aIx,\quad a:C,\quad x{::}C,\quad \lnot \alpha ,}}$$

where \(\alpha \) is any of the first five ABox terms. We refer to the terms of first three types as relational terms. The interpretations of the terms a : C and x :  : C are: “object a is a member of concept C”, and “feature x is in the description of concept C”, respectively.

An interpretation for LE-\(\mathcal {ALC}\) is a tuple \(\textrm{I} = (\mathbb {F}, \cdot ^\textrm{I}) \), where \(\mathbb {F}=(\mathbb {P}, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\) is an enriched formal context, and \(\cdot ^\textrm{I}\) maps:

  1. 1.

    individual names \(a \in \textsf{OBJ}\) (resp. \(x \in \textsf{FEAT}\)), to some \(a^\textrm{I} \in A\) (resp. \(x^\textrm{I} \in X\));

  2. 2.

    relation names I, \(R_\Box \) and \(R_\Diamond \) to relations \(I^\textrm{I}\), \(R_\Box ^\textrm{I}\) and \(R_\Diamond ^\textrm{I}\) in \(\mathbb {F}\);

  3. 3.

    any primitive concept D to \(D^\textrm{I} \in \mathbb {F}^+\), and other concepts as follows:

$${{ \begin{array}{l l l} \bot ^{\textrm{I}} = (X^\downarrow ,X) &{} \top ^{\textrm{I}} = (A, A^\uparrow ) &{} (C_1 \wedge C_2)^{\textrm{I}} = C_1^{\textrm{I}} \wedge C_2^{\textrm{I}} \\ (C_1\vee C_2)^{\textrm{I}} = C_1^{\textrm{I}} \vee C_2^{\textrm{I}} \qquad &{} ([R_\Box ]C)^\textrm{I} = [R_\Box ^\textrm{I}]C^{\textrm{I}} \qquad &{} (\langle R_\Diamond \rangle C)^\textrm{I} =\langle R_\Diamond ^{\mathrm I} \rangle C^{\textrm{I}} \\ \end{array}}}$$

where the operators \([R^\textrm{I}_\Box ]\) and \(\langle R^\textrm{I}_\Diamond \rangle \) are defined as in Sect. 2.2.

The satisfiability relation for an interpretation \(\textrm{I}\) is defined as follows:

  1. 1.

    \(\textrm{I} \models C_1\equiv C_2\) iff \([\![{C_1^\textrm{I}}]\!] = [\![{C_2^\textrm{I}}]\!]\) iff \((\![{C_2^\textrm{I}}]\!) = (\![{C_1^\textrm{I}}]\!)\).

  2. 2.

    \(\textrm{I} \models a:C\) iff \(a^\textrm{I} \in [\![{C^\textrm{I}}]\!]\) and \(\textrm{I} \models x{::}C\) iff \(x^\textrm{I} \in (\![{C^\textrm{I}}]\!)\).

  3. 3.

    \( \textrm{I} \models a I x\) (resp. \(a R_\Box x\), \(x R_\Diamond a\)) iff \(a^{\textrm{I}} I^{\textrm{I}} x^{\textrm{I}} \) (resp. \(a^{\textrm{I}} R_\Box ^{\textrm{I}} x^{\textrm{I}} \), \(x^{\textrm{I}} R_\Diamond ^{\textrm{I}} a^{\textrm{I}} \)).

  4. 4.

    \( \textrm{I} \models \lnot \alpha \), where \(\alpha \) is any ABox term, iff \( \textrm{I} \not \models \alpha \).

An interpretation \(\textrm{I}\) is a model for an LE-\(\mathcal {ALC}\) knowledge base \((\mathcal {A}, \mathcal {T})\) if \(\textrm{I}\models \mathcal {A}\) and \(\textrm{I} \models \mathcal {T}\).

The framework of LE-\(\mathcal {ALC}\) formally brings FCA and DL together in two important ways: (1) the concepts of LE-\(\mathcal {ALC}\) are naturally interpreted as formal concepts in FCA; (2) the language of LE-\(\mathcal {ALC}\) is designed to represent knowledge and reasoning in the setting of enriched formal contexts.

4 Tableaux Algorithm for ABox of LE-\(\mathcal {ALC}\)

In this section, we define a tableaux algorithm for checking the consistency of LE-\(\mathcal {ALC}\) ABoxes. An LE-\(\mathcal {ALC}\) ABox \(\mathcal {A}\) contains a clash iff it contains both \(\beta \) and \(\lnot \beta \) for some relational term \(\beta \). The expansion rules below are designed so that the expansion of \(\mathcal {A}\) will contain a clash iff \(\mathcal {A}\) is inconsistent. The set sub(C) of sub-formulas of any LE-\(\mathcal {ALC}\) concept name C is defined as usual.

A concept name \(C'\) occurs in \(\mathcal {A}\) (in symbols: \(C' \in \mathcal {A}\)) if \(C'\in sub(C)\) for some C such that one of the terms a : C, x :  : C, \(\lnot a:C\), or \(\lnot x {::}C\) is in \(\mathcal {A}\). A constant b (resp. y) occurs in \(\mathcal {A}\) (\(b \in \mathcal {A}\), or \(y \in \mathcal {A}\)), iff some term containing b (resp. y) occurs in it.

The tableaux algorithm below constructs a model \((\mathbb {F},\cdot ^\textrm{I})\) for every consistent \(\mathcal {A}\), where \(\mathbb {F}= (\mathbb {P}, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\) is such that, for any \(C \in \mathcal {A}\), some \(a_C \in A\) and \(x_C \in X\) exist such that, for any \(a \in A\) (resp. any \(x \in X\)), \(a \in [\![{C^{\textrm{I}}}]\!]\) (resp. \(x \in (\![{C}]\!)^{\textrm{I}}\)) iff \(a I x_C\) (resp. \(a_C I x\)). We call \(a_C\) and \(x_C\) the classifying object and the classifying feature of C, respectively. To make our notation more easily readable, we will write \(a_{\Box C}\), \(x_{\Box C}\) (resp. \(a_{\Diamond C}\), \(x_{\Diamond C}\)) instead of \(a_{[R_\Box ]C}\), \(x_{[R_\Box ]C}\) (resp. \(a_{\langle R_\Diamond \rangle C}\), \(x_{\langle R_\Diamond \rangle C}\)) Moreover, for every \(R_\Box \in \mathcal {R}_\Box \) and \(R_\Diamond \in \mathcal {R}_\Diamond \), we will also impose the condition that \(a \in [\![{[R_\Box ]C}]\!]\) (resp. \(x \in (\![{\langle R_\Diamond \rangle C}]\!)\)) iff \(a R_\Box x_C\) (resp. \(x R_\Diamond a_C\)), where \(a_C\) and \(x_C\) are the classifying object and the classifying feature of C, respectively. Note that we can always assume w.l.o.g. that any consistent ABox \(\mathcal {A}\) is satisfiable in a model with classifying objects and features (cf. Theorem 3).

figure b

Below, we list the expansion rules. The commas in each rule are metalinguistic conjunctions, hence every tableau is non-branching.

figure c

In rules \(\top \) and \(\bot \), b and y are any objects or features occurring in the tableau. In the adjunction rules the individuals \(\blacklozenge b\), \(\Diamond b\), \(\Box y\), and \(\blacksquare y\) are new and unique for each relation \(R_\Box \) and \(R_\Diamond \), except for \(\Diamond a_C= a_{\Diamond C}\) and \(\Box x_C= x_{\Box C}\).

The basic rule and the logical rules for the connectives encode the semantics of the logical connectives in LE-\(\mathcal {ALC}\). The creation rule makes sure that, whenever successful, the algorithm outputs models with classifying object \(a_C\) and feature \(x_C\) for every concept name \(C \in \mathcal {A}\). The adjunction rules imply that every \(R_\Box \in \mathcal {R}_\Box \) and \(R_\Diamond \in \mathcal {R}_\Diamond \) are I-compatible. Appending and negative assertion rules encode the defining property of classifying objects and features of concepts.

Remark 1 (Branching)

Note that no expansion rule above involves branching. Thus, unlike tableaux algorithms for \(\mathcal {ALC}\), Algorithm 1 does not involve any branching. New elements are added to \(\mathcal {A}\) only via adjunction and creation rules.

Example 1

Let \(\mathcal {A} =\{b:[R_\Box ][R_\Box ] C_1, b:[R_\Box ][R_\Box ]C_2, y{::}[R_\Box ] (C_1 \wedge C_2), \lnot (b R_\Box y)\}\). It is easy to check that \(\mathcal {A}\) has no LE-\(\mathcal {ALC}\) model. The algorithm applies on \(\mathcal {A}\) as follows (We only do the partial expansion to show that the clash exists):



Added terms




\(x_{\Box C_1}\!{::}\![R_\Box ] C_1\), \(x_{\Box C_2}\!{::}\![R_\Box ] C_2\), \(x_{C_1 \wedge C_2}{::}C_1 \wedge C_2\)


\(\Box \)

\(x_{\Box C_i}\!{::}\![R_\Box ] C_i\), \(b\!:\![R_\Box ][R_\Box ] C_i\)

\(b R_\Box x_{\Box C_i}\)


\(R_\Box \)

\(b R_\Box x_{\Box C_i}\)

\(\blacklozenge b I x_{\Box C_i}\)



\(\blacklozenge b I x_{\Box C_i}\)

\(\blacklozenge b:[R_\Box ] C_i\)


By applying the same process to \(\blacklozenge b:[R_\Box ] C_1\), \(\blacklozenge b:[R_\Box ] C_2\) and \(x_{\Box C_1}{::}[R_\Box ] C_1\), \(x_{\Box C_2}{::}[R_\Box ] C_2\), we add the terms \(\blacklozenge \blacklozenge b:C_1\) and \(\blacklozenge \blacklozenge b:C_2\) to the tableau. Then the further tableau expansion is as follows:



Added terms

\(\wedge _X\)

\(x_{C_1 \wedge C_2}{::}C_1 \wedge C_2\), \(\blacklozenge \blacklozenge b:C_1\), \(\blacklozenge \blacklozenge b:C_2\), \(\blacklozenge \blacklozenge b:C_1\)

\(\blacklozenge \blacklozenge b I x_{C_1 \wedge C_2}\)


\(\blacklozenge \blacklozenge b I x_{C_1 \wedge C_2}\)

\(\blacklozenge \blacklozenge b : C_1 \wedge C_2\)

\(adj_\Box \) (twice)

\(\blacklozenge \blacklozenge b : C_1 \wedge C_2\)

\(b:[R_\Box ][R_\Box ](C_1 \wedge C_2)\)

\(\Box \)

\(b:[R_\Box ][R_\Box ] (C_1 \wedge C_2)\), \(y{::}[R_\Box ](C_1 \wedge C_2)\)

\(b R_\Box y\)

Thus, there is a clash between \(\lnot (b R_\Box y)\) and \(b R_\Box y\) in the expansion.

Example 2

Let \(\mathcal {A} = \{\lnot (b I y), y{::}C_1, \lnot (b:C_2), b:C_1 \vee C_2, b R_\Box y\}\). The following table shows the tableau expansion for \(\mathcal {A}\). Let \(\mathcal {W} {:}{=}\{C_1, C_2, C_1 \vee C_2\}\).



Added terms



\(\lnot (b I y), y{::}C_1, \lnot (b:C_2), b:C_1 \vee C_2, b R_\Box y\)



\(a_C:C\), \(x_C{::}C\), \(C \in \mathcal {W}\)


\(a_C:C\), \(x_C{::}C\), \(C \in \mathcal {W}\)

\(a_C I x_C\), \(C \in \mathcal {W}\)


\(a_{C_1} I x_{C_1 \vee C_2}\), \(a_{C_2} I x_{C_1 \vee C_2}\)

\(a_{C_1}:C_1 \vee C_2\), \(a_{C_2}:C_1 \vee C_2\)

\(\vee _X\)

\(x_{C_1 \vee C_2}{::}C_1 \vee C_2\)

\(x_{C_1 \vee C_2}{::}C_1\), \(x_{C_1 \vee C_2}{::}C_2\)


\(a_{C_1}{::}C_1 \vee C_2\), \(x_{C_1 \vee C_2}{::}C_1\)

\(a_{C_1} I x_{C_1 \vee C_2}\)


\(a_{C_2}{::}C_1 \vee C_2\), \(x_{C_1 \vee C_2}{::}C_1\)

\(a_{C_2} I x_{C_1 \vee C_2}\)

\(R_\Box \)

\(b R_\Box y\)

\(\blacklozenge b I y\), \(b I \Box y\)

\(\lnot _b\)

\(\lnot (b:C_1)\)

\(\lnot (b I x_{C_2})\)

Note that no expansion rule is applicable anymore. It is clear that the tableau does not contain any clashes. Thus, this ABox has a model. By the procedure described in Sect. 4.2, this model is given by \(\mathcal {R}_\Box = \{R_\Box \}, \mathcal {R}_\Diamond = \{R_\Diamond \}, A =\{a_{C_1}, a_{C_2}, a_{C_1 \vee C_2}, b, \blacklozenge b\}\), \(X =\{x_{C_1}, x_{C_2}, x_{C_1 \vee C_2}, y, \Box y \}\), \(I=\{(a_{C},x_{C})_{C \in \mathcal {W}}, (a_{C_1}, x_{C_1 \vee C_2}), (a_{C_2}, x_{C_1 \vee C_2}), (\blacklozenge b, y), (b, \Box y)\} \), \(R_\Box =\{(b,y)\}\), \(R_\Diamond = \varnothing \).

4.1 Termination of the Tableaux Algorithm

In this section, we show that Algorithm 1 always terminates for any finite LE-\(\mathcal {ALC}\) ABox \(\mathcal {A}\). Since no rule branches out, we only need to check that the number of new individuals added by the expansion rules is finite. Note that the only rules for adding new individuals are the creation and adjunction rules. The creation rules add one new object and feature for every concept C occurring in the expansion of \(\mathcal {A}\). Thus, it is enough to show that the number of individuals and new concepts added by applying adjunction rules is finite. To do so, we will show that any individual constant introduced by means of any adjunction rule will contain only finitely many modal operators applied to a constant occurring in \(\mathcal {A}\) or added by the creation rule and any new concept name added will contain finitely many \(\Box \) and \(\Diamond \) operators applied to a concept occurring in \(\mathcal {A}\).

Definition 1

The \(\Diamond \)-depth \(\Diamond _{\mathcal {D}}\) and \(\Box \)-depth \(\Box _{\mathcal {D}}\) of C is defined as follows:

  1. 1.

    if C is an atomic concept, then \(\Diamond _{\mathcal {D}}(C)=\Box _{\mathcal {D}}(C)=0\);

  2. 2.

    \(\Diamond _{\mathcal {D}}(\langle R_\Diamond \rangle C)=\Diamond _{\mathcal {D}}( C)+1 \) and \(\Box _{\mathcal {D}}(\langle R_\Diamond \rangle C)=\Box _{\mathcal {D}}(C) \);

  3. 3.

    \(\Diamond _{\mathcal {D}}([R_\Box ] C)=\Diamond _{\mathcal {D}}(C) \) and \(\Box _{\mathcal {D}}([R_\Box ] C)=\Box _{\mathcal {D}}(C)+1 \);

  4. 4.

    \(\Diamond _{\mathcal {D}}(C_1 \vee C_2)= \max ( \Diamond _{\mathcal {D}}(C_1), \Diamond _{\mathcal {D}}(C_2))\) and \(\Box _{\mathcal {D}}(C_1 \vee C_2)= \min ( \Box _{\mathcal {D}}(C_1), \Box _{\mathcal {D}}(C_2))\);

  5. 5.

    \(\Diamond _{\mathcal {D}}(C_1 \wedge C_2)= \min ( \Diamond _{\mathcal {D}}(C_1), \Diamond _{\mathcal {D}}(C_2))\) and \(\Box _{\mathcal {D}}(C_1 \wedge C_2)= \max ( \Box _{\mathcal {D}}(C_1), \Box _{\mathcal {D}}(C_2))\).

Definition 2

The \(\Box \)-depth \(\Box _{\mathcal {D}}\) and \(\Diamond \)-depth \(\Diamond _{\mathcal {D}}\) of any constants b and y are:

  1. 1.

    if \(b, y\in \mathcal {A}\), \(\Box _{\mathcal {D}}(b) = \Diamond _{\mathcal {D}}(b)=\Box _{\mathcal {D}}(y) = \Diamond _{\mathcal {D}}(y)=0 \);

  2. 2.

    \(\Box _{\mathcal {D}}(a_C)=\Diamond _{\mathcal {D}}(x_C)=0 \), \(\Diamond _{\mathcal {D}}(a_C)=-\Diamond _{\mathcal {D}}(C)\), and \(\Box _{\mathcal {D}}(x_C)=-\Box _{\mathcal {D}}(C)\);

  3. 3.

    \(\Box _{\mathcal {D}}(\blacklozenge b)=\Box _{\mathcal {D}}(b)+1 \), \(\Box _{\mathcal {D}}(\Diamond b)=\Box _{\mathcal {D}}(b) \), \(\Diamond _{\mathcal {D}}(\blacklozenge b)=\Diamond _{\mathcal {D}}(b) \), \(\Diamond _{\mathcal {D}}(\Diamond b)=\Diamond _{\mathcal {D}}(b)-1\);

  4. 4.

    \(\Box _{\mathcal {D}}(\Box y)=\Box _{\mathcal {D}}(y)-1\), \(\Diamond _{\mathcal {D}}(\Box y )=\Diamond _{\mathcal {D}}(y) \), \(\Box _{\mathcal {D}}(\blacksquare y)=\Box _{\mathcal {D}}(y) \), \(\Diamond _{\mathcal {D}}(\blacksquare y)=\Diamond _{\mathcal {D}}( y) +1\).

The following lemma is key to give bounds on the \(\Box \)-depth and \(\Diamond \)-depth of new concept names added in a tableau expansion.

Lemma 1

For any individual names by and for any \(R_\Box \in \mathcal {R}_\Box , R_\Diamond \in \mathcal {R}_\Diamond \),

  1. 1.

    If \(b R_\Box y\) is added to a tableau expansion, but \(b R_\Box y \not \in \mathcal {A}\), then \(b:[R_\Box ] C\) and y :  : C already occur in a previous expansion of \(\mathcal {A}\) for some C.

  2. 2.

    If \(y R_\Diamond b\) is added to a tableau expansion, but \(y R_\Diamond b \not \in \mathcal {A}\), then \(y{::}\langle R_\Diamond \rangle C\) and b : C already occur in a previous expansion of \(\mathcal {A}\) for some C.

  3. 3.

    If bIy is added to a tableau expansion by any rule other than the adjunction rules \(R_\Box \) or \(R_\Diamond \) applied to some term occurring in \(\mathcal {A}\), then the tableau can (and hence, if \(\mathcal {A}\) is consistent, it will at some point) be expanded with the terms b : C and y :  : C (in zero or more steps) for some C.

  4. 4.

    If bIy is added to the expansion as described in the previous item, then either:

    1. (i)

      The terms b : C and \(y{::}C'\) occur in some previous expansion of \(\mathcal {A}\) for some C, \(C'\) such that \(\Diamond _{\mathcal {D}}(C) =\Diamond _{\mathcal {D}}(C')\) and \(\Box _{\mathcal {D}}(C) = \Box _{\mathcal {D}}(C')\).

    2. (ii)

      \(b =\blacklozenge d\) (resp. \(b=\Diamond d\)) for some d, and the terms \(d:[R_\Box ] C\) and y :  : C (resp. \(y{::}\langle R_\Diamond \rangle C\) and b : C) occur in some previous expansion of \(\mathcal {A}\) for some C.

    3. (iii)

      \(y =\blacksquare w\) (resp. \(y=\Box w\)) for some w, and the terms \(w{::}\langle R_\Diamond \rangle C\) and b : C (resp. \(b:[R_\Box ] C\) and w :  : C) occur in some previous expansion of \(\mathcal {A}\) for some C.

    5. If b : C is added to the tableau by some expansion rule, there is \(d:C'\) s.t.

    1. (i)

      \(d:C' \in \mathcal {A}\) or is added by applying the creation rule.

    2. (ii)

      b is obtained by applying some finite combination of \(\Diamond \) and \(\blacklozenge \) to d.

    3. (iii)

      \(\Diamond _{\mathcal {D}}(C') + \Diamond _{\mathcal {D}}(d) \le \Diamond _{\mathcal {D}}(C)+\Diamond _{\mathcal {D}}(b) \), and \(\Box _{\mathcal {D}}(C) +\Box _{\mathcal {D}}(b) \le \Box _{\mathcal {D}}(C')+ \Box _{\mathcal {D}}(d) \).

    6. If y :  : C is added to the tableau by some expansion rule, there is \(w{::}C'\) s.t.

    1. (i)

      \(w{::}C'\in \mathcal {A}\) or is added by applying the creation rule.

    2. (ii)

      y is obtained by applying some finite combination of \(\Box \) and \(\blacksquare \) to w.

    3. (iii)

      \(\Diamond _{\mathcal {D}}(C) + \Diamond _{\mathcal {D}}(y) \le \Diamond _{\mathcal {D}}(C')+\Diamond _{\mathcal {D}}(w)\), and \(\Box _{\mathcal {D}}(C') +\Box _{\mathcal {D}}(w) \le \Box _{\mathcal {D}}(C)+ \Box _{\mathcal {D}}(y)\).


Items 1 and 2 follow from the observation that new terms of the type \(b R_\Box y\) and \(y R_\Diamond b\) are only added through the expansion rules for terms of the forms \(b:[R_\Box ] C\) and \(y{::} \langle R_\Diamond \rangle C\), respectively.

For item 3, the cases where bIy is introduced with the expansion rules for b : C or y :  : C are straightforward. If the expansion rule for \(y{::} C_1\wedge C_2\) is applied, then from the term \(x_{C_1\wedge C_2}{::}C_1 \wedge C_2\) we can get \(bIx_{C_1\wedge C_2}\) (since both \(b:C_1\) and \(b:C_2\) must be present), finally obtaining \(b: C_1\wedge C_2\) from the appending rule. The \(b: C_1\vee C_2\) case is analogous. The only other rule that can add bIy is the adjunction rule. However, note that this can only happen if \(y R_\Diamond b\) or \(b R_\Box y\) is present. By item 1, if the term \(b R_\Box y\) is added then \(b:[R_\Box ] C\) and y :  : C are in the tableau and it also adds the terms \(\blacklozenge b I y\) and \(b I \Box y\). Note that since \(b:[R_\Box ] C\) and y :  : C are in the tableau, \(\blacklozenge b:C\) and \(\Box y{::}[R_\Box ] C\) must also be in it. The first term can be obtained from \(b: [R_\Box ] C\) adding \(bR_\Box x_C\) to the tableau and applying the adjunction rule and then the appending rule. Using the fact that \(a_{\Box C}: [R_\Box ] C\) is in the tableau after applying the creation rule, \(\Box y{::} [R_\Box ] C\) can be obtained similarly. Therefore, the required condition is satisfied for both \(\blacklozenge b I y\) and \(b I \Box y\). We can deal with the terms of the form \(y R_\Diamond b\) analogously.

For item 4, the only non-trivial case is when \(\blacklozenge bIy, bI\Box y\) or \(\Diamond b I y, bI\blacksquare y\) are added via an adjunction rule. In the first case, \(bR_\Box y\) must be present, meaning that item 1 is applicable and hence for some C, both \(b:[R_\Box ] C\) and y :  : C appear in the tableau, satisfying the thesis. The other case is treated analogously.

We prove items 5 and 6 by simultaneous induction on the number of expansion rules applied. The rules which can add new terms of the form b : C and y :  : C are the expansion rules for terms of the form \(b:C_1 \wedge C_2\), \(y{::}C_1 \vee C_2\), the appending rules, and the adjunction rules.

If b : C is obtained from \(b:C\wedge C'\), either the latter is present in the original tableau and the thesis follows trivially, or the induction hypothesis applies and it follows by transitivity. The case where y :  : C comes from \(y{::}C\vee C'\) is analogous.

If \(b: [R_\Box ] C\) is obtained from \(\blacklozenge b: C\) via an adjunction rule, then it suffices to apply the induction hypothesis to \(\blacklozenge b: C\), noticing that no black operators can appear in the starting tableau. The adjunction case for \(y{::}\langle R_\Diamond \rangle C\) is similar.

Without loss of generality, we only treat the case where the appending rule is used to add a term of the form b : C. Notice that for the appending rule to be applicable we must have \(b I x_C\) in the tableau. Then by item 4, either:

  1. (i)

    There exist terms \(b:C_1\) and \(x_C{::}C_2\) in the tableau such that \(\Diamond _{\mathcal {D}}(C_1) =\Diamond _{\mathcal {D}}(C_2)\) and \(\Box _{\mathcal {D}}(C_1) = \Box _{\mathcal {D}}(C_2)\).

  2. (ii)

    \(b =\blacklozenge d\) (resp. \(b=\Diamond d\)) for some d, and there exist terms \(d:[R_\Box ] C_2\) and \(x_C{::}C_2\) (resp. \(x_C{::}\langle R_\Diamond \rangle C_2\) and \(b:C_2\)) in the tableau for some \(C_2\).

  3. (iii)

    \(x_C =\blacksquare w\) (resp. \(x_C=\Box w\)) for some w, and there exist terms \(w{::}\langle R_\Diamond \rangle C_2\) and \(b:C_2\) (resp. \(b:[R_\Box ] C_2\) and \(w{::}C_2\)) in the tableau for some \(C_2\).

In case (i), if \(C \equiv C_2\), the thesis follows easily, else we apply the induction hypothesis to \(x_C{::}C_2\) to find a term \(w{::}C_2'\) in the original tableau such that

$$\begin{aligned} \Diamond _{\mathcal {D}}(C_1) =\Diamond _{\mathcal {D}}(C_2)+\Diamond _{\mathcal {D}}(x_C) \le \Diamond _{\mathcal {D}}(C_2') + \Diamond _{\mathcal {D}}(w), \end{aligned}$$
$$\begin{aligned} \Box _{\mathcal {D}}(C_2')+ \Box _{\mathcal {D}}(w) \le \Box _{\mathcal {D}}(C_2) +\Box _{\mathcal {D}}(x_C) = \Box _{\mathcal {D}}(C_1) - \Box _{\mathcal {D}}(C), \end{aligned}$$

where \(x_C\) is obtained by applying n \(\Box \)-operators to w for some n (note that \(x_C\) can not be obtained by application of \(\blacksquare \)-operators). Thus, we have \(w=x_{C_3}\) such that \(C=[R_\Box ]_1 \cdots [R_\Box ]_n C_3\). Since \(x_{C_3}{::}C_2'\) is in the original tableau, it must have been added by a creation rule, meaning that \(C_2' \equiv C_3\). Thus, we have \(\Box _{\mathcal {D}}(w)=-\Box _{\mathcal {D}}(C_2')\), \(\Diamond _{\mathcal {D}}(w) =0 \), \(\Diamond _{\mathcal {D}}(C_2') = \Diamond _{\mathcal {D}}(C)\), and \(\Box _{\mathcal {D}}(C_2') = \Box _{\mathcal {D}}(C)-n\). Using these equalities in (3) and (2) we obtain

$${{\small \Diamond _{\mathcal {D}}(C_1)+\Diamond _{\mathcal {D}}(b) \le \Diamond _{\mathcal {D}}(C) + \Diamond _{\mathcal {D}}(b) \quad \text {and} \quad \Box _{\mathcal {D}}(C)+ \Box _{\mathcal {D}}(b) \le \Box _{\mathcal {D}}(C_1) +\Box _{\mathcal {D}}(b).}}$$

Thus, if \(b:C_1 \in \mathcal {A}\), then it is the witness we needed, otherwise it is sufficient to apply the induction hypothesis to \(b:C_1\), and the result follows by transitivity.

In case (ii), suppose \(d:[R_\Box ] C_2\) and \(x_C{::}C_2\) are both in the tableau. If \(C\equiv C_2\), then the proof follows easily applying the induction hypothesis once to \(b:C_2\) if it is not in the original tableau. Otherwise, we can apply the induction hypothesis to \(x_C{::}\langle R_\Diamond \rangle C_2\), obtaining, by the same argument as in case (i), \( \Diamond _{\mathcal {D}}(C_2) \le \Diamond _{\mathcal {D}}(C)\) and \(\Box _{\mathcal {D}}(C) \le \Box _{\mathcal {D}}(C_2) \). Therefore,

figure d

Thus, if \(d:[R_\Box ] C_2 \in \mathcal {A}\), then it is the witness we need; otherwise, it is sufficient to apply the induction hypothesis a second time to \(d:[R_\Box ] C_2\), and the result then follows by transitivity. The proof for the remaining subcase, where \(b:C'\) and \(x_C{::}\langle R_\Diamond \rangle C'\) are both present in the tableau, is done similarly.

The proof for case (iii) is analogous to (ii) and therefore omitted.

Definition 3

The \(\Box \) -depth (resp. \(\Diamond \)-depth) of an ABox \(\mathcal {A}\) is

\(\Box _{\mathcal {D}}(\mathcal {A}) {:}{=}\max \{ \Box _{\mathcal {D}}(C')\ |\ C' \in \mathcal {A}\)} (resp. \(\Diamond _{\mathcal {D}}(\mathcal {A}) {:}{=}\max \{ \Diamond _{\mathcal {D}}(C')\ |\ C' \in \mathcal {A}\)}).

Corollary 1

Let C be any concept name added to the tableau expansion at some step. Then \(\Box _{\mathcal {D}}(C) \le \Box _{\mathcal {D}}(\mathcal {A})\), and \(\Diamond _{\mathcal {D}}(C) \le \Diamond _{\mathcal {D}}(\mathcal {A})\).


By item 5 of Lemma 1, for any b : C added to the tableau we must have another term \(d:C'\) in \(\mathcal {A}\) or added by a creation rule, such that \(\Box _{\mathcal {D}}(C) \le \Box _{\mathcal {D}}(C) +\Box _{\mathcal {D}}(b) \le \Box _{\mathcal {D}}(C')+ \Box _{\mathcal {D}}(d) = \Box _{\mathcal {D}}(C')\). The first inequality holds because \(\Box _\mathcal {D}(b)\) is always non-negative, and the equality follows from the fact that, as d is in the original tableau or added by a creation rule, its \(\Box \)-depth is zero. The proof for the \(\Diamond \)-depth can be shown in a similar manner using item 6 of Lemma 1.

Definition 4

For any concept ABox term of the form \(t\equiv a:C\) or \(t\equiv x{::}C\), \(size(t)= 1+|sub(C)|\). For any relational term \(\beta \), \(size(\beta )= 2\). For any LE-\(\mathcal {ALC}\) ABox \(\mathcal {A}\), \(size(\mathcal {A})=\sum _{t \in \mathcal {A}} size(t)\).

Theorem 1 (Termination)

For any ABox \(\mathcal {A}\), the tableaux algorithm 1 terminates in a finite number of steps which is polynomial in \(size(\mathcal {A})\).


New individuals are added to the tableau only in the following ways:

  1. (1)

    individuals of the form \(a_C\) or \(x_C\) can be added by creation rules;

  2. (2)

    individuals of the form \(\Box y\), \(\blacksquare y\), \(\Diamond b\), and \(\blacklozenge b\) can be added through the expansions rules for \(b R_\Box x\) and \(y R_\Diamond a\).

As to (1), by Corollary 1, the \(\Box \)-depth (resp. \(\Diamond \)-depth) of any C appearing in an expansion of \(\mathcal {A}\) is bounded by \(\Box _{\mathcal {D}}(\mathcal {A}) \) (resp. \(\Diamond _{\mathcal {D}}(\mathcal {A}) \)). Moreover, no new propositional connective is ever added to create a new concept name in any of the rules. Therefore, the total number of concept names occurring in an expansion of \(\mathcal {A}\) is bounded by \(size(\mathcal {A})* (\Box _{\mathcal {D}}(\mathcal {A}) + \Diamond _{\mathcal {D}}(\mathcal {A}))\). Thus, only finitely many constants of type (1) can be added.

For (2), for any individual name b added by some expansion rule, b occurs in b : C for some C. By Lemma 1 (5), there is a term \(d:C' \in \mathcal {A}\) s.t.

$${{\Box _{\mathcal {D}}(b) + \Box _{\mathcal {D}}(C) \le \Box _{\mathcal {D}}(d) + \Box _{\mathcal {D}}(C') = \Box _{\mathcal {D}}(C').}}$$

Therefore, \(\Box _{\mathcal {D}}(b) \) is bounded by \(\Box _\mathcal {D}(\mathcal {A})\). On the other hand, by item 6 of the same lemma we also have \(0 \le \Diamond _{\mathcal {D}}(C') + \Diamond _{\mathcal {D}}(d) \le \Diamond _{\mathcal {D}}(C)+\Diamond _{\mathcal {D}}(b)\).

The first inequality follows from the fact that \(d \in \mathcal {A}\), and thus \(\Diamond _{\mathcal {D}}(d)=0\) or \(d=a_{C'}\), and thus \(\Diamond _{\mathcal {D}}(d) = -\Diamond _{\mathcal {D}}(C') \). Therefore, we must have \(- \Diamond _{\mathcal {D}}(C) \le \Diamond _{\mathcal {D}}(b) \), meaning that \(\Diamond _{\mathcal {D}}(b) \) is bounded below by \(-\Diamond _{\mathcal {D}}(\mathcal {A})\). Thus, the number of connectives \(\Diamond \) and \(\blacklozenge \) in b is bounded by \(\Box _{\mathcal {D}}(\mathcal {A}) + \Diamond _{\mathcal {D}}(\mathcal {A})\). Repeating the same argument for the individual names of type y, the total number of new constant names occurring in an expansion of \(\mathcal {A}\) is bounded by \(size(\mathcal {A})* (\Box _{\mathcal {D}}(\mathcal {A}) + \Diamond _{\mathcal {D}}(\mathcal {A}))\). Thus, only finitely many constants of type (2) are added. Overall, the size of the tableau expansion (and hence the model) is \(O((size(\mathcal {A})* (\Box _{\mathcal {D}}(\mathcal {A}) + \Diamond _{\mathcal {D}}(\mathcal {A}))^2*(|\mathcal {R}_\Box |+|\mathcal {R}_\Diamond |) )\). Since the tableaux algorithm for LE-\(\mathcal {ALC}\) does not involve any branching, the above theorem implies that the time complexity of checking the consistency of an LE-\(\mathcal {ALC}\) ABox \(\mathcal {A}\) using the tableaux algorithm is \(Poly(size(\mathcal {A}))\).

4.2 Soundness of the Tableau Algorithm

For any consistent ABox \(\mathcal {A}\), we let its completion \(\overline{\mathcal {A}}\) be its maximal expansion (which exists due to termination). If there is no clash in \(\overline{\mathcal {A}}\), we construct a model \((\mathbb {F},\cdot ^\textrm{I})\) where A and X are the sets of names of objects and features occurring in the expansion, and for any \(a \in A\), \(x \in X\), and any role names \(R_\Box \in \mathcal {R}_\Box \), \(R_\Diamond \in \mathcal {R}_\Diamond \) we have aIx, \(a R_\Box x\), \(x R_\Diamond a\) iff such relational terms explicitly occur in \(\overline{\mathcal {A}}\). Let \(\mathbb {F}= (A,X,I, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\) be the relational structure obtained in this manner. We define an interpretation \(\textrm{I}\) on it as follows. For any object name a, and feature name x, we let \(a^\textrm{I}{:}{=}a\) and \(x^\textrm{I}{:}{=}x\). For any atomic concept D, we define \(D^{\textrm{I}}= ({x_D}^\downarrow , {a_D}^\uparrow )\). Next, we show that \(\textrm{I}\) is a valid interpretation for LE-\(\mathcal {ALC}\). To this end, we need to show that \(\mathbb {F}\) is an enriched formal context, i.e. that all \(R_\Box \) and \(R_\Diamond \) are I-compatible, and that \(D^{\textrm{I}}\) is a concept in the concept lattice \(\mathbb {P}^+\) of \(\mathbb {P} = (A, X, I)\). The latter condition is shown in the next lemma, and the former in the subsequent one.

Lemma 2

\(x_D^{\downarrow \uparrow }=a_D^\uparrow \) and \(a_D^{\uparrow \downarrow }=x_D^\downarrow \) for any \(D \in \mathcal {C}\).


By the creation rules, we always have \(a_D:D\) and \(x_D{::}D\) in \(\overline{\mathcal {A}}\), meaning that the tableau can be expanded with \(a_D I x_D\). Therefore, we always have \(x_D^{\downarrow \uparrow }\subseteq a_D^\uparrow \). Suppose \(a_D I y\) and \(b I x_D\) for some \(y \in X\), \(b \in A\). Then by the appending rules we have \(y{::}D \in \overline{\mathcal {A}}\). This along with \(b I x_D \in \overline{\mathcal {A}}\) immediately implies \(b I y \in \overline{\mathcal {A}}\). Thus, we also have \( a_D^\uparrow \subseteq x_D^{\downarrow \uparrow }\). We can prove the other equality analogously.

Lemma 3

All the relations \(R_\Box \in \mathcal {R}_\Box \) and \(R_\Diamond \in \mathcal {R}_\Diamond \) in \(\mathbb {F}= (\mathbb {P}, \mathcal {R}_\Box , \mathcal {R}_\Diamond )\) are I-compatible.


We need to show that for any \(b\in A\) and \(y\in X\), and any \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\), (1) \(R_\Box ^{(0)}[y] = (\Box y)^\downarrow \), (2) \(R_\Box ^{(1)}[b] = (\blacklozenge b)^\uparrow \), (3) \(R_\Diamond ^{(0)}[b] = (\Diamond b)^\uparrow \), and (4) \(R_\Diamond ^{(1)}[y] = (\blacksquare y)^\downarrow \). We prove only (1) and (2). The proofs for (3) and (4) are analogous.

  1. 1.

    For any \(b \in A\), if \(b R_\Box y \in \mathcal {A}\), then \( b I \Box y\) can be added by the adjunction rule, and thus \(R_\Box ^{(0)}[y] \subseteq (\Box y)^\downarrow \). If \(b R_\Box y \notin \mathcal {A}\), then \( b I \Box y\) is not added by applying adjunction rule to some \(b R_\Box y\) in the original tableau. Thus, by item 1 of Lemma 1, \(b:C, \Box y{::} C\in \overline{\mathcal {A}}\). Since \(\Box y{::} C\) can only be added by the appending rule if \(a_C I \Box y \in \overline{\mathcal {A}}\), and since this term can only be introduced by applying the adjunction rule to the term \(\blacklozenge a_C I y\), some concept \(C'\) exists such that \(\blacklozenge a_C:C', y{::}C' \in \overline{\mathcal {A}}\) (again by item 3 of Lemma 1). Then by the adjunction rule we have \(a_C:[R_\Box ] C' \in \overline{\mathcal {A}}\). Since b : C, \(x_{\Box C'}{::}C\), and \(y{::}C'\) are all in \( \overline{\mathcal {A}}\), \(b I x_{\Box C'}\) and \(b:[R_\Box ] C'\) must be in it as well. This, along with \(y{::}C' \in \overline{\mathcal {A}}\), ensures that \(b R_\Box y\) is added to the tableau expansion at some step, and we can conclude that \( (\Box y)^\downarrow \subseteq R_\Box ^{(0)}[y]\), as desired.

  2. 2.

    For every \(b \in A\), if \(b R_\Box y \in \mathcal {A}\), then by the adjunction rule we add \(\blacklozenge b I y\). Thus, \(R_\Box ^{(1)}[b] \subseteq (\blacklozenge b)^\uparrow \). If \(b R_\Box y \notin \mathcal {A}\), then by item 1 of Lemma 1, some terms \(\blacklozenge b:C\) and y :  : C must occur in \( \overline{\mathcal {A}}\) for some C. So we have y :  : C and (by an adjunction rule) \(b:[R_\Box ] C\), and hence \(b R_\Box y\) must occur in \( \overline{\mathcal {A}}\). So \(\blacklozenge b I y \in \overline{\mathcal {A}}\) implies \(b R_\Box y \in \overline{\mathcal {A}}\). Thus, \( (\blacklozenge b)^\uparrow \subseteq R_\Box ^{(1)}[b]\), as desired.

From the lemmas above, it immediately follows that the tuple \(M =(\mathbb {F}, \cdot ^\textrm{I})\), with \(\mathbb {F} \) and \(\cdot ^\textrm{I}\) defined at the beginning of the present section, is a model for LE-\(\mathcal {ALC}\). The following lemma states that the interpretation of any concept C in the model M is completely determined by the terms of the form \(b I x_C\) and \(a_C I y\) occurring in the tableau expansion.

Lemma 4

Let \(M =(\mathbb {F}, \cdot ^\textrm{I})\) be the model defined by the construction above. Then for any concept C and individuals b, x occurring in \( \overline{\mathcal {A}}\),

(1) \(b \in [\![{C}]\!]_M\) iff \(b I x_C \in \overline{\mathcal {A}}\)       (2) \(x \in (\![{C}]\!)_M\) iff \(a_C I x \in \overline{\mathcal {A}}\).


By induction on the complexity of C. The base case (when C is atomic) is immediate by the construction of the model. For \(C=\top \), by rule \(\top \), and \(x_\top {::}\top \) from the creation rule, \(b I x_T \in \overline{\mathcal {A}}\) for any \(b \in A\). Therefore, \(x_\top ^\downarrow = A = [\![{\top }]\!]\). For item 2, for any y, and if \(a_T I y \in \overline{\mathcal {A}}\), then by the appending rule \(y{::}\top \in \overline{\mathcal {A}}\). Then by \(\top \) and the basic rule \(bI y \in \overline{\mathcal {A}}\) for all b. Thus, \((\![{\top }]\!) = A^\uparrow \subseteq a_\top ^\uparrow \). Moreover, if \(y \in (\![{\top }]\!)\), then \( b I y \in \overline{\mathcal {A}}\) for any b. In particular \(a_T I y \in \overline{\mathcal {A}}\). Thus, \((\![{\top }]\!) =a_\top ^\uparrow \). The proof for \(\bot \) is analogous. For the induction step, we have four cases.

  1. 1.

    Suppose \(C=C_1 \vee C_2\). For the first claim, notice that \(b \in [\![{C_1 \vee C_2}]\!]\) iff \(\forall y( y \in (\![{C_1}]\!) \cap (\![{C_2}]\!) \Rightarrow b I y)\). By the induction hypothesis, this is equivalent to

    $$ {{\forall y (y{::}C_1 \in \overline{\mathcal {A}}\,\ \& \ \, y{::}C_2 \in \overline{\mathcal {A}} \implies b I y \in \overline{\mathcal {A}}).}}$$

    By the creation rule for \(C_1 \vee C_2\), we have \(x_{C_1 \vee C_2}{::}C_1 \vee C_2\), and consequently both \(x_{C_1 \vee C_2}{::}C_1\) and \(x_{C_1 \vee C_2}{::}C_2\) are added to the tableau. Thus, if the condition \( y{::}C_1\ \& \ y{::}C_2 \Rightarrow b I y\) is satisfied for any y in \( \overline{\mathcal {A}}\), then \(b I x_{C_1 \vee C_2} \in \overline{\mathcal {A}}\). So \(b \in [\![{C_1 \vee C_2}]\!]\) implies that \(b I x_{C_1 \vee C_2} \in \overline{\mathcal {A}}\). Conversely, if \(b I x_{C_1 \vee C_2} \in \overline{\mathcal {A}}\), then by the appending rule \(b:C_1 \vee C_2 \in \overline{\mathcal {A}}\). Thus, for any \(y{::}C_1\) and \(y{::}C_2 \in \overline{\mathcal {A}}\), \(b I y \in \overline{\mathcal {A}}\) due to rule \(\vee _A\). Hence, \(b I x_{C_1 \vee C_2} \in \overline{\mathcal {A}}\) implies

    $$ {{\forall y (y{::}C_1 \in \overline{\mathcal {A}}\,\ \& \ \, y{::}C_2 \in \overline{\mathcal {A}} \implies b I y \in \overline{\mathcal {A}}). }}$$

    As observed before, this is equivalent to \(y \in (\![{C_1 \vee C_2}]\!)\), as desired.

    For the second claim, notice that \(x \in (\![{C_1 \vee C_2}]\!)\) iff \(x \in (\![{C_1}]\!)\) and \(x \in (\![{C_2}]\!)\). By induction hypothesis, this is equivalent to \(x{::}C_1\) and \(x{::}C_2\) occurring in \(\overline{\mathcal {A}}\). By the creation rule for \(C_1 \vee C_2\), \(a_{C_1 \vee C_2}:C_1 \vee C_2 \in \overline{\mathcal {A}}\). Since \(x{::}C_1, x{::}C_2 \in \overline{\mathcal {A}}\), we have \(a_{C_1 \vee C_2} I x \in \overline{\mathcal {A}}\) by the rule \(\vee _X\). Conversely, if \(a_{C_1 \vee C_2} I x \in \overline{\mathcal {A}}\), then \(x{::}C_1 \vee C_2 \in \overline{\mathcal {A}}\) by the appending rules, which implies \(x{::}C_1, x{::}C_2 \in \overline{\mathcal {A}}\), or equivalently, \(x \in (\![{C_1 \vee C_2}]\!)\).

  2. 2.

    The proof for \(C=C_1 \wedge C_2\) is similar to the previous one.

  3. 3.

    Suppose \(C=[R_\Box ] C_1\). For the first claim, note that \(b \in [\![{[R_\Box ] C_1}]\!]\) iff \(\forall y (y \in (\![{C_1}]\!) \Rightarrow b R_\Box y)\). By induction hypothesis, this is equivalent to \(\forall y (y{::}C_1 \in \overline{\mathcal {A}} \Rightarrow b R_\Box y \in \overline{\mathcal {A}})\). Since \(x_{C_1}{::}C_1 \in \overline{\mathcal {A}}\), by the creation rule for \(C_1\), it follows that \(b R_\Box x_{C_1} \in \overline{\mathcal {A}}\). By the adjunction rule, this implies \(b I \Box x_{C_1} = b I x_{\Box C_1} \in \overline{\mathcal {A}}\). Conversely, if \(b I x_{\Box C_1} \in \overline{\mathcal {A}}\), then by the appending rule also \(b: [R_\Box ] C_1 \in \overline{\mathcal {A}}\). That is, for any y, if \(y{::}C_1 \in \overline{\mathcal {A}}\), then \(b R_\Box y \in \overline{\mathcal {A}}\) by the expansion rule for \(\Box \). As observed before, this implication is equivalent to \(b \in [\![{[R_\Box ] C_1}]\!]\), as desired.

    For the second claim, notice that \(y \in (\![{[R_\Box ] C_1}]\!)\) iff \(\forall b ( b \in [R_\Box ] C_1 \Rightarrow b I y)\). Equivalently (as proved previously), for all b, if \(b:[R_\Box ] C_1 \in \overline{\mathcal {A}}\), implies \(b I y \in \overline{\mathcal {A}}\). Combining this with the fact that the creation rule for \([R_\Box ] C_1\) implies \(a_{\Box C_1}{::}[R_\Box ] C_1 \in \overline{\mathcal {A}}\), this implies that \(a_{\Box C_1} I y \in \overline{\mathcal {A}}\) as well. Conversely, suppose \(a_{\Box C_1} I y \in \overline{\mathcal {A}}\). Then for any b, if \(b:[R_\Box ] C_1 \in \overline{\mathcal {A}}\), then \(b I y \in \overline{\mathcal {A}}\). This is equivalent to \(y\in (\![{[R_\Box ] C_1}]\!)\).

  4. 4.

    The proof for \(C=\langle R_\Diamond \rangle C_1\) is similar to the previous one.

Theorem 2 (Soundness)

The model \(M =(\mathbb {F}, \cdot ^\textrm{I})\) defined above satisfies the ABox \(\mathcal {A}\).


We proceed by cases.

  1. 1.

    By construction, M satisfies all terms of the form \(b R_\Box y\), bIy, or \(y R_\Diamond b\) in \(\mathcal {A}\).

  2. 2.

    By construction, any relational term is satisfied by M iff it explicitly occurs in \(\overline{\mathcal {A}}\). Thus, either M satisfies all terms of the form \(\lnot (b R_\Box y)\), \(\lnot (b I y)\), or \(\lnot (y R_\Diamond b)\) occurring in \(\mathcal {A}\), or some expansion of \({\mathcal {A}}\) contains a clash.

  3. 3.

    For the terms of the form b : C, y :  : C, \(\lnot (b:C)\), or \(\lnot (y{::}C)\), we have \(b \in [\![{C}]\!]\) iff \(b I x_C \in \overline{\mathcal {A}}\), and \(y \in (\![{C}]\!)\) iff \(a_C I y \in \overline{\mathcal {A}}\) (Lemma 4). For any b : C, y :  : C, \(\lnot (b:C)\), or \(\lnot (y{::}C)\) occurring in \(\mathcal {A}\), we respectively add \(b I x_C\), \(a_C I y\), \(\lnot (b I x_C)\), or \(\lnot (a_C I y) \) to \(\overline{\mathcal {A}}\) via the expansion rules, and thus M satisfies the constraints.

The following corollary is an immediate consequence of the termination and soundness of the tableau procedure.

Corollary 2 (Finite Model Property)

For any consistent LE-\(\mathcal {ALC}\) ABox \(\mathcal {A}\), some model of \(\mathcal {A}\) exists the size of which is polynomial in \(size(\mathcal {A})\).


The model M of Theorem 2 is the required witness. The polynomial bound on the size of M follows from the proof of Theorem 1.

4.3 Completeness of the Tableau Algorithm

In this section, we prove the completeness of the tableau algorithm. The following lemma is key to this end, since it shows that every model for an LE-\(\mathcal {ALC}\) ABox can be extended to a model with classifying object and features.

Lemma 5

For any ABox \(\mathcal {A}\), any model \(M=(\mathbb {F}, \cdot ^{\textrm{I}})\) of \(\mathcal {A}\) can be extended to a model \(M'=(\mathbb {F}', \cdot ^{\textrm{I}'})\) such that \(\mathbb {F}'=(A',X',I',\{R_\Box '\}_{\Box \in \mathcal {G}}, \{R_\Diamond '\}_{\Diamond \in \mathcal {F}})\), \(A \subseteq A'\) and \(X \subseteq X'\), and moreover for every \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\):

  1. 1.

    There exists \(a_C \in A'\) and \(x_C \in X'\) such that:

    $$\begin{aligned} C^{\textrm{I}'} =(I'^{(0)}[x_C^{\textrm{I}'}], I'^{(1)}[a_C^{\textrm{I}'}]), \quad a_C^{\textrm{I}'} \in [\![{C^{\textrm{I}'}}]\!], \quad x_C^{\textrm{I}'} \in (\![{C^{\textrm{I}'}}]\!), \end{aligned}$$
  2. 2.

    For every individual b in A there exist \(\Diamond b\) and \(\blacklozenge b\) in \(A'\) such that:

    $$\begin{aligned} I'^{(1)}[\blacklozenge b] = R_\Box '^{(1)}[b^{\textrm{I}'}] \quad \text{ and } \quad I'^{(1)}[\Diamond b] = R_\Diamond '^{(0)}[b^{\textrm{I}'}], \end{aligned}$$
  3. 3.

    For every individual y in X there exist \(\Box y\) and \(\blacksquare y\) in \(X'\) such that:

    $$\begin{aligned} I'^{(0)}[\blacksquare y] = R_\Diamond '^{(1)}[y^{\textrm{I}'}] \quad \text{ and } \quad I'^{(0)}[\Box y] = R_\Box '^{(0)}[y^{\textrm{I}'}]. \end{aligned}$$
  4. 4.

    For any C, \([\![{C^\textrm{I}}]\!]= [\![{C^\mathrm {I'}}]\!] \cap A\) and \((\![{C^\textrm{I}}]\!)= (\![{C^\mathrm {I'}}]\!) \cap X\).


Fix \(\Box \in \mathcal {G}\) and \(\Diamond \in \mathcal {F}\). Let \(M'\) be defined as follows. For every concept C, we add new elements \(a_C\) and \(x_C\) to A and X (respectively) to obtain the sets \(A'\) and \(X'\). For any \(J \in \{I, R_\Box \}\), any \(a \in A'\) and \(x \in X'\), we set \(a J' x\) iff one of the following holds:

  1. 1.

    \(a \in A\), \(x \in X\), and aJx;

  2. 2.

    \(x \in X\), and \(a=a_C\) for some concept C, and bJx for all \(b \in [\![{C^\textrm{I}}]\!]\);

  3. 3.

    \(a \in A\), and \(x=x_C\) for some concept C, and aJy for all \(y \in (\![{C^\textrm{I}}]\!)\);

  4. 4.

    \(a=a_{C_1}\) and \(x=x_{C_2}\) for some \(C_1\), \(C_2\), and bJy for all \(b \in [\![{C_1^\textrm{I}}]\!]\), and \( y \in (\![{C_2^\textrm{I}}]\!)\).

We set \(x R_\Diamond ' a\) iff one of the following holds:

  1. 1.

    \(a \in A\), \(x \in X\), and \(x R_\Diamond a\);

  2. 2.

    \(x \in X\), and \(a=a_C\) for some concept C, and \(x R_\Diamond b \) for all \(b \in [\![{C^\textrm{I}}]\!]\);

  3. 3.

    \(a \in A\), and \(x=x_C\) for some concept C, and \(y R_\Diamond a\) for all \(y \in (\![{C^\textrm{I}}]\!)\);

  4. 4.

    \(a=a_{C_1}\) and \(x=x_{C_2}\) for some \(C_1\), \(C_2\), and \(y R_\Diamond b\) for all \(b \in [\![{C_1^\textrm{I}}]\!]\), \( y \in (\![{C_2^\textrm{I}}]\!)\).

For any \(b \in A\), \(y \in X\), let \(\blacklozenge b =a_{\Box (cl(b))}\), \(\Diamond b =a_{\Diamond (cl(b))}\), \(\blacksquare y=x_{\Diamond (cl(y))}\), and \(\Box y=x_{\Box (cl(y))}\), where cl(b) (resp. cl(y)) is the smallest concept generated by b (resp. y). For any C, let \(C^{\mathrm {I'}} = (I'^{(0)}[x_C], I'^{(1)}[a_C]) \). Then \(M'\) is as required.

Theorem 3 (Completeness)

Let \(\mathcal {A}\) be a consistent ABox and \(\mathcal {A}'\) be obtained via the application of any expansion rule applied to \(\mathcal {A}\). Then \(\mathcal {A}'\) is also consistent.


If \(\mathcal {A}\) is consistent, by Lemma 5, a model \(M'\) of \(\mathcal {A}\) exists which satisfies (4), (5) and (6). The statement follows from the fact that any term added by any expansion rule is satisfied by \(M'\) where we interpret \(a_C\), \(x_C\), \(\blacklozenge b\), \(\Diamond b\), \(\Box y\), \(\blacksquare y\) as in Lemma 5.

Remark 2

The algorithm can easily be extended to acyclic TBoxes, via the unravelling technique (cf. [3] for details).

5 Conclusion and Future Work

In this paper, we define a two-sorted non-distributive description logic LE-\(\mathcal {ALC}\) to describe and reason about formal concepts arising from (enriched) formal contexts from FCA. We describe ABox and TBox terms for the logic and define a tableaux algorithm for it. This tableaux algorithm decides the consistency of ABoxes and acyclic TBoxes, and provides a procedure to construct a model when the input is consistent. We show that this algorithm is computationally more efficient than the tableaux algorithm for \(\mathcal {ALC}\).

This work can be extended in several interesting directions.

Dealing with Cyclic TBoxes and RBox Axioms. In this paper, we introduced a tableaux algorithm only for knowledge bases with acyclic TBoxes. We conjecture that the following statement holds of general (i.e. possibly cyclic) TBoxes.

Conjecture. The tableaux algorithm introduced in this paper can be extended to check the consistency of any knowledge base \((\mathcal {A},\mathcal {T})\) (with possibly cyclic TBox axioms) in time polynomial in \(size(\mathcal {A}\cup \mathcal {T})\).

Developing such an algorithm is a research direction we are currently pursuing. Another aspect we intend to develop in future work concerns giving a complete axiomatization for LE-\(\mathcal {ALC}\). RBox axioms are used in description logics to describe the relationship between different relations in knowledge bases and the properties of these relations such as reflexivity, symmetry, and transitivity. It would be interesting to see if it is possible to obtain necessary and/or sufficient conditions on the shape of RBox axioms for which a tableaux algorithm can be obtained. This has an interesting relationship with the problem in LE-logic of providing computationally efficient proof systems for various extensions of LE-logic in a modular manner [5, 16].

Generalizing to Other Semantic Frameworks. The non-distributive DL introduced in this paper is semantically motivated by a relational semantics for LE-logics which establishes a link with FCA. A different semantics for the same logic, referred to as graph-based semantics [12], provides another interpretation of the same logic as a logic suitable for evidential and hyper-constructivist reasoning. In the future, we intend to develop description logics for reasoning in the framework of graph-based semantics, to appropriately model evidential and hyper-constructivist settings.

Generalizing to More Expressive Description Logics. The DL LE-\(\mathcal {ALC}\) is the non-distributive counterpart of \(\mathcal {ALC}\). A natural direction for further research is to explore the non-distributive counterparts of extensions of \(\mathcal {ALC}\) such as \(\mathcal {ALCI}\) and \(\mathcal {ALCIN}\).

Description Logic and Formal Concept Analysis. The relationship between FCA and DL has been studied and used in several applications [1, 4, 17]. The framework of LE-\(\mathcal {ALC}\) formally brings FCA and DL together, both because its concepts are naturally interpreted as formal concepts in FCA, and because its language is designed to represent knowledge and reasoning in enriched formal contexts. Thus, these results pave the way to the possibility of establishing a closer and more formally explicit connection between FCA and DL, and of using this connection in theory and applications.