This version: 2017/05/21 Revising my paper before submitting for publication. Syntactic Conditions for Antichain Property in CR-Prolog Vu Phan Texas Tech University Abstract We study syntactic conditions which guarantee when a Consistency Restoring Prolog program has antichain property (no answer set is a proper subset of another). A notable such condition is that the program s dependency graph being acyclic and having no directed path from one cr-rule head literal to another. Contents 1 Introduction 1 2 CR-Prolog 2 2.1 Syntax...................................... 2 2.2 Semantics.................................... 3 3 Preliminary Results 4 3.1 Up to One CR-Rule............................... 4 3.2 Unique CR-Literals............................... 5 4 Main Results 7 4.1 Dependency Graphs.............................. 7 4.2 Same Abductive Support Heads........................ 8 4.3 CR-Independence and Acyclicity....................... 10 5 Conclusion 15 6 Acknowledgment 15 1 Introduction Answer Set Prolog (A-Prolog) is a programming language for knowledge representation and reasoning (Gelfond and Lifschitz [1988]). An A-Prolog program comprises rules which determine the sets of beliefs that a logical agent can hold. A-Prolog relies on the stable model semantics of logic programs with negation. Page 1 of 16
Consistency Restoring Prolog (CR-Prolog) extends A-Prolog with cr-rules (Balduccini and Gelfond [2003]). The cr-rules apply only when the regular rules alone result in a contradiction. These cr-rules are meant to represent exceptions which are very rare but still possible. A-Prolog and its extension CR-Prolog have been applied to solve problems in various fields (Erdem et al. [2016]). For instance, a logic program was used to guide multiple robots to collaboratively tidy up a house. Also, a tourism application suggested trips based on user preferences. In this paper, we investigate the antichain property that a logic program might have: no answer set is a proper subset of another. Every A-Prolog program has antichain property. However, there exist CR-Prolog programs without antichain property. We look at some syntactic conditions guaranteeing that a CR-Prolog program has this desired semantic property. Such conditions are specified in Theorem 4.3.14 (most notable) as well as Theorem 3.1.4, Corollary 3.1.7, and Propositions 3.2.10 & 4.2.12. 2 CR-Prolog The complete specifications of A-Prolog and CR-Prolog can be found in [Gelfond and Kahl, 2014, Sections 2.1 & 2.2 & 5.5]. 2.1 Syntax Definition 2.1.1. An atom represents a boolean value. A literal is either an atom a or its classical-negation a. An extended literal is either a literal l or its default-negation not l. Definition 2.1.2 (Regular Rule). A regular rule r has the form: l 1 or... or l k l k+1,..., l m, not l m+1,..., not l n. Each l i above is a literal and 1 k m n. 1 The head of r is the disjunction of literals before. The body of r is the conjunction of extended literals after. Definition 2.1.3 (CR-Rule). Similar to a regular rule, a cr-rule has the form: 1 If k = m = n, then the rule can be shortened to: l 0 + l1,..., l m, not l m+1,..., not l n. l 1 or... or l k. Page 2 of 16
Definition 2.1.4 (A-Prolog Program). An A-Prolog program is a finite set of regular rules. Definition 2.1.5 (CR-Prolog Program). A CR-Prolog program is a finite set of regular rules and cr-rules. Notations: Π reg and Π cr denote the corresponding subsets of regular rules and cr-rules. Definition 2.1.6 (Applications of CR-Rules). Let r be a cr-rule. Then the application α(r) is the regular rule obtained from r by replacing + with. If R is a set of cr-rules, then let α(r) = {α(r) : r R}. When R is a subset of a CR-Prolog program Π, let Π R = Π reg α(r). 2.2 Semantics Definition 2.2.1 (Context). Literals l and l are complementary if l = l. A set S of literals is a context if S contains no pair of complementary literals. Definition 2.2.2 (Satisfiability). A context S satisfies: 1. a literal l if l S 2. an extended literal not l if l / S 3. a disjunction l 1 or... or l k if some l i S 4. a conjunction l k+1,..., l m, not l m+1,..., not l n if S satisfies all conjuncts (which are extended literals) 5. a rule r if S satisfies the head of r whenever S satisfies the body of r Definition 2.2.3 (A-Prolog Answer Set). Definition 2.2.4 (CR-Prolog Answer Set). We study the CR-Prolog variant in which minimality of abductive supports is based on cardinality. Definition 2.2.5 (Antichain Property). Let Π be a CR-Prolog program. We say Π has antichain property if: for all answer sets S 1 and S 2 of Π, we have S 1 S 2 S 1 = S 2. Example 2.2.6 (CR-Prolog Program without Antichain Property). Consider the following program: a. a not b, not c. b c. b +. (r 1 ) c +. (r 2 ) This program has answer sets S 1 = {a, b} and S 2 = {a, b, c}. Observe that S 1 S 2 (proper subset). The corresponding abductive supports are R 1 = {r 1 } and R 2 = {r 2 }. Page 3 of 16
3 Preliminary Results 3.1 Up to One CR-Rule Remark 3.1.1. Every inconsistent CR-Prolog program vacuously has antichain property. So only consistent programs are of interest. Definition 3.1.2 (Reduct). Let R be a set of regular rules and S be a context. We write R S for the reduct of R wrt S. Lemma 3.1.3. Let Π be an A-Prolog program. Let S 1 and S 2 be consistent sets of literals. If S 1 S 2, then Π S 2 ΠS 1. Proof. Assume Π S 2 The corresponding rule in Π is: has an arbitrary rule r: l 1 or... or l k l k+1,..., l m. l 1 or... or l k l k+1,..., l m, not l m+1,..., not l n. For each i in {m + 1,..., n}, we have l i / S 2, so l i / S 1 (as S 1 S 2 ). Therefore, r is also a rule in Π S 1. Theorem 3.1.4 (Antichain Property of A-Prolog Programs, proved by Dr. Michael Gelfond). Let Π be an A-Prolog program. Let S 1 S 2 be answer sets of Π. Then S 1 = S 2. Proof. We will show S 2 S 1. 1. First, S 2 is an answer set of Π S 2. So S 2 is a minimal (wrt set inclusion) context which satisfies Π S 2. We shall prove S 2 S 1 by showing S 1 also satisfies Π S 2. 2. By 3.1.3, we have Π S 2 ΠS 1. Because S 1 satisfies Π S 1, we know S 1 also satisfies Π S 2. Definition 3.1.5 (Equivalence of CR-Prolog Programs). Let Π 1 and Π 2 be CR-Prolog programs. We say Π 1 and Π 2 are equivalent, denoted by Π 1 Π 2, when S is an answer set of Π 1 iff S is an answer set of Π 2 for every context S. Remark 3.1.6. Let Π be a CR-Prolog program. If Π reg is consistent, then Π is equivalent to Π reg, which has antichain property due to Theorem 3.1.4. The interesting case is when Π reg is inconsistent. Corollary 3.1.7. Let Π be a CR-Prolog program where Π reg is inconsistent. If Π has only one cr-rule, then Π has antichain property. Proof. Assume Π cr = {r} for some cr-rule r. Then Π is equivalent to the A-Prolog program Π {r} = Π reg α({r}). Simply apply Theorem 3.1.4 to Π {r}. Page 4 of 16
3.2 Unique CR-Literals Definition 3.2.1 (Useless Regular Rule). Let Π be an A-Prolog program containing some rule r. For an answer set S of Π, we say r is useless wrt S if S is an answer set of Π \ {r}. Definition 3.2.2 (Regular Rule Firing). Given a regular rule r and a context S, we say r fires wrt S if S satisfies the body of r. Lemma 3.2.3. Let r be a regular rule and S be a context. Assume {r} S = {r } for some default-negation-free rule r. Then r fires iff r fires, wrt S. Proof. The two rules are: l 1 or... or l k l k+1,..., l m, not l m+1,..., not l n. (r) l 1 or... or l k l k+1,..., l m. (r ) By construction of r from r, we know l i S for all i {m + 1,..., n}. Then r fires wrt S iff l i S for all i {k + 1,..., m} iff r fires wrt S. Remark 3.2.4. Let r be a regular default-negation-free rule and S 1 S 2 be contexts. If r fires wrt S 1, then r fires wrt S 2. Lemma 3.2.5. Let Π be an A-Prolog program containing some rule r. Let S be an answer set of Π. If r does not fire, then r is useless, wrt S. Proof. Let Π 1 = Π S and Π 2 = (Π \ {r}) S. We know S is an answer set of Π 1. We will prove S is an answer set of Π 2. 1. First, S satisfies Π 1. Notice Π 2 Π 1. Then S satisfies Π 2. 2. Assume some context S S also satisfies Π 2. We shall show S = S. 2.1. Case 1 of 2: {r} S =. Then Π 1 = Π 2, so S satisfies Π 1. 2.2. Case 2 of 2: {r} S = {r } for some default-negation-free rule r. Recall that we hypothesized r does not fire wrt S. By Lemma 3.2.3, we know r does not fire wrt S. Since S S, using the contrapositive of Remark 3.2.4, we deduce that r does not fire wrt S. Then S vacuously satisfies r. So S satisfies Π 1 = Π 2 {r }. In both cases, S satisfies Π 1. As S is an answer set of Π 1, due to minimality, we know S S. Since we assumed S S, we can now conclude that S = S. 3. We have shown that S is a minimal consistent set of literals which satisfies Π 2. Hence, S is an answer set of Π 2. Page 5 of 16
Lemma 3.2.6. Let Π be a CR-Prolog program. Let S be an answer set of Π and R be a corresponding abductive support. Let cr-rule r R. Then α(r) is not useless wrt S. Proof. By way of contradiction, assume α(r) is useless wrt S. Let Π R = Π reg α(r). Then S is an answer set of Π R \ {α(r)}, whereas this program is precisely Π R = Π reg α(r ) with R = R \ {r}. So Π R is consistent. Since R is a minimal (wrt cardinality) set of cr-rules whose applications make Π consistent, we have R R. However, R = R 1 (recall R = R \ {r}), contradiction. Lemma 3.2.7. Let Π be a CR-Prolog program. Let S be an answer set of Π and R be a corresponding abductive support. Let cr-rule r R. Then the application α(r) fires wrt S. Proof. First, S is an answer set of Π R = Π reg α(r). By way of contradiction, assume there exists some cr-rule r R such that α(r) does not fire wrt S. By Lemma 3.2.5, α(r) is useless wrt S. However, by 3.2.6, α(r) is not useless wrt S, contradiction. Definition 3.2.8 (Head). If r is a rule, then let head(r) denotes the set of literals which appear in the head of r. If R is a set of rules, then let head(r) = r R head(r). Definition 3.2.9 (Supported Literal). Let r be a regular rule, l be a literal, and S be a context. We say l is supported by r wrt S if all of the following hold: 1. r fires wrt S 2. head(r) S = {l} [Gelfond and Kahl, 2014, page 43, Proposition 2.2.1] Proposition 3.2.10. Let Π be a CR-Prolog program. If the literal in the head of each cr-rule does not appear in the head of any other rule, then Π has antichain property. Proof. Let S 1 and S 2 be answer sets of Π. Assume S 1 S 2. We will show S 1 = S 2. 1. Let R 1 and R 2 respectively be abductive supports for S 1 and S 2. We first prove R 1 R 2. Let r be an arbitrary cr-rule in R 1. By Lemma 3.2.7, r fires wrt S 1, and S 1 satisfies head(r) = {l} where l is a literal. So l S 1, then l S 2 (as S 1 S 2 ). By the hypothesized syntactic condition, r is the sole rule in Π whose head contains l. Then only r can support l wrt S 2. So r R 2. 2. Now that we showed R 1 R 2, recall R 1 = R 2, as both are abductive supports. Then R 1 = R 2, since they are finite sets. Consequently, Π R1 = Π reg α(r 1 ) equals Π R2 = Π reg α(r 2 ). So S 1 and S 2 are answer sets of the same A-Prolog program. By Theorem 3.1.4, S 1 = S 2. Page 6 of 16
4 Main Results 4.1 Dependency Graphs Definition 4.1.1 (Positive Body of Rule). Let r be a rule. The positive body of r, denoted by body + (r), is the set of literals in the body of r which are default-negation-free. Definition 4.1.2 (Dependency Graph). Let Π be a CR-Prolog program. Let G Π be a graph whose vertices are literals of Π. For each pair of vertices l 1 and l 2 of G Π, there is a directed edge to l 1 from l 2 if Π has some rule r where l 1 head(r) and l 2 body + (r). We say G Π is the dependency graph of Π. Note: a self-loop forms a directed cycle. Remark 4.1.3 (Answer Set of Acyclic Program). Let Π be an acyclic A-Prolog program and S be a context. Then S is an answer set of Π iff every literal in S is supported by a rule in Π wrt S [Ben-Eliyahu and Dechter, 1994, page 58, Theorem 2.7]. Example 4.1.4 (Self-Loop Forming Cycle). To the contrary, assume a self-loop does not form a cycle. Consider this A-Prolog program: l l. (r) Let S = {l}. Notice that l is supported by r wrt S. However, S is not an answer set of Π. Then Remark 4.1.3 is wrong, contradiction. Definition 4.1.5 (Head-Cycle). Let Π be a CR-Prolog program with dependency graph G Π. Let C be a cycle in G Π. Assume: 1. vertices l 1 and l 2 are in C 2. there exists r Π where l 1 and l 2 are in head(r) Then C is a head-cycle in Π. Definition 4.1.6 (Dependent Literals). Let Π be a CR-Prolog program with dependency graph G Π. Let l 1 and l 2 be two literals appearing in Π. We say l 1 depends on l 2 if G Π has a directed path to l 1 from l 2. Definition 4.1.7 (CR-Literal). Let Π be CR-Prolog program with cr-rule r where head(r) = {l}. We say l is a cr-literal of Π. Definition 4.1.8 (CR-Independence). Let Π be a CR-Prolog program. Then Π is cr-independent if l 1 does not depend on l 2 for all cr-literals l 1 and l 2. Page 7 of 16
4.2 Same Abductive Support Heads Remark 4.2.1. Let Π be a CR-Prolog program with some answer set S. Then S head(π). Remark 4.2.2. Let r be a regular rule and S be a consistent set of literals. If r fires wrt S, then {r} S. Remark 4.2.3. Let Π be a CR-Prolog program with some answer set S and a corresponding abductive support R. Let cr-rule r R. Then {α(r)} S. (Use Lemma 3.2.7 and Remark 4.2.2.) Example 4.2.4. Consider an inconsistent A-Prolog program Π: l not l. Let S = {l}. Notice S is a minimal context which satisfies Π. However, S is not an answer set of Π, because S nonminimally satisfies Π S =. (Note that S = satisfies neither Π nor Π S = {l.}.) Example 4.2.5. Consider a consistent CR-Prolog program Π: not l 1, not l 2. l 1 + not l2. (r) Then R = {r} is an abductive support of Π. Indeed, let Π R = Π reg α(r), then S = {l 1 } is an answer set of Π R S = {l 1 }. Notice S = {l 2 } satisfies Π R, but l 1 S. Lemma 4.2.6. Let Π be a nondisjunctive default-negation-free A-Prolog program. If contexts S 1 and S 2 satisfy Π, then S 0 = S 1 S 2 also satisfies Π. Proof. Let r be a rule in Π. Assume r fires wrt S 0. Then r also fires wrt S 1 and S 2 (as Π is default-negation-free). So S 1 and S 2 satisfy head(r) = {l} (since Π is nondisjunctive). Thus l is in S 1, S 2, and S 0. Lemma 4.2.7 (Proved by Dr. Michael Gelfond). Let Π be a nondisjunctive default-negation-free A-Prolog program. Assume Π has rules r 1 r 2 such that head(r 1 ) = head(r 2 ). Let Π 0 = Π \ {r 1, r 2 }, Π 1 = Π 0 {r 1 }, and Π 2 = Π 0 {r 2 }. If S is an answer set of Π, then S is also an answer set of either Π 1 or Π 2. Proof. To the contrary, assume S is an answer set of neither Π 1 nor Π 2. Still, S satisfies both Π 1 and Π 2 (as S satisfies Π). So there exist two proper subsets of S, say S 1 and S 2, which respectively satisfy Π 1 and Π 2 (the programs are default-negation-free). Page 8 of 16
1. Case 1 of 2: either r 1 fires wrt S 1, or r 2 fires wrt S 2. WOLOG, assume the former. Then S 1 satisfies head(r 1 ) = head(r 2 ). So S 1 also satisfies both the rule r 2 and the program Π = Π 1 {r 2 }. Recall that S is an answer set of Π whereas S 1 S, contradiction. 2. Case 2 of 2: neither r 1 fires wrt S 1, nor r 2 fires wrt S 2. So neither r 1 nor r 2 fires wrt S 0 = S 1 S 2 (the rules are default-negation-free). Then S 0 vacuously satisfies r 1 and r 2. Because S 1 and S 2 satisfy Π 0, by 4.2.6, S 0 satisfies Π 0 too. Therefore, S 0 satisfies Π = Π 0 {r 1, r 2 }. But S is an answer set of Π, and S 0 S, contradiction. Lemma 4.2.8. Let Π be a nondisjunctive CR-Prolog program with some abductive support R. Then for all cr-rules r 1 and r 2 in R, we have head(r 1 ) = head(r 2 ) r 1 = r 2. Proof. By way of contradiction, assume there exist cr-rules r 1 r 2 in R where head(r 1 ) = head(r 2 ). Some notations: 1. Let R 1 = R \ {r 2 } and R 2 = R \ {r 1 }. 2. Let Π 1 = Π reg α(r 1 ) and Π 2 = Π reg α(r 2 ). 3. Let S be an answer set of Π wrt R. 4. Let Π a = Π 1 S and Π b = Π 2 S. Note that by 4.2.3, {α(r 1 )} S = {r 1 } and {α(r 2 )} S = {r 2 } for some default-negation-free rules r 1 and r 2. By 4.2.7, S is an answer set of either Π a or Π b. WOLOG, assume the former. Then S is an answer set of Π 1. So R 1 is an abductive support of Π, but R 1 < R, contradiction. Lemma 4.2.9. Let Π be an acyclic CR-Prolog program having some answer set S wrt an abductive support R. Let cr-rule r R where head(r) = {l}. Then α(r) is the only rule in Π R = Π reg α(r) which supports l wrt S. Proof. By way of contradiction, assume l is also supported by a rule r α(r) in Π R. Let R = R \ {r} and Π = Π reg α(r ). We will prove S is an answer set of Π : 1. First, S satisfies Π Π R. 2. Let l be an arbitrary literal in S. We show l is supported wrt S by some rule in Π. Recall that S is an answer set of Π R. By 4.1.3, l is supported wrt S by some rule r 0 in Π R. 2.1. Case 1 of 2: r 0 = α(r). Recall head(r) = {l}. Then l = l. Notice r also supports l wrt S, and r Π. Page 9 of 16
2.2. Case 2 of 2: r 0 α(r). Then r 0 Π. So Π is consistent, and R is an abductive support of Π. But R < R, contradiction. Definition 4.2.10 (Factified Rule). Let r be a regular rule. Let φ(r) denote the factified rule obtained from r by dropping its body. If R is a set of rules, then let φ(r) = {φ(r) : r R}. Lemma 4.2.11. Let Π be a CR-Prolog program with answer set S and corresponding abductive support R. Then S is an answer set of Π = Π reg φ(α(r)). Proof. We prove S is a minimal context which satisfies Π S : 1. Let Π R = Π reg α(r). Note that head(r) S as S is an answer set of Π R. Then S satisfies Π S = (Π reg ) S φ(α(r)). 2. Assume some S S also satisfies Π S. We know head(r) S. Then S satisfies (Π R ) S = (Π reg ) S (α(r)) S. So S S (as S is an answer set of Π R ). Therefore S = S. Proposition 4.2.12. Let Π be a CR-Prolog program. Then Π has antichain property if head(r 1 ) = head(r 2 ) for all abductive supports R 1 and R 2 of Π. Proof. Let S 1 and S 2 be arbitrary answer sets of Π corresponding to some abductive supports R 1 and R 2. By 4.2.11, S 1 and S 2 are respectively answer sets of Π reg φ(α(r 1 )) and Π reg φ(α(r 2 )), which are the same A-Prolog program because head(r 1 ) = head(r 2 ). By Theorem 3.1.4, S 1 S 2 S 1 = S 2. 4.3 CR-Independence and Acyclicity Definition 4.3.1 (Proof of Literal). Let Π be an A-Prolog program, S be a context, and l be a literal. A proof of l wrt S in Π is a nonempty sequence of rules p = r 1,..., r n in Π such that: 1. for each rule r i, there is a (sole) literal l supported by r wrt S; let h S (r) denote l 2. l = h S (r n ) 3. body + (r 1 ) = 2 2 Their original definition states: r 1 is a fact. However, there is an error in their Lemma B.5 on page 83. Consider an acyclic A-Prolog program {a not b.} with answer set {a}. Page 10 of 16
4. for each rule r i, every literal in body + (r i ) is h S (r j ) for some j < i [Ben-Eliyahu and Dechter, 1994, page 57] Definition 4.3.2. Additional notations: 1. P (l, S, Π) denotes the set of all proofs p of l wrt S in Π 2. h S (p) denotes {h S (r) : r p} 3. body + (p) denotes {body + (r) : r p} Remark 4.3.3. Let p = r 1,..., r n P (l, S, Π). We adopt the convention that the rules in p are pairwise distinct. Indeed, if there were r i = r j where i < j, then p = r 1,..., r j 1, r j+1,..., r n P (l, S, Π), so r j would be redundant. Remark 4.3.4. Let Π be a head-cycle-free A-Prolog program with answer set S. Then each literal in S has a proof wrt S in Π [Ben-Eliyahu and Dechter, 1994, page 57]. Definition 4.3.5 (Rank of Literal). Let Π be a head-cycle-free A-Prolog program and S be a context. The rank of a literal l wrt S in Π, denoted by rank(l, S, Π), is min{ p : p P (l, S, Π)}. Definition 4.3.6 (Ranking Function). Let: 1. Π be a head-cycle-free A-Prolog program 2. S be an answer set of Π 3. function f : S N Then f is the ranking function wrt S in Π if f(l) = rank(l, S, Π) for all l S. Definition 4.3.7 (Normal Proof of Literal). Let: 1. Π be a head-cycle-free A-Prolog program 2. S be an answer set of Π 3. l S 4. p P (l, S, Π) 5. f be the ranking function wrt S in Π We say p is a normal proof if for all r p and l body + (r), we have f(l ) < f(h S (r)). Remark 4.3.8. Let: Page 11 of 16
1. Π be a head-cycle-free A-Prolog program 2. S be an answer set of Π 3. f be the ranking function wrt S in Π 4. l S 5. normal p = r 1,..., r n P (l, S, Π) 6. r i p 7. l i body + (r i ). Then: 1. f(l i ) < f(l) 2. r 1,..., r i is a normal proof of h S (r i ) Example 4.3.9 (Nonminimal Subproof of Minimal Proof). Consider this acylic A-Prolog program Π: a b, c. (1) b c1x. (2) c c1x. (3) c1x c1y. (4) c1y. (5) c c2. (6) c2. (7) The sole answer set of Π is S = {a, b, c, c1x, c1y, c2}. The only minimal proofs of literal a wrt S in Π are the two sequences of rules < 5, 4, 3, 2, 1 > and < 5, 4, 2, 3, 1 >. In both these proofs, the subproof of c is < 5, 4, 3 >, which is nonminimal. (The minimal proof of c wrt S in Π is < 7, 6 >.) Lemma 4.3.10. Let: 1. Π 1 and Π 2 be head-cycle-free A-Prolog programs with corresponding answer sets S 1 S 2 2. l S 2 \ S 1 Then for each normal p = r 1,..., r n P (l, S 2, Π 2 ), there exists r p such that r Π 2 \ Π 1. Page 12 of 16
Proof. Let f be the ranking function wrt S 2 in Π 2. We employ induction on f(l). 1. Base step: f(l) = min{f(l ) : l S 2 \ S 1 }. 1.1. To the contrary, assume for every r p, we have r Π 1 Π 2. 1.2. Then r n Π 1. 1.3. As p is normal, for each l body + (r n ), we have f(l ) < f(l), so l S 1. 1.4. Then r n fires wrt S 1. 1.5. As S 1 is an answer set of Π 1, we know S 1 satisfies head(r n ). 1.6. Let l head(r n ). 1.6.1. Case 1 of 2: l = l. We already assumed l S 2 \ S 1. 1.6.2. Case 2 of 2: l l. We have l S 2, so l S 1. 1.7. So S 1 does not satisfy head(r n ), contradiction. 2. Induction step: f(l) max{f(l ) : l S 2 \ S 1 }. 2.1. Induction hypothesis: for each l S 2 \ S 1, let normal p P (l, S 2, Π 2 ), if f(l ) < f(l), then there exists r p such that r Π 2 \ Π 1. 2.2. To the contrary, assume for every r p, we have r Π 1 Π 2. 2.2.1. Case 1 of 2: there exists l body + (r n ) where l S 2 \ S 1. 2.2.1.1. Choose some 1 m n where h S2 (r m ) = l. 2.2.1.2. As p is normal, p = r 1,..., r m is a normal proof of l wrt S 2 in Π 2. 2.2.1.3. Notice f(l ) < f(l). 2.2.1.4. By the induction hypothesis, p contains some r Π 2 \ Π 1. 2.2.1.5. So p also contains r. 2.2.1.6. By our assumption, r Π 1 Π 2, contradiction. 2.2.2. Case 2 of 2: for every l body + (r n ), we have l S 1. 2.2.2.1. Then r n fires wrt S 1. 2.2.2.2. By our assumption, r n Π 1. 2.2.2.3. As S 1 is an answer set of Π 1, we know S 1 satisfies head(r n ). 2.2.2.4. But head(r n ) S 1 =, contradiction. Remark 4.3.11. Let p = r 1,..., r n P (l, S, Π). If p is minimal, then: 1. p is normal 2. l depends on h S (r i ) for all i < n Page 13 of 16
Lemma 4.3.12. Let Π be a nondisjunctive acyclic CR-Prolog program. If Π has answer sets S 1 S 2, then there exist literals l 1 and l 2 in head(π cr ) such that l 1 depends on l 2. Proof. Notations: 1. By the contrapositive of Proposition 4.2.12, there exist abductive supports R 1 and R 2 of Π where head(r 1 ) head(r 2 ). 2. Let R 1 = φ(α(r 1 )) and R 2 = φ(α(r 2 )). 3. Let Π 1 = Π reg R 1 and Π 2 = Π reg R 2. By Lemma 4.2.11, S 1 and S 2 are respectively answer sets of Π 1 and Π 2. We follow these steps: 1. By Lemma 4.2.8, since Π is nondisjunctive, we have R 1 = R 1 and R 2 = R 2. 2. Notice R 1 = R 2 > 0. 3. Then R 1 = R 2 > 0. 4. Observe head(r 1 ) = R 1 and head(r 2 ) = R 2. 5. Thus head(r 1 ) = head(r 2 ) > 0. 6. Recall head(r 1 ) = head(r 1 ) head(r 2 ) = head(r 2 ). 7. Then head(r 1 ) \ head(r 2 ). 8. Select some l 1 head(r 1 ) \ head(r 2 ). 9. Let r 1 be the fact (l 1.) in R 1 \ R 2. 10. Since S 1 is an answer set of Π 1, we have l 1 S 1. 11. Recall S 1 S 2. Then l 1 S 2. 12. As S 2 is an answer set of Π 2, there exists r Π 2 which supports l 1 wrt S 2. 12.1. Case 1 of 2: there exists l body + (r) where l S 2 \ S 1. 12.1.1. Let minimal p P (l, S 2, Π 2 ). 12.1.2. By Lemma 4.3.10, there exists r 2 p where r 2 Π 2 \ Π 1. 12.1.3. Then r 2 R 2 \ R 1 α(π cr ). 12.1.4. Let h S2 (r 2 ) = l 2 head(π cr ). 12.1.5. As p is minimal, l depends on l 2. 12.1.6. Recall l 1 depends on l in r. Page 14 of 16
12.1.7. By transitivity, l 1 depends on l 2. 12.2. Case 2 of 2: body + (r) S 1. We show this case is impossible. 12.2.1. Subcase 1 of 2: r Π 1 Π 2. 12.2.1.1. Notice r supports l 1 wrt S 1. 12.2.1.2. By Lemma 4.2.9, since Π is acyclic, we have r = r 1. 12.2.1.3. However, r Π 2 whereas r 1 Π 1 \ Π 2, contradiction. 12.2.2. Subcase 2 of 2: r Π 2 \ Π 1. 12.2.2.1. So r R 2 \ R 1. 12.2.2.2. Then r is the fact (l 1.), which is exactly r 1. 12.2.2.3. However, we selected r 1 from R 1 \ R 2 while r R 2, contradiction. Remark 4.3.13. If a CR-Prolog program Π is acyclic, then there exists a nondisjunctive acyclic CR-Prolog program Π equivalent to Π [Ben-Eliyahu and Dechter, 1994, page 73, Theorem 4.17]. Theorem 4.3.14 (Antichain Property of CR-Independent Acyclic CR-Prolog Programs). Let Π be an acyclic CR-Prolog program. If Π is cr-independent, then Π has antichain property. Proof. By Remark 4.3.13, there exists a nondisjunctive acyclic CR-Prolog Π equivalent to Π. By the contrapositive of Lemma 4.3.12, Π has antichain property. Therefore, Π has antichain property too. 5 Conclusion We have found a reasonably weak syntactic condition which guarantees that a CR-Prolog program has antichain property: the program being acyclic and cr-independent. The future goal is to further relax this sufficient condition to extend the class of CR-Prolog programs known to have this desired semantic property. 6 Acknowledgment We sincerely appreciate the significant guidance of Dr. Michael Gelfond. This paper includes his proofs of Theorem 3.1.4 and Lemma 4.2.7. We also thank Evgenii Balai for the informative discussions. Page 15 of 16
References Marcello Balduccini and Michael Gelfond. Logic programs with consistency-restoring rules. In International Symposium on Logical Formalization of Commonsense Reasoning, AAAI 2003 Spring Symposium Series, volume 102, 2003. Rachel Ben-Eliyahu and Rina Dechter. Propositional semantics for disjunctive logic programs. Annals of Mathematics and Artificial intelligence, 12(1):53 87, 1994. Esra Erdem, Michael Gelfond, and Nicola Leone. Applications of answer set programming. AI Magazine, 37(3):53 68, 2016. Michael Gelfond and Yulia Kahl. Knowledge representation, reasoning, and the design of intelligent agents: The answer-set programming approach. Cambridge University Press, 2014. Michael Gelfond and Vladimir Lifschitz. The stable model semantics for logic programming. In ICLP/SLP, volume 88, pages 1070 1080, 1988. Page 16 of 16