Fixpoint Characterizations of Disjunctive Hybrid MKNF Knowledge Bases Spencer Killen1 , Jia-Huai You1 1 University of Alberta, Edmonton, Alberta, Canada Abstract Combining answer set programming with ontologies is of great theoretical and practical interest. Hybrid MKNF is a semantics that combines ASP with ontologies without increasing the solving complexity. While there are efficient solvers for ASP and ontologies, efficient solvers for hybrid MKNF have yet to be constructed. In this work, we address some issues that must be solved before a CDNL-based (conflict- driven nogood learning) solver for hybrid MKNF knowledge bases can be developed. We formulate a framework to characterize disjunctive hybrid MKNF semantics through a family of fixpoint operators, then contextualize this framework by demonstrating that it could be possible to integrate it into a solver. Crucially, our approach can be performed without relying on a dependency graph. Finally, we recognize a property of our characterization that is analogous to head-cycle free disjunctive logic programs and demonstrate how to exploit this property to improve solver efficiency. Keywords Hybrid MKNF Knowledge Bases, Disjunctive ASP, Fixpoint Computation 1. Introduction Efficient answer set programming (ASP) solvers are highly desired. Proven solver techniques, such as constraint-driven nogood learning (CDNL) [1], are essential to constructing highly efficient ASP solvers. Solvers that incorporate extensions to ASP allow for a wider range of problems to be tackled with solvers. One powerful extension is to extend ASP programs with ontologies, combining closed- and open-world reasoning. While researchers have proposed a variety of hybrid semantics and have developed efficient CDNL solvers for them [2, 3], these semantics trend towards ASP modulo theories, a class of semantics where stable models are validated by an external theory. The external theories supported by these hybrid semantics are in general nonmonotonic, and thus are ill-suited to capture the monotonic reasoning of ontologies. Hybrid MKNF (Minimal Knowledge Negation as Failure) knowledge bases are one exception to this trend; Introduced by Motik and Rosati [4], this semantics equips an ASP program with a monotonic fragment of first-order logic obtained from an ontology. Hybrid MKNF is suitable for incorporating into a solver because it is faithful to the underlying semantics of the description The proofs for this work are available at the following URL: https:// github.com/ sjkillen/ FixpointCharacterizations/ raw/ master/ proofs.pdf 14th Workshop on Answer Set Programming and Other Computing Paradigms " sjkillen@ualberta.ca (S. Killen); jyou@ualberta.ca (J. You)  0000-0003-3930-5525 (S. Killen); 0000-0001-9372-4371 (J. You) Copyright ยฉ 2021 Spencer Killen and Jia-Huai You. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) logic and ASP without increasing complexity [4]. The state-of-the-art of hybrid MKNF solving is only marginally more efficient than guess-and-verify, but a CDNL-based solver would be much more efficient. One major obstacle to developing an efficient CDNL-based solver for disjunctive hybrid MKNF is the unavailability of syntactic dependency; In general, a dependency graph can not be generated for a hybrid knowledge base without knowing the internal structure of the ontology. A framework that treats the ontology as a black box has a broader range of applications than a solver that must be tuned for a particular ontology. Atom dependency analysis is crucial for both model verification and conflict generation. In this work, we present a framework for disjunctive hybrid MKNF knowledge bases that utilizes fixpoint operators. This framework does not rely on dependency graphs and the only restriction it imposes on the description logic is that the entailment relation can be checked in polynomial time. 2. Related Work Numerous accounts on the complexity of disjunctive ASP [5, 6, 7, 8] agree that the complexity of computing answer sets of disjunctive logic programs resides in the class ฮฃ๐‘ƒ2 . Leone et al. show that answer sets can be computed by generating unfounded-free interpretations [5], while Lee and Lifschitz show that loop formulas in conjunction with a programโ€™s Clark completion can be used for model-checking [7]. Both unfounded sets and loop formulas rely heavily on syntactic dependencies between atoms: One cannot generate a set of loop formulas for a program without knowing its structure and an atom is not deemed unfounded unless it is known to be underivable. The semantics of the well-known ASP solver, Clingo [9], is defined in terms of loop formulas and in terms of unfounded sets. Due to the complexity of model checking, there is an intractable number of loop formulas; Because static dependencies between atoms are easy to establish, this complexity can be handled lazily [10]. Unlike ASP, its ontology-free counterpart, hybrid MKNF knowledge bases do not lend themselves well to dependency graph generation. If a knowledge baseโ€™s ontology is left unrestricted, generating a static dependency graph for a hybrid MKNF knowledge base would require testing the ontologyโ€™s entailment relation for all subsets of atoms. In the remainder of this paper, we describe a framework that establishes dependencies between atoms through fixpoint operators and thus does not require static dependency analysis. 3. Preliminaries Minimal knowledge and negation as failure (MKNF)[11] is an extension of first-order logic that adds two modal operators, K and not , for minimal knowledge and negation as failure respectively. An MKNF structure is a triple (๐ผ, ๐‘€, ๐‘ ) where ๐ผ is a first-order interpretation and ๐‘€ and ๐‘ are sets of first-order interpretations. The satisfiability relation under an MKNF structure is defined as: โ€ข (๐ผ, ๐‘€, ๐‘ ) |= ๐ด if ๐ด is true in ๐ผ where ๐ด is a first-order atom โ€ข (๐ผ, ๐‘€, ๐‘ ) |= ยฌ๐น if (๐ผ, ๐‘€, ๐‘ ) ฬธ|= ๐น โ€ข (๐ผ, ๐‘€, ๐‘ ) |= ๐น โˆง ๐บ if (๐ผ, ๐‘€, ๐‘ ) |= ๐น and (๐ผ, ๐‘€, ๐‘ ) |= ๐บ โ€ข (๐ผ, ๐‘€, ๐‘ ) |= K ๐น if (๐ฝ, ๐‘€, ๐‘ ) |= ๐น for each ๐ฝ โˆˆ ๐‘€ โ€ข (๐ผ, ๐‘€, ๐‘ ) |= not ๐น if (๐ฝ, ๐‘€, ๐‘ ) ฬธ|= ๐น for some ๐ฝ โˆˆ ๐‘ Other symbols such as โˆจ, and โŠƒ are interpreted in MKNF as they are in first-order logic. An MKNF interpretation ๐‘€ is a set of first-order interpretations (โ€œpossible worldsโ€) and we say that ๐‘€ satisfies a formula ๐น , written ๐‘€ |=๐‘€ ๐พ๐‘ ๐น ๐น , if (๐ผ, ๐‘€, ๐‘€ ) |= ๐น for each ๐ผ โˆˆ ๐‘€ . An MKNF model ๐‘€ of a formula ๐น is an MKNF interpretation such that ๐‘€ |=๐‘€ ๐พ๐‘ ๐น ๐น and there does not exist an MKNF interpretation ๐‘€ โ€ฒ โŠƒ ๐‘€ such that (๐ผ, ๐‘€ โ€ฒ , ๐‘€ ) |= ๐น for each ๐ผ โˆˆ ๐‘€ โ€ฒ . Following Motik and Rosati [4], a hybrid MKNF knowledge base ๐’ฆ = (๐’ช, ๐’ซ) consists of a decidable description logic knowledge base ๐’ช (typically called an ontology) which is translatable to first-order logic and a set of MKNF rules ๐’ซ. We denote this translation as ๐œ‹(๐’ช) and rules in ๐’ซ are of the form: K ๐‘Ž1 , . . . , K ๐‘Ž๐‘˜ โ† K ๐‘Ž๐‘˜+1 , . . . , K ๐‘Ž๐‘š , not ๐‘Ž๐‘š+1 , . . . , not ๐‘Ž๐‘› (1) In the above, ๐‘Ž1 , . . . , ๐‘Ž๐‘› are function-free first-order atoms. Given a rule ๐‘Ÿ โˆˆ ๐’ซ, we define the following abbreviations: head(๐‘Ÿ) = {K ๐‘Ž1 , . . . , K ๐‘Ž๐‘˜ }, ๐‘๐‘œ๐‘‘๐‘ฆ + (๐‘Ÿ) = {K ๐‘Ž๐‘˜+1 , . . . , K ๐‘Ž๐‘š }, ๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ) = {not ๐‘Ž๐‘š+1 , . . . , not ๐‘Ž๐‘› }, K (๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ)) = {K ๐‘Ž | not ๐‘Ž โˆˆ ๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ)}, and body(๐‘Ÿ) = (๐‘๐‘œ๐‘‘๐‘ฆ + (๐‘Ÿ), K (๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ))) Let ๐œ‹(๐’ซ) denote rule set ๐’ซโ€™s corresponding MKNF formula: โ‹€๏ธ ๐œ‹(๐’ซ) = ๐œ‹(๐‘Ÿ), where ๐‘Ÿโˆˆ๐’ซ ๐‘˜ โ‹๏ธ ๐‘š โ‹€๏ธ ๐‘› โ‹€๏ธ ๐œ‹(๐‘Ÿ) = K ๐‘Ž๐‘– โŠ‚ K ๐‘Ž๐‘– โˆง not ๐‘Ž๐‘– ๐‘–=1 ๐‘–=๐‘˜+1 ๐‘–=๐‘š+1 The semantics of a hybrid MKNF knowledge base ๐’ฆ is obtained by applying both transfor- mations to ๐’ช and ๐’ซ and placing ๐’ช within a K operator, i.e. ๐œ‹(๐’ฆ) = ๐œ‹(๐’ซ) โˆง K ๐œ‹(๐’ช). We use ๐’ซ, ๐’ช, and ๐’ฆ in place of ๐œ‹(๐’ซ), ๐œ‹(๐’ช), and ๐œ‹(๐’ฆ) respectively when it is clear from context that the respective translated variant is intended. We refer to formulas of the form K ๐‘Ž and not ๐‘Ž as K-atoms and Not-atoms respectively. When it is clear from context, we may write a bare atom ๐‘Ž in place of a K-atom K ๐‘Ž. Throughout this work, we assume that MKNF formulas are ground, i.e., they contain no variables. We now outline some definitions and conventions. For a hybrid MKNF knowledge base ๐’ฆ = (๐’ช, ๐’ซ), we denote the set of all modal atoms found within ๐’ซ as KA(๐’ฆ) where KA(๐’ฆ) is defined as follows. KA(๐’ฆ) = {K ๐‘Ž | either K ๐‘Ž or not ๐‘Ž occurs in the head or body of a rule in ๐’ซ} The objective knowledge of a hybrid MKNF knowledge base ๐’ฆ w.r.t. a set of K-atoms ๐‘† โІ KA(๐’ฆ) is the set of first-order formulas {๐œ‹(๐’ช)} โˆช {๐‘Ž | K ๐‘Ž โˆˆ ๐‘†}. We denote this set as OB๐’ช,S . A (partial) partition of KA(๐’ฆ) is a disjoint pair of subsets of KA(๐’ฆ). We usually denote a partition as (๐‘‡, ๐น ). K-atoms in ๐‘‡ are said to be true and K-atoms in ๐น are said to be false. A partition is total if ๐‘‡ โˆช ๐น = KA(๐’ฆ). We frequently treat (๐‘‡, ๐น ) as an interpretation that contains only K-atoms. A dependable partition is a partial partition (๐‘‡, ๐น ) with the additional restriction that OB๐’ช,T โˆช {ยฌ๐‘} is consistent for each K ๐‘ โˆˆ ๐น or OB๐’ช,T is consistent if ๐น is empty. A partial partition that is not dependable may not be extended to an MKNF model. A rule body is applicable w.r.t. a partition (๐‘‡, ๐น ) if body(๐‘Ÿ) โŠ‘ (๐‘‡, ๐น ), i.e., if ๐‘๐‘œ๐‘‘๐‘ฆ + (๐‘Ÿ) โІ ๐‘‡ and K (๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ)) โІ ๐น . We say that an MKNF interpretation ๐‘€ of ๐’ฆ induces a partition (๐‘‡, ๐น ) if โ‹€๏ธ โ‹€๏ธ ๐‘€ |=๐‘€ ๐พ๐‘ ๐น K ๐‘Ž โˆง ๐‘€ |=๐‘€ ๐พ๐‘ ๐น ยฌK ๐‘Ž (2) K ๐‘Žโˆˆ๐‘‡ K ๐‘Žโˆˆ๐น Note that the partition (๐‘‡ * , ๐น * ) induced by an MKNF model ๐‘€ is unique and dependable. For a partition (๐‘‡, ๐น ) that is a subset of this (๐‘‡ * , ๐น * ), i.e., (๐‘‡, ๐น ) โŠ‘ (๐‘‡ * , ๐น * ), we say that (๐‘‡, ๐น ) can be extended to an MKNF model; such a partition is also dependable. 4. Headcut Semantics In this section, we formulate a framework that relies on fixpoint operators to represent MKNF models. First consider the MKNF knowledge base ๐’ฆ = (๐’ช, ๐’ซ) where ๐œ‹(๐’ช) = {(๐‘Žโˆจ๐‘) โŠƒ ๐‘} and ๐’ซ only contains the rule K ๐‘Ž, K ๐‘ โ† not ๐‘. This knowledge base has no MKNF models. Intuitively, we can verify that ๐’ฆ does not have an MKNF model by recognizing that there is no rule to derive K ๐‘ and thus some K-atom in the head of this rule must be true in an MKNF model of ๐’ฆ. With either K ๐‘Ž or K ๐‘ true, an inconsistency is created if K ๐‘ is false. We generalize and formally express these intuitive semantics by considering head-cuts of ๐’ซ. We define a head-cut ๐‘… of ๐’ฆ to be a set ๐‘… โІ ๐’ซ ร— KA(๐’ฆ) where each rule ๐‘Ÿ โˆˆ ๐’ซ occurs in no more than one pair (๐‘Ÿ, โ„Ž) โˆˆ ๐‘… and K โ„Ž โˆˆ head(๐‘Ÿ). For example, the program ๐’ซ = {K ๐‘Ž, K ๐‘ โ†}, ๐’ซ has exactly two head-cuts, {(๐‘Ÿ, ๐‘Ž)} and {(๐‘Ÿ, ๐‘)} where ๐‘Ÿ refers to the only rule in ๐’ซ (Note that we omit โ€œK โ€ when describing head-cuts). Given a head-cut ๐‘…, we use head(๐‘…) and rule(๐‘…) to denote the sets {โ„Ž | (๐‘Ÿ, โ„Ž) โˆˆ ๐‘…} and {๐‘Ÿ | (๐‘Ÿ, โ„Ž) โˆˆ ๐‘…} respectively. (๐‘‡,๐น ) Definition 4.1. For a total partition (๐‘‡, ๐น ), we define ๐ป๐’ฆ to be the set containing every head-cut ๐‘… of ๐’ฆ such that head(๐‘…) โІ ๐‘‡ and for each rule ๐‘Ÿ โˆˆ ๐’ซ, ๐‘Ÿ โˆˆ rule(๐‘…) if and only if body(๐‘Ÿ) โŠ‘ (๐‘‡, ๐น ). (๐‘‡,๐น ) Intuitively, there is a head-cut in ๐ป๐’ฆ for each way of selecting a single head-atom for (๐‘‡,๐น ) every satisfied rule in ๐’ซ. In essence, ๐ป๐’ฆ , gives us a way to avoid dealing with negation or disjunction. We use this set to show atoms are justified by defining a family of operators induced by a head-cut ๐‘…: ๐‘„๐‘… (๐‘‹) ={K โ„Ž | where (๐‘Ÿ, โ„Ž) โˆˆ ๐‘… and ๐‘๐‘œ๐‘‘๐‘ฆ + (๐‘Ÿ) โІ ๐‘‹ for each ๐‘Ÿ โˆˆ ๐’ซ } โˆช{K ๐‘Ž โˆˆ KA(๐’ฆ) | OB๐’ช,X |= ๐‘Ž} We denote the least fixpoint of an operator ๐‘„๐‘… as lfp ๐‘„๐‘… and use ๐‘„๐‘… ๐‘– to denote applying the ๐‘„ operator ๐‘– times on the empty set (e.g., ๐‘„2 = ๐‘„ (๐‘„ (โˆ…))). This operator simply takes a ๐‘… ๐‘… ๐‘… ๐‘… set of K-atoms ๐‘‹ and extends it with immediate consequences under ๐‘…. Revisiting the initial example where ๐’ฆ = (๐’ช, ๐’ซ), ๐œ‹(๐’ช) = {(๐‘Ž โˆจ ๐‘) โŠƒ ๐‘}, and ๐’ซ = {K ๐‘Ž, K ๐‘ โ† not ๐‘}, consider any total dependable partition (๐‘‡, ๐น ) where K ๐‘ โˆˆ ๐น . Ob- (๐‘‡,๐น ) serve that for each head-cut ๐‘… โˆˆ ๐ป๐’ฆ , we have ๐‘ โˆˆ lfp ๐‘„๐‘… . For example, let (๐‘‡, ๐น ) = (๐‘‡,๐น ) ({K ๐‘Ž}, {K ๐‘, K ๐‘}). Every head-cut ๐‘… in ๐ป๐’ฆ contains the rule from ๐’ซ, thus the ๐‘„๐‘… op- erator will compute either ๐‘Ž or ๐‘ on the first iteration and then ๐‘ on the second iteration. Conversely, if we consider a dependable partition (๐‘‡, ๐น ) such that K ๐‘ โˆˆ ๐‘‡ , then for each (๐‘‡,๐น ) head-cut ๐‘… โˆˆ ๐ป๐’ฆ , we have ๐‘ ฬธโˆˆ lfp ๐‘„๐‘… . For example, let (๐‘‡, ๐น ) = ({K ๐‘Ž, K ๐‘}, {K ๐‘}). (๐‘‡,๐น ) No rule in ๐’ซ is applicable w.r.t. (๐‘‡, ๐น ), thus ๐ป๐’ฆ contains a single head-cut, โˆ…. We have ๐‘„0 = ๐‘„1 = โˆ…, thus ๐‘ ฬธโˆˆ lfp ๐‘„ . โˆ… โˆ… ๐‘… (๐‘‡,๐น ) We now formally show that sets of the form ๐ป๐’ฆ coincide with an MKNF models of hybrid (๐‘‡,๐น ) knowledge bases. First, we connect family of sets ๐ป๐’ฆ to total partitions that satisfy all rules in ๐’ซ but are not necessarily induced by an MKNF model. (๐‘‡,๐น ) Lemma 4.1. For a total partition (๐‘‡, ๐น ), the set ๐ป๐’ฆ is empty if and only if there exists a rule ๐‘Ÿ โˆˆ ๐’ซ where body(๐‘Ÿ) โŠ‘ (๐‘‡, ๐น ) and head(๐‘Ÿ) โˆฉ ๐‘‡ = โˆ…. Definition 4.2. A set of head-cuts ๐ป is a supporting set for a total dependable partition (๐‘‡, ๐น ) if: An MKNF model ๐‘€ of ๐’ฆ that induces (๐‘‡, ๐น ) exists if and only if ๐ป is nonempty and for each ๐‘… โˆˆ ๐ป the set computed by lfp ๐‘„๐‘… is precisely ๐‘‡ . (๐‘‡,๐น ) Proposition 4.1. The set ๐ป๐’ฆ is a supporting set of the dependable partition (๐‘‡, ๐น ). (๐‘‡,๐น ) In the following example, we demonstrate how the set ๐ป๐’ฆ can be used to verify that a partition can be extended to a model. Example 1. Let ๐’ฆ = (โˆ…, ๐’ซ) where ๐’ซ is defined as 1 : K ๐‘Ž, K ๐‘ โ† K ๐‘ 2 : K ๐‘, K ๐‘ โ† (๐‘‡,๐น ) Let (๐‘‡, ๐น ) = ({K ๐‘, K ๐‘}, {K ๐‘Ž}). By definition, the set ๐ป๐’ฆ contains two head-cuts: ๐‘…0 = {(1, ๐‘), (2, ๐‘)} and ๐‘…1 = {(1, ๐‘), (2, ๐‘)}. When we repeatedly apply the ๐‘„ operator on each of these head-cuts we obtain the following sets. ๐‘„๐‘… 0 =โˆ… 0 ๐‘„๐‘… 1 = {๐‘} 0 ๐‘„๐‘…0 ๐‘…0 2 = ๐‘„1 ๐‘„๐‘…0 ๐‘…0 3 = ๐‘„1 ๐‘„๐‘… 0 =โˆ… 1 ๐‘„๐‘… 1 = {๐‘} 1 ๐‘„๐‘… 2 = {๐‘, ๐‘} 1 ๐‘„๐‘… 1 ๐‘…1 3 = ๐‘„2 Using Proposition 4.1, it is easy to confirm that (๐‘‡, ๐น ) = ({K ๐‘Ž, K ๐‘, K ๐‘}, โˆ…) can not be extended to a model of ๐’ฆ by observing that neither lfp ๐‘„๐‘…0 nor ๐‘„๐‘…1 computes ๐‘‡ . If we instead use (๐‘‡, ๐น ) = (๐‘‡,๐น ) ({K ๐‘Ž, K ๐‘}, {K ๐‘}), then the set ๐ป๐’ฆ contains the just a single head-cut, ๐‘…0 = {(1, ๐‘Ž), (2, ๐‘)}. We have lfp ๐‘„๐‘…0 = ๐‘‡ , thus (๐‘‡, ๐น ) can be extended to an MKNF model. Now that we have established a semantics in terms of a family of fixpoint operators, we (๐‘‡,๐น ) discuss some optimizations that, when applied to ๐ป๐’ฆ , greatly reduce the number of head- cuts in the set. This is a crucial step that enables the set to be used in a solver. For a dependable (๐‘‡,๐น ) partition (๐‘‡, ๐น ), that cannot be extended to a model, there are many head-cuts in ๐ป๐’ฆ that contain rules whose bodies are never satisfied by iterative construction or do not derive anything new. Our first optimization step is to remove such rules from head-cuts by defining a new (๐‘‡,๐น ) (๐‘‡,๐น ) (๐‘‡,๐น ) set ๐ป๐‘€๐’ฆ based on ๐ป๐’ฆ . A head-cut ๐‘… is in ๐ป๐‘€๐’ฆ if and only if there is a head-cut (๐‘‡,๐น ) โ€ฒ ๐‘… โˆˆ ๐ป๐’ฆ such that ๐‘… = ๐‘… โˆ– ๐‘…๐‘€ , where โ€ฒ ๐‘…๐‘€ = {(๐‘Ÿ, โ„Ž) โˆˆ ๐‘… | โˆ€๐‘–, body(๐‘Ÿ) โІ ๐‘„๐‘… ๐‘… ๐‘– =โ‡’ head(๐‘Ÿ) โІ ๐‘„๐‘– } (๐‘‡,๐น ) (๐‘‡,๐น ) This set removes some pairs in each head-cut from ๐ป๐’ฆ . For each head-cut ๐‘… โˆˆ ๐ป๐‘€๐’ฆ (๐‘‡,๐น ) there is some head-cut ๐‘…โ€ฒ โˆˆ ๐ป๐’ฆ for which ๐‘… โІ ๐‘…โ€ฒ . However, ๐‘…โ€ฒ is not unique in general. (๐‘‡,๐น ) The set ๐ป๐‘€๐’ฆ also has the convenient property of only including pairs that contribute to the computation of ๐‘„๐‘… , thus head(๐‘…) โІ lfp ๐‘„๐‘… . (๐‘‡,๐น ) In the example following example, we demonstrate that ๐ป๐‘€๐’ฆ can be used as a supporting set. Example 2. Let ๐’ฆ = (โˆ…, ๐’ซ) where ๐’ซ contains the following rules 0: K ๐‘Ž, K ๐‘ โ† 1: K๐‘ โ† K๐‘Ž 2: K๐‘ โ† K๐‘ 3: K ๐‘Ž, K ๐‘‘ โ† K ๐‘ Let (๐‘‡, ๐น ) = (KA(๐’ฆ), โˆ…) and ๐‘… = {(0, ๐‘Ž), (1, ๐‘), (3, ๐‘‘)}. ๐‘„๐‘… 1 computes โ€œ๐‘Žโ€ via rule 0, then ๐‘„2 ๐‘… ๐‘… computes โ€œ๐‘โ€ via rule 2. On the third iteration, ๐‘„3 computes โ€œ๐‘‘โ€ via rule 3, however, we already (๐‘‡,๐น ) have head(3) โІ ๐‘„๐‘… 2 , thus ๐‘… is not in ๐ป๐‘€๐’ฆ . Instead, the head-cut ๐‘… = {(0, ๐‘Ž), (1, ๐‘)} is in (๐‘‡,๐น ) ๐ป๐‘€๐’ฆ . (๐‘‡,๐น ) (๐‘‡,๐น ) Like ๐ป๐’ฆ , the set ๐ป๐‘€๐’ฆ is a supporting set of (๐‘‡, ๐น ). (๐‘‡,๐น ) Proposition 4.2. ๐ป๐‘€๐’ฆ is a supporting set of (๐‘‡, ๐น ). We define more optimizations that further reduce the number of head-cuts that need to be tested to verify a model. A head-cut ๐‘… is branch-minimal w.r.t. a set of head-cuts ๐‘† if for each ๐‘…โ€ฒ โˆˆ ๐‘† such that head(๐‘…) โІ head(๐‘…โ€ฒ ) or head(๐‘…โ€ฒ ) โІ head(๐‘…), we have head(๐‘…) โІ head(๐‘…โ€ฒ ). It can be easily shown that this relation is a partial order between head-cuts. (๐‘‡,๐น ) We formulate a further optimization of ๐ป๐‘€๐’ฆ based on this notion of minimality. (๐‘‡,๐น ) (๐‘‡,๐น ) (๐‘‡,๐น ) ๐ป๐‘ƒ๐’ฆ = {๐‘… โˆˆ ๐ป๐‘€๐’ฆ | ๐‘… is branch-minimal w.r.t. ๐ป๐‘€๐’ฆ } (๐‘‡,๐น ) Proposition 4.3. ๐ป๐‘ƒ๐’ฆ is a supporting set of (๐‘‡, ๐น ). (๐‘‡,๐น ) The set ๐ป๐‘ƒ๐’ฆ is not practical for use in solver: Because of the complexity of determining whether a head-cut is branch-minimal, the set cannot be efficiently enumerated. We develop a (๐‘‡,๐น ) supporting set that is a compromise of ๐ป๐‘ƒ๐’ฆ . Given a head-cut ๐‘…, we define ๐‘…[๐‘–] to be the subset of ๐‘… that contains only the rules in rule(๐‘…) whose bodies are satisfied after ๐‘– iterations of the ๐‘„๐‘… operator, that is, ๐‘…[๐‘–] = {(๐‘Ÿ, โ„Ž) โˆˆ ๐‘… | โ„Ž ฬธโˆˆ ๐‘„๐‘… + ๐‘… ๐‘– , ๐‘๐‘œ๐‘‘๐‘ฆ (๐‘Ÿ) โІ ๐‘„๐‘– } Intuitively, ๐‘…[๐‘–] contains the atoms newly derived on iteration ๐‘–. Likewise, we define a range ๐‘…[0..๐‘—] where 0 โ‰ค ๐‘— ๐‘— โ‹ƒ๏ธ ๐‘…[0..๐‘—] = ๐‘…[๐‘˜] ๐‘˜=0 A head-cut ๐‘… is semi-branch-minimal w.r.t. a head-cut ๐‘…โ€ฒ if for the largest ๐‘– such that ๐‘…[0..(๐‘– โˆ’ 1)] = ๐‘…โ€ฒ [0..(๐‘– โˆ’ 1)] we have head(๐‘…[๐‘–]) โІ head(๐‘…โ€ฒ [๐‘–]). (๐‘‡,๐น ) We define ๐ป๐บ๐’ฆ to be the set (๐‘‡,๐น ) (๐‘‡,๐น ) (๐‘‡,๐น ) ๐ป๐บ๐’ฆ = {๐‘… โˆˆ ๐ป๐‘€๐’ฆ | ๐‘… is semi-branch-minimal w.r.t. every other head-cut ๐‘…โ€ฒ โˆˆ ๐ป๐‘€๐’ฆ } (๐‘‡,๐น ) (๐‘‡,๐น ) We give an example of a head-cut from ๐ป๐‘€๐’ฆ that is also in ๐ป๐บ๐’ฆ Example 3. Let ๐’ฆ = (๐’ช, ๐’ซ) where ๐’ช = โˆ… and 1 :K ๐‘Ž, K ๐‘ โ† K ๐‘ 2 :K ๐‘Ž, K ๐‘ โ† K ๐‘ 3 :K ๐‘ โ† Let (๐‘‡, ๐น ) = (KA(๐’ฆ), โˆ…). Define the following head-cuts: ๐‘…0 = {(1, ๐‘Ž), (2, ๐‘Ž), (3, ๐‘)}, ๐‘…1 = {(1, ๐‘Ž), (2, ๐‘), (3, ๐‘)}, ๐‘…2 = {(1, ๐‘), (2, ๐‘Ž), (3, ๐‘)}, ๐‘…3 = {(1, ๐‘), (2, ๐‘), (3, ๐‘)} (๐‘‡,๐น ) We have ๐ป๐‘€๐’ฆ = {๐‘…0 , ๐‘…1 , ๐‘…2 , ๐‘…3 }. For each pair of head-cuts ๐‘…๐‘– and ๐‘…๐‘— , we have ๐‘…๐‘– [0..1] = ๐‘…๐‘— [0..1]. However, we have head(๐‘…0 [2]) โŠ‚ head(๐‘…1 [2]) and head(๐‘…0 [2]) โŠ‚ head(๐‘…2 [2]), thus (๐‘‡,๐น ) neither ๐‘…1 nor ๐‘…2 is semi-branch-minimal. This gives us ๐ป๐บ๐’ฆ = {๐‘…0 , ๐‘…2 }. (๐‘‡,๐น ) (๐‘‡,๐น ) (๐‘‡,๐น ) Both the sets ๐ป๐‘ƒ๐’ฆ and ๐ป๐บ๐’ฆ are subsets of ๐ป๐‘€๐’ฆ , however, in general, neither (๐‘‡,๐น ) (๐‘‡,๐น ) set is a subset of the other. The set ๐ป๐บ๐’ฆ is easier to enumerate than ๐ป๐‘ƒ๐’ฆ because (๐‘‡,๐น ) head-cuts can be constructed iteratively whereas to enumerate head-cuts in ๐ป๐‘ƒ๐’ฆ , one must (๐‘‡,๐น ) (๐‘‡,๐น ) test whether each head-cut in ๐ป๐‘€๐’ฆ is branch-minimal. We demonstrate how ๐ป๐บ๐’ฆ may be iterated later on when we construct an abstract solver. Example 4. Let ๐’ฆ = (๐’ช, ๐’ซ) such that ๐’ช = โˆ… and ๐’ซ = {1 : K ๐‘Ž, K ๐‘, K ๐‘, K ๐‘‘ โ†; 2 : K ๐‘Ž, K ๐‘, K ๐‘‘ โ†; K ๐‘ โ† ๐‘Ž; K ๐‘ โ† ๐‘; K ๐‘Ž โ† ๐‘; K ๐‘ โ† ๐‘Ž; K ๐‘Ž โ† ๐‘‘; K ๐‘ โ† ๐‘‘; } (๐‘‡,๐น ) We use the total partition (๐‘‡, ๐น ) = (KA(๐’ฆ), โˆ…) to consider various head-cuts in the sets ๐ป๐บ๐’ฆ (๐‘‡,๐น ) and ๐ป๐‘ƒ๐’ฆ . For brevity, we omit pairs in head-cuts that contain normal rules. First, we give a (๐‘‡,๐น ) (๐‘‡,๐น ) head-cut ๐‘… found in ๐ป๐บ๐’ฆ but not ๐ป๐‘ƒ๐’ฆ . ๐‘… = {(1, ๐‘‘), (2, ๐‘‘)} ๐‘„๐‘… 1 = {๐‘‘} lfp ๐‘„๐‘… = {๐‘Ž, ๐‘, ๐‘, ๐‘‘} (๐‘‡,๐น ) ๐‘… is semi-branch-minimal w.r.t. every head-cut from ๐ป๐‘€๐’ฆ because head(๐‘…) contains a โ€ฒ (๐‘‡,๐น ) โ€ฒ single atom and there is no head-cut ๐‘… in ๐ป๐‘€๐’ฆ such that head(๐‘… ) = โˆ…. However, the selection of ๐‘‘ in ๐‘… results in the atoms ๐‘Ž, ๐‘, and ๐‘, also being derived; For the head ๐‘…โ€ฒ = {(1, ๐‘Ž), (2, ๐‘Ž)}, โ€ฒ (๐‘‡,๐น ) lfp ๐‘„๐‘… = {๐‘Ž, ๐‘, ๐‘}, thus ๐‘… is not branch-minimal. We give a head-cut ๐‘… that is in ๐ป๐‘ƒ๐’ฆ and (๐‘‡,๐น ) not ๐ป๐บ๐’ฆ : ๐‘… = {(1, ๐‘), (2, ๐‘)} ๐‘„๐‘… 1 = {๐‘, ๐‘} lfp ๐‘„๐‘… = {๐‘Ž, ๐‘, ๐‘} (๐‘‡,๐น ) ๐‘… is branch-minimal because every head-cut in ๐ป๐‘€๐’ฆ computes at least ๐‘Ž, ๐‘, and ๐‘, however, (๐‘‡,๐น ) ๐‘… is not semi-branch-minimal because ๐‘ โˆˆ head(๐‘…); A head-cut ๐‘… in ๐ป๐บ๐’ฆ cannot contain a pair with ๐‘ in it because there is always a head-cut ๐‘…โ€ฒ that is semi-branch-minimal w.r.t. ๐‘…. (๐‘‡,๐น ) (๐‘‡,๐น ) We give an exhaustive account of the head-cuts that are in both ๐ป๐บ๐’ฆ and ๐ป๐‘ƒ๐’ฆ : ๐‘…0 = {(1, ๐‘Ž), (2, ๐‘Ž)} ๐‘…1 = {(1, ๐‘), (2, ๐‘)} lfp ๐‘„๐‘…0 = lfp ๐‘„๐‘…1 = {๐‘Ž, ๐‘} (๐‘‡,๐น ) As mentioned above, no head-cut ๐‘… in ๐ป๐‘ƒ๐’ฆ can have ๐‘‘ โˆˆ head(๐‘…) and no head-cut ๐‘… in (๐‘‡,๐น ) (๐‘‡,๐น ) (๐‘‡,๐น ) ๐ป๐บ๐’ฆ can have ๐‘ โˆˆ head(๐‘…), thus no head-cut in ๐ป๐บ๐’ฆ โˆฉ ๐ป๐‘ƒ๐’ฆ can contain either (๐‘‡,๐น ) (๐‘‡,๐น ) atom. Finally, we give an example of a head-cut in ๐ป๐‘€๐’ฆ that is neither in ๐ป๐‘€๐’ฆ nor (๐‘‡,๐น ) ๐ป๐บ๐’ฆ : ๐‘… = {(1, ๐‘Ž), (2, ๐‘‘)} ๐‘„๐‘… 1 = {๐‘Ž, ๐‘‘} lfp ๐‘„๐‘… = {๐‘Ž, ๐‘, ๐‘, ๐‘‘} The head-cut demonstrated above is neither branch-minimal nor semi-branch-minimal. (๐‘‡,๐น ) (๐‘‡,๐น ) Even though ๐ป๐‘ƒ๐’ฆ and ๐ป๐บ๐’ฆ are disjoint, they are related in a crucial way that allows (๐‘‡,๐น ) (๐‘‡,๐น ) us to show that ๐ป๐บ๐’ฆ is a supporting set. Intuitively, a head-cut ๐‘… from ๐ป๐‘ƒ๐’ฆ can be thought of as having a minimal set head(๐‘…) that is globally minimal w.r.t. iterations of ๐‘„๐‘… ๐‘– (๐‘‡,๐น ) whereas a head-cut ๐‘… from ๐ป๐‘€๐’ฆ โ€™s set head(๐‘…) is only locally minimal w.r.t. an iteration of (๐‘‡,๐น ) (๐‘‡,๐น ) ๐‘„๐‘…๐‘– . As it turns out, ๐ป๐‘ƒ๐’ฆ is more precise and if there is a head-cut in ๐ป๐‘ƒ๐’ฆ that fails to (๐‘‡,๐น ) compute ๐‘‡ , we can guarantee that such a head-cut exists in ๐ป๐บ๐’ฆ as well. We demonstrate this property formally. (๐‘‡,๐น ) Lemma 4.2. If there exists a head-cut in ๐‘… โˆˆ ๐ป๐‘ƒ๐’ฆ such that lfp ๐‘„๐‘… โŠ‚ ๐‘‡ , then there is a (๐‘‡,๐น ) (๐‘‡,๐น ) โ€ฒ head-cut ๐‘…โ€ฒ โˆˆ ๐ป๐‘ƒ๐’ฆ โˆฉ ๐ป๐บ๐’ฆ such that lfp ๐‘„๐‘… โŠ‚ ๐‘‡ (๐‘‡,๐น ) Finally, we can use the property demonstrated above to show that ๐ป๐บ๐’ฆ is a supporting set of (๐‘‡, ๐น ). (๐‘‡,๐น ) Proposition 4.4. ๐ป๐บ๐’ฆ is a supporting set of (๐‘‡, ๐น ). 5. An Abstract Solver Up until now, we have dealt exclusively with total partitions. We now discuss how the techniques described in the previous section can be applied to partial partitions and in turn be used to develop an abstract solver. We define the set ๐ท๐’ฆ๐‘… under a head-cut ๐‘…. (๐‘‡ * ,๐น * ) ๐‘… ๐ท๐’ฆ = {๐ป๐บ๐’ฆ | where ๐‘… = ๐‘…* [0..๐‘–] (๐‘‡ * ,๐น * ) for some ๐‘– and ๐‘…* โˆˆ ๐ป๐บ๐’ฆ and total partition (๐‘‡ * , ๐น * )} Given a head-cut ๐‘…, we can extract an appropriate partition from ๐‘…: โ‹ƒ๏ธ ๐’ฎ(๐‘…) = (lfp ๐‘„๐‘… , {๐‘๐‘œ๐‘‘๐‘ฆ โˆ’ (๐‘Ÿ) | (๐‘Ÿ, โ„Ž) โˆˆ ๐‘…}) (๐‘‡ * ,๐น * ) Note that for each ๐ป๐บ๐’ฆ โˆˆ ๐ท๐’ฆ ๐‘… , we have ๐’ฎ(๐‘…) โŠ‘ (๐‘‡ * , ๐น * ). Intuitively, the set ๐ท ๐‘… holds ๐’ฆ * * (๐‘‡ ,๐น ) every possible set ๐ป๐บ๐’ฆ if ๐’ฎ(๐‘…) were extended to a total partition (๐‘‡ * , ๐น * ). Note that (๐‘‡ * , ๐น * ) may not be dependable. We also define a total variant of ๐’ฎ(๐‘…): ๐’ฎ * (๐‘…) = (lfp ๐‘„๐‘… , KA(๐’ฆ) โˆ– lfp ๐‘„๐‘… ) We recursively define a subclass of head-cuts to limit the use of ๐ท๐’ฆ ๐‘…. Definition 5.1. Given, a head-cut ๐‘… where ๐’ฎ(๐‘…) is a dependable partition, we call ๐‘… a head- โ€ฒ โ€ฒ โ‹ƒ๏ธ€ if๐‘…โ€ฒeither ๐‘… = โˆ… or there is another head-cut state ๐‘… such that either ๐‘… = ๐‘… [0..๐‘–] or cut state ๐‘… โˆˆ ๐ท๐’ฆ . Intuitively, a head-cut state is a head-cut that can be extended to some a head-cut in ๐‘… โˆˆ ๐ป for every ๐ป โˆˆ ๐ท๐’ฆ ๐‘… . Note that ๐’ฎ(๐‘…) โŠ‘ ๐’ฎ * (๐‘…) for a head-cut state ๐‘…. We now define an abstract solver that operates on head-cut states. Supporting can assist a solver in several key ways: Conflict propagation and immediate propagation that adds positive direct consequences to a head-cut state ๐‘… (See ๐‘‡ (๐‘…) in Algorithm 1), Guiding solver decisions at points where the current head-cut state cannot be extended through means of well-founded propagation (See ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) in Algorithm 2) and as already shown, supporting sets can be used for model verification. We join these roles together in an abstract solver outlined in Algorithm 3. Finally, we show how supporting sets can be used to reason about head-cut states that can be verified in polynomial time (similar to head-cycle free). We leave certain details unspecified such as how to enumerate the set ๐ท๐’ฆ ๐‘… in an efficient way in the context of each of the algorithms and the overall complexity of the algorithms we provide. Algorithm 1: ๐‘‡ (๐‘…) 1 (๐‘‡, ๐น ) โ† ๐’ฎ(๐‘…); 2 ๐ต โ† {๐‘…โ€ฒ [๐‘– + 1] | ๐‘…โ€ฒ โˆˆ โ‹ƒ๏ธ€ ๐‘… โ€ฒ ๐ท๐’ฆ , ๐‘… [0..๐‘–] = ๐‘…}; โ‹‚๏ธ€ 3 if โˆƒ(๐‘Ÿ, โ„Ž) โˆˆ ๐ต, |head(๐‘Ÿ) โˆ– ๐น | = ฬธ 1 or body(๐‘Ÿ) ฬธโŠ‘ (๐‘‡, ๐น ) then 4 return ๐‘…; 5 assert |๐ต| โ‰ค 1; โ‹‚๏ธ€ 6 return ๐‘… โˆช ๐ต; Intuitively, Algorithm 1 adds information to ๐‘… only if there are only rules whose bodies are satisfied w.r.t. ๐’ฎ(๐‘…) and the head of the rule contains no true atoms and only a single atom that is not false. We demonstrate that a solver cannot miss any models by applying ๐‘‡ (๐‘…) to a head-cut state. Lemma 5.1. For a head-cut state ๐‘… and any head-cut ๐‘…* โˆˆ ๐ท๐’ฆ where ๐‘… = ๐‘…* [0..๐‘–], we either โ‹ƒ๏ธ€ ๐‘… have ๐‘…* [0..(๐‘– + 1)] = ๐‘‡ (๐‘…) or ๐‘… = ๐‘‡ (๐‘…). With ๐‘‡ (๐‘…), we only propagate information if it holds in all models that ๐’ฎ(๐‘…) can be extended to. At some point in the solving process, we must add information for which this does not hold. We describe a process for extending head-cut states with decision atoms. Algorithm 2: ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) 1 ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘  โ† โˆ…; โ‹ƒ๏ธ€ ๐‘… 2 if ๐‘… โˆˆ ๐ท๐’ฆ then 3 return โˆ…; 4 for ๐‘…โ€ฒ โˆˆ ๐ท๐’ฆ where โˆƒ๐‘–, ๐‘…โ€ฒ [0..๐‘–] = ๐‘… do โ‹ƒ๏ธ€ ๐‘… 5 if ๐’ฎ(๐‘…โ€ฒ [0..(๐‘– + 1)]) is dependable then 6 ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘  โ† ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘  โˆช {๐‘…โ€ฒ [0..(๐‘– + 1)]}; 7 return ๐ท๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ ; We guarantee very little about the atoms added by ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) and in general, the solver will be forced to backtrack because of the atoms that were added by this procedure. However, extensions made by ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›(๐‘…) will maintain the property that ๐‘… is a head-cut state. Further- more, if ๐’ฎ(๐‘…) can be extended to an MKNF model of ๐’ฆ, then a head-cut in ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) also has this property. This ensures that a solver that uses ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) will not miss any models. Lemma 5.2. Given a head-cut state ๐‘… and an MKNF model ๐‘€ that induces ๐’ฎ(๐‘…), there is either a head-cut state ๐‘…โ€ฒ โˆˆ ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) such that ๐‘€ induces ๐’ฎ(๐‘…โ€ฒ ) or ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) is empty. ๐’ฎ * (๐‘…) We define check-model(๐‘…) to be a procedure that simply enumerates all head-cuts in ๐ป๐บ๐’ฆ to verify that ๐’ฎ * (๐‘…) can be extended to a model by applying the ๐‘„๐‘… until a fixed point is reached. The correctness of such an algorithm follows directly from Proposition 4.4. We now integrate all preceding algorithms into an abstract solver. Algorithm 3: ๐‘ ๐‘œ๐‘™๐‘ฃ๐‘’๐‘Ÿ(๐‘…) 1 ๐‘… โ† lfp ๐‘‡ (๐‘…); 2 for ๐‘…โ€ฒ โˆˆ ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) do 3 if ๐‘ ๐‘œ๐‘™๐‘ฃ๐‘’๐‘Ÿ(๐‘…โ€ฒ ) then 4 return ๐‘ ๐‘œ๐‘™๐‘ฃ๐‘’๐‘Ÿ(๐‘…โ€ฒ ); 5 if ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) = โˆ… and check-model(๐‘…) then 6 return ๐’ฎ * (๐‘…) 7 return ๐‘“ ๐‘Ž๐‘™๐‘ ๐‘’; While we do not specify which head-cut from ๐‘‘๐‘’๐‘๐‘–๐‘ ๐‘–๐‘œ๐‘›๐‘ (๐‘…) should be selected to minimize backtracking, our algorithm can locate a model if one exists. Lemma 5.3. Given a head-cut state ๐‘…, if there exists a model that induces ๐’ฎ(๐‘…), then ๐‘ ๐‘œ๐‘™๐‘ฃ๐‘’๐‘Ÿ(๐‘…) will return a total partition induced by a model. While more efficient than a guess-and-verify solver, Algorithm 3 does not efficiently verify total partitions. It is well known that head-cycle free disjunctive logic programs can be solved in NP [12]. We demonstrate an analogous subclass of disjunctive MKNF knowledge bases that can be verified in polynomial time. First, we identify a property of head-cut states that enables polynomial verification. We show that this property holds if and only if a head-cut state coincides with an MKNF model. Definition 5.2. A head-cut state ๐‘… is P-verifiable if the following holds. For every head-cut ๐‘…* โˆˆ * ๐ท๐’ฆ , where ๐‘…* [0..๐‘–] = ๐‘…[0..๐‘–] and ๐‘…* [๐‘– + 1] ฬธ= ๐‘…[๐‘– + 1], we have lfp ๐‘„๐‘… โЇ head(๐‘…[๐‘– + 1]). โ‹ƒ๏ธ€ ๐‘… Proposition 5.1. If a head-cut state ๐‘… is P-verifiable and ๐’ฎ * (๐‘…) is dependable, then lfp ๐‘„๐‘… = ๐‘‡ โ€ฒ ๐’ฎ * (๐‘…) if and only if lfp ๐‘„๐‘… = ๐‘‡ for each ๐‘…โ€ฒ โˆˆ ๐ป๐บ๐’ฆ . Corollary 5.1. A head-cut state ๐‘… is P-verifiable if and only if ๐’ฎ * (๐‘…) can be extended to an MKNF model of ๐’ฆ. Using the above property, we construct a verification algorithm that is more efficient than check-model(๐‘…). Algorithm 4: check-model2 (๐‘…) ๐’ฎ * (๐‘…) 1 if ๐ป๐บ๐’ฆ = โˆ… then 2 return ๐‘“ ๐‘Ž๐‘™๐‘ ๐‘’; 3 for ๐‘– โ† 0; ๐‘„๐‘… ๐‘… ๐‘– ฬธ= ๐‘„๐‘–โˆ’1 ; ๐‘– โ† ๐‘– + 1 do ๐’ฎ * (๐‘…) 4 for ๐‘…โ€ฒ โˆˆ ๐ป๐บ๐’ฆ where ๐‘…[0..๐‘–] = ๐‘…โ€ฒ [0..๐‘–] and ๐‘…[๐‘– + 1] ฬธ= ๐‘…โ€ฒ [๐‘– + 1] do โ€ฒ 5 if head(๐‘…[๐‘– + 1]) ฬธโІ lfp ๐‘„๐‘… then 6 return ๐‘“ ๐‘Ž๐‘™๐‘ ๐‘’; 7 return ๐‘ก๐‘Ÿ๐‘ข๐‘’; When check-model(๐‘…) is replaced with Algorithm 4 in the solver (Algorithm 3), P-verifiable head-cut states can be quickly verified. We feel strongly that with further complexity analysis we will be able conclude that our abstract solver algorithm, when used with an empty ontology and head-cycle free disjunctive logic program, can verify any enumerated partition in polynomial time. 6. Conclusion We have provided a new way of characterizing disjunctive MKNF models through supporting (๐‘‡,๐น ) sets. The largest set we defined, ๐ป๐’ฆ , contains many redundant head-cuts and is not practical (๐‘‡,๐น ) (๐‘‡,๐น ) for use in a solver. We defined a smaller set, ๐ป๐‘€๐’ฆ , where each head-cut in ๐ป๐‘€๐’ฆ is (๐‘‡,๐น ) limited to rules that contribute to the fixpoint computation. Next we refined ๐ป๐‘€๐’ฆ further (๐‘‡,๐น ) (๐‘‡,๐น ) to obtain ๐ป๐‘ƒ๐’ฆ and the less precise but more tractable set ๐ป๐บ๐’ฆ . We provided an abstract solver that utilizes supporting sets to enumerate partitions and to verify models. Finally, we characterized P-verifiable head-cut states, a property of head-cut states that is comparable to head-cycle-free disjunctive logic programs, and we give a more efficient model verification procedure that leverages this property. We speculate that the complexity of our abstract solver algorithm is no worse than a guess- and-verify solver if the entailment relation of the accompanying ontology can be computed in polynomial time. We also speculate that if the ontology is empty and ๐’ซ is a head-cycle free disjunctive logic program that the complexity of finding a model lies in ๐‘ ๐‘ƒ . However, we leave a full analysis of the complexity of our algorithm and the complexity of recognizing P-verifiable head-cut states to future work. In this work, we introduce many new structures to characterize our semantics; It would be interesting to recast this work using more familiar fixpoint structures such as approximators in approximation fixpoint theory [13]. In the future, we would also like to leverage this framework to generate conflicts so that a CDNL-based solver may be constructed. References [1] M. Gebser, B. Kaufmann, T. Schaub, Advanced conflict-driven disjunctive answer set solving, in: Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, IJCAI โ€™13, AAAI Press, 2013, p. 912โ€“918. [2] T. Eiter, G. Ianni, R. Schindlauer, H. Tompits, A uniform integration of higher-order reasoning and external evaluations in answer-set programming., 2005, pp. 90โ€“96. [3] M. Gebser, R. Kaminski, B. Kaufmann, M. Ostrowski, T. Schaub, P. Wanko, Theory solving made easy with clingo 5, in: M. Carro, A. King, N. Saeedloei, M. D. Vos (Eds.), Technical Communications of the 32nd International Conference on Logic Programming, ICLP 2016 TCs, October 16-21, 2016, New York City, USA, volume 52 of OASICS, Schloss Dagstuhl - Leibniz-Zentrum fรผr Informatik, 2016, pp. 2:1โ€“2:15. [4] B. Motik, R. Rosati, Reconciling description logics and rules, J. ACM 57 (2010) 30:1โ€“30:62. [5] N. Leone, P. Rullo, F. Scarcello, Disjunctive stable models: Unfounded sets, fixpoint semantics, and computation, Inf. Comput. 135 (1997) 69โ€“112. [6] V. Lifschitz, A. A. Razborov, Why are there so many loop formulas?, ACM Trans. Comput. Log. 7 (2006) 261โ€“268. [7] J. Lee, V. Lifschitz, Loop formulas for disjunctive logic programs, in: C. Palamidessi (Ed.), Logic Programming, 19th International Conference, ICLP 2003, Mumbai, India, December 9-13, 2003, Proceedings, volume 2916 of Lecture Notes in Computer Science, Springer, 2003, pp. 451โ€“465. [8] T. Eiter, G. Gottlob, On the computational cost of disjunctive logic programming: Proposi- tional case, Ann. Math. Artif. Intell. 15 (1995) 289โ€“323. [9] M. Gebser, B. Kaufmann, T. Schaub, Conflict-driven answer set solving: From theory to practice, Artif. Intell. 187 (2012) 52โ€“89. [10] C. Drescher, T. Walsh, Answer set solving with lazy nogood generation, in: A. Dovier, V. S. Costa (Eds.), Technical Communications of the 28th International Conference on Logic Programming, ICLP 2012, September 4-8, 2012, Budapest, Hungary, volume 17 of LIPIcs, Schloss Dagstuhl - Leibniz-Zentrum fรผr Informatik, 2012, pp. 188โ€“200. [11] V. Lifschitz, Nonmonotonic databases and epistemic queries, in: J. Mylopoulos, R. Reiter (Eds.), Proceedings of the 12th International Joint Conference on Artificial Intelligence. Sydney, Australia, August 24-30, 1991, Morgan Kaufmann, 1991, pp. 381โ€“386. URL: http: //ijcai.org/Proceedings/91-1/Papers/059.pdf. [12] R. Ben-Eliyahu, R. Dechter, Propositional semantics for disjunctive logic programs, Ann. Math. Artif. Intell. 12 (1994) 53โ€“87. [13] F. Liu, J. You, Alternating fixpoint operator for hybrid MKNF knowledge bases as an approximator of AFT, in: P. Fodor, M. Montali, D. Calvanese, D. Roman (Eds.), Rules and Reasoning - Third International Joint Conference, RuleML+RR 2019, Bolzano, Italy, September 16-19, 2019, Proceedings, volume 11784 of Lecture Notes in Computer Science, Springer, 2019, pp. 113โ€“127.