<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Rule-aware Datalog Fact Explanation Using Group-SAT Solver</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Akira</forename><surname>Charoensit</surname></persName>
							<email>akira.charoensit@inria.fr</email>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">Inria</orgName>
								<orgName type="laboratory" key="lab2">LIRMM</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">CNRS</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">David</forename><surname>Carral</surname></persName>
							<email>david.carral@inria.fr</email>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">Inria</orgName>
								<orgName type="laboratory" key="lab2">LIRMM</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">CNRS</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Pierre</forename><surname>Bisquert</surname></persName>
							<email>pierre.bisquert@inrae.fr</email>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">Inria</orgName>
								<orgName type="laboratory" key="lab2">LIRMM</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">CNRS</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
							<affiliation key="aff1">
								<orgName type="department">INRAE</orgName>
								<orgName type="laboratory">IATE</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">Institut Agro</orgName>
								<address>
									<settlement>Montpellier</settlement>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Lucas</forename><surname>Rouquette</surname></persName>
							<email>lucas.rouquette@inria.fr</email>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">Inria</orgName>
								<orgName type="laboratory" key="lab2">LIRMM</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">CNRS</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Federico</forename><surname>Ulliana</surname></persName>
							<email>federico.ulliana@inria.fr</email>
							<affiliation key="aff0">
								<orgName type="laboratory" key="lab1">Inria</orgName>
								<orgName type="laboratory" key="lab2">LIRMM</orgName>
								<orgName type="institution" key="instit1">Univ Montpellier</orgName>
								<orgName type="institution" key="instit2">CNRS</orgName>
								<address>
									<country key="FR">France</country>
								</address>
							</affiliation>
						</author>
						<author>
							<affiliation key="aff2">
								<address>
									<settlement>Bucharest</settlement>
									<country key="RO">Romania</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">Rule-aware Datalog Fact Explanation Using Group-SAT Solver</title>
					</analytic>
					<monogr>
						<idno type="ISSN">1613-0073</idno>
					</monogr>
					<idno type="MD5">4F7EEC5F475C3F48AE32445BC8A3B2CB</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2025-04-23T18:27+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>One of the major benefits of symbolic AI is explainability. When new knowledge is obtained via a reasoning process, it is possible to determine precisely all elements of the knowledge base that yield this knowledge. Typically, one would use a SAT solver to compute the explanations. However, SAT-solving is computationally expensive, and as the knowledge base grows, the time required increases exponentially. This work presents a method for filtering a datalog knowledge base to optimise the time used by a SAT solver. This is achieved by creating a hypergraph representing the grounded knowledge base and pruning the nodes that are not reachable from the fact that we want to explain. This approach proves to be time-effective. Interestingly, one additional benefit of using this hypergraph is that it is possible to encode more information about the rules used in the reasoning process. By using an off-the-shelf group-SAT solver, this extra information allows us to find specific explanations that would be missed if we only considered facts.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1.">The Explanation Issue</head><p>In the realm of Artificial Intelligence, symbolic AI stands out for its ability to provide explainable results and predictions. In particular, knowledge and rule-based systems make it possible for users to trace the derivation of new knowledge back to the exact elements that have contributed to it. This traceability is crucial for applications where understanding the reasoning process is as important as the outcome itself, such as in healthcare or regulatory enforcement.</p><p>While the issue of computing explanations has long been studied for Description Logics (see e.g., <ref type="bibr" target="#b1">[1,</ref><ref type="bibr">2,</ref><ref type="bibr" target="#b3">3,</ref><ref type="bibr" target="#b4">4,</ref><ref type="bibr" target="#b5">5]</ref>), the extension of the approach to mainstream rule languages such as Datalog has not been considered so far. Datalog is widely recognised as a language which leverages recursion for data processing <ref type="bibr" target="#b6">[6]</ref> and plays a significant role in ontology-mediated query answering <ref type="bibr" target="#b7">[7]</ref>. On the one hand, it encompasses RDF-Schema and OWL-RL ontologies. On the other hand, many reasoning tasks on ontologies can be reduced to query answering in this language <ref type="bibr" target="#b8">[8]</ref>. Providing explanations for Datalog is thus a step towards more reliable data-intensive applications, and the goal of this work is to contribute to the explainability of Datalog.</p><p>Explaining reasoning in Datalog raises, however, two key challenges. The first is to choose a form of explanation that is suitable for the reasoning task. The second is to actually compute them, which is known to be expensive even for basic forms of explanations <ref type="bibr" target="#b9">[9,</ref><ref type="bibr" target="#b10">10]</ref>.</p><p>Choosing Explanations Let us illustrate the importance of choosing the "right" notion of explanation. Hereafter, we assume the reader is familiar with propositional and first order logic. Consider the knowledge base 𝒦 = ⟨ℛ, ℱ⟩ in Figure <ref type="figure">1</ref> with facts ℱ = {Boss(alice, alice)} and rules ℛ = {𝑟 1 , 𝑟 2 , 𝑟 3 }. Consider the task of explaining the fact 𝜙 = Manager(alice), which is entailed by 𝒦. As Figure <ref type="figure">1</ref> illustrates, 𝜙 can be derived in two different ways starting from ℱ. One is by applying 𝑟 1 . The other is by applying 𝑟 2 and then 𝑟 One possible form of explanation consists in computing the fact-support of 𝜙 with respect to ℱ, that is, the set of facts ℱ ′ ⊆ ℱ that can contribute to the derivation of 𝜙. The notion of fact-support corresponds to that of why-provenance <ref type="bibr" target="#b8">[8,</ref><ref type="bibr" target="#b10">10,</ref><ref type="bibr" target="#b9">9,</ref><ref type="bibr" target="#b5">5]</ref>. For the example in Figure <ref type="figure">1</ref>, this would yield ℱ ′ = ℱ. Here, fact-support provides an insufficient information as it does not show the role of rules in the reasoning task.</p><p>A meaningful notion of explanation here would be that of kb-support, that is, a subset 𝒦 ′ of 𝒦 which entails 𝜙. To be precise, we need to identify minimal subsets of the knowledge base that preserve the entailment since users typically prefer concise explanations. In the example of Figure <ref type="figure">1</ref>, there are two kb-support explanations:</p><formula xml:id="formula_0">𝒦 ′ 1 = ⟨{𝑟 1 }, ℱ⟩ and 𝒦 ′ 2 = ⟨{𝑟 2 , 𝑟 3 }, ℱ⟩.</formula><p>The interest in the notion of kb-support is that it better explains the roles taken by both the rules and the data in the reasoning task thereby giving the user more power to potentially take action and revise the knowledge base. In the context of Description Logics, kb-supports correspond to the notion of justifications with ABoxes (the standard version of justifications rather considering entailment axioms over TBoxes) <ref type="bibr" target="#b1">[1,</ref><ref type="bibr">2]</ref>. In this work, we will thus consider this notion of kb-support which enables more detailed explanations for fact entailment over Datalog knowledge bases.</p><p>Computing Explanations An effective approach to tackling the expensive theoretical cost of computing explanations is to rely on the use of SAT-solvers <ref type="bibr">[2,</ref><ref type="bibr" target="#b8">8]</ref>. Nowadays, these are considered mature and effective tools. The critical step of this reduction is that of encoding the input knowledge base and entailment (i.e., the inputs of the explanation problem) as a propositional formula. To illustrate, Figure <ref type="figure">1</ref> shows the SAT encoding of the explanation problem, which goes as follows. It associates every atom entailed by the knowledge base with a distinct propositional variable (here, 𝐴, 𝐵, and 𝐶). Then, a conjunctive formula is built. Its elements are either:</p><p>(i) a propositional variable corresponding to a fact in ℱ (e.g., 𝐴 represents Boss(alice, alice)), (ii) a grounded rule corresponding to a rule application (e.g., 𝐴 → 𝐵 represents Boss(alice, alice) → CEO(alice)) or (iii) a negated literal, whose propositional variable corresponds to the entailment (e.g., ¬𝐶 corresponds to ¬Manager(alice)).</p><p>An important detail here is that negating the fact to explain in the encoded formula allows one to solve the explanation problem by looking at its minimal unsatisfiable sets (MUSes) <ref type="bibr" target="#b11">[11]</ref>. As Figure <ref type="figure">1</ref> shows, each MUS of the encoded formula provides an explanation.</p><p>Computing All Explanations Computing explanations via MUS for Datalog can lead to potential pitfalls. The main issue is that two distinct rule applications can "conflict" by resulting in the same SAT-encoding. This case is illustrated in Figure <ref type="figure" target="#fig_1">2</ref>. Here, we can see that the applications of 𝑟 1 and 𝑟 2 are both encoded as 𝐴 → 𝐶. As a result, the MUS enumeration no longer yields a (minimal) explanation. The situation becomes even more complex when many recursive rules share the same groundings. To  address these issues, we present an encoding into group-SAT formulas <ref type="bibr" target="#b11">[11]</ref> which allows us to establish a precise correspondence between explanations and group-MUSes.</p><p>Computing All Explanations Efficiently While solvers are efficient, MUS computation remains hard. Therefore, significant challenges may arise in terms of scalability as the size and complexity of the knowledge base increase. The main reason for this is that in more complex knowledge bases there may be a larger number of atoms and rules which are not relevant for the entailment to explain. This is illustrated in Figure <ref type="figure" target="#fig_2">3</ref>: atoms s(c) and s(d), as well as rule 𝑟 4 , are irrelevant for explaining goal(a).</p><p>Considering irrelevant atoms will slow down both the encoding computation and the MUS enumeration task. Hence, we introduce a filtering technique that reduces the size of the encoded formula while preserving its soundness and completeness.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Contribution</head><p>The contributions of this paper are the following:</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2.">From Datalog Explanations to Group-MUS</head><p>The Logical Setting We assume a first-order signature with functions. We consider mutually disjoint sets of variables, constants, and functions. We call term any variable, constant, or functional term of the form 𝑓 (𝑡 </p><formula xml:id="formula_1">= ⟨ℛ 1 , ℱ 1 ⟩ and 𝒦 2 = ⟨ℛ 2 , ℱ 2 ⟩ we write 𝒦 1 ⊆ 𝒦 2 when ℛ 1 ⊆ ℛ 2 and ℱ 1 ⊆ ℱ 2 .</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Fact Entailment</head><p>The chase is a standard method for computing universal models of knowledge bases that can in turn be used for tasks like fact entailment <ref type="bibr" target="#b12">[12]</ref>. A substitution is a partial function mapping variables to ground terms. A trigger for a fact set ℱ and a rule set ℛ is a tuple 𝜏 = ⟨𝑟, 𝜎⟩ where 𝑟 ∈ ℛ, and 𝜎 is a substitution such that 𝜎(body(𝑟)) ⊆ ℱ. The trigger outputs out(𝜏 ) = 𝜎(head(𝑟)).</p><p>For a KB 𝒦 = ⟨ℛ, ℱ⟩, let Chase 0 (𝒦) = ℱ; and, for every 𝑖 ≥ 1, let Chase 𝑖 (𝒦) be the minimal fact set that includes Chase 𝑖−1 (𝒦) and out(𝜏 ) for every trigger 𝜏 of Chase 𝑖−1 (𝒦) and ℛ. Moreover, let Chase(𝒦) = ⋃︀ 𝑖≥0 Chase 𝑖 (𝒦). A KB 𝒦 entails a fact 𝜙, denoted 𝒦 |= 𝜙, if and only if 𝜙 ∈ Chase(𝒦). From now on, every knowledge base considered in this section is Datalog. Knowledge bases with functions will be employed in Section 3. At this point, we can formally define the notion of explanation for Datalog knowledge bases.</p><p>Definition 1 (Explanation). For a Datalog knowledge base 𝒦 = ⟨ℛ, ℱ⟩ and a fact 𝜙, a kb-support explanation of 𝒦 |= 𝜙 is a KB 𝒦 ′ ⊆ 𝒦 such that 𝒦 ′ |= 𝜙 but 𝒦 ′′ ̸ |= 𝜙 for every 𝒦 ′′ ⊂ 𝒦 ′ . We denote by Expl(𝒦, 𝜙) the set of all explanations of 𝒦 |= 𝜙.</p><p>From Explanations to Group-MUS We now show how to reduce the explanation problem to group-MUS (GMUS) enumeration. Group-SAT (GSAT) formulas are natural extensions of SAT formulas where constraints are modeled as sets or groups <ref type="bibr" target="#b13">[13]</ref>. The underlying idea is that all clauses in a group must hold together. Below, we assume the standard notion of literal (positive or negative propositional variable) and clause (disjunction of literals). A group 𝒢 is a set of clauses. To keep the formalisation concise, we slightly enrich the standard definition and also assume that every group 𝒢 has a unique identifier 𝑖 denoted by 𝒢 𝑖 . Otherwise said, we consider two groups with the same clauses but with different identifiers to be different. A GSAT formula F is a set of groups F = {𝒢 1 , . . . , 𝒢 𝑛 }. A GSAT formula is satisfiable if the conjunction of all the clauses in the union of its groups is satisfiable. A GMUS of F is a minimal set of the groups of F that is unsatisfiable. We write GMUS(F) for the set of all GMUS of F. Figure <ref type="figure" target="#fig_1">2</ref> illustrates the GSAT formula stemming from the encoding of the input facts and rules. In the formula, we have two groups which contain the same (set of) clauses; these are denoted as {𝐴 → 𝐶} 𝑟 1 and {𝐴 → 𝐶} 𝑟 2 where the identifier of each group corresponds to the rule that generates it. Also note that with this encoding every GMUS in Figure <ref type="figure" target="#fig_1">2</ref> corresponds to one explanation.</p><p>To reduce the computation of the explanations for a fact 𝜓 over a KB 𝒦 to group-MUS enumeration, our goal is to produce a GSAT formula which encodes the derivations enabled by the KB as well as the (negation of) the fact to explain. Let 𝒦 = ⟨ℛ, ℱ⟩, we define GSAT(𝒦 ∧ ¬𝜓) as the minimal set containing:</p><p>• the group 𝒢 𝑟 with 𝒢 = Grounding 𝒦 (𝑟), for every 𝑟 ∈ ℛ</p><p>• the group 𝒢 𝜙 with 𝒢 = {𝜙}, for every 𝜙 ∈ ℱ</p><p>• the group 𝒢 𝜓 with 𝒢 = {¬𝜓} Above, Grounding 𝒦 (𝑟) is the set containing the grounded rule 𝜎(body(𝑟)) → 𝜎(head(𝑟)) for every trigger 𝜏 = ⟨𝑟, 𝜎⟩ over Chase(𝒦). Given a set of groups F, we denote by KBs(F) the knowledge base built by using all facts and rules that are identifiers of the groups in F. Proposition 1 establishes a precise correspondence between the explanations for 𝒦 |= 𝜓 and the group-MUSes of GSAT(𝒦 ∧ ¬𝜓).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Proposition 1. Expl(𝒦, 𝜓) = ⋃︁</head></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>F∈GMUS(GSAT(𝒦∧¬𝜓))</head><p>KBs(F).  </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Knowledge-Base Filtering via Relevance</head><p>To explain an entailment of a knowledge base, it is often the case that only a portion of the knowledge base's facts and rules are necessary or relevant to that entailment. In this section, we present a formal definition of relevance and introduce a rule-based technique for filtering out facts that are irrelevant for explaining a given fact. This technique can drastically reduce the size of the encoded formula to be solved.</p><p>Relevance We say that a fact 𝜓 is relevant for the entailment of a fact 𝜙 in a knowledge base 𝒦 if there exists an explanation 𝒦 ′ ∈ Expl(𝒦, 𝜙) that contains 𝜓. This definition naturally extends to rules. Consider the knowledge base in Figure <ref type="figure" target="#fig_2">3</ref> with facts ℱ = {p(a), q(a), t(b, a), s(c), s(d)} and rules ℛ = {𝑟 1 , 𝑟 2 , 𝑟 3 , 𝑟 4 }. The entailment 𝜙 = goal(a) can be derived in two ways. The first is by applying 𝑟 1 , which yields t(a, a); this atom allows for the application of 𝑟 3 to derive 𝜙. The second is by applying 𝑟 3 on the results of 𝑟 1 and 𝑟 2 . The fact 𝜙 has, however, only one explanation, namely, 𝒦 ′ = ⟨{𝑟 1 , 𝑟 3 }, {p(a)}⟩. Indeed, 𝒦 ′′ = ⟨{𝑟 1 , 𝑟 2 , 𝑟 3 }, {p(a), q(a), t(b, a)}⟩ is not minimal as 𝒦 ′ ⊂ 𝒦 ′′ (see Definition 1). As a result, with Expl(𝒦, 𝜙) = {𝒦 ′ }, the only elements relevant to the entailment of 𝜙 in 𝒦 are p(a) and 𝑟 1 , 𝑟 3 . Despite its apparent simplicity, it turns out that deciding relevance is hard. This holds true even if one focuses only on deciding the relevance of facts, for a fixed rule set. By a reduction from SAT, we have the following proposition. Proofs can be found in Appendix A.</p><p>Proposition 2. For a fixed ruleset ℛ, deciding if a fact 𝜓 ∈ ℱ is relevant for 𝜙 on ⟨ℛ, ℱ⟩ is NP-complete.</p><p>Approximating Relevance Considering this hardness result, we turn our attention to the task of approximating relevant facts and rules. This is achieved using a two-step rule-based approach: a static step which preprocesses the input knowledge base, followed by a dynamic step for tracing each individual entailment. The static step builds an entailment graph which tracks all relationships between any entailed atoms and rules. This entailment graph allows us to compute an approximation of relevant facts. For instance, as illustrated in Figure <ref type="figure" target="#fig_2">3</ref>, the relevance approximation includes atoms p(a), q(a), t(b, a) and rules 𝑟 1 , 𝑟 2 , 𝑟 3 . We now present our approach and give a construction for the entailement graph based on rules with function symbols, which can be deployed on reasoners supporting the formalism. Before detailing each step, we introduce the following notation. Given a predicate 𝑃 , we denote by 𝑃 + and 𝑓 𝑃 a fresh predicate and a function unique for 𝑃 , respectively; below, the same will hold for predicates 𝐵 and 𝐻. Moreover, given a rule 𝑟 we respectively denote by E 𝑟 and 𝑓 𝑟 a fresh predicate and a function unique for 𝑟. The aim of the static step is to produce the entailment graph, i.e. a hypergraph representing the links (in terms of entailment) between the atoms. In order to do that, we first need to be able to reference the atoms in Chase(𝒦). This is done by rules of type (1) which infer, for any atom 𝑃 (𝑡 ¯) of arity 𝑘, an atom 𝑃 + (𝑡 ¯, 𝑓 𝑃 (𝑡 ¯)) of arity 𝑘 + 1 where 𝑓 𝑃 (𝑡 ¯) is a functional term representing 𝑃 (𝑡 ¯) itself. Then, every rule 𝑟 is transformed into a rule of type (2) which, once applied, uses the functional terms to link all images of the body atoms to the image of the head atom via an hyperedge relation E 𝑟 proper to 𝑟. Let us emphasise that this step is done only once, for every input 𝒦.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Static step (entailment graph building)</head><p>Figure <ref type="figure">4</ref> illustrates the rules for the static step EntGraph(ℛ) for the rule base of Figure <ref type="figure" target="#fig_2">3</ref>, as well as their applications starting from p(a). First, the rule 𝑟 𝑝 produces the atom p + (a, f p (a)), where 𝑓 p (a) represents p(a). Consider then rule 𝑟 1 . This is transformed in the following way: the body p(𝑥) and the head t(𝑥, 𝑥) are respectively replaced by p + (𝑥, 𝑓 p (𝑥)) and t + (𝑥, 𝑥, 𝑓 t (𝑥, 𝑥)), and an hyperedge atom E r 1 (𝑓 p (𝑥), 𝑓 t (𝑥, 𝑥)) is added to the head to represent the link between the two atoms in the entailment graph. Note that this edge atom uses the functional terms corresponding to the atoms appearing in the rule. Since we have p + (a, f p (a)), the rule 𝑟 ′ 1 produces both t + (a, a, f t (a, a)) and the edge predicate E r 1 (f p (a), f t (a, a)) representing the fact that p + (a, f p (a)) is used to derive t + (a, a, f t (a, a)). Finally, 𝑟 ′ 3 is obtained from 𝑟 3 in a similar way, and it is used to derive goal + (a, f goal (a, a)).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Dynamic Step (tracing)</head><p>For any fact 𝜙 to explain, we define 𝒟 = Chase(⟨relPropag(ℛ, 𝜙), 𝒮⟩) where 𝒮 is the result of the static step and relPropag(ℛ, 𝜙) is the minimal set containing the following rules:</p><formula xml:id="formula_2">1. → Rel(𝑓 𝑃 (𝑥 ¯)) if 𝜙 = 𝑃 (𝑥 ¯)</formula><p>2. E r (𝑦 Rel(f goal (a))</p><formula xml:id="formula_3">𝑟 𝑟𝑒𝑙𝑔𝑜𝑎𝑙 Rel(f t (a, a)) 𝑟 𝑟𝑒𝑙3 E r3 (f t (a, a), f t (a, a), f goal (a))</formula><p>RelEdge(f r3 (f t (a, a), f t (a, a), f goal (a)))</p><p>Rel(f p (a))</p><formula xml:id="formula_4">𝑟 𝑟𝑒𝑙1 E r1 (f p (a), f t (a, a))</formula><p>RelEdge(f r1 (f p (a), f t (a, a))) in the static step, and Rel and RelEdge are reserved predicates. Intuitively, these rules recursively trace a fact back to the ancestor atoms which belong to the input fact base. Figure <ref type="figure" target="#fig_3">5</ref> illustrates the rules for the dynamic step relPropag(ℛ, 𝜙) for the rule base of Figure <ref type="figure" target="#fig_2">3</ref> and the entailment 𝜙 = goal(a), as well as their applications. In a nutshell, the atom to be is marked as relevant thanks to the (empty body) rule → Rel(f goal (a)). Then the relevance relation is propagated back using the edge atoms produced during the static step. In order to do this, we need the "propagation rule" 𝑟 𝑟𝑒𝑙 1 -𝑟 𝑟𝑒𝑙 4 . For instance, since we have E r 3 (f t (a, a), f t (a, a), f goal (a)) from the static step, and goal(a) is relevant (i.e., Rel(f goal (a))), then by rule 𝑟 𝑟𝑒𝑙 3 we have that both t(a, a) and 𝑟 3 are relevant (i.e, Rel(f t (a, a)) and RelEdge(f r 3 (f t (a, a), f t (a, a), f goal (a))), respectively). The same process applies for deeming p(a) and rule 𝑟 1 as relevant by the application of 𝑟 𝑟𝑒𝑙 1 .</p><p>Finally, for 𝒦 = ⟨ℛ, ℱ⟩, we define the approximation of the relevant KB as SupRel 𝜙 (𝒦) = ⟨ℛ ′ , ℱ ′ ⟩ where ℱ ′ = {𝑃 (𝑡 ¯) ∈ ℱ | 𝒟 |= Rel(𝑓 𝑃 (𝑡 ¯))} and ℛ ′ = {𝑟 ∈ ℛ | 𝒟 |= RelEdge(𝑓 𝑟 (𝑡 1 , . . . , 𝑡 𝑛 , 𝑡 ′ ))}. Note that both 𝒮 and 𝒟 knowledge bases always admit a finite (terminating) chase. Soundness and completeness below state that this approximation provides the same explanations as the exact relevance. Proposition 3. Expl(𝒦, 𝜙) = Expl(SupRel 𝜙 (𝒦), 𝜙)</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="4.">Experimental Analysis</head><p>We have implemented our approach by using the MARCO tool for group-MUS enumeration <ref type="bibr" target="#b11">[11]</ref> (Section 2) and InteGraal <ref type="bibr" target="#b14">[14]</ref> for approximating relevance (Section 3).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Benchmarks</head><p>We selected 24 interesting ontologies from the MOWL corpus <ref type="bibr" target="#b16">[15]</ref>. These ontologies were in the EL profile and have been translated into Datalog programs using the Java OWL API <ref type="bibr" target="#b17">[16]</ref> and the translation presented in <ref type="bibr" target="#b18">[17]</ref>. We made sure that each ontology has at least 5 extensional facts and produces at least 5 intensional facts. For each ontology, we picked 5 entailment queries to explain among the atoms with the greatest reasoning depth (and that are hence, intuitively, more challenging to explain), that is, atoms that are derived in the last (breadth-first) step of the saturation of the ontology.</p><p>Protocol For each ontology, we compute the entailment graph using InteGraal <ref type="bibr" target="#b14">[14]</ref> and the rules for the static step presented in Section 3; recall that this step is done only once per ontology. Subsequently, for each entailment query, we again use InteGraal <ref type="bibr" target="#b14">[14]</ref> and the rules for the dynamic step presented in Section 3 to compute a knowledge base that consists only of the part of the input ontology relevant to that particular entailment query. This relevant knowledge base is then translated into a GSAT formula as described in Section 2 and fed to the MARCO tool <ref type="bibr" target="#b11">[11]</ref>. The tool returns all MUSes which, when translated back to Datalog knowledge base statements, constitute the explanations. We compared against the OWL API <ref type="bibr" target="#b17">[16]</ref> which is the only tool we are aware of which computes kb-support explanations (i.e., ontology axioms corresponding to facts and rules). We implemented our benchmarking protocols using the B-Runner library <ref type="bibr" target="#b19">[18]</ref> and made them available online <ref type="bibr" target="#b20">[19]</ref>.</p><p>Setup All our experiments are run on a server with AMD Ryzen 9 3900XT 12-Core Processor @4.7GHz, 128GB of RAM @2.4GHz, and 2TB of SSD NVME. Analysis Figure <ref type="figure" target="#fig_4">6</ref> reports the time taken by the static step, which corresponds to the entailment graph construction, vs the dynamic step which is further divided into filtering (via InteGraal) and MUS enumeration (via MARCO). For the dynamic step, we report the average time for the 5 queries we considered. Times are in milliseconds.</p><p>As expected, we can observe that the time taken by the static step (even if within tenths of a second) is significantly longer than that of the dynamic step. Interestingly, we found that the time required for constructing the entailment graph depends on the number of possible rule groundings as well as on the depth (in a breadth-first sense) of the chase. This cost, being fixed, is however amortised when multiple explanation queries are submitted.</p><p>Concerning the dynamic step, we can observe that this is much faster than the static step, more in the order of tens of milliseconds. Again, we found that a crucial aspect here is the depth of the derived atom: the deeper an atom is in the entailment graph the more one has to propagate relevance. Our results also indicate that the group-MUS enumerator is very fast (in the order of milliseconds), which further validates this approach for computing explanations. Note also that the generality of our method makes that it can be implemented with any reasoner supporting the rules described in Section 3, and any group-MUS enumerator.</p><p>We conclude with a comparison with the explanation facility provided by the OWL API. We can see that our approach is generally more competitive if we consider only the dynamic step, and can even be more competitive depending on the cases for one-of explanations including both the static and dynamic step as a single operation.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.">Related Work &amp; Conclusion</head><p>We have introduced the first comprehensive approach for computing kb-support explanations for fact entailments over Datalog knowledge bases. Our method leverages on group-MUS enumeration for computing explanations as well as on a rule-based approach to filter irrelevant atoms for the task. Our approach has been implemented and experimentally evaluated.</p><p>Our work considers explanations in the form of kb-support (a.k.a, justifications with ABoxes), which, to the best of our knowledge, has not been investigated so far for Datalog <ref type="bibr" target="#b9">[9,</ref><ref type="bibr" target="#b8">8,</ref><ref type="bibr" target="#b10">10]</ref>. Indeed, existing methods for Datalog focus on the notion of why-provenance which corresponds to that of fact-support. The recent work of <ref type="bibr" target="#b8">[8]</ref> studies the use of SAT-solvers for computing why-provenance on Datalog based on so called non-ambiguous proof trees. Rule-based approaches for on-demand computation of Datalog provenance have been studied in <ref type="bibr" target="#b10">[10]</ref>. The recent work of <ref type="bibr" target="#b5">[5]</ref> considers provenance computation for the EL Description Logic <ref type="bibr" target="#b21">[20,</ref><ref type="bibr" target="#b22">21]</ref>. In the context of answer set programming (ASP), the work of <ref type="bibr" target="#b22">[21]</ref> considers a notion of graph-explanation; this can be seen as an extension of fact-support including all inferred facts (but no rules). While these approaches are close to ours in spirit, the technical development remains different. Notably, considering kb-supports allows us to obtain more explanations than whyprovenance, and thus a better understanding of the entailed facts. On the other hand, this also required us to establish a new correspondence between group-MUSes and kb-support explanations.</p><p>In the context of Description Logics, reasoning explanations have long been studied. Justifications, also called minimal axiom sets, and their computation are referred to as axiom pinpointing. The approaches closest to ours are the following. <ref type="bibr" target="#b1">[1]</ref> and <ref type="bibr">[2]</ref> consider the problem of computing axiom explanation for EL TBoxes (hence, without data). <ref type="bibr" target="#b1">[1]</ref> studies the complexity of computing relevant axioms while <ref type="bibr">[2]</ref> presents a reduction to GMUS enumeration. However, in contrast to our work, none of these approaches consider data (ABoxes). The problem of filtering the knowledge base to a set of relevant facts has been considered in <ref type="bibr" target="#b8">[8,</ref><ref type="bibr" target="#b10">10,</ref><ref type="bibr" target="#b3">3,</ref><ref type="bibr" target="#b4">4]</ref>. All of these approaches employ a notion akin to that of a dependency graph. However, our work differs in that it considers a different notion of explanation. Moreover, our work is the only one that studies the complexity of deciding the relevance of atoms (NP-complete).</p><p>Through this work we demonstrated the practical applicability of group-SAT solvers for knowledge bases, paving the way for more efficient and explainable AI systems. Future work includes the extension of our setting to richer rule languages, including suitable forms of functions, negation, and disjunction.</p><p>(Soundness) We show that if Source is relevant for the entailment of Target with 𝒦 then the CNF formula Φ is satisfiable. a ○ By hypothesis there is an explanation ⟨ℛ ′ , ℱ ′ ⟩ ⊆ ⟨ℛ, ℱ⟩ such that Source ∈ ℱ ′ and ⟨ℛ If a rule of the form (1) has been applied then there is a constant 𝑣 𝑘 such that T(𝑣 𝑘 ) ∈ ℱ ′ and T(𝑣 𝑘 ) → T(𝑐 𝑖 ) ∈ ℛ ′ . Let 𝑉 𝑘 be the corresponding variable of 𝑣 𝑘 and 𝐶 𝑖 the clause corresponding to 𝑐 𝑖 in Φ, then by the construction of the rules in (1) we have that 𝑉 𝑘 ∈ 𝐶 𝑖 and by c ○ we know that 𝜎 ℱ ′ (𝑉 𝑘 ) = True, thus 𝜎 ℱ ′ (𝐶 𝑖 ) = True.</p><p>If a rule of the form (2) has been applied then there is a constant 𝑣 𝑘 such that F(𝑣 𝑘 ) ∈ ℱ ′ and F(𝑣 𝑘 ) → T(𝑐 𝑖 ) ∈ ℛ ′ . Let 𝑉 𝑘 be the corresponding variable of 𝑣 𝑘 and 𝐶 𝑖 the clause corresponding to 𝑐 𝑖 in Φ, then by the construction of the rules in <ref type="bibr">(2)</ref> we have that ¬𝑉 𝑘 ∈ 𝐶 𝑖 and by c ○ we know that 𝜎 ℱ ′ (𝑉 𝑘 ) = False thus 𝜎 ℱ ′ (𝐶 𝑖 ) = True. There is a positive literal 𝑉 𝑘 ∈ 𝐶 𝑖 such that 𝜎(𝑉 𝑘 ) = 𝑇 𝑟𝑢𝑒. In this case, let 𝑣 𝑘 and 𝑐 𝑖 be the constants corresponding to 𝑉 𝑘 and 𝐶 𝑖 respectively. By a ○ we have that T(𝑣 𝑘 ) ∈ ℱ ′ , and T(𝑣 𝑘 ) → T(𝑐 𝑖 ) ∈ ℛ by the construction of rules in <ref type="bibr" target="#b1">(1)</ref>.</p><p>There is a negative literal ¬𝑉 𝑘 ∈ 𝐶 𝑖 such that 𝜎(𝑉 𝑘 ) = 𝐹 𝑎𝑙𝑠𝑒. Let 𝑣 𝑘 and 𝑐 𝑖 be the constants corresponding to 𝑉 𝑘 and 𝐶 𝑖 respectively. By a ○ we have that F(𝑣 𝑘 ) ∈ ℱ ′ , and F(𝑣 𝑘 ) → T(𝑐 𝑖 ) ∈ ℛ by the construction of rules in <ref type="bibr">(2)</ref>.</p><p>In both cases, ⟨ℛ, ℱ ′ ⟩ |= T(𝑐 𝑖 ) for every 1 ≤ 𝑖 ≤ 𝑚. c ○ Let ℱ ′′ be a minimal subset of ℱ ′ and ℛ ′ a minimal subset of ℛ (obtained in linear time by deletion, i.e., by removing on fact/rule until the entailment is lost) such that ⟨ℛ ′ , ℱ ′′ ⟩ |= Target. We know that (3) and ( <ref type="formula">4</ref>) are the only rules that can infer Target. However, (4) can not be applied on ℱ ′′ . Indeed, ℱ ′ is built from an assignment 𝜎 and therefore either T(𝑣 𝑖 ) or F(𝑣 𝑖 ) belongs to ℱ ′′ for any constant 𝑣 𝑖 corresponding to a variable 𝑉 𝑖 in Φ. Hence the rule (3) has been applied to derive Target. d ○ To conclude, note that to apply (3) the atom Source must belong to ℱ ′′ and ⟨ℛ ′ , ℱ ′ ⟩ is an explanation of Target. Hence, Source is relevant for Target.</p><p>(Polynomiality) We show the size of 𝒦 is polynomial with respect to the size of Φ. In the fact set ℱ we have 2𝑛 + 1 atoms with 𝑛 being the number of propositional variables in Φ. Then the rule set contains at most 𝑘 × 𝑚 + 2 rules where 𝑚 is the number of clauses in Φ and 𝑘 the largest number of literals in a clause. Thus the instance 𝒦 is polynomial with respect to Φ and the translation can be computed in polynomial time.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>𝑟 1 : 3 Figure 1 :</head><label>131</label><figDesc>Figure 1: Computing Minimal KB-Support Explanations via MUSes</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>Figure 2 :</head><label>2</label><figDesc>Figure 2: SAT vs Group-SAT Translation Example</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_2"><head>Figure 3 :</head><label>3</label><figDesc>Figure 3: Relevance: Exact vs Approximate</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_3"><head>Figure 5 :</head><label>5</label><figDesc>Figure 5: Dynamic Step Rules and Inferences</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_4"><head>Figure 6 :</head><label>6</label><figDesc>Figure 6: Query Explanation Performances</figDesc><graphic coords="8,72.00,65.61,451.27,86.75" type="bitmap" /></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_5"><head>○○</head><label></label><figDesc>Hence, 𝜎 ℱ ′ (𝐶 𝑖 ) = True for every clause 𝐶 𝑖 ∈ Φ, thus 𝜎(Φ) = True and Φ is satisfiable.(Completeness)We show that if Φ is satisfiable then Source is relevant for Target with 𝒦.a By hypothesis, there is an assignment 𝜎 such that 𝜎 is a model of Φ. Consider the set of factsℱ ′ = {Source} ∪ {T(𝑣 𝑖 ) | 𝜎(𝑉 𝑖 ) = True} ∪ {F(𝑣 𝑖 ) | 𝜎(𝑉 𝑖 ) = False} ⊆ ℱ.b By hypothesis, we have 𝜎(𝐶 𝑖 ) = 𝑇 𝑟𝑢𝑒 for every clause 𝐶 𝑖 in Φ and two cases hold.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head></head><label></label><figDesc>1 , . . . , 𝑡 𝑛 ) where 𝑓 is a function symbol and every 𝑡 𝑖 is a term. We write lists 𝑡 1 , . . . , 𝑡 𝑛 of terms as 𝑡 ¯and often treat these as sets. An atom is a first-order formula of the form 𝑃 (𝑡 ¯) where 𝑃 is a relational predicate and 𝑡 ¯a sequence of terms. An atom is grounded if it does not contain any variable. For a first-order formula Φ and a list 𝑥 ¯of variables, we write Φ[𝑥 ¯] to indicate that 𝑥 ¯is the set of all free variables that occur in Φ. A fact is a grounded atom without function symbols. A rule 𝑟</figDesc><table /><note>is a first-order formula of the form ∀𝑥 ¯.𝐵[𝑥 ¯] → 𝐻[𝑧 ¯] where 𝐵[𝑥 ¯] and 𝐻[𝑧 ¯] are conjunctions of atoms and 𝑧 ¯⊆ 𝑥 ¯. Such a rule is called Datalog if it is function-free and 𝐻 is a single atom. We will often omit universal quantifiers when writing rules. Moreover, we identify conjunctions of atoms such as 𝐵 and 𝐻 above with the corresponding sets, and define body(𝑟) = 𝐵 and head(𝑟) = 𝐻. A knowledge base (KB) 𝒦 is a tuple ⟨ℛ, ℱ⟩ where ℛ and ℱ are finite sets of rules and facts, respectively. A Datalog knowledge base is such that ℱ only contains grounded atoms without function symbols and ℛ only contains Datalog rules. For 𝒦 1</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_3"><head></head><label></label><figDesc>Given a knowledge base 𝒦 = ⟨ℛ, ℱ⟩, we compute 𝒮 = Chase(⟨EntGraph(ℛ), ℱ⟩) where EntGraph(ℛ) is the minimal set containing the following rules:𝑟𝑝 : p(𝑥) → p + (𝑥, 𝑓p(𝑥)) 𝑟𝑡 : t(𝑥, 𝑦) → t + (𝑥, 𝑦, 𝑓t(𝑥, 𝑦)) 𝑟𝑞 : q(𝑥) → q + (𝑥, 𝑓q(𝑥)) 𝑟 𝑔𝑜𝑎𝑙 : goal(𝑥) → goal + (𝑥, 𝑓 goal (𝑥)) + (𝑥, 𝑥, 𝑓t(𝑥, 𝑥)) ∧ t + (𝑥, 𝑦, 𝑓t(𝑥, 𝑦)) → goal + (𝑥, 𝑓 goal (𝑥)) ∧ Er 3 (𝑓t(𝑥, 𝑥), 𝑓t(𝑥, 𝑦), 𝑓 goal (𝑥))</figDesc><table><row><cell>EntGraph(ℛ)</cell><cell></cell><cell></cell></row><row><cell>𝑟𝑠 : s(𝑥) → s + (𝑥, 𝑓s(𝑥)) 1 : p + (𝑥, 𝑓p(𝑥)) → t + (𝑥, 𝑥, 𝑓t(𝑥, 𝑥)) ∧ Er 1 (𝑓p(𝑥), 𝑓t(𝑥, 𝑥)) 𝑟 ′ 𝑟 ′ 2 : t + (𝑥, 𝑦, 𝑓t(𝑥, 𝑦)) ∧ q + (𝑥, 𝑓q(𝑥)) → t + (𝑦, 𝑥, 𝑓t(𝑦, 𝑥)) ∧ Er 2 (𝑓𝑡(𝑥, 𝑦), 𝑓q(𝑥), 𝑓t(𝑦, 𝑥)) 4 : s + (𝑥, 𝑓s(𝑥)) → v + (𝑥, 𝑥, 𝑓v(𝑥, 𝑥)) ∧ Er 4 (𝑓s(𝑥), 𝑓v(𝑥, 𝑥)) 3 : t 𝑟 ′ 𝑟 ′</cell><cell>p(a) p + (a, f p (a)) t + (a, a, f t (a, a)) goal + (a, f goal (a)) 𝑟 ′ 1 E r3 (f 𝑟 𝑝 𝑟 ′</cell><cell>E r1 (f p (a), f t (a, a))</cell></row></table><note>t (a, a), f t (a, a), f goal (a)) 3 Figure 4: Static Step Rules and Inferences 1. 𝑃 (𝑥 ¯) → 𝑃 + (𝑥 ¯, 𝑓 𝑃 (𝑥 ¯)) for every predicate 𝑃 occurring in ℱ 2. ⋀︀ 𝑛 𝑖=1 𝐵 + 𝑖 (𝑥 ¯𝑖, 𝑦 𝑖 ) → 𝐻 + (𝑥 ¯, 𝑓 𝐻 (𝑥 ¯)) ∧ E 𝑟 (𝑦 1 , . . . , 𝑦 𝑛 , 𝑓 𝐻 (𝑥 ¯)) for every rule 𝑟 = ⋀︀ 𝑛 𝑖=1 𝐵 𝑖 (𝑥 ¯𝑖) → 𝐻(𝑥 ¯) ∈ ℛ</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_4"><head></head><label></label><figDesc>𝑟 𝑟𝑒𝑙 𝑔𝑜𝑎𝑙 : → Rel(f goal (a)) 𝑟 𝑟𝑒𝑙 1 : Er 1 (𝑦, 𝑥) ∧ Rel(𝑥)</figDesc><table><row><cell>→ Rel(𝑦) ∧ RelEdge(𝑓𝑟1(𝑦, 𝑥))</cell></row><row><cell>𝑟 𝑟𝑒𝑙 2 : Er 2 (𝑦, 𝑧, 𝑥) ∧ Rel(𝑥)</cell></row><row><cell>→ Rel(𝑦) ∧ Rel(𝑧) ∧ RelEdge(𝑓𝑟 2 (𝑦, 𝑧, 𝑥))</cell></row><row><cell>𝑟 𝑟𝑒𝑙 3 : Er 3 (𝑦, 𝑧, 𝑥) ∧ Rel(𝑥)</cell></row><row><cell>→ Rel(𝑦) ∧ Rel(𝑧) ∧ RelEdge(𝑓𝑟 3 (𝑦, 𝑧, 𝑥))</cell></row><row><cell>𝑟 𝑟𝑒𝑙 4 : Er 4 (𝑦, 𝑥) ∧ Rel(𝑥)</cell></row><row><cell>→ Rel(𝑦) ∧ RelEdge(𝑓𝑟 4 (𝑦, 𝑥))</cell></row></table><note>1 , . . . , 𝑦 𝑛 , 𝑧) ∧ Rel(𝑧) → Rel(𝑦 1 ) ∧ . . . ∧ Rel(𝑦 𝑛 ) ∧ RelEdge(𝑓 𝑟 (𝑦 1 , . . . , 𝑦 𝑛 , 𝑧))for every rule 𝑟 in ℛ Note first that rule (1) has an empty body; this is used to bootstrap the tracing for 𝜙. Furthermore, for rules of type (2), we consider that E 𝑟 and 𝑓 𝑟 are the fresh predicate and function unique for 𝑟 introduced relPropag(ℛ, goal(a))</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_5"><head></head><label></label><figDesc>′ , ℱ ′ ⟩ |= Target. We show first that for every constant 𝑣 𝑖 appearing in ℱ ′ , we have that T(𝑣 𝑖 ) ∈ ℱ ′ if and only if F(𝑣 𝑖 ) ̸ ∈ ℱ ′ . Indeed, suppose T(𝑣 𝑖 ), F(𝑣 𝑖 ) ∈ ℱ ′ for some constant 𝑣 𝑖 . Then, with rule (4) we have ⟨ℛ ′ , {T(𝑣 𝑖 ), F(𝑣 𝑖 )}⟩ |= Target. This contradicts the fact that ℱ ′ is a minimal set that, together with ℛ ′ , entails Target. Let 𝜎 ℱ ′ be the assignment such that 𝜎 ℱ ′ (𝑉 𝑖 ) = True if and only if T(𝑣 𝑖 ) ∈ ℱ ′ for every variable 𝑉 𝑖 in Φ and its corresponding constant 𝑣 𝑖 in 𝒦. From b ○, we know that (4) cannot be applied in ℱ ′ . Therefore, the rule (3) has been applied to infer Target.Hence, ⟨ℛ ′ , ℱ ′ ⟩ |= T(𝑐 𝑖 ) for every 1 ≤ 𝑖 ≤ 𝑚. For 1 ≤ 𝑖 ≤ 𝑚 we know that T(𝑐 𝑖 ) is either inferred by a rule from (1) or from(2).</figDesc><table /><note>b ○ c ○ d ○ e ○</note></figure>
		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgments</head><p>This work was supported by the Inria-DFKI bilateral project R4Agri and by the ANR project CQFD (ANR-18-CE23-0003).</p></div>
			</div>

			<div type="annex">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>A. Proofs for Section 3</head><p>Fact Relevance(ℛ) Instance: A fact set ℱ, a fact 𝜙 and a fact 𝜓 ∈ ℱ. Question: Is 𝜓 relevant for the entailment of 𝜙 with respect to ⟨ℛ, ℱ⟩? Lemma 1. Fact Relevance(ℛ) is in NP .</p><p>Proof. We consider an oracle that, for a fixed ℛ, can decide in polynomial time Fact Entailment(ℛ), that is, whether ⟨ℛ, ℱ⟩ |= 𝜙 for a given fact set ℱ and fact 𝜙. We then consider a non-deterministic Turing Machine that accepts on input ⟨ℱ, 𝜙, 𝜓⟩ if and only if 𝜓 is relevant for 𝜙 with ⟨ℛ, ℱ⟩ and does the following.</p><p>1. Non-deterministically guesses the sets ℱ ′ ⊆ ℱ and ℛ ′ ⊆ ℛ such that 𝜓 ∈ ℱ ′ .</p><p>2. Checks with the oracle on Fact Entailment(ℛ) whether ⟨ℛ ′ , ℱ ′ ⟩ |= 𝜙. If it does not, rejects.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.">Checks the minimality of ⟨ℛ</head><p>with the oracle) then rejects, otherwise accepts.</p><p>(Soundness) Given a fact set ℱ, a fact 𝜙 and some fact 𝜓 ∈ ℱ, we show that if the TM accepts on input ⟨𝒦, 𝜙, 𝜓⟩ then 𝜓 is relevant for 𝜙 with ⟨ℛ, ℱ⟩. By hypothesis the TM accepts so there is a pair</p><p>Hence, by the definitions of explanations and relevance, ⟨ℛ ′ , ℱ ′ ⟩ is an explanation for 𝜙 containing 𝜓, thus 𝜓 is relevant for 𝜙.</p><p>(Completeness) Given a fact set ℱ, a fact 𝜙 and some fact 𝜓 ∈ ℱ, we show that if 𝜓 is relevant for 𝜙 then the TM accepts on input ⟨𝒦, 𝜙, 𝜓⟩. By hypothesis 𝜓 is relevant for 𝜙 so there is an explanation ℰ = ⟨ℛ ′ , ℱ ′ ⟩ for 𝜙 containing 𝜓. Hence, 𝜓 ∈ ℱ ′ and ⟨ℛ ′ , ℱ ′ ⟩ |= 𝜙. At step 1 the TM guesses the explanation ℰ = ⟨ℛ ′ , ℱ ′ ⟩ and by construction of ℰ the oracle returns "yes" at step 2. Again, by hypothesis ⟨ℛ ′ , ℱ ′ ⟩ is minimal thus the oracle answers "no" for every ⟨ℛ ′′ , ℱ ′′ ⟩ ⊂ ⟨ℛ ′ , ℱ ′ ⟩ of size |⟨ℛ ′ , ℱ ′ ⟩| − 1 checked in step 3, and the TM accepts.</p><p>(Termination) As step one is a non-deterministic guess of subsets of ℱ and ℛ and then we use the P oracle a linear number of times in the size of the guessed subsets, Fact Relevance(ℛ) is in</p><p>Proof. We show that Fact Relevance(ℛ) is NP-hard via a reduction from SAT.</p><p>(Translation) For a CNF formula Φ = 𝐶 1 ∧ . . . ∧ 𝐶 𝑚 defined using the variables {𝑉 1 , . . . , 𝑉 𝑛 }, we produce a knowledge base 𝒦 = ⟨ℛ, ℱ⟩ with nullary predicates Source and Target such that Φ is satisfiable if and only if Source is relevant for the entailment of Target. The knowledge base 𝒦 is built as follows:</p><p>{T(𝑥) ∧ F(𝑥) → Target} (4)</p><p>Note that in the construction above, we introduced a unique constant 𝑣 𝑖 for each variable 𝑉 𝑖 and a unique constant 𝑐 𝑖 for each clause 𝐶 𝑖 in Φ. Note that therefore the only rule with variables is (4).</p></div>			</div>
			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
	</analytic>
	<monogr>
		<title level="m">We present a reduction from Datalog rules and facts to group-SAT formulas, and establish an exact correspondence between kb-support explanations and group-MUSes</title>
				<imprint>
			<biblScope unit="volume">2</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Pinpointing in the description logic</title>
		<author>
			<persName><forename type="first">F</forename><surname>Baader</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Penaloza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Suntisrivaraporn</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Annual Conference on Artificial Intelligence</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="52" to="67" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Satpin: Axiom pinpointing for lightweight description logics through incremental sat</title>
		<author>
			<persName><forename type="first">N</forename><surname>Manthey</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Peñaloza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Rudolph</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">KI-Künstliche Intelligenz</title>
		<imprint>
			<biblScope unit="volume">34</biblScope>
			<biblScope unit="page" from="389" to="394" />
			<date type="published" when="2020">2020</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">A new method of finding all justifications in owl 2 el</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Zhou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Qi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Suntisrivaraporn</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IEEE/WIC/ACM International Joint Conferences on Web Intelligence (WI) and Intelligent Agent Technologies (IAT)</title>
				<imprint>
			<publisher>IEEE</publisher>
			<date type="published" when="2013">2013. 2013</date>
			<biblScope unit="volume">1</biblScope>
			<biblScope unit="page" from="213" to="220" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">A dependency-graph based approach for finding justification in owl 2 el</title>
		<author>
			<persName><forename type="first">Z</forename><surname>Zhou</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Qi</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Intelligent Data Analysis</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="page" from="1315" to="1335" />
			<date type="published" when="2018">2018</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Computing abox justifications for query answers via datalog rewriting</title>
		<author>
			<persName><forename type="first">S</forename><surname>Borgwardt</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Breuer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Kovtunova</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Description Logics</title>
				<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">S</forename><surname>Abiteboul</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Hull</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Vianu</surname></persName>
		</author>
		<title level="m">Foundations of databases</title>
				<imprint>
			<publisher>Addison-Wesley Reading</publisher>
			<date type="published" when="1995">1995</date>
			<biblScope unit="volume">8</biblScope>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Ontologybased data access: A survey</title>
		<author>
			<persName><forename type="first">G</forename><surname>Xiao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Calvanese</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Kontchakov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Lembo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Poggi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Rosati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Zakharyaschev</surname></persName>
		</author>
		<idno type="DOI">10.24963/IJCAI.2018/777</idno>
		<ptr target="https://doi.org/10.24963/ijcai.2018/777.doi:10.24963/IJCAI.2018/777" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018</title>
				<editor>
			<persName><forename type="first">J</forename><surname>Lang</surname></persName>
		</editor>
		<meeting>the Twenty-Seventh International Joint Conference on Artificial Intelligence, IJCAI 2018<address><addrLine>Stockholm, Sweden</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2018">July 13-19, 2018. 2018</date>
			<biblScope unit="page" from="5511" to="5519" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Computing the why-provenance for datalog queries via SAT solvers</title>
		<author>
			<persName><forename type="first">M</forename><surname>Calautti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Livshits</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Pieris</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Schneider</surname></persName>
		</author>
		<idno type="DOI">10.1609/AAAI.V38I9.28914</idno>
		<ptr target="https://doi.org/10.1609/aaai.v38i9.28914.doi:10.1609/AAAI.V38I9.28914" />
	</analytic>
	<monogr>
		<title level="m">Thirty-Eighth AAAI Conference on Artificial Intelligence, AAAI 2024, Thirty-Sixth Conference on Innovative Applications of Artificial Intelligence, IAAI 2024, Fourteenth Symposium on Educational Advances in Artificial Intelligence, EAAI 2014</title>
				<editor>
			<persName><forename type="first">M</forename><forename type="middle">J</forename><surname>Wooldridge</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">J</forename><forename type="middle">G</forename><surname>Dy</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">S</forename><surname>Natarajan</surname></persName>
		</editor>
		<meeting><address><addrLine>Vancouver, Canada</addrLine></address></meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="2024">February 20-27, 2024. 2024</date>
			<biblScope unit="page" from="10459" to="10466" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Revisiting semiring provenance for datalog</title>
		<author>
			<persName><forename type="first">C</forename><surname>Bourgaux</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Bourhis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Peterfreund</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Thomazo</surname></persName>
		</author>
		<ptr target="https://proceedings.kr.org/2022/10/" />
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 19th International Conference on Principles of Knowledge Representation and Reasoning, KR 2022</title>
				<editor>
			<persName><forename type="first">G</forename><surname>Kern-Isberner</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">G</forename><surname>Lakemeyer</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">T</forename><surname>Meyer</surname></persName>
		</editor>
		<meeting>the 19th International Conference on Principles of Knowledge Representation and Reasoning, KR 2022<address><addrLine>Haifa, Israel</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2022-08-05">July 31 -August 5, 2022, 2022</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">An existential rule framework for computing whyprovenance on-demand for datalog</title>
		<author>
			<persName><forename type="first">A</forename><surname>Elhalawati</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Krötzsch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Mennicke</surname></persName>
		</author>
		<idno type="DOI">10.1007/978-3-031-21541-4_10</idno>
		<idno>doi:</idno>
		<ptr target="10.1007/978-3-031-21541-4\_10" />
	</analytic>
	<monogr>
		<title level="m">Rules and Reasoning -6th International Joint Conference on Rules and Reasoning, RuleML+RR 2022</title>
		<title level="s">Lecture Notes in Computer Science</title>
		<editor>
			<persName><forename type="first">G</forename><surname>Governatori</surname></persName>
		</editor>
		<editor>
			<persName><forename type="first">A</forename><surname>Turhan</surname></persName>
		</editor>
		<meeting><address><addrLine>Berlin, Germany</addrLine></address></meeting>
		<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2022">September 26-28, 2022. 2022</date>
			<biblScope unit="volume">13752</biblScope>
			<biblScope unit="page" from="146" to="163" />
		</imprint>
	</monogr>
	<note>Proceedings</note>
</biblStruct>

<biblStruct xml:id="b11">
	<analytic>
		<title level="a" type="main">Fast, flexible MUS enumeration, Constraints An</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">H</forename><surname>Liffiton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Previti</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Malik</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Marques-Silva</surname></persName>
		</author>
		<idno type="DOI">10.1007/S10601-015-9183-0</idno>
		<ptr target="https://doi.org/10.1007/s10601-015-9183-0.doi:10.1007/S10601-015-9183-0" />
	</analytic>
	<monogr>
		<title level="j">Int. J</title>
		<imprint>
			<biblScope unit="volume">21</biblScope>
			<biblScope unit="page" from="223" to="250" />
			<date type="published" when="2016">2016</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">A proof procedure for data dependencies</title>
		<author>
			<persName><forename type="first">C</forename><surname>Beeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">Y</forename><surname>Vardi</surname></persName>
		</author>
		<idno type="DOI">10.1145/1634.1636</idno>
		<idno>doi:</idno>
		<ptr target="10.1145/1634.1636" />
	</analytic>
	<monogr>
		<title level="j">J. ACM</title>
		<imprint>
			<biblScope unit="volume">31</biblScope>
			<biblScope unit="page" from="718" to="741" />
			<date type="published" when="1984">1984</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">Algorithms for computing minimal unsatisfiable subsets of constraints</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">H</forename><surname>Liffiton</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">A</forename><surname>Sakallah</surname></persName>
		</author>
		<idno type="DOI">10.1007/S10817-007-9084-Z</idno>
		<ptr target="https://doi.org/10.1007/s10817-007-9084-z.doi:10.1007/S10817-007-9084-Z" />
	</analytic>
	<monogr>
		<title level="j">J. Autom. Reason</title>
		<imprint>
			<biblScope unit="volume">40</biblScope>
			<biblScope unit="page" from="1" to="33" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<monogr>
		<title/>
		<author>
			<persName><forename type="first">J.-F</forename></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">InteGraal: a Tool for Data-Integration and Reasoning on Heterogeneous and Federated Sources</title>
		<author>
			<persName><forename type="first">P</forename><surname>Baget</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Bisquert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M.-L</forename><surname>Leclère</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Mugnier</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Pérution-Kihli</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Tornil</surname></persName>
		</author>
		<author>
			<persName><surname>Ulliana</surname></persName>
		</author>
		<ptr target="https://hal-lirmm.ccsd.cnrs.fr/lirmm-04304601" />
	</analytic>
	<monogr>
		<title level="m">BDA 2023 -39e Conférence sur la Gestion de Données -Principes, Technologies et Applications</title>
				<meeting><address><addrLine>Montpellier, France</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<monogr>
		<title level="m" type="main">The Manchester OWL Corpus (MOWLCorp), original serialisation</title>
		<author>
			<persName><forename type="first">N</forename><surname>Matentzoglu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Parsia</surname></persName>
		</author>
		<idno type="DOI">10.5281/zenodo.10851</idno>
		<ptr target="https://doi.org/10.5281/zenodo.10851.doi:10.5281/zenodo.10851" />
		<imprint>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">The OWL API: A java API for OWL ontologies</title>
		<author>
			<persName><forename type="first">M</forename><surname>Horridge</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bechhofer</surname></persName>
		</author>
		<idno type="DOI">10.3233/SW-2011-0025</idno>
		<ptr target="https://doi.org/10.3233/SW-2011-0025.doi:10.3233/SW-2011-0025" />
	</analytic>
	<monogr>
		<title level="j">Semantic Web</title>
		<imprint>
			<biblScope unit="volume">2</biblScope>
			<biblScope unit="page" from="11" to="21" />
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">An efficient algorithm for reasoning over OWL EL ontologies with nominal schemas</title>
		<author>
			<persName><forename type="first">D</forename><surname>Carral</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Zalewski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Hitzler</surname></persName>
		</author>
		<idno type="DOI">10.1093/LOGCOM/EXAC032</idno>
		<ptr target="https://doi.org/10.1093/logcom/exac032.doi:10.1093/LOGCOM/EXAC032" />
	</analytic>
	<monogr>
		<title level="j">J. Log. Comput</title>
		<imprint>
			<biblScope unit="volume">33</biblScope>
			<biblScope unit="page" from="136" to="162" />
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">Collaborative benchmarking with b-runner</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ulliana</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Bisquert</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Charoensit</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Colin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Tornil</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Q</forename><surname>Yeche</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Rules and Reasoning -8th International Joint Conference on Rules and Reasoning, RuleML+RR 2024</title>
		<title level="s">Proceedings, Lecture Notes in Computer Science</title>
		<meeting><address><addrLine>Bucarest, Romania</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2024">September 16-18, 2024. 2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<ptr target="https://gitlab.inria.fr/boreal-artifacts/ruleml2024" />
		<title level="m">Artifacts for Rule-aware Datalog Fact Explanation Using Group-SAT Solver</title>
				<imprint>
			<date type="published" when="2024">2024</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Explaining answer-set programs with abstract constraint atoms</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Geibinger</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IJCAI</title>
				<imprint>
			<date type="published" when="2023">2023</date>
			<biblScope unit="page" from="3193" to="3202" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<monogr>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><forename type="middle">L</forename><surname>Trieu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><forename type="middle">C</forename><surname>Son</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Balduccini</surname></persName>
		</author>
		<idno type="arXiv">arXiv:2308.15879</idno>
		<title level="m">Explanations for answer set programming</title>
				<imprint>
			<date type="published" when="2023">2023</date>
		</imprint>
	</monogr>
	<note type="report_type">arXiv preprint</note>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
