This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Human Conditional Reasoning in Answer Set Programming

CHIAKI SAKAMA
Abstract

Given a conditional sentence “φψ\varphi\Rightarrow\psi” (if φ\varphi then ψ\psi) and respective facts, four different types of inferences are observed in human reasoning. Affirming the antecedent (AA) (or modus ponens) reasons ψ\psi from φ\varphi; affirming the consequent (AC) reasons φ\varphi from ψ\psi; denying the antecedent (DA) reasons ¬ψ\neg\psi from ¬φ\neg\varphi; and denying the consequent (DC) (or modus tollens) reasons ¬φ\neg\varphi from ¬ψ\neg\psi. Among them, AA and DC are logically valid, while AC and DA are logically invalid and often called logical fallacies. Nevertheless, humans often perform AC or DA as pragmatic inference in daily life. In this paper, we realize AC, DA and DC inferences in answer set programming. Eight different types of completion are introduced and their semantics are given by answer sets. We investigate formal properties and characterize human reasoning tasks in cognitive psychology. Those completions are also applied to commonsense reasoning in AI.

keywords:
answer set programming, completion, human conditional reasoning, pragmatic inference

1 Introduction

People use conditional sentences and reason with them in everyday life. From an early stage of artificial intelligence (AI), researchers represent conditional sentences as if-then rules and perform deductive inference using them. Production systems or logic programming are examples of this type of systems. However, human conditional reasoning is not always logically valid. In psychology and cognitive science, it is well known that humans are more likely to perform logically invalid but pragmatic inference. For instance, consider the following three sentences:

SS:  If the team wins the first round tournament, then it advances to the final round.

PP:  The team wins the first round tournament.

CC:  The team advances to the final round.

Given the conditional sentence SS and the premise PP, affirming the antecedent (AA) (or modus ponens) concludes the consequence CC. Given SS and the negation of the consequence ¬C\neg\,C, denying the consequent (DC) (or modus tollens) concludes the negation of the premise ¬P\neg\,P. AA and DC are logically valid. On the other hand, people often infer PP from SS and CC or infer ¬C\neg\,C from SS and ¬P\neg\,P. The former is called affirming the consequent (AC) and the latter is called denying the antecedent (DA). Both AC and DA are logically invalid and often called logical fallacies.

In the pragmatics of conditional reasoning, it is assumed that a conditional sentence is often interpreted as bi-conditional, that is, ‘if’ is interpreted as ‘if and only if’, and such conditional perfection produces AC or DA as invited inference (Geis and Zwicky, (1971); Horn, (2000)). Psychological studies empirically show that a conditional sentence “pp if qq” is rephrased into the form “pp only if qq” with greater frequency for permission/obligation statements (Cheng and Holyoak, (1985); Byrne, (2005)). For instance, the sentence “a customer can drink an alcoholic beverage if he is over 18” is rephrased into “a customer can drink an alcoholic beverage only if he is over 18”. It is also reported that AA is easier than DC when a conditional is given as “if pp then qq”. When a conditional is given as “pp only if qq”, on the other hand, it is rephrased as “if not qq then not pp” and this paraphrase yields a directionality opposite which makes DC easier than AA (Braine, (1978)). The fact that people do not necessarily make inferences as in standard logic brings several proposals of new interpretation of conditional sentences in cognitive psychology. Mental logic (Braine and O’Brien, (1998)) interprets ‘if’ as conveying supposition and introduces a set of pragmatic inference schemas for if-conditionals. Mental model theory (Johnson-Laird, (1983)), on the other hand, considers that the meanings of conditionals are not truth-functional, and represents the meaning of a conditional sentence by models of the possibilities compatible with the sentence. A probabilistic approach interprets a conditional sentence “pqp\Rightarrow q” in terms of conditional probability P(qp)P(q\mid p), then the acceptance rates of four conditional inferences are represented by their respective conditional probabilities (Oaksford and Chater, (2001)). Eichhorn et al., (2018) use conditional logic and define inference patterns as combination of four inference rules (AA, DC, AC, DA). Given a conditional sentence “if pp then qq”, four possible worlds (combination of truth values of pp and qq) are considered. An inference in each pattern is then defined by imposing corresponding constraints on the plausibility relation over the worlds.

In this way, the need of considering the pragmatics of conditional reasoning has been widely recognized in psychology and cognitive science. On the other hand, relatively little attention has been paid for realizing such pragmatic inference in computational logic or logic programming (Stenning and Lambalgen, (2008); Kowalski, (2011)). From a practical perspective, however, people would expect AI to reason like humans, that is, one would expect AI to conclude PP from SS and CC, or ¬C\neg\,C from SS and ¬P\neg\,P in the introductory example, rather than conclude unknownunknown. Logic programming is a context-independent language and has a general-purpose inference mechanism by its nature. By contrast, pragmatic inference is governed by context-sensitive mechanisms, rather than context-free and general-purpose mechanisms (Cheng and Holyoak, (1985); Cosmides and Tooby, (1992)). As argued by Dietz et al., (2012), computational approaches to explain human reasoning should be cognitively adequate, that is, they appropriately represent human knowledge (conceptually adequate) and computations behave similarly to human reasoning (inferentially adequate). Then if we use logic programming for representing knowledge in daily life, it is useful to have a mechanism of automatic transformation of a knowledge base to simulate human reasoning depending on the context in which conditional sentences are used. That is, transform a program to a conceptually adequate form in order to make computation in the program inferentially adequate.

In this paper, we realize human conditional reasoning in answer set programming (ASP) (Gelfond and Lifschitz, (1991)). ASP is one of the most popular frameworks that realize declarative knowledge representation and commonsense reasoning. ASP is a language of logic programming and conditional sentences are represented by rules in a program. Inference in ASP is deduction based on default logic (Reiter, (1980)), while modus tollens or DC is not considered in ASP. AC and DA are partly realized by abductive logic programming (Kakas et al., (1992)) and program completion (Clark, (1978)), respectively. As will be argued in this paper, however, AC and DA produce different results from them in general. We realize pragmatic AC and DA inferences as well as DC inference in ASP in a uniform and modular way. We introduce the notions of AC completion, DC completion, DA completion and their variants. We investigate formal properties of those completions and characterize human reasoning tasks in cognitive psychology. We also address applications to commonsense reasoning in AI. The rest of this paper is organized as follows. Section 2 reviews basic notions of ASP programs considered in this paper. Section 3 introduces different types of completions for human conditional reasoning, and Section 4 presents their variants as default reasoning. Section 5 characterizes human reasoning tasks in the literature, and Section 6 addresses applications to commonsense reasoning. Section 7 discusses related works and Section 8 summarizes the paper.

2 Preliminaries

In this paper, we consider logic programs with disjunction, default negation, and explicit negation. A general extended disjunctive program (GEDP) (Lifschitz and Woo, (1992); Inoue and Sakama, (1998)) Π\Pi is a set of rules of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn\displaystyle\quad\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\;\; (1)

where LiL_{i}’s (1in)(1\leq i\leq n) are (positive or negative) literals and 0klmn0\leq k\leq l\leq m\leq n. A program might contain two types of negation: default negation (or negation as failure) notnot and explicit negation ¬\neg. For any literal LL, notLnot\,L is called an NAF-literal and define ¬¬L=L\neg\neg L=L. We often use the letter \ell to mean either a literal LL or an NAF-literal notLnot\,L. The left of “\leftarrow” is a disjunction of literals and NAF-literals (called head), and the right of “\leftarrow” is a conjunction of literals and NAF-literals (called body). Given a rule rr of the form (2), define head+(r)={L1,,Lk}head^{+}(r)=\{L_{1},\ldots,L_{k}\}, head(r)={Lk+1,,Ll}head^{-}(r)=\{L_{k+1},\ldots,L_{l}\}, body+(r)={Ll+1,,Lm}body^{+}(r)=\{L_{l+1},\ldots,L_{m}\}, and body(r)={Lm+1,,Ln}body^{-}(r)=\{L_{m+1},\ldots,L_{n}\}. A rule (2) is called a fact if body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing; and it is called a constraint if head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing. A GEDP Π\Pi is called notnot-free if head(r)=body(r)=head^{-}(r)=body^{-}(r)=\varnothing for each rule rr in Π\Pi.

A GEDP Π\Pi coincides with an extended disjunctive program (EDP) of (Gelfond and Lifschitz, (1991)) if head(r)=head^{-}(r)=\varnothing for any rule rr in Π\Pi. An EDP Π\Pi is called (i) an extended logic program (ELP) if head+(r)1\mid\!\!head^{+}(r)\!\!\mid\,\leq 1 for any rΠr\in\Pi; and (ii) a normal disjunctive program (NDP) if Π\Pi contains no negative literal. An NDP Π\Pi is called (i) a positive disjunctive program (PDP) if Π\Pi contains no NAF-literal; and (ii) a normal logic program (NLP) if head+(r)1\mid\!\!head^{+}(r)\!\!\mid\,\leq 1 for any rΠr\in\Pi. In this paper, we consider ground programs containing no variable and a program means a (ground) GEDP unless stated otherwise.

Let LitLit be the set of all ground literals in the language of a program. A set of ground literals SLitS\subseteq Lit satisfies a ground rule rr of the form (2) iff body+(r)Sbody^{+}(r)\subseteq S and body(r)S=body^{-}(r)\cap S=\varnothing imply either head+(r)Shead^{+}(r)\cap S\neq\varnothing or head(r)Shead^{-}(r)\not\subseteq S. In particular, when head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing, SLitS\subseteq Lit satisfies a constraint rr iff body+(r)Sbody^{+}(r)\not\subseteq S or body(r)Sbody^{-}(r)\cap S\neq\varnothing. The answer sets of a GEDP are defined by the following two steps. First, let Π\Pi be a notnot-free GEDP and SLitS\subseteq Lit. Then, SS is an answer set of Π\Pi iff SS is a minimal set satisfying the conditions: (i) SS satisfies every rule from Π\Pi, that is, for each ground rule:

L1;;LkLl+1,,LmL_{1}\,;\,\cdots\,;\,L_{k}\leftarrow L_{l+1},\,\ldots,\,L_{m} (2)

from Π\Pi, {Ll+1,,Lm}S\{L_{l+1},\ldots,L_{m}\}\subseteq S implies {L1,,Lk}S\{L_{1},\ldots,L_{k}\}\cap S\neq\varnothing. (ii) If SS contains a pair of complementary literals LL and ¬L\neg L, then S=LitS=Lit.111By this definition, an answer set is not paraconsistent, i.e., {L,¬L}S\{L,\neg L\}\subseteq S makes SS a trivial set LitLit. A paraconsistent semantics of EDPs is given in (Sakama and Inoue, (1995)).

Second, let Π\Pi be any GEDP and SLitS\subseteq Lit. The reduct ΠS\Pi^{S} of Π\Pi by SS is a notnot-free EDP obtained as follows: a rule rSr^{S} of the form (2) is in ΠS\Pi^{S} iff there is a ground rule rr of the form (2) from Π\Pi such that head(r)Shead^{-}(r)\subseteq S and body(r)S=body^{-}(r)\cap S=\varnothing. For programs of the form ΠS\Pi^{S}, their answer sets have already been defined. Then, SS is an answer set of Π\Pi iff SS is an answer set of ΠS\Pi^{S}.

When a program Π\Pi is an EDP, the above definition of answer sets coincides with that given in (Gelfond and Lifschitz, (1991)). It is shown that every answer set of a GEDP Π\Pi satisfies every rule from Π\Pi (Inoue and Sakama, (1998)). An answer set is consistent if it is not LitLit. A program Π\Pi is consistent if it has a consistent answer set; otherwise, Π\Pi is inconsistent. When a program Π\Pi is inconsistent, there are two different cases. If Π\Pi has the single answer set LitLit, Π\Pi is called contradictory; else if Π\Pi has no answer set, Π\Pi is called incoherent. The difference of two cases is illustrated by the following example.

Example 2.1

The program Π1={pnotq,¬p}\Pi_{1}=\{\,p\leftarrow not\,q,\;\;\neg p\leftarrow\,\} is incoherent, while Π2={pq,q,¬p}\Pi_{2}=\{\,p\leftarrow q,\;\;q\leftarrow,\;\;\neg p\leftarrow\,\} is contradictory. Note that LitLit is not the answer set of Π1\Pi_{1} because LitLit is not the answer set of Π1Lit={¬p}\Pi_{1}^{Lit}=\{\,\neg p\leftarrow\,\}.

We write ΠcL\Pi\models_{c}L (resp. ΠsL\Pi\models_{s}L ) if a literal LL is included in some (resp. every) consistent answer set of Π\Pi.222c\models_{c} (resp. s\models_{s}) means entailment under credulous (resp. skeptical) reasoning. Two programs Π1\Pi_{1} and Π2\Pi_{2} are equivalent if they have the same set of answer sets. Two programs Π1\Pi_{1} and Π2\Pi_{2} are strongly equivalent if Π1Π\Pi_{1}\cup\Pi and Π2Π\Pi_{2}\cup\Pi are equivalent for any program Π\Pi (Lifschitz et al., (2001)). In particular, two rules r1r_{1} and r2r_{2} are strongly equivalent if Π{r1}\Pi\cup\{r_{1}\} and Π{r2}\Pi\cup\{r_{2}\} are equivalent for any program Π\Pi.

An answer set of a GEDP is not always minimal, i.e., a program Π\Pi may have two answer sets SS and TT such that STS\subset T. This is in contrast with the case of EDPs where every answer set is minimal.

Example 2.2

Let Π\Pi be the program:

p;notq,\displaystyle p\,;\,not\,q\leftarrow,
q;notp.\displaystyle q\,;\,not\,p\leftarrow.

Then Π\Pi has two answer sets \varnothing and {p,q}\{p,q\}.

By definition, a contradictory GEDP has exactly one answer set LitLit, while a consistent GEDP may have the answer set LitLit.

Example 2.3

Let Π\Pi be the program:

p;notp,\displaystyle p\,;\,not\,p\leftarrow,
¬pp.\displaystyle\neg\,p\leftarrow p.

Then Π\Pi has two answer sets \varnothing and LitLit.

In EDPs, on the other hand, no consistent program has the answer set LitLit, and every contradictory program has exactly one answer set LitLit (Gelfond and Lifschitz, (1991)).

Suppose a rule rr such that head+(r)=head^{+}(r)=\varnothing:

notLk+1;;notLlLl+1,,Lm,notLm+1,,notLn.not\,L_{k+1}\,;\cdots;\,not\,L_{l}\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}. (3)

Define a rule η(r)\eta(r) of the form:

Lk+1,,Ll,Ll+1,,Lm,notLm+1,,notLn\leftarrow\;L_{k+1},\,\ldots,\,L_{l},L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n} (4)

that is obtained by shifting “notLk+1;;notLlnot\,L_{k+1}\,;\cdots;\,not\,L_{l}” in head(r)head^{-}(r) to “Lk+1,,LlL_{k+1},\,\ldots,\,L_{l}” in body+(η(r))body^{+}(\eta(r)). The two rules (3) and (4) are strongly equivalent under the answer set semantics.

Proposition 2.1 (Inoue and Sakama, (1998))

Let Π\Pi be a program and Φ={rrΠandhead+(r)=}\Phi=\{\,r\mid r\in\Pi\;\;\mbox{and}\;\;head^{+}(r)=\varnothing\}. Also let Π=(ΠΦ){η(r)rΦ}\Pi^{\prime}=(\Pi\setminus\Phi)\cup\{\,\eta(r)\mid r\in\Phi\,\}. Then Π\Pi and Π\Pi^{\prime} have the same answer sets.

Proposition 2.2

Let Π\Pi be a program and Ψ={rrΠ,head+(r)=andhead(r)body(r)}\Psi=\{\,r\mid r\in\Pi,\;head^{+}(r)=\varnothing\;\mbox{and}\;head^{-}(r)\cap body^{-}(r)\neq\varnothing\}. Then, Π\Pi and ΠΨ\Pi\setminus\Psi have the same answer sets.

Proof 2.1.

By Proposition 2.1, every rule (3) in Π\Pi is transformed to a strongly equivalent constraint (4). When head(r)body(r)head^{-}(r)\cap body^{-}(r)\neq\varnothing for some rΦr\in\Phi, {Lk+1,,Ll}{Lm+1,,Ln}\{L_{k+1},\ldots,L_{l}\}\cap\{L_{m+1},\ldots,L_{n}\}\neq\varnothing in η(r)\eta(r) of the form (4). Then, {Lk+1,,Ll}S\{L_{k+1},\ldots,L_{l}\}\subseteq S implies {Lm+1,,Ln}S\{L_{m+1},\ldots,L_{n}\}\cap S\neq\varnothing for any set SS, and the constraint η(r)\eta(r) is satisfied by any answer set. Hence, Ψ\Psi is removed from Π\Pi and the result follows.

Example 2.2.

For any program Π\Pi,

Π{notpq,notp}\Pi\cup\{\,not\,p\,\leftarrow\,q,not\,p\,\}

is equivalent to the following program (Proposition 2.1):

Π{p,q,notp},\Pi\cup\{\,\leftarrow p,q,not\,p\,\},

which is further simplified to Π\Pi (Proposition 2.2).

Proposition 2.3.

Let Π\Pi be a not-free GEDP. If there is a constraint in Π\Pi, then Π\Pi is not contradictory.

Proof 2.4.

If there is a constraint “L1,,Lm\leftarrow L_{1},\ldots,L_{m}” in Π\Pi, it is included in ΠLit\Pi^{Lit}. Since LitLit does not satisfy the constraint, it does not become the answer set of ΠLit\Pi^{Lit}. Hence, Π\Pi is not contradictory.

3 Human Conditional Reasoning in ASP

ASP computes answer sets by deduction that is reasoning by AA. In this section, we present methods for reasoning by AC, DC, and DA in ASP.

3.1 AC Completion

We first introduce a framework for reasoning by affirming the consequent (AC) in ASP. In GEDPs, a conditional sentence “φψ\varphi\Rightarrow\psi” (if φ\varphi then ψ\psi) is represented by the rule “ψφ\psi~{}\leftarrow~{}\varphi” where ψ\psi is a disjunction “L1;;Lk;notLk+1;;notLlL_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}” and φ\varphi is a conjunction “Ll+1,,Lm,notLm+1,,notLnL_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}”. To realize reasoning backward from ψ\psi to φ\varphi, we extend a program Π\Pi by introducing new rules.

Definition 3.1 (AC completion).

Let Π\Pi be a program and rΠr\in\Pi a rule of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn.\displaystyle\quad\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}.\;\;
  1. 1.

    For each disjunct in head+(r)head^{+}(r) and head(r)head^{-}(r), converse the implication:

    Ll+1,,Lm,notLm+1,,notLnLj(1jk),\displaystyle L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\;\leftarrow\;L_{j}\;\;\;(1\leq j\leq k), (5)
    Ll+1,,Lm,notLm+1,,notLnnotLj(k+1jl).\displaystyle L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\;\leftarrow\;not\,L_{j}\;\;\;(k+1\leq j\leq l). (6)

    In (5) and (6), the conjunction “Ll+1,,Lm,notLm+1,,notLnL_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}” appears on the left of “\leftarrow”. The produced (5) (resp. (6)) is considered an abbreviation of the collection of (nl)(n-l) rules: (Ll+1Lj),,(notLnLj)(L_{l+1}\leftarrow L_{j}),\ldots,(not\,L_{n}\leftarrow L_{j}) (resp. (Ll+1notLj),,(notLnnotLj)(L_{l+1}\leftarrow not\,L_{j}),\ldots,(not\,L_{n}\leftarrow not\,L_{j}))333We often use the parenthesis ‘()’ to improve the readability., hence we abuse the term ‘rule’ and call (5) or (6) a rule. In particular, (5) is not produced if head+(r)=head^{+}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing; and (6) is not produced if head(r)=head^{-}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing. The set of all rules (5) and (6) is denoted as conv(r)conv(r).

  2. 2.

    Define

    ac(Π)\displaystyle ac(\Pi) =\displaystyle\!=\! {Σ1;;Σpj\displaystyle\{\;\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;\ell_{j}\;\mid
    Σij(1ip)is inrΠconv(r)}\displaystyle\quad\Sigma_{i}\leftarrow\ell_{j}\;\,(1\leq i\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\,conv(r)\,\}

    where each Σi\Sigma_{i} (1ip)(1\leq i\leq p) is a conjunction of literals and NAF-literals, and j\ell_{j} is either a literal LjL_{j} (1jk)(1\leq j\leq k) or an NAF-literal notLjnot\,L_{j} (k+1jl)(k+1\leq j\leq l).

  3. 3.

    The AC completion of Π\Pi is defined as:

    AC(Π)=Πac(Π).AC(\Pi)=\Pi\;\cup\;ac(\Pi).

(5) and (6) in conv(r)conv(r) represent converse implications from the disjunction in the head of rr to the conjunction in the body of rr. ac(Π)ac(\Pi) collects rules “Σij\Sigma_{i}\leftarrow\ell_{j}(1ip)(1\leq i\leq p) having the same (NAF-)literal j\ell_{j} on the right of “\leftarrow”, and constructs “Σ1;;Σpj\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;\ell_{j}”, which we call an extended rule. Introducing ac(Π)ac(\Pi) to Π\Pi realizes reasoning by AC in Π\Pi.

The set ac(Π)ac(\Pi) contains an extended rule having a disjunction of conjunctions in its head, while it is transformed to rules of a GEDP. That is, the extended rule:

(11,,m11);;(1p,,mpp)j(\ell^{1}_{1},\ldots,\ell^{1}_{m_{1}})\,;\,\cdots\,;\,(\ell^{p}_{1},\ldots,\ell^{p}_{m_{p}})\leftarrow\ell_{j}

is identified with the set of (m1××mp)(m_{1}\times\cdots\times m_{p}) rules of the form:

i11;;ippj(1ikmk; 1kp).\ell^{1}_{i_{1}}\,;\,\cdots\,;\,\ell^{p}_{i_{p}}\leftarrow\ell_{j}\;\;\;\;\;(1\leq i_{k}\leq m_{k};\,1\leq k\leq p).

By this fact, AC(Π)AC(\Pi) is viewed as a GEDP and we do not distinguish extended rules and rules of a GEDP hereafter. The semantics of AC(Π)AC(\Pi) is defined by its answer sets.

Example 3.2.

Let Π\Pi be the program:

p;notqr,nots,\displaystyle p\,;\,not\,q\leftarrow r,\,not\,s,
pq.\displaystyle p\leftarrow q.

Then ac(Π)ac(\Pi) becomes

(r,nots);qp,\displaystyle(r,\,not\,s)\,;\,q\leftarrow p,
r,notsnotq\displaystyle r,\,not\,s\leftarrow not\,q

where the first rule “(r,nots);qp(r,\,not\,s)\,;\,q\leftarrow p” is identified with

r;qp,\displaystyle r\,;\,q\leftarrow p,
nots;qp,\displaystyle not\,s\,;\,q\leftarrow p,

and the second rule “r,notsnotqr,\,not\,s\leftarrow not\,q” is identified with

rnotq,\displaystyle r\leftarrow not\,q,
notsnotq.\displaystyle not\,s\leftarrow not\,q.

Then, AC(Π){p}AC(\Pi)\cup\{p\leftarrow\} has two answer sets {p,q}\{p,q\} and {p,r}\{p,r\}.

By definition, if there is more than one rule in Π\Pi having the same (NAF-)literal in the heads, they are collected to produce a single converse rule in ac(Π)ac(\Pi). For instance, Π={pq,pr}\Pi=\{\,p\leftarrow~{}q,\;\;p\leftarrow~{}r\,\} produces ac(Π)={q;rp}ac(\Pi)=\{\,q\,;\,r\leftarrow p\,\} but not Λ={qp,rp}\Lambda=\{\,q\leftarrow p,\;\;r\leftarrow p\,\}. Then, AC(Π){p}AC(\Pi)\cup\{p\leftarrow\} has two answer sets {p,q}\{p,q\} and {p,r}\{p,r\}. Suppose that the new fact “¬q\neg\,q\leftarrow” is added to Π\Pi. Put Π=Π{¬q}\Pi^{\prime}=\Pi\cup\{\,\neg\,q\leftarrow\,\}. Then AC(Π){p}AC(\Pi^{\prime})\cup\{p\leftarrow\} has the answer set {p,r}\{p,r\}, which represents the result of AC reasoning in Π\Pi^{\prime}. If Λ\Lambda is used instead of ac(Π)ac(\Pi), however, ΠΛ{p}\Pi^{\prime}\cup\Lambda\cup\{p\leftarrow\} has the answer set LitLit. The result is too strong because rr is consistently inferred from Π{p}\Pi^{\prime}\cup\{p\leftarrow\} by AC reasoning. As a concrete example, put p=wet-grassp=wet\mbox{-}grass, q=rainq=rain, and r=sprinkler-onr=sprinkler\mbox{-}on. Then AC(Π){wet-grass}AC(\Pi^{\prime})\cup\{\,wet\mbox{-}grass\leftarrow\,\} has the answer set {wet-grass,¬rain,sprinkler-on}\{\,wet\mbox{-}grass,\neg\,rain,sprinkler\mbox{-}on\,\}, while ΠΛ{wet-grass}\Pi^{\prime}\cup\Lambda\cup\{\,wet\mbox{-}grass\leftarrow\,\} has the answer set LitLit. AC completion derives an antecedent from a consequent, but it does not derive negation of antecedent by its nature. For instance, given Π={p;qr,p}\Pi=\{\,p\,;\,q\leftarrow r,\;\;\;p\leftarrow\,\}, AC(Π)srAC(\Pi)\models_{s}r but AC(Π)⊧̸c¬qAC(\Pi)\not\models_{c}\neg\,q.

Note that in Definition 3.1 the converse of constraints and facts are not produced. When head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing, rr is considered a rule with 𝑓𝑎𝑙𝑠𝑒\mathit{false} in the head, then (5)(\ref{rev-1}) and (6)(\ref{rev-2}) become

Ll+1,,Lm,notLm+1,,notLn𝑓𝑎𝑙𝑠𝑒L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\;\leftarrow\mathit{false}

which has no effect as a rule. On the other hand, when body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing, rr is considered a rule with 𝑡𝑟𝑢𝑒\mathit{true} in the body, then (5)(\ref{rev-1}) and (6)(\ref{rev-2}) respectively become

trueLj(1jk)andtruenotLj(k+1jl).true\leftarrow L_{j}\;(1\leq j\leq k)\quad\mbox{and}\quad true\leftarrow not\,L_{j}\;(k+1\leq j\leq l).

We do not include this type of rules for constructing ac(Π)ac(\Pi) because it would disable AC reasoning. For instance, transform Π={pq,p}\Pi=\{\,p\leftarrow q,\;\;\;p\leftarrow\,\} to Π=Π{q;truep}\Pi^{\prime}=\Pi\cup\{q\,;true\leftarrow p\}. Then {p}\{p\} is the minimal set satisfying Π\Pi^{\prime}, and qq is not included in the answer set of Π\Pi^{\prime}. With this reason, constraints and facts are not completed at the first step of Definition 3.1.

The result of AC completion is syntax-dependent in general. That is, two (strongly) equivalent programs may produce different AC completions.

Example 3.3.

Let Π1={notpq}\Pi_{1}=\{\,not\,p\leftarrow q\,\} and Π2={p,q}\Pi_{2}=\{\,\leftarrow p,q\,\}. By Proposition 2.1, Π1\Pi_{1} and Π2\Pi_{2} are equivalent, but AC(Π1)=Π1{qnotp}AC(\Pi_{1})=\Pi_{1}\cup\{\,q\leftarrow not\,p\,\} and AC(Π2)=Π2AC(\Pi_{2})=\Pi_{2}. As a result, AC(Π1)AC(\Pi_{1}) has the answer set {q}\{q\} while AC(Π2)AC(\Pi_{2}) has the answer set \varnothing.

In the above example, “notpqnot\,p\leftarrow q” is a conditional sentence which is subject to AC inference, while “p,q\leftarrow p,q” is a constraint which is not subject to AC inference by definition. For instance, given the conditional sentence “if it is sunny, the grass is not wet” and the fact “the grass is not wet”, people would infer “it is sunny” by AC inference. On the other hand, given the constraint “it does not happen that wet-grass and sunny-weather at the same time” and the fact “the grass is not wet”, the number of people who infer “it is sunny” by AC would be smaller because the cause-effect relation between “sunny” and “not wet” is not explicitly expressed in the constraint.

Reasoning by AC is nonmonotonic in the sense that ΠcL\Pi\models_{c}L (or ΠsL\Pi\models_{s}L) does not imply AC(Π)cLAC(\Pi)\models_{c}L (or AC(Π)sLAC(\Pi)\models_{s}L) in general.

Example 3.4.

The program Π={pnotq,rq,r}\Pi=\{\,p\leftarrow not\,q,\;\;r\leftarrow q,\;\;r\leftarrow\,\} has the answer set {p,r}\{p,r\}, while AC(Π)=Π{notqp,qr}AC(\Pi)=\Pi\cup\{\,not\,q\leftarrow p,\;\;q\leftarrow r\,\} has the answer set {q,r}\{q,r\}.

In Example 3.4, reasoning by AC produces qq which blocks deriving pp using the first rule in Π\Pi. As a concrete example, an online-meeting is held on time if no network trouble arises. However, it turns that the web browser is unconnected and one suspects that there is some trouble on the network. Put pp=“online-meeting is held on time”, qq=“network trouble”, rr=“the web browser is unconnected”. In this case, one may withdraw the conclusion pp after knowing rr. As such, additional rules ac(Π)ac(\Pi) may change the results of Π\Pi. One can see the effect of AC reasoning in a program Π\Pi by comparing answer sets of Π\Pi and AC(Π)AC(\Pi).

A consistent program Π\Pi may produce an inconsistent AC(Π)AC(\Pi). In converse, an inconsistent Π\Pi may produce a consistent AC(Π)AC(\Pi).

Example 3.5.

Π1={p¬p,p}\Pi_{1}=\{\,p\leftarrow\neg\,p,\;\;\;p\leftarrow\,\} is consistent, but AC(Π1)=Π1{¬pp}AC(\Pi_{1})=\Pi_{1}\cup\{\,\neg\,p\leftarrow p\,\} is contradictory. Π2={notp,qp,q}\Pi_{2}=\{\,\leftarrow not\,p,\;\;\;q\leftarrow p,\;\;\;q\leftarrow\,\} is incoherent, but AC(Π2)=Π2{pq}AC(\Pi_{2})=\Pi_{2}\cup\{\,p\leftarrow q\,\} is consistent.

A sufficient condition for the consistency of AC(Π)AC(\Pi) is given below.

Proposition 3.6.

If a PDP Π\Pi contains no constraint, then AC(Π)AC(\Pi) is consistent. Moreover, for any answer set SS of Π\Pi, there is an answer set TT of AC(Π)AC(\Pi) such that STS\subseteq T.

Proof 3.7.

A PDP Π\Pi contains no NAF-literal and every literal in Π\Pi is a positive literal (or an atom). Then ac(Π)ac(\Pi) is the set of rules (Σ1;;ΣpAj)(\Sigma_{1};\cdots;\Sigma_{p}\leftarrow A_{j}) where AjA_{j} is an atom and Σi\Sigma_{i} is a conjunction of atoms. When Π\Pi contains no constraint, the additional rules in ac(Π)ac(\Pi) do not cause inconsistency in AC(Π)=Πac(Π)AC(\Pi)=\Pi\cup ac(\Pi). Suppose that SS is an answer set (or a minimal model) of Π\Pi. Then SS is a minimal set satisfying all rules in Π\Pi. Let U={AAhead+(r)for any rulerac(Π)such thatbody+(r)S}U=\{\,A\,\mid\,A\in head^{+}(r)\;\mbox{for any rule}\;r\in ac(\Pi)\;\mbox{such that}\;body^{+}(r)\subseteq S\,\}. Then there is an answer set TT of AC(Π)AC(\Pi) such that T=SVT=S\cup V where VUV\subseteq U. Hence the result holds.

Proposition 3.8.

If a program Π\Pi has the answer set LitLit, then AC(Π)AC(\Pi) has the answer set LitLit.

Proof 3.9.

If Π\Pi has the answer set LitLit, the reduct ΠLit\Pi^{Lit} has the answer set LitLit. By definition, AC(Π)Lit=ΠLitac(Π)LitAC(\Pi)^{Lit}=\Pi^{Lit}\cup ac(\Pi)^{Lit} where ac(Π)Litac(\Pi)^{Lit} is the reduct of ac(Π)ac(\Pi) by LitLit. Introducing notnot-free rules in ac(Π)Litac(\Pi)^{Lit} does not change the answer set LitLit of ΠLit\Pi^{Lit}. Then, LitLit is the answer set of AC(Π)LitAC(\Pi)^{Lit} and the result follows.

3.2 DC Completion

We next introduce a framework for reasoning by denying the consequent (DC) in ASP. There are two ways for negating a literal – one is using explicit negation and the other is using default negation. Accordingly, there are two ways of completing a program for the purpose of reasoning by DC.

Definition 3.10 (DC completion).

Let Π\Pi be a program. For each rule rΠr\in\Pi of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn\displaystyle\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\;\;

define wdc(r)wdc(r) as the rule:

notLl+1;;notLm;Lm+1;;LnnotL1,,notLk,Lk+1,,Llnot\,L_{l+1};\cdots;not\,L_{m}\,;\,L_{m+1};\cdots;L_{n}\leftarrow not\,L_{1},\ldots,not\,L_{k},\,L_{k+1},\ldots,L_{l} (7)

and define sdc(r)sdc(r) as the rule:

¬Ll+1;;¬Lm;Lm+1;;Ln¬L1,,¬Lk,Lk+1,,Ll.\neg\,L_{l+1};\cdots;\neg\,L_{m}\,;\,L_{m+1};\cdots;L_{n}\leftarrow\neg\,L_{1},\ldots,\neg\,L_{k},\,L_{k+1},\ldots,L_{l}. (8)

In particular, (7) or (8) becomes a fact if head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing; and it becomes a constraint if body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing. The weak DC completion and the strong DC completion of Π\Pi are respectively defined as:

WDC(Π)\displaystyle WDC(\Pi) =\displaystyle= Π{wdc(r)rΠ},\displaystyle\Pi\;\cup\;\{\,wdc(r)\,\mid\,r\in\Pi\,\},
SDC(Π)\displaystyle SDC(\Pi) =\displaystyle= Π{sdc(r)rΠ}.\displaystyle\Pi\;\cup\;\{\,sdc(r)\,\mid\,r\in\Pi\,\}.

By definition, WDC(Π)WDC(\Pi) and SDC(Π)SDC(\Pi) introduce contrapositive rules in two different ways. In (7), literals LiL_{i} (1ik;l+1im)(1\leq i\leq k;\,l+1\leq i\leq m) are negated using default negation notnot and NAF-literals notLjnot\,L_{j} (k+1il;m+1in)(k+1\leq i\leq l;\,m+1\leq i\leq n) are converted to LjL_{j}. In (8), on the other hand, literals LiL_{i} (1ik;l+1im)(1\leq i\leq k;\,l+1\leq i\leq m) are negated using explicit negation ¬\neg and NAF-literals notLjnot\,L_{j} (k+1il;m+1in)(k+1\leq i\leq l;\,m+1\leq i\leq n) are converted to LjL_{j}. WDC(Π)WDC(\Pi) and SDC(Π)SDC(\Pi) are GEDPs and their semantics are defined by their answer sets. In particular, SDC(Π)SDC(\Pi) becomes an EDP if Π\Pi is an EDP.

Note that contraposition of facts or constraints is produced in WDC/SDC. For instance, the fact “pp\leftarrow” produces the constraint “notp\leftarrow not\,p” by WDC and “¬p\leftarrow\neg p” by SDC. The fact “notpnot\,p\leftarrow” produces the constraint “p\leftarrow p” by WDC and SDC. On the other side, the constraint “p\leftarrow p” produces the fact “notpnot\,p\leftarrow” by WDC and “¬p\neg p\leftarrow” by SDC. The constraint “notp\leftarrow not\,p” produces the fact “pp\leftarrow” by WDC and SDC.

The WDC and SDC produce different results in general.

Example 3.11.

Given Π={pnotq}\Pi=\{\,p\leftarrow not\,q\,\}, it becomes

WDC(Π)\displaystyle WDC(\Pi) =\displaystyle= {pnotq,qnotp},\displaystyle\{\,p\leftarrow not\,q,\quad q\leftarrow not\,p\,\},
SDC(Π)\displaystyle SDC(\Pi) =\displaystyle= {pnotq,q¬p}.\displaystyle\{\,p\leftarrow not\,q,\quad q\leftarrow\neg\,p\,\}.

Then WDC(Π)WDC(\Pi) has two answer sets {p}\{p\} and {q}\{q\}, while SDC(Π)SDC(\Pi) has the single answer set {p}\{p\}.

Example 3.11 shows that WDC is nonmonotonic as Πsp\Pi\models_{s}p but WDC(Π)⊧̸spWDC(\Pi)\not\models_{s}p. SDC is also nonmonotonic (see Example 3.18). The result of DC completion is syntax-dependent in general.

Example 3.12.

Let Π1={notpq}\Pi_{1}=\{\,not\,p\leftarrow q\,\} and Π2={p,q}\Pi_{2}=\{\,\leftarrow p,q\,\} where Π1\Pi_{1} and Π2\Pi_{2} are equivalent (Proposition 2.1). Then, SDC(Π1)=Π1{¬qp}SDC(\Pi_{1})=\Pi_{1}\cup\{\,\neg\,q\leftarrow p\,\} and SDC(Π2)=Π2{¬p;¬q}SDC(\Pi_{2})=\Pi_{2}\cup\{\,\neg\,p\,;\neg\,q\leftarrow\,\}. As a result, SDC(Π1)SDC(\Pi_{1}) has the answer set \varnothing, while SDC(Π2)SDC(\Pi_{2}) has two answer sets {¬p}\{\neg\,p\} and {¬q}\{\neg\,q\}.

WDC preserves the consistency of the original program.

Proposition 3.13.

If a program Π\Pi has a consistent answer set SS, then SS is an answer set of WDC(Π)WDC(\Pi).

Proof 3.14.

Suppose a consistent answer set SS of Π\Pi. Then, for any rule (L1;;LkLl+1,,LmL_{1}\,;\,\cdots\,;\,L_{k}\leftarrow L_{l+1},\,\ldots,\,L_{m}) in ΠS\Pi^{S}, either {L1,,Lk}S\{L_{1},\ldots,L_{k}\}\cap S\neq\varnothing or {Ll+1,,Lm}S\{L_{l+1},\ldots,L_{m}\}\not\subseteq S. In each case, the rule (7) is eliminated in ΠS\Pi^{S}. Then, SS is an answer set of WDC(Π)SWDC(\Pi)^{S}, hence the result holds.

The converse of Proposition 3.13 does not hold in general.

Example 3.15.

The program Π={notp}\Pi=\{\,\leftarrow not\,p\,\} has no answer set, while WDC(Π)={notp,p}WDC(\Pi)=\{\,\leftarrow~{}not\,p,\;\;p\leftarrow\,\} has the answer set {p}\{p\}.

For SDC(Π)SDC(\Pi), the next result holds.

Proposition 3.16.

Let Π\Pi be a consistent program such that every constraint in Π\Pi is notnot-free (i.e., head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing implies body(r)=body^{-}(r)=\varnothing for any rΠr\in\Pi). Then SDC(Π)SDC(\Pi) does not have the answer set LitLit.

Proof 3.17.

Consider SDC(Π)Lit=(Π{sdc(r)rΠ})Lit=ΠLit{sdc(r)rΠ}SDC(\Pi)^{Lit}=(\Pi\;\cup\;\{\,sdc(r)\,\mid\,r\in\Pi\,\})^{Lit}=\Pi^{Lit}\;\cup\;\{\,sdc(r)\,\mid\,r\in\Pi\,\}.
(a) If there is a constraint rΠr\in\Pi such that head+(r)=head(r)=head^{+}(r)=head^{-}(r)=\varnothing, then body(r)=body^{-}(r)=\varnothing by the assumption. Then rΠLitr\in\Pi^{Lit} and SDC(Π)LitSDC(\Pi)^{Lit} does not have the answer set LitLit (Proposition 2.3). (b) Else if there is no constraint in Π\Pi, then {sdc(r)rΠ}\{\,sdc(r)\,\mid\,r\in\Pi\,\} contains no fact by Def. 3.10. Consider two cases. (i) When there is a fact rΠr\in\Pi, sdc(r)sdc(r) becomes a not-free constraint by Def. 3.10. As SDC(Π)LitSDC(\Pi)^{Lit} contains this constraint, it does not have the answer set LitLit (Proposition 2.3). (ii) When there is no fact in Π\Pi, both ΠLit\Pi^{Lit} and {sdc(r)rΠ}\{\,sdc(r)\,\mid\,r\in\Pi\,\} contain no fact, so SDC(Π)LitSDC(\Pi)^{Lit} contains no fact. In this case, no literal is deduced in SDC(Π)LitSDC(\Pi)^{Lit} and it does not have the answer set LitLit. By (a) and (b), SDC(Π)LitSDC(\Pi)^{Lit} does not have the answer set LitLit. Hence, the result follows.

A program Π\Pi satisfying the condition of Proposition 3.16 may produce an incoherent SDC(Π)SDC(\Pi).

Example 3.18.

The program Π={pq,p¬q,¬p}\Pi=\{\,p\leftarrow q,\;\;\;p\leftarrow\neg q,\;\;\;\neg\,p\leftarrow\,\} has the answer set {¬p}\{\neg\,p\}, but

SDC(Π)=Π{¬q¬p,q¬p,p}SDC(\Pi)=\Pi\cup\{\,\neg\,q\leftarrow\neg\,p,\;\;\;q\leftarrow\neg\,p,\;\;\;\leftarrow p\,\}

is incoherent.

Proposition 3.19.

If a program Π\Pi has the answer set LitLit, then both WDC(Π)WDC(\Pi) and SDC(Π)SDC(\Pi) have the answer set LitLit. In particular, if  Π\Pi is a contradictory EDP, then SDC(Π)SDC(\Pi) is contradictory.

Proof 3.20.

The proof is similar to Proposition 3.8. In particular, if Π\Pi is an EDP, then SDC(Π)SDC(\Pi) is an EDP and the result holds.

Note that in GEDPs contraposition of a rule does not hold in general. Thus, the program Π={pq,¬p}\Pi=\{\,p\leftarrow q,\;\;\neg\,p\leftarrow\,\} does not deduce ¬q\neg\,q. SDCSDC completes the program as SDC(Π)=Π{¬q¬p,p}SDC(\Pi)=\Pi\cup\{\,\neg\,q\leftarrow\neg\,p,\;\;\leftarrow p\,\} and makes ¬q\neg\,q deducible. In this sense, SDC has the effect of making explicit negation closer to classical negation in GEDP.

3.3 DA Completion

As a third extension, we introduce a framework for reasoning by denying the antecedent (DA) in ASP. As in the case of DC completion, two different ways of completion are considered depending on the choice of negation.

Definition 3.21 (weak DA completion).

Let Π\Pi be a program and rΠr\in\Pi a rule of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn.\displaystyle\quad\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}.
  1. 1.

    For each disjunct in head+(r)head^{+}(r) and head(r)head^{-}(r), inverse the implication:

    notLi\displaystyle not\,L_{i} \displaystyle\leftarrow notLl+1;;notLm;Lm+1;;Ln(1ik),\displaystyle not\,L_{l+1}\,;\,\cdots\,;\,not\,L_{m}\,;\,L_{m+1}\,;\cdots\,;\,L_{n}\;\;(1\leq i\leq k), (9)
    Li\displaystyle L_{i} \displaystyle\leftarrow notLl+1;;notLm;Lm+1;;Ln(k+1il).\displaystyle not\,L_{l+1}\,;\,\cdots\,;\,not\,L_{m}\,;\,L_{m+1}\,;\,\cdots\,;\,L_{n}\;\;(k+1\leq i\leq l).\;\;\;\;\; (10)

    In (9) and (10), the disjunction “notLl+1;;notLm;Lm+1;;Lnnot\,L_{l+1}\,;\,\cdots\,;\,not\,L_{m}\,;\,L_{m+1}\,;\,\cdots\,;\,L_{n}” appears on the right of “\leftarrow”. The produced (9) (resp. (10)) is considered an abbreviation of the collection of (nl)(n-l) rules: (notLinotLl+1),,(notLiLn)(not\,L_{i}\leftarrow not\,L_{l+1}),\ldots,(not\,L_{i}\leftarrow L_{n}) (resp. (LinotLl+1),,(LiLn)(L_{i}\leftarrow not\,L_{l+1}),\ldots,(L_{i}\leftarrow L_{n})), hence we abuse the term ‘rule’ and call (9) or (10) a rule. In particular, (9) is not produced if head+(r)=head^{+}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing; and (10) is not produced if head(r)=head^{-}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing. The set of rules (9)–(10) is denoted as winv(r)winv(r).

  2. 2.

    Define

    wda(Π)\displaystyle wda(\Pi) =\displaystyle\!=\! {iΓ1,,Γp\displaystyle\{\,\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p}\,\mid
    iΓj(1jp)is inrΠwinv(r)}\displaystyle\quad\ell_{i}\leftarrow\Gamma_{j}\;(1\leq j\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\;winv(r)\,\}

    where i\ell_{i} is either a literal LiL_{i} (k+1il)(k+1\leq i\leq l) or an NAF-literal notLinot\,L_{i} (1ik)(1\leq i\leq k), and each Γj\Gamma_{j} (1jp)(1\leq j\leq p) is a disjunction of literals and NAF-literals.

  3. 3.

    The weak DA completion of Π\Pi is defined as:

    WDA(Π)=Πwda(Π).WDA(\Pi)=\Pi\;\cup\;wda(\Pi).

(9) and (10) in winv(r)winv(r) represent inverse implication from the (default) negation of the conjunction in the body of rr to the (default) negation of the disjunction in the head of rr. wda(Π)wda(\Pi) collects rules “iΓj\ell_{i}\leftarrow\Gamma_{j}(1jp)(1\leq j\leq p) having the same (NAF-)literal i\ell_{i} on the left of “\leftarrow”, and constructs “iΓ1,,Γp\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p}”, which we call an extended rule. Introducing wda(Π)wda(\Pi) to Π\Pi realizes reasoning by weak DA. An extended rule has a conjunction of disjunctions in its body, while it is transformed to rules of a GEDP as the case of AC completion. That is, the extended rule:

i(11;;m11),,(1p;;mpp)\ell_{i}\leftarrow(\ell^{1}_{1}\,;\,\cdots\,;\,\ell^{1}_{m_{1}})\,,\ldots,\,(\ell^{p}_{1}\,;\,\cdots\,;\,\ell^{p}_{m_{p}})

is identified with the set of (m1××mp)(m_{1}\times\cdots\times m_{p}) rules of the form:

ij11,,jpp(1jkmk; 1kp).\ell_{i}\leftarrow\ell^{1}_{j_{1}},\,\ldots,\,\ell^{p}_{j_{p}}\;\;\;\;\;(1\leq j_{k}\leq m_{k};\,1\leq k\leq p).

By this fact, WDA(Π)WDA(\Pi) is viewed as a GEDP and we do not distinguish extended rules and rules of a GEDP hereafter. The semantics of WDA(Π)WDA(\Pi) is defined by its answer sets.

Example 3.22.

Let Π\Pi be the program:

p;qr,nots,\displaystyle p\,;\,q\leftarrow r,\,not\,s,
q;notrt,\displaystyle q\,;\,not\,r\leftarrow t,
s.\displaystyle s\leftarrow.

Then wda(Π)wda(\Pi) becomes

notpnotr;s,\displaystyle not\,p\leftarrow not\,r\,;\,s,
notq(notr;s),nott,\displaystyle not\,q\leftarrow(not\,r\,;\,s),\,not\,t,
rnott\displaystyle r\leftarrow not\,t

where the first rule “notpnotr;snot\,p\leftarrow not\,r\,;\,s” is identified with

notpnotr,\displaystyle not\,p\leftarrow not\,r,
notps,\displaystyle not\,p\leftarrow s,

and the second rule “notq(notr;s),nottnot\,q\leftarrow(not\,r\,;\,s),\,not\,t” is identified with

notqnotr,nott,\displaystyle not\,q\leftarrow not\,r,\,not\,t,
notqs,nott.\displaystyle not\,q\leftarrow s,\,not\,t.

Then, WDA(Π)WDA(\Pi) has the answer set {s,r}\{s,r\}.

As in the case of AC completion, if there is more than one rule having the same (NAF-)literal in the heads, they are collected to produce a single inverse rule. For instance, Π={pq,pr}\Pi=\{\,p\leftarrow q,\;\;p\leftarrow~{}r\,\} produces wda(Π)={notpnotq,notr}wda(\Pi)=\{\,not\,p\leftarrow not\,q,\,not\,r\,\} but not Λ={notpnotq,notpnotr}\Lambda=\{\,not\,p\leftarrow not\,q,\;\;not\,p\leftarrow not\,r\,\}. Suppose that the new fact “rr\leftarrow” is added to Π\Pi. Put Π=Π{r}\Pi^{\prime}=\Pi\cup\{r\leftarrow\}. Then WDA(Π)WDA(\Pi^{\prime}) has the answer set {p,r}\{p,r\}. If Λ\Lambda is used instead of wda(Π)wda(\Pi), however, ΠΛ\Pi^{\prime}\cup\Lambda is incoherent because the first rule of Λ\Lambda is not satisfied. The result is too strong because pp is deduced by “prp\leftarrow r” and “rr\leftarrow”, and it has no direct connection to DA inference in the first rule of Λ\Lambda. Hence, we conclude notpnot\,p if both qq and rr are negated in wda(Π)wda(\Pi).

The strong DA completion is defined in a similar manner.

Definition 3.23 (strong DA completion).

Let Π\Pi be a program and rΠr\in\Pi a rule of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn.\displaystyle\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}.
  1. 1.

    For each disjunct in head+(r)head^{+}(r) and head(r)head^{-}(r), inverse the implication:

    ¬Li\displaystyle\neg\,L_{i} \displaystyle\leftarrow ¬Ll+1;;¬Lm;Lm+1;;Ln(1ik),\displaystyle\neg\,L_{l+1}\,;\,\cdots\,;\,\neg\,L_{m}\,;\,L_{m+1}\,;\cdots\,;\,L_{n}\;\;(1\leq i\leq k), (11)
    Li\displaystyle L_{i} \displaystyle\leftarrow ¬Ll+1;;¬Lm;Lm+1;;Ln(k+1il).\displaystyle\neg\,L_{l+1}\,;\,\cdots\,;\,\neg\,L_{m}\,;\,L_{m+1}\,;\,\cdots\,;\,L_{n}\;\;(k+1\leq i\leq l).\;\;\;\;\; (12)

    As in the case of WDA, the produced (11) (resp. (12)) is considered an abbreviation of the collection of (nl)(n-l) rules: (¬Li¬Ll+1),,(¬LiLn)(\neg\,L_{i}\leftarrow\neg\,L_{l+1}),\ldots,(\neg\,L_{i}\leftarrow L_{n}) (resp. (Li¬Ll+1),,(LiLn)(L_{i}\leftarrow\neg\,L_{l+1}),\ldots,(L_{i}\leftarrow L_{n})), hence we call (11) or (12) a rule. In particular, (11) is not produced if head+(r)=head^{+}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing; and (12) is not produced if head(r)=head^{-}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing. The set of rules (11)–(12) is denoted as sinv(r)sinv(r).

  2. 2.

    Define

    sda(Π)\displaystyle sda(\Pi) =\displaystyle\!=\! {iΓ1,,Γp\displaystyle\{\,\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p}\,\mid
    iΓj(1jp)is inrΠsinv(r)}\displaystyle\quad\ell_{i}\leftarrow\Gamma_{j}\;(1\leq j\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\;sinv(r)\,\}

    where i\ell_{i} is either a literal LiL_{i} (k+1il)(k+1\leq i\leq l) or ¬Li\neg\,L_{i} (1ik)(1\leq i\leq k), and each Γj\Gamma_{j} (1jp)(1\leq j\leq p) is a disjunction of positive/negative literals.

  3. 3.

    The strong DA completion of Π\Pi is defined as:

    SDA(Π)=Πsda(Π).SDA(\Pi)=\Pi\;\cup\;sda(\Pi).

As in the case of WDA, extended rules in sda(Π)sda(\Pi) are transformed to rules of a GEDP. Then SDA(Π)SDA(\Pi) is viewed as a GEDP and its semantics is defined by its answer sets. In particular, SDA(Π)SDA(\Pi) becomes an EDP if Π\Pi is an EDP.

The result of DA completion is syntax-dependent in general.

Example 3.24.

Let Π1={notpq}\Pi_{1}=\{\,not\,p\leftarrow q\,\} and Π2={p,q}\Pi_{2}=\{\,\leftarrow p,q\,\} where Π1\Pi_{1} and Π2\Pi_{2} are equivalent (Proposition 2.1). Then, WDA(Π1)=Π1{pnotq}WDA(\Pi_{1})=\Pi_{1}\cup\{\,p\leftarrow not\,q\,\} and WDA(Π2)=Π2WDA(\Pi_{2})=\Pi_{2}. As a result, WDA(Π1)WDA(\Pi_{1}) has the answer set {p}\{p\} while WDA(Π2)WDA(\Pi_{2}) has the answer set \varnothing.

Both WDA and SDA are nonmonotonic in general.

Example 3.25.

(1) Π1={pnotq,notqp}\Pi_{1}=\{\,p\leftarrow not\,q,\;\;not\,q\leftarrow p\,\} produces WDA(Π1)=Π1{notpq,qnotp}WDA(\Pi_{1})=\Pi_{1}\cup\{\,not\,p\leftarrow q,\;\;q\leftarrow not\,p\,\}. Then, Π1sp\Pi_{1}\models_{s}p but WDA(Π1)⊧̸spWDA(\Pi_{1})\not\models_{s}p. (2) Π2={pnot¬r,rnotq,q}\Pi_{2}=\{\,p\leftarrow not\,\neg r,\;\;r\leftarrow not\,q,\;\;q\leftarrow\,\} produces SDA(Π2)=Π2{¬p¬r,¬rq}SDA(\Pi_{2})=\Pi_{2}\cup\{\,\neg\,p\leftarrow\neg\,r,\;\;\neg\,r\leftarrow q\,\}. Then, Π2cp\Pi_{2}\models_{c}p but SDA(Π2)⊧̸cpSDA(\Pi_{2})\not\models_{c}p.

When a program is a consistent EDP, the WDA does not introduce a new answer set.

Proposition 3.26.

Let Π\Pi be an EDP. If SS is a consistent answer set of  WDA(Π)WDA(\Pi), then SS is an answer set of Π\Pi.

Proof 3.27.

When Π\Pi is an EDP, the rules (10) are not included in winv(r)winv(r). By the rules (9) in winv(r)winv(r), rules of the form (notLiΓ1,,Γpnot\,L_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p}) are produced in wda(Π)wda(\Pi), which are identified with the collection of rules (notLij11,jppnot\,L_{i}\leftarrow\ell_{j_{1}}^{1},\ldots\ell_{j_{p}}^{p}) where jkp\ell_{j_{k}}^{p} (1kp)(1\leq k\leq p) is an (NAF-)literal. These rules are converted into the strongly equivalent constraint (Li,j11,,jpp\leftarrow L_{i},\ell_{j_{1}}^{1},\ldots,\ell_{j_{p}}^{p}) (Proposition 2.1). The additional constraints may eliminate answer sets of Π\Pi, but do not introduce new answer sets. Thus, a consistent answer set SS of WDA(Π)WDA(\Pi) is also a consistent answer set of Π\Pi.

Proposition 3.28.

If a program Π\Pi has the answer set LitLit, then both WDA(Π)WDA(\Pi) and SDA(Π)SDA(\Pi) have the answer set LitLit. In particular, if  Π\Pi is a contradictory EDP, then SDA(Π)SDA(\Pi) is contradictory.

Proof 3.29.

The proof is similar to Proposition 3.8. In particular, if Π\Pi is an EDP, then SDA(Π)SDA(\Pi) is an EDP and the result holds.

As in the case of AC, a consistent program Π\Pi may produce an inconsistent WDA(Π)WDA(\Pi) or SDA(Π)SDA(\Pi). In converse, an incoherent Π\Pi may produce a consistent WDA(Π)WDA(\Pi) or SDA(Π)SDA(\Pi).

Example 3.30.

(1) Π1={notpp}\Pi_{1}=\{\,not\,p\leftarrow p\,\}, which is equivalent to {p}\{\,\leftarrow p\,\} (Proposition 2.1), is consistent, but WDA(Π1)=Π1{pnotp}WDA(\Pi_{1})=\Pi_{1}\cup\{\,p\leftarrow not\,p\,\} is incoherent.

(2) Π2={¬pp,¬p}\Pi_{2}=\{\,\neg\,p\leftarrow p,\;\;\neg\,p\leftarrow\,\} is consistent, but SDA(Π2)=Π2{p¬p}SDA(\Pi_{2})\!=\Pi_{2}\cup\{\,p\leftarrow\neg\,p\,\} is contradictory.

(3) Π3={notpq,notp}\Pi_{3}=\{\,not\,p\leftarrow q,\;\;\leftarrow not\,p\,\}, which is equivalent to {p,q,notp}\{\,\leftarrow p,q,\;\;\leftarrow not\,p\,\} (Proposition 2.1), is incoherent, but WDA(Π3)=Π3{pnotq}WDA(\Pi_{3})=\Pi_{3}\cup\{\,p\leftarrow not\,q\,\} is consistent (having the answer set {p}\{p\}).

(4) Π4={notp,¬pnotq,q}\Pi_{4}=\{\,\leftarrow not\,p,\;\;\neg\,p\leftarrow not\,q,\;\;q\leftarrow\,\} is incoherent, but SDA(Π4)=Π4{pq}SDA(\Pi_{4})=\Pi_{4}\cup\{\,p\leftarrow q\,\} is consistent (having the answer set {p,q}\{p,q\}).

4 AC and DA as Default Reasoning

AC and DA are logically invalid and additional rules for AC and DA often make a program inconsistent. In this section, we relax the effects of the AC or DA completion by introducing additional rules as default rules in the sense of Reiter, (1980). More precisely, we capture AC and DA as the following default inference rules:

(𝐝efaultAC)\displaystyle({\mathbf{d}efault\,AC}) (φψ)ψ:φφ\displaystyle\frac{(\varphi\Rightarrow\psi)\wedge\psi:\varphi}{\varphi}
(𝐝efaultDA)\displaystyle({\mathbf{d}efault\,DA}) (φψ)¬φ:¬ψ¬ψ\displaystyle\frac{(\varphi\Rightarrow\psi)\wedge\neg\varphi:\neg\psi}{\neg\psi}

The default AC rule says: given the conditional “φψ\varphi\Rightarrow\psi” and the fact ψ\psi, conclude φ\varphi as a default consequence. Likewise, the default DA rule says: given the conditional “φψ\varphi\Rightarrow\psi” and the fact ¬φ\neg\varphi, conclude ¬ψ\neg\psi as a default consequence. We encode these rules in ASP.

4.1 Default AC completion

The AC completion is modified for default AC reasoning.

Definition 4.1 (default AC completion).

Let Π\Pi be a program. For each rule rΠr\in\Pi of the form:

L1;;Lk;notLk+1;;notLl\displaystyle L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}
Ll+1,,Lm,notLm+1,,notLn,\displaystyle\qquad\leftarrow\;L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n},

define dac(r)dac(r) as the set of rules:

Ll+1,,Lm,notLm+1,,notLnLi,Δ(1ik),\displaystyle L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\leftarrow L_{i},\,\Delta\;\;\;\;\;\quad(1\leq i\leq k), (13)
Ll+1,,Lm,notLm+1,,notLnnotLi,Δ(k+1il)\displaystyle L_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}\leftarrow not\,L_{i},\,\Delta\;\;\;\;(k+1\leq i\leq l) (14)

where Δ=not¬Ll+1,,not¬Lm,notLm+1,,notLn\Delta=not\,\neg\,L_{l+1},\,\ldots,\,not\,\neg\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}. As before, (13) is not produced if head+(r)=head^{+}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing; and (14) is not produced if head(r)=head^{-}(r)=\varnothing or body+(r)=body(r)=body^{+}(r)=body^{-}(r)=\varnothing. The default AC completion of Π\Pi is defined as:

DAC(Π)=Πdac(Π)DAC(\Pi)=\Pi\;\cup\;dac(\Pi)

in which

dac(Π)\displaystyle dac(\Pi) =\displaystyle\!=\! {Σ1;;Σpj,Δi\displaystyle\{\;\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;\ell_{j},\,\Delta_{i}\;\mid
Σij,Δi(1ip)is inrΠdac(r)}\displaystyle\quad\Sigma_{i}\leftarrow\ell_{j},\,\Delta_{i}\;\,(1\leq i\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\,dac(r)\,\}

where each Σi\Sigma_{i} (1ip)(1\leq i\leq p) is a conjunction of literals and NAF-literals, and j\ell_{j} is either a literal LjL_{j} (1jk)(1\leq j\leq k) or an NAF-literal notLjnot\,L_{j} (k+1jl)(k+1\leq j\leq l).

Like AC(Π)AC(\Pi), rules in dac(Π)dac(\Pi) are converted into the form of a GEDP, then DAC(Π)DAC(\Pi) is viewed as a GEDP. Compared with the AC completion, the DAC completion introduces the conjunction Δ\Delta of NAF-literals to the body of each rule. Then the rules “Σ1;;Σpj,Δi\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\,\leftarrow\,\ell_{j},\,\Delta_{i}” having the same head with different bodies are constructed for i=1,,pi=1,\ldots,p.

Example 4.2.

Let Π={pq,pr,p,¬r}\Pi=\{\,p\leftarrow q,\;\;p\leftarrow r,\;\;p\leftarrow,\;\;\neg r\leftarrow\,\}. Then DAC(Π)=Πdac(Π)DAC(\Pi)=\Pi\cup dac(\Pi) where

dac(Π)={q;rp,not¬q,q;rp,not¬r}.dac(\Pi)=\{\,q\,;r\leftarrow p,not\,\neg q,\;\;\;q\,;r\leftarrow p,not\,\neg r\,\}.

As a result, DAC(Π)DAC(\Pi) has the answer set {p,q,¬r}\{p,q,\neg r\}.

We say that a set SS of ground literals satisfies the conjunction “L1,,LkL_{1},\ldots,L_{k}” of ground literals if {L1,,Lk}S\{L_{1},\ldots,L_{k}\}\subseteq S; and SS satisfies the conjunction “notL1,,notLknot\,L_{1},\ldots,not\,L_{k}” of ground NAF-literals if {L1,,Lk}S=\{L_{1},\ldots,L_{k}\}\cap S=\varnothing.

When AC(Π)AC(\Pi) has a consistent answer set, DAC(Π)DAC(\Pi) does not change it.

Proposition 4.3.

Let Π\Pi be a program. If AC(Π)AC(\Pi) has a consistent answer set SS, then SS is an answer set of DAC(Π)DAC(\Pi).

Proof 4.4.

Suppose that AC(Π)AC(\Pi) has a consistent answer set SS. For each rule (Σ1;;ΣpLj\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;L_{j}) (1jk)(1\leq j\leq k) in ac(Π)ac(\Pi), LjSL_{j}\in S implies that SS satisfies some conjunction Σi\Sigma_{i} (1ip)(1\leq i\leq p). In this case, SS satisfies Δi\Delta_{i} and LjSL_{j}\in S implies that SS satisfies Σi\Sigma_{i} for each rule (Σ1;;ΣpLj,Δi\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;L_{j},\Delta_{i}) in dac(Π)dac(\Pi). Likewise, for each rule (Σ1;;ΣpnotLj\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;not\,L_{j}) (k+1jl)(k+1\leq j\leq l) in ac(Π)ac(\Pi), LjSL_{j}\not\in S implies that SS satisfies some Σi\Sigma_{i} (1ip)(1\leq i\leq p). In this case, SS satisfies Δi\Delta_{i} and LjSL_{j}\not\in S implies that SS satisfies Σi\Sigma_{i} for each rule (Σ1;;ΣpnotLj,Δi\Sigma_{1}\,;\,\cdots\,;\,\Sigma_{p}\;\leftarrow\;not\,L_{j},\Delta_{i}) in dac(Π)dac(\Pi). Then AC(Π)S=DAC(Π)SAC(\Pi)^{S}=DAC(\Pi)^{S} and the result follows.

DAC does not introduce the contradictory answer set LitLit unless the original program has LitLit as an answer set.

Proposition 4.5.

Let Π\Pi be a program. If DAC(Π)DAC(\Pi) has the answer set LitLit, then Π\Pi has the answer set LitLit.

Proof 4.6.

If DAC(Π)DAC(\Pi) has the answer set LitLit, then DAC(Π)Lit=ΠLitdac(Π)LitDAC(\Pi)^{Lit}=\Pi^{Lit}\cup dac(\Pi)^{Lit} has the answer set LitLit. Since dac(Π)Lit=dac(\Pi)^{Lit}=\varnothing, ΠLit\Pi^{Lit} has the answer set LitLit. Hence, Π\Pi has the answer set LitLit.

DAC(Π)DAC(\Pi) possibly turns a contradictory AC(Π)AC(\Pi) into a consistent program.

Example 4.7 (cont. Example 3.5).

Let Π1={p¬p,p}\Pi_{1}=\{\,p\leftarrow\neg\,p,\;\;p\leftarrow\,\}. Then, DAC(Π1)=Π1{¬pp,notp}DAC(\Pi_{1})=\Pi_{1}\cup\{\,\neg\,p\leftarrow p,\,not\,p\,\} has the single answer set {p}\{\,p\,\}. So AC(Π1)AC(\Pi_{1}) is contradictory, but DAC(Π1)DAC(\Pi_{1}) is consistent.

When AC(Π)AC(\Pi) is incoherent, DAC(Π)DAC(\Pi) does not resolve incoherency in general.

Example 4.8.

Let Π={pq,p,q}\Pi=\{\,p\leftarrow q,\;\;p\leftarrow,\;\;\leftarrow q\,\}. Then, AC(Π)=Π{qp}AC(\Pi)=\Pi\cup\{\,q\leftarrow p\,\} is incoherent. DAC(Π)=Π{qp,not¬q}DAC(\Pi)=\Pi\cup\{\,q\leftarrow p,\,not\,\neg\,q\,\} is still incoherent.

4.2 Default DA completion

The DA completion is modified for default DA reasoning.

Definition 4.9 (default DA completion).

Let Π\Pi be a program. Define

wdda(Π)\displaystyle wdda(\Pi) =\displaystyle\!=\! {iΓ1,,Γp,δiw\displaystyle\{\,\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p},\,\delta^{w}_{i}\,\mid
iΓj(1jp)is inrΠwinv(r)},\displaystyle\quad\ell_{i}\leftarrow\Gamma_{j}\;(1\leq j\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\;winv(r)\,\},
sdda(Π)\displaystyle sdda(\Pi) =\displaystyle\!=\! {iΓ1,,Γp,δis\displaystyle\{\,\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p},\,\delta^{s}_{i}\,\mid
iΓj(1jp)is inrΠsinv(r)}\displaystyle\quad\ell_{i}\leftarrow\Gamma_{j}\;(1\leq j\leq p)\;\;\mbox{is in}\;\;\bigcup_{r\in\Pi}\;sinv(r)\,\}

where i\ell_{i}, Γj\Gamma_{j}, winv(r)winv(r), and sinv(r)sinv(r) are the same as those in Defs. 3.21 and 3.23. In addition, δiw=not¬Li\delta^{w}_{i}=not\,\neg\,L_{i} if i=Li\ell_{i}=L_{i}, and δiw=notLi\delta^{w}_{i}=not\,L_{i} if i=notLi\ell_{i}=not\,L_{i}; δis=not¬Li\delta^{s}_{i}=not\,\neg\,L_{i} if i=Li\ell_{i}=L_{i}, and δis=notLi\delta^{s}_{i}=not\,L_{i} if i=¬Li\ell_{i}=\neg\,L_{i}. The weak default DA completion and the strong default DA completion of Π\Pi are respectively defined as:

WDDA(Π)\displaystyle WDDA(\Pi) =\displaystyle= Πwdda(Π),\displaystyle\Pi\;\cup\;wdda(\Pi),
SDDA(Π)\displaystyle SDDA(\Pi) =\displaystyle= Πsdda(Π).\displaystyle\Pi\;\cup\;sdda(\Pi).

Rules in wdda(Π)wdda(\Pi) and sdda(Π)sdda(\Pi) are converted into the form of a GEDP, so WDDA(Π)WDDA(\Pi) and SDDA(Π)SDDA(\Pi) are viewed as GEDPs. Like the DAC completion, both WDDA and SDDA introduce an additional NAF-literal to each rule.

When WDA(Π)WDA(\Pi) (resp. SDA(Π)SDA(\Pi)) has a consistent answer set, WDDA(Π)WDDA(\Pi) (resp. SDDA(Π)SDDA(\Pi)) does not change it.

Proposition 4.10.

Let Π\Pi be a program. If  WDA(Π)WDA(\Pi) (resp. SDA(Π)SDA(\Pi)) has a consistent answer set SS, then SS is an answer set of WDDA(Π)WDDA(\Pi) (resp. SDDA(Π)SDDA(\Pi)).

Proof 4.11.

Suppose that WDA(Π)WDA(\Pi) has a consistent answer set SS. If LiSL_{i}\in S then ¬LiS\neg\,L_{i}\not\in S and δiw=not¬Li\delta^{w}_{i}=not\,\neg\,L_{i} is eliminated in WDDA(Π)SWDDA(\Pi)^{S}. Else if LiSL_{i}\not\in S and ¬LiS\neg\,L_{i}\in S, there is another rule (iΓ1,,Γp,δiw\ell_{i}\leftarrow\Gamma_{1},\ldots,\Gamma_{p},\,\delta^{w}_{i}) in wdda(Π)wdda(\Pi) such that i=¬Li\ell_{i}=\neg\,L_{i} and δiw=notLi\delta^{w}_{i}=not\,L_{i}. Then, δiw=notLi\delta^{w}_{i}=not\,L_{i} is eliminated in WDDA(Π)SWDDA(\Pi)^{S}. Thus, WDA(Π)S=WDDA(Π)SWDA(\Pi)^{S}=WDDA(\Pi)^{S}. Similarly, SDA(Π)S=SDDA(Π)SSDA(\Pi)^{S}=SDDA(\Pi)^{S}. Hence, the result follows.

WDDA or SDDA does not introduce the contradictory answer set LitLit unless the original program has LitLit as an answer set.

Proposition 4.12.

Let Π\Pi be a program. If WDDA(Π)WDDA(\Pi) (or SDDA(Π)SDDA(\Pi)) has the answer set LitLit, then Π\Pi has the answer set LitLit.

Proof 4.13.

If WDDA(Π)WDDA(\Pi) has the answer LitLit, then WDDA(Π)Lit=ΠLitwdda(Π)LitWDDA(\Pi)^{Lit}=\Pi^{Lit}\cup wdda(\Pi)^{Lit} has the answer set LitLit. Since wdda(Π)Lit=wdda(\Pi)^{Lit}=\varnothing, ΠLit\Pi^{Lit} has the answer set LitLit. Hence, Π\Pi has the answer set LitLit. The case of SDDA(Π)SDDA(\Pi) is proved in a similar manner.

WDDA(Π)WDDA(\Pi) (resp. SDDA(Π)SDDA(\Pi)) possibly turns a contradictory WDA(Π)WDA(\Pi) (resp. SDA(Π)SDA(\Pi)) into a consistent program, while it does not resolve incoherency in general.

Example 4.14 (cont. Example 3.30).

Let Π1={notpp}\Pi_{1}=\{\,not\,p\leftarrow p\,\} where WDA(Π1)WDA(\Pi_{1}) is incoherent. WDDA(Π1)=Π1{pnotp,not¬p}WDDA(\Pi_{1})=\Pi_{1}\cup\{\,p\leftarrow not\,p,\,not\,\neg\,p\,\} is still incoherent. Let Π2={¬pp,¬p}\Pi_{2}=\{\,\neg\,p\leftarrow p,\;\;\;\neg\,p\leftarrow\,\} where SDA(Π2)SDA(\Pi_{2}) is contradictory. SDDA(Π2)=Π2{p¬p,not¬p}SDDA(\Pi_{2})=\Pi_{2}\cup\{\,p\leftarrow\neg\,p,\,not\,\neg\,p\,\} has the consistent answer set {¬p}\{\neg p\}.

5 Characterizing Human Reasoning Tasks

5.1 Suppression Task

Byrne, (1989) provides an empirical study which shows that human conditional reasoning can be nonmonotonic in the so-called suppression tasks. She verifies the effects in different types of conditional reasoning by experimental testing on college students. Students are divided into three groups: the first group receives simple conditional arguments; the second group receives conditional arguments accompanied by another conditional sentence with an alternative antecedent; and the third group receives conditional arguments accompanied by another conditional sentence with an additional antecedent. More precisely, suppose the following three conditional sentences:

S1S_{1}:  If she has an essay to write then she will study late in the library.

S2S_{2}:  If she has some textbooks to read then she will study late in the library.

S3S_{3}:  If the library stays open then she will study late in the library.

Given the conditional sentence S1S_{1}, S2S_{2} represents a sentence with an alternative antecedent, while S3S_{3} represents a sentence with an additional antecedent. The antecedent of S2S_{2} is considered an alternative sufficient condition for studying late in the library. By contrast, the antecedent of S3S_{3} is considered an additional sufficient condition for studying late in the library. Table 1 presents the percentages of inferences made by subjects from the three kinds of arguments.

Table 1: The percentages of inferences in experiments (Byrne, (1989))
 Argument Type    AA (MP)    DC (MT)     AC        DA
 simple arguments (S1S_{1}) 96% 92% 71% 46%
alternative arguments (S1S_{1} and S2S_{2}) 96% 96% 13% 4%
additional arguments (S1S_{1} and S3S_{3}) 38% 33% 54% 63%
 

By the table, given the sentence S1S_{1} and the fact: “she will study late in the library”, the 71% of the first group concludes: “she has an essay to write” by AC. When S1S_{1} is accompanied by a conditional S2S_{2} containing an alternative antecedent, on the other hand, the percentage of subjects who perform AC inference reduces to 13%. The reason is that people know that the alternative: “She has some textbooks to read”, could be the case instead. Similar reduction is observed for DA. Byrne argues that those fallacious inferences are suppressed when a conditional is accompanied by an alternative antecedent. She also observes that the inference patterns change when S1S_{1} is accompanied by a conditional S3S_{3} containing an additional antecedent. In Table 1 the number of subjects who conclude: “She will study late in the library” by AA reduces to 38%, and the number of subjects who conclude: “She does not have an essay to write” by DC reduces to 33%. By contrast, the suppression of AC and DA are relaxed, 54% of subjects make AC and 63% of subjects make DA. Byrne then argues that “valid inferences are suppressed in the same way as fallacious inferences”.

The suppression task is characterized in our framework as follows. First, the sentence S1S_{1} is represented as the rule: “libraryessaylibrary\leftarrow essay”. Then, four conditional inferences (AA, DC, AC, DA) in simple arguments are respectively represented by the following programs:

(AA) Π0={libraryessay,essay},\displaystyle\Pi_{0}=\{\,library\leftarrow essay,\;\;\;essay\leftarrow\,\},
(DC) Π1={libraryessay,¬library},\displaystyle\Pi_{1}=\{\,library\leftarrow essay,\;\;\;\neg\,library\leftarrow\,\},
(AC) Π2={libraryessay,library},\displaystyle\Pi_{2}=\{\,library\leftarrow essay,\;\;\;library\leftarrow\,\},
(DA) Π3={libraryessay,¬essay}.\displaystyle\Pi_{3}=\{\,library\leftarrow essay,\;\;\;\neg\,essay\leftarrow\,\}.

Then Π0\Pi_{0} has the answer set {library,essay}\{\,library,essay\,\} in which AA inference is done. By contrast, DC, AC, and DA inferences are not performed in Π1\Pi_{1}, Π2\Pi_{2}, and Π3\Pi_{3}, respectively. To realize those inferences, consider completions such that

SDC(Π1)\displaystyle SDC(\Pi_{1}) =\displaystyle= Π1{¬essay¬library},\displaystyle\Pi_{1}\cup\{\,\neg\,essay\leftarrow\neg\,library\,\},
AC(Π2)\displaystyle AC(\Pi_{2}) =\displaystyle= Π2{essaylibrary},\displaystyle\Pi_{2}\cup\{\,essay\leftarrow library\,\},
SDA(Π3)\displaystyle SDA(\Pi_{3}) =\displaystyle= Π3{¬library¬essay}\displaystyle\Pi_{3}\cup\{\,\neg\,library\leftarrow\neg\,essay\,\}

where SDC(Π1)SDC(\Pi_{1}) has the answer set {¬library,¬essay}\{\,\neg\,library,\neg\,essay\,\}, AC(Π2)AC(\Pi_{2}) has the answer set {library,essay}\{\,library,essay\,\}, and SDA(Π3)SDA(\Pi_{3}) has the answer set {¬library,¬essay}\{\,\neg\,library,\neg\,essay\,\}. As a result, DC, AC, and DA inferences are performed in SDC(Π1)SDC(\Pi_{1}), AC(Π2)AC(\Pi_{2}), and SDA(Π3)SDA(\Pi_{3}), respectively.

Next, consider the alternative arguments S1S_{1} and S2S_{2}. They are represented by the programs:

ΠkALT=Πk{librarytext}(k=0,1,2,3).\Pi_{k}^{\mathrm{A}LT}=\Pi_{k}\cup\{\,library\leftarrow text\,\}\;\;\;(k=0,1,2,3).

The program Π0ALT\Pi_{0}^{\mathrm{A}LT} has the answer set {library,essay}\{\,library,essay\,\} in which the result of AA inference does not change from Π0\Pi_{0}. Programs Π1ALT\Pi_{1}^{\mathrm{A}LT}, Π2ALT\Pi_{2}^{\mathrm{A}LT}, and Π3ALT\Pi_{3}^{\mathrm{A}LT} are completed as follows:

SDC(Π1ALT)\displaystyle SDC(\Pi_{1}^{\mathrm{A}LT}) =\displaystyle= Π1ALT{¬essay¬library,¬text¬library},\displaystyle\Pi_{1}^{\mathrm{A}LT}\cup\{\,\neg\,essay\leftarrow\neg\,library,\;\;\;\neg\,text\leftarrow\neg\,library\,\},
AC(Π2ALT)\displaystyle AC(\Pi_{2}^{\mathrm{A}LT}) =\displaystyle= Π2ALT{essay;textlibrary},\displaystyle\Pi_{2}^{\mathrm{A}LT}\cup\{\,essay\,;\,text\leftarrow library\,\},
SDA(Π3ALT)\displaystyle SDA(\Pi_{3}^{\mathrm{A}LT}) =\displaystyle= Π3ALT{¬library¬essay,¬text}\displaystyle\Pi_{3}^{\mathrm{A}LT}\cup\{\,\neg\,library\leftarrow\neg\,essay,\,\neg\,text\,\}

where SDC(Π1ALT)SDC(\Pi_{1}^{\mathrm{A}LT}) has the answer set {¬library,¬essay,¬text}\{\,\neg\,library,\neg\,essay,\neg\,text\,\}, AC(Π2ALT)AC(\Pi_{2}^{\mathrm{A}LT}) has the two answer sets {library,essay}\{\,library,essay\,\} and {library,text}\{\,library,text\,\}, and SDA(Π3ALT)SDA(\Pi_{3}^{\mathrm{A}LT}) has the answer set {¬essay}\{\,\neg\,essay\,\}. As a result, SDC(Π1ALT)s¬essaySDC(\Pi_{1}^{\mathrm{A}LT})\models_{s}\neg\,essay, AC(Π2ALT)⊧̸sessayAC(\Pi_{2}^{\mathrm{A}LT})\not\models_{s}essay, and SDA(Π3ALT)⊧̸s¬librarySDA(\Pi_{3}^{\mathrm{A}LT})\not\models_{s}\neg\,library, which indicate that AC and DA inferences are suppressed while DC is not suppressed. In this way, the completion successfully represents the effect of suppression of AC/DA inference in alternative arguments.

In additional arguments, on the other hand, Byrne, (1989) observes that AA/DC inference is also suppressed. Our completion method does not characterize the suppression of AA inference because we enable fallacious inferences by AC/DA completion while still keep the valid AA inference. Byrne, (1989) says “people may consider that certain other conditions are necessary for this conclusion to hold, for example, the library must remain open. Thus, conditionals are frequently elliptical in that information that can be taken for granted is omitted from them”. In the above example, the availability of the library is necessary for studying in it but it is just omitted in the initial premises. Then it is considered that the rule: “libraryessaylibrary\leftarrow essay” in mind is overwritten by the rule: “libraryessay,openlibrary\leftarrow essay,\,open” when the additional antecedent is given. Let

Π0ADD={libraryessay,open,essay},\displaystyle\Pi_{0}^{\mathrm{A}DD}=\{\,library\leftarrow essay,\,open,\;\;\;essay\leftarrow\,\},
Π1ADD={libraryessay,open,¬library},\displaystyle\Pi_{1}^{\mathrm{A}DD}=\{\,library\leftarrow essay,\,open,\;\;\;\neg\,library\leftarrow\,\},
Π2ADD={libraryessay,open,library},\displaystyle\Pi_{2}^{\mathrm{A}DD}=\{\,library\leftarrow essay,\,open,\;\;\;library\leftarrow\,\},
Π3ADD={libraryessay,open,¬essay}.\displaystyle\Pi_{3}^{\mathrm{A}DD}=\{\,library\leftarrow essay,\,open,\;\;\;\neg\,essay\leftarrow\,\}.

The program Π0ADD\Pi_{0}^{\mathrm{A}DD} has the answer set {essay}\{\,essay\,\}, thereby Π0ADD⊧̸slibrary\Pi_{0}^{\mathrm{A}DD}\not\models_{s}library. Then the result of AA inference is suppressed. Programs Π1ADD\Pi_{1}^{\mathrm{A}DD}, Π2ADD\Pi_{2}^{\mathrm{A}DD}, Π3ADD\Pi_{3}^{\mathrm{A}DD} are completed as follows:

SDC(Π1ADD)\displaystyle SDC(\Pi_{1}^{\mathrm{A}DD}) =\displaystyle= Π1ADD{¬essay;¬open¬library},\displaystyle\Pi_{1}^{\mathrm{A}DD}\cup\{\,\neg\,essay\,;\,\neg\,open\leftarrow\neg\,library\,\},
AC(Π2ADD)\displaystyle AC(\Pi_{2}^{\mathrm{A}DD}) =\displaystyle= Π2ADD{essaylibrary,openlibrary},\displaystyle\Pi_{2}^{\mathrm{A}DD}\cup\{\,essay\leftarrow library,\;\;\;open\leftarrow library\,\},
SDA(Π3ADD)\displaystyle SDA(\Pi_{3}^{\mathrm{A}DD}) =\displaystyle= Π3ADD{¬library¬essay,¬library¬open}\displaystyle\Pi_{3}^{\mathrm{A}DD}\cup\;\{\,\neg\,library\leftarrow\neg\,essay,\;\;\;\neg\,library\leftarrow\neg\,open\,\}

where SDC(Π1ADD)SDC(\Pi_{1}^{\mathrm{A}DD}) has the two answer sets {¬library,¬essay}\{\,\neg\,library,\neg\,essay\,\} and {¬library,¬open}\{\,\neg\,library,\neg\,open\,\}, AC(Π2ADD)AC(\Pi_{2}^{\mathrm{A}DD}) has the answer set {library,essay,open}\{\,library,essay,open\,\}, and SDA(Π3ADD)SDA(\Pi_{3}^{\mathrm{A}DD}) has the the answer set {¬essay,¬library}\{\,\neg\,essay,\neg\,library\,\}. As a result, SDC(Π1ADD)⊧̸s¬essaySDC(\Pi_{1}^{\mathrm{A}DD})\not\models_{s}\neg\,essay, AC(Π2ADD)sessayAC(\Pi_{2}^{\mathrm{A}DD})\models_{s}essay, and SDA(Π3ADD)s¬librarySDA(\Pi_{3}^{\mathrm{A}DD})\models_{s}\neg\,library. This indicates that DC is suppressed but AC and DA are not suppressed, which explains the results of Byrne, (1989).

The results of inferences using completion are summarized in Table 2. By the table, the suppression of AC and DA in face of an alternative antecedent is realized in our framework. The suppression of AA and DC in face of an additional antecedent is also realized if the additional condition is written in the antecedent of the original conditional sentence.

Table 2: Summary of inferences made by completion
 Argument Type    AA (MP)    DC (MT)     AC        DA
 S1S_{1} \circ (Π0\Pi_{0}) \circ (SDC(Π1\Pi_{1})) \circ (AC(Π2\Pi_{2})) \circ (SDA(Π3\Pi_{3}))
S1S_{1} and S2S_{2} \circ (Π0ALT\Pi_{0}^{\mathrm{A}LT}) \circ (SDC(Π1ALT\Pi_{1}^{\mathrm{A}LT})) ×\times (AC(Π2ALT\Pi_{2}^{\mathrm{A}LT})) ×\times (SDA(Π3ALT\Pi_{3}^{\mathrm{A}LT}))
S1S_{1} and S3S_{3} (×\times (Π0ADD\Pi_{0}^{\mathrm{A}DD})) (×\times (SDC(Π1ADD\Pi_{1}^{\mathrm{A}DD}))) (\circ (AC(Π2ADD\Pi_{2}^{\mathrm{A}DD}))) (\circ (SDA(Π3ADD\Pi_{3}^{\mathrm{A}DD})))
      \circ means that inference succeeds; ×\times means that inference is suppressed.

5.2 Wason Selection Task

Wason, (1968) introduces the selection task for examining human conditional reasoning. The task is described as follows. There are four cards on a table, each of which has a letter on one side and a number on the other. Suppose that those cards are showing respectively DD, KK, 33, 77. Given the sentence: “Every card which has the letter DD on one side has the number 33 on the other side”, then which cards are to be turned over in order to verify the truth of the sentence? Testing on college students, it turns out that a relatively small number of students select the logically correct answer ‘DD and 77’ (4%), while others select ‘DD and 33’ (46%) or DD alone (33%) (Wason and Shapiro, (1971)). The result shows that people are likely to perform AC inference but less likely to perform logically correct DC inference in this task. The situation is characterized in our framework as follows.

The sentence: “Every card which has the letter DD on one side has the number 33 on the other side” is rephrased as “If a card has the letter DD on one side, then it has the number 33 on the other side”. Then it is represented by the program:

ΠW={n3D}\Pi_{W}=\{\,n_{3}\leftarrow\ell_{D}\} (15)

where n3n_{3} means the number 3 and D\ell_{D} means the letter DD. Four cards on the desk are represented by the facts:

D,K,n3,n7.\ell_{D}\leftarrow,\quad\ell_{K}\leftarrow,\quad n_{3}\leftarrow,\quad n_{7}\leftarrow. (16)

Then each card is checked one by one.

  • ΠW{D}\Pi_{W}\cup\{\ell_{D}\leftarrow\} has the answer set {D,n3}\{\ell_{D},n_{3}\}. If the other side of D\ell_{D} is not the number 3, however, {D,n3}{¬n3}\{\ell_{D},n_{3}\}\cup\{\neg n_{3}\} is contradictory. To verify the consistency, one has to turn over the card of DD.

  • ΠW{K}\Pi_{W}\cup\{\ell_{K}\leftarrow\} has the answer set {K}\{\ell_{K}\}. Since both {K}{n3}\{\ell_{K}\}\cup\{n_{3}\} and {K}{¬n3}\{\ell_{K}\}\cup\{\neg n_{3}\} are consistent, there is no need to turn over the card of KK.

  • ΠW{n3}\Pi_{W}\cup\{n_{3}\leftarrow\} has the answer set {n3}\{n_{3}\}. Since both {n3}{D}\{n_{3}\}\cup\{\ell_{D}\} and {n3}{¬D}\{n_{3}\}\cup\{\neg\ell_{D}\} are consistent, there is no need to turn over the card of 33.

  • ΠW{n7}\Pi_{W}\cup\{n_{7}\leftarrow\} has the answer set {n7}\{n_{7}\}. Since both {n7}{D}\{n_{7}\}\cup\{\ell_{D}\} and {n7}{¬D}\{n_{7}\}\cup\{\neg\ell_{D}\} are consistent, there is no need to turn over the card of DD.

As the standard ASP does not realize DC inference, it characterizes reasoners who select only DD as shown above.

By contrast, people who choose DD and 33 are likely to perform AC inference using the conditional sentence. In this case, the situation is represented as

AC(ΠW)={n3D,Dn3}.AC(\Pi_{W})=\{\,n_{3}\leftarrow\ell_{D},\;\;\;\ell_{D}\leftarrow n_{3}\,\}.

Now AC(ΠW){n3}AC(\Pi_{W})\cup\{n_{3}\leftarrow\} has the answer set {n3,D}\{n_{3},\ell_{D}\}. If the other side of n3n_{3} is not the letter DD, however, {n3,D}{¬D}\{n_{3},\ell_{D}\}\cup\{\neg\ell_{D}\} is contradictory. To verify the consistency, they opt to turn over the card of 33 as well as the card of DD.

Finally, those who choose DD and 77 perform weak DC inference as444Alternatively, the SDC “¬D¬n3\neg\,\ell_{D}\leftarrow\neg\,n_{3}” is used by introducing the rule “¬n3n7\neg\,n_{3}\leftarrow n_{7}” instead of the constraint “n3,n7\leftarrow n_{3},n_{7}”.

𝑊𝐷𝐶(ΠW)={n3D,notDnotn3}.\mathit{WDC}(\Pi_{W})=\{\,n_{3}\leftarrow\ell_{D},\;\;\;not\,\ell_{D}\leftarrow not\,n_{3}\,\}.

The program 𝑊𝐷𝐶(ΠW){n7}\mathit{WDC}(\Pi_{W})\cup\{n_{7}\leftarrow\} has the answer set {n7}\{n_{7}\}. However, if the other side of n7n_{7} is the letter DD, 𝑊𝐷𝐶(ΠW){n7}{D}{n3,n7}\mathit{WDC}(\Pi_{W})\cup\{n_{7}\leftarrow\}\cup\{\ell_{D}\leftarrow\}\cup\{\leftarrow n_{3},n_{7}\} is incoherent, where the constraint “n3,n7\leftarrow n_{3},n_{7}” represents that one card cannot have two numbers. To verify the consistency, they need to turn over the card of 7 as well as the card of DD.555Kowalski, (2011) also uses an integrity constraint to explain the effect of modus tollens in the selection task.

It is known that the Wason selection task is context dependent and the results change when, for instance, it is presented with a deontic rule. Griggs and Cox, (1982) use the rule: “If a person is drinking beer, then the person must be over 19 year of age”. There are four cards on a table as before, but this time a person’s age is on one side of a card and on the other side is what the person is drinking. Four cards show, ‘beer’, ‘coke’, ‘16’, and ‘22’, respectively. Then select the card(s) needed to turn over to determine whether or not no person is violating the rule. In this drinking-age problem, almost 75% of participants select logically correct answers ‘beer’ and ‘16’. To characterize the situation, (W)DC completion is used for representing selection tasks in deontic contexts.

6 Applications to Commonsense Reasoning

The AC, DC, DA completions realize human conditional reasoning in ASP. In addition, they are used for computing commonsense reasoning in AI.

6.1 Abduction and Prediction

Abduction reasons from an observation to explanations. An abductive logic program (Kakas et al., (1992)) is defined as a pair Π,Γ\langle\,\Pi,\Gamma\,\rangle where Π\Pi is a program and Γ(Lit\Gamma\,(\subseteq Lit) is a set of literals called abducibles.666Kakas et al., (1992) consider integrity constraints which are handled as constraints in Π\Pi. It is assumed that abducibles appear in the head of no rule in Π\Pi. Given an observation OO as a ground literal, the abduction problem is to find an explanation E(Γ)E\,(\subseteq\Gamma) satisfying (i) ΠExO\Pi\cup E\models_{x}O and (ii) ΠE\Pi\cup E is consistent, where x\models_{x} is either c\models_{c} or s\models_{s} depending on the problem. Here we consider c\models_{c} that realizes credulous abduction. In GEDP, the abduction problem is characterized as follows. Let us define

abd(Γ)={γ;notγγΓ}.abd(\Gamma)=\{\,\gamma\,;\,not\,\gamma\,\leftarrow\;\mid\;\gamma\in\Gamma\,\}.
Proposition 6.1 (Inoue and Sakama, (1998)).

Let Π,Γ\langle\,\Pi,\Gamma\,\rangle be an abductive program. Given an observation OO, a set EΓE\subseteq\Gamma is an explanation of OO iff  Πabd(Γ){notO}\Pi\cup abd(\Gamma)\cup\{\,\leftarrow not\,O\,\} has a consistent answer set SS such that SΓ=ES\cap\Gamma=E.

Example 6.2.

Consider (Π1,Γ1)(\Pi_{1},\Gamma_{1}) where

Π1:\displaystyle\Pi_{1}: arrive_on_timenotaccident,\displaystyle arrive\_on\_time\leftarrow not\;accident,
¬arrive_on_timeaccident.\displaystyle\neg\,arrive\_on\_time\leftarrow accident.
Γ1:\displaystyle\Gamma_{1}: accident.\displaystyle accident.

Π1\Pi_{1} represents that a train arrives on time unless there is an accident. Given the observation O=¬arrive_on_timeO=\neg\,arrive\_on\_time, it has the explanation E={accident}E=\{accident\}. The problem is represented as the GEDP:

arrive_on_timenotaccident,\displaystyle arrive\_on\_time\leftarrow not\;accident,
¬arrive_on_timeaccident,\displaystyle\neg\,arrive\_on\_time\leftarrow accident,
accident;notaccident,\displaystyle accident\,;\,not\,accident\leftarrow,
not¬arrive_on_time\displaystyle\leftarrow not\,\neg\,arrive\_on\_time

which has the answer set S={¬arrive_on_time,accident}S=\{\neg\,arrive\_on\_time,\;accident\} where SΓ1=ES\cap\Gamma_{1}=E.

Since abduction reasons backward from an observation, it is characterized using AC inference as follows.

Proposition 6.3.

Let Π,Γ\langle\,\Pi,\Gamma\,\rangle be an abductive program and OO an observation.

(i) A set EΓE\subseteq\Gamma is an explanation of OO if Ohead+(r)O\in head^{+}(r) for some rΠr\in\Pi and AC(Π){O}AC(\Pi)\cup\{O\} has a consistent answer set SS such that SΓ=ES\cap\Gamma=E.

(ii) If a set EΓE\subseteq\Gamma is an explanation of OO, then there is ΠΠ\Pi^{\prime}\subseteq\Pi such that AC(Π){O}AC(\Pi^{\prime})\cup\{O\} has a consistent answer set SS such that SΓ=ES\cap\Gamma=E.

Proof 6.4.

(i) Suppose that Ohead+(r)O\in head^{+}(r) for some rΠr\in\Pi and AC(Π){O}AC(\Pi)\cup\{O\} has a consistent answer set SS such that SΓ=ES\cap\Gamma=E. By the definition of AC(Π)AC(\Pi), there is a path from OO to literals in EE in the dependency graph777A not-free EDP Π\Pi is associated with a dependency graph (V,E)(V,E) where the nodes VV are literals of Π\Pi and there are edges in EE from Lbody+(r)L\in body^{+}(r) to Lhead+(r)L^{\prime}\in head^{+}(r) for each rΠr\in\Pi. of the program AC(Π)S{O}AC(\Pi)^{S}\cup\{O\} where AC(Π)SAC(\Pi)^{S} is the reduct of AC(Π)AC(\Pi) by SS. In this case, OO is reached by reasoning forward from EE in ΠS\Pi^{S}, and SS is an answer set of ΠSE\Pi^{S}\cup E such that OSO\in S. This implies that ΠE{notO}\Pi\cup E\cup\{\leftarrow not\,O\} has a consistent answer set SS such that abd(Γ)S=Eabd(\Gamma)^{S}=E, and the result holds by Proposition 6.1

(ii) If EΓE\subseteq\Gamma is an explanation of OO, there is ΠΠ\Pi^{\prime}\subseteq\Pi such that Πabd(Γ){notO}\Pi^{\prime}\cup abd(\Gamma)\cup\{\leftarrow not\,O\} has a consistent answer set SS satisfying SΓ=ES\cap\Gamma=E (Proposition 6.1). Select a minimal set Π\Pi^{\prime} of rules such that there is no Π′′Π\Pi^{\prime\prime}\subset\Pi^{\prime} satisfying the above condition. In this case, abd(Γ)S=Eabd(\Gamma)^{S}=E is obtained by reasoning backward from OO in (Π)S(\Pi^{\prime})^{S}, and SS is a minimal set satisfying (Π)Sac(Π)S{O}(\Pi^{\prime})^{S}\cup ac(\Pi^{\prime})^{S}\cup\{O\}. Then AC(Π){O}AC(\Pi^{\prime})\cup\{O\} has a consistent answer set SS such that SΓ=ES\cap\Gamma=E.

In Example 6.2, AC(Π1){O}AC(\Pi_{1})\cup\{O\} becomes

arrive_on_timenotaccident,\displaystyle arrive\_on\_time\leftarrow not\;accident,
¬arrive_on_timeaccident.\displaystyle\neg\,arrive\_on\_time\leftarrow accident.
notaccidentarrive_on_time,\displaystyle not\;accident\leftarrow arrive\_on\_time,
accident¬arrive_on_time,\displaystyle accident\leftarrow\neg\,arrive\_on\_time,
¬arrive_on_time,\displaystyle\neg\,arrive\_on\_time\leftarrow,

which has the answer set S={¬arrive_on_time,accident}S=\{\,\neg\,arrive\_on\_time,\,accident\,\}. By SΓ1={accident}S\cap\Gamma_{1}=\{\,accident\,\}, E={accident}E=\{\,accident\,\} is the explanation.

Note that AC(Π)AC(\Pi) introduces converse of every rule, while explanations are computed using the AC completion of a subset ΠΠ\Pi^{\prime}\subseteq\Pi in general (Proposition 6.3(ii)).

Example 6.5.

Let Π={pa,q¬a,q}\Pi=\{\,p\leftarrow a,\;\;q\leftarrow\neg a,\;\;q\leftarrow\,\} and Γ={a,¬a}\Gamma=\{a,\neg a\}. Then O=pO=p has the explanation E={a}E=\{a\} in Π,Γ\langle\,\Pi,\Gamma\,\rangle, while AC(Π){O}=Π{ap,¬aq,p}AC(\Pi)\cup\{O\}=\Pi\cup\{\,a\leftarrow p,\;\;\neg a\leftarrow q,\;\;p\leftarrow\,\} is contradictory. By putting Π={pa}\Pi^{\prime}=\{\,p\leftarrow a\,\}, AC(Π){O}AC(\Pi^{\prime})\cup\{O\} has the consistent answer set S={p,a}S=\{p,a\} where SΓ={a}S\cap\Gamma=\{a\}.

As illustrated in Example 6.5, abduction and AC completion produce different results in general.

Abductive logic programs of (Kakas et al., (1992)) cannot compute explanations when contrary to the consequent is observed. For instance, consider Π2,Γ2\langle\,\Pi_{2},\Gamma_{2}\,\rangle such that

Π2:\displaystyle\Pi_{2}: arrive_on_timenotaccident.\displaystyle arrive\_on\_time\leftarrow not\;accident.
Γ2:\displaystyle\Gamma_{2}: accident.\displaystyle accident.

Given the observation O=¬arrive_on_timeO=\neg\,arrive\_on\_time, no explanation is obtained from Π2,Γ2\langle\,\Pi_{2},\Gamma_{2}\,\rangle. Generally, a program Π\Pi does not necessarily contain a pair of rules rr and rr^{\prime} that define LL and ¬L\neg L, respectively. When there is a rule defining LL but no rule defining ¬L\neg L, abduction computes no explanation for the observation O=¬LO=\neg L. The problem is resolved by reasoning by DC. For the rule rr in Π2\Pi_{2}, sdc(r)sdc(r) becomes

accident¬arrive_on_time.accident\leftarrow\neg\,arrive\_on\_time.

Then SDC(Π2){O}SDC(\Pi_{2})\cup\{O\} computes the explanation {accident}\{\,accident\,\}.

In contrast to SDCSDC, WDCWDC is used for abduction from negative observations. A negative observation represents that some evidence GG is not observed and it is represented as O=notGO=not\,G, which should be distinguished from the (positive) observation O=¬GO=\neg\,G meaning that ¬G\neg\,G is observed. In the abductive program Π2,Γ2\langle\,\Pi_{2},\Gamma_{2}\,\rangle, the negative observation O=notarrive_on_timeO=not\,arrive\_on\_time is explained using wdc(r)wdc(r):

accidentnotarrive_on_time.accident\leftarrow not\;arrive\_on\_time.

Then WDC(Π2){O}WDC(\Pi_{2})\cup\{O\} has the answer set {accident}\{\,accident\,\}.

In this way, both AC and DC are used for computing explanations deductively, and DC is used for computing explanations that are not obtained using the framework of (Kakas et al., (1992)). Moreover, AC and DC realize prediction by combining abduction and deduction.

Example 6.6.

Consider (Π3,Γ3)(\Pi_{3},\Gamma_{3}) where

Π3:\displaystyle\Pi_{3}: arrive_on_timenotaccident,\displaystyle arrive\_on\_time\leftarrow not\;accident,
¬arrive_on_timeaccident,\displaystyle\neg\,arrive\_on\_time\leftarrow accident,
newspaperaccident.\displaystyle newspaper\leftarrow accident.
Γ3:\displaystyle\Gamma_{3}: accident.\displaystyle accident.

The third rule in Π3\Pi_{3} says: if there is an accident, a newspaper will report it. Given the observation O=¬arrive_on_timeO=\neg\,arrive\_on\_time, AC(Π3){O}snewspaperAC(\Pi_{3})\cup\{O\}\models_{s}newspaper.

As such, AC or DC combines abduction and deduction to realize prediction.

6.2 Counterfactual Reasoning

A counterfactual is a conditional statement representing what would be the case if its premise were true (although it is not true in fact). Lewis, (1973) introduces two different types of counterfactual sentences. Given two different events φ\varphi and ψ\psi, two counterfactual sentences are considered: “if it were the case that φ\varphi, then it would be the case that ψ\psi” (written φψ\varphi\,\Box\!\!\!\rightarrow\,\psi) and “if it were the case that φ\varphi, then it might be the case that ψ\psi” (written φψ\varphi\,\Diamond\!\!\!\rightarrow\,\psi). Here (φψ)(\varphi\,\Box\!\!\!\rightarrow\,\psi) implies (φψ)(\varphi\,\Diamond\!\!\!\rightarrow\,\psi). We consider counterfactual reasoning such that what would be the case if some facts were not true. We then realize Lewis’s two types of counterfactual reasoning using DA inference in ASP.

Definition 6.7 (counterfact).

Let φ\varphi be a fact of the form:

L1;;Lk;notLk+1;;notLl(1kl).L_{1}\,;\,\cdots\,;\,L_{k}\,;\,not\,L_{k+1}\,;\cdots;\,not\,L_{l}\leftarrow\quad(1\leq k\leq l).

Then the counterfact φ¯\overline{\varphi} is the set of facts such that

φ¯={¬Li 1ik}{Ljk+1jl}.\overline{\varphi}=\{\,\neg\,L_{i}\leftarrow\,\mid\,1\leq i\leq k\,\}\;\cup\;\{\,L_{j}\leftarrow\,\mid\,k+1\leq j\leq l\,\}.

Given a set Σ\Sigma of facts, define

Σ¯=φΣφ¯.\overline{\Sigma}=\bigcup_{\varphi\in\Sigma}\overline{\varphi}.

We say that Σ¯\overline{\Sigma} satisfies the conjunction “Ll+1,,Lm,notLm+1,,notLnL_{l+1},\,\ldots,\,L_{m},\,not\,L_{m+1},\,\ldots,\,not\,L_{n}” if {Lil+1im}Σ¯\{\,L_{i}\leftarrow\,\mid\,l+1\leq i\leq m\}\subseteq\overline{\Sigma} and {Ljm+1in}Σ¯=\{\,L_{j}\leftarrow\,\mid\,m+1\leq i\leq n\}\cap\overline{\Sigma}=\varnothing.

Definition 6.8 (counterfactual program).

Let Π\Pi be a program and Σ\Sigma a set of facts in Π\Pi. Then, a counterfactual program Ω\Omega is defined as

Ω=(ΠΣ)Σ¯sda(Π).\Omega=(\Pi\setminus\Sigma)\;\cup\;\overline{\Sigma}\;\cup\;sda(\Pi).

For λLit\lambda\in Lit, define

Σ¯λifΩsλ,\displaystyle\overline{\Sigma}\;\Box\!\!\!\rightarrow\,\lambda\;\;\mbox{if}\;\;\Omega\models_{s}\lambda,
Σ¯λifΩcλ.\displaystyle\overline{\Sigma}\;\Diamond\!\!\!\rightarrow\,\lambda\;\;\mbox{if}\;\;\Omega\models_{c}\lambda.

By definition, Ω\Omega is obtained from Π\Pi by removing a set Σ\Sigma of facts, and instead introducing a set Σ¯\overline{\Sigma} of counterfacts as well as strong DA rules sda(Π)sda(\Pi). Σ¯λ\overline{\Sigma}\;\Box\!\!\!\rightarrow\,\lambda (resp. Σ¯λ\overline{\Sigma}\;\Diamond\!\!\!\rightarrow\,\lambda) means that if the counterfacts Σ¯\overline{\Sigma} were the case, then λ\lambda is included in every (resp. some) answer set of Ω\Omega.

Example 6.9.

Consider the program Π\Pi:

London;Parisnotvirtual,\displaystyle London\,;\,Paris\leftarrow not\;virtual,
virtualpandemic,\displaystyle virtual\leftarrow pandemic,
pandemic.\displaystyle pandemic\leftarrow.

An event is scheduled to take place in either London or Paris if it is not virtual. The pandemic turns the event into virtual, however. Suppose a counterfactual sentence: “if there were no pandemic, the event would not be virtual”. Putting Σ={pandemic}\Sigma=\{\,pandemic\,\}, Ω\Omega becomes:

London;Parisnotvirtual,\displaystyle London\,;\,Paris\leftarrow not\;virtual,
virtualpandemic,\displaystyle virtual\leftarrow pandemic,
¬Londonvirtual,\displaystyle\neg\,London\leftarrow virtual,
¬Parisvirtual,\displaystyle\neg\,Paris\leftarrow virtual,
¬virtual¬pandemic,\displaystyle\neg\,virtual\leftarrow\neg\,pandemic,
¬pandemic.\displaystyle\neg\,pandemic\leftarrow.

Then, Ω\Omega has two answer sets:

{¬pandemic,¬virtual,London},\displaystyle\{\,\neg\,pandemic,\;\neg\,virtual,\;London\,\},
{¬pandemic,¬virtual,Paris}.\displaystyle\{\,\neg\,pandemic,\;\neg\,virtual,\;Paris\,\}.

As a result, it holds that

{¬pandemic}¬virtualand{¬pandemic}London.\{\neg\,pandemic\}\,\Box\!\!\!\rightarrow\,\neg\,virtual\quad\mbox{and}\quad\{\neg\,pandemic\}\,\Diamond\!\!\!\rightarrow\,London.

Given a consistent program Π\Pi, it might be the case that the program Ω\Omega is inconsistent. To eliminate contradictory Ω\Omega, default DA completion is used instead of DA completion. Define ΩD\Omega_{D} that is obtained by replacing sda(Π)sda(\Pi) by its default version sdda(Π)sdda(\Pi) in Definition 6.8. The next result holds by Proposition 4.12.

Proposition 6.10.

Let Π\Pi be an EDP and Σ\Sigma a set of facts in Π\Pi. If (ΠΣ)Σ¯(\Pi\setminus\Sigma)\,\cup\,\overline{\Sigma} is consistent, then ΩD\Omega_{D} is not contradictory.

Proof 6.11.

Put Π=(ΠΣ)Σ¯\Pi^{\prime}=(\Pi\setminus\Sigma)\,\cup\,\overline{\Sigma}. Since facts are set aside in (SD)DA completion, ΩD=Πsdda(Π)=Πsdda(Π)=SDDA(Π)\Omega_{D}=\Pi^{\prime}\cup sdda(\Pi)=\Pi^{\prime}\cup sdda(\Pi^{\prime})=SDDA(\Pi^{\prime}). Suppose that SDDA(Π)SDDA(\Pi^{\prime}) has the answer set LitLit. Then Π\Pi^{\prime} has the answer set LitLit (Proposition 4.12). Since Π\Pi^{\prime} is an EDP, Π\Pi^{\prime} is inconsistent, which contradicts the assumption that Π\Pi^{\prime} is consistent. Hence, the result holds.

6.3 Neighborhood Inference

Cooperative query answering analyzes the intent of a query and provides associated information relevant to the query (Chu et al., (1990)). Neighborhood inference (Gaasterland et al., (1992)) is a technique used for such a purpose and reasons up/down in a taxonomy of atoms to reach neighboring solutions.

Example 6.12.

A travel agency has flight information represented by the program Π\Pi:

travel(LHR,CDG)flight(AF1681),\displaystyle travel(LHR,CDG)\leftarrow flight(AF1681),
travel(LHR,CDG)flight(BA306),\displaystyle travel(LHR,CDG)\leftarrow flight(BA306),
travel(NRT,CDG)flight(AF275),\displaystyle travel(NRT,CDG)\leftarrow flight(AF275),
flight(BA306),¬flight(AF1681),flight(AF275)\displaystyle flight(BA306)\leftarrow,\;\;\;\neg\,flight(AF1681)\leftarrow,\;\;\;flight(AF275)\leftarrow

where “travel(X,Y)flight(Z)travel(X,Y)\leftarrow flight(Z)” means that a flight ZZ is used for traveling from XX to YY. Suppose that a customer asks the availability of a flight AF1681 from LHR to CDG. Unfortunately, no ticket is available on the requested time of a day. The agent then proposes an alternative flight BA306 that is still available.

In this scenario, from the request flight(AF1681)flight(AF1681) the agent understands that the customer wants to travel from London (LHR) to Paris (CDG). The request flight(AF1681)flight(AF1681) is then relaxed to travel(LHR,CDG)travel(LHR,CDG), and reaches the fact flight(BA306)flight(BA306).

Neighborhood inference consists of two steps: generalization from the body to the head of one rule, and specialization from the head to the body of another rule. The generalization is the inference of affirming the antecedent, while the specialization is the inference of affirming the consequent. Then neighborhood inference is realized by combining AA and AC. In what follows, we consider a binary program Π\Pi that consists of ground rules of the form “L1L2L_{1}\leftarrow L_{2}” where L1L_{1} and L2L_{2} are positive/negative literals (L2L_{2} is possibly empty). Π\Pi is partitioned into the set of non-factual rules ΠR\Pi_{R} and the set of facts ΠF\Pi_{F}, i.e., Π=ΠRΠF\Pi=\Pi_{R}\cup\Pi_{F}.

Definition 6.13 (neighborhood solution).

Let Π\Pi be a binary program such that Π=ΠRΠF\Pi=\Pi_{R}\cup\Pi_{F} and GG a ground literal representing a request. Define

U\displaystyle U =\displaystyle= {rrΠRandbody+(r)={G}},\displaystyle\{\,r\,\mid\,r\in\Pi_{R}\;\mbox{and}\;body^{+}(r)=\{G\}\,\},
V\displaystyle V =\displaystyle= {rrΠRUandhead+(r)=head+(r)for somerU}.\displaystyle\{\,r^{\prime}\,\mid\,r^{\prime}\in\Pi_{R}\setminus U\;\mbox{and}\;head^{+}(r^{\prime})=head^{+}(r)\;\mbox{for some}\;r\in U\,\}.

If UU and VV are non-empty and ΠRac(V){G}\Pi_{R}\cup ac(V)\cup\{G\} has a consistent answer set SS, then SΠFS\cap\Pi_{F} is called a neighborhood solution of GG.

By definition, the AC completion is applied to a part of the program, which realizes neighborhood inference based on a request.

Example 6.14 (cont. Example 6.12).

Given the request G=flight(AF1681)G=flight(AF1681), U={travel(LHR,CDG)flight(AF1681)}U=\{\,travel(LHR,CDG)\leftarrow flight(AF1681)\,\} and V={travel(LHR,CDG)flight(BA306)}V=\{\,travel(LHR,CDG)\leftarrow flight(BA306)\,\}. Then ac(V)={flight(BA306)travel(LHR,CDG)}ac(V)=\{\,flight(BA306)\leftarrow travel(LHR,CDG)\,\}, and ΠRac(V)\Pi_{R}\cup ac(V) becomes

travel(LHR,CDG)flight(AF1681),\displaystyle travel(LHR,CDG)\leftarrow flight(AF1681),
travel(LHR,CDG)flight(BA306),\displaystyle travel(LHR,CDG)\leftarrow flight(BA306),
travel(NRT,CDG)flight(AF275),\displaystyle travel(NRT,CDG)\leftarrow flight(AF275),
flight(BA306)travel(LHR,CDG).\displaystyle flight(BA306)\leftarrow travel(LHR,CDG).

ΠRac(V){G}\Pi_{R}\cup ac(V)\cup\{G\} has the answer set

S={flight(AF1681),flight(BA306),travel(LHR,CDG)}.S=\{\,flight(AF1681),\,flight(BA306),\,travel(LHR,CDG)\,\}.

Hence, SΠF={flight(BA306)}S\cap\Pi_{F}=\{flight(BA306)\} is a neighborhood solution of GG.

Proposition 6.15.

Let Π\Pi be a binary program and GG a ground literal representing a request. If  UU and VV in Def. 6.13 are non-empty and AC(Π){G}AC(\Pi)\cup\{G\} is consistent, GG has a neighborhood solution.

Proof 6.16.

Since ΠRac(V)AC(Π)\Pi_{R}\cup ac(V)\subseteq AC(\Pi), ΠRac(V){G}\Pi_{R}\cup ac(V)\cup\{G\} has a consistent answer set SS. In this case, GG has a neighborhood solution SΠFS\cap\Pi_{F}.

7 Related Work

There is a number of studies on human conditional reasoning in psychology and cognitive science. In this section, we focus on related work based on logic programming and its application to common sense reasoning.

7.1 Completion

The idea of interpreting if-then rules in logic programs as bi-conditional dates back to Clark, (1978). He introduces predicate completion in normal logic programs (NLPs), which introduces the only-if part of each rule to a program. Given a propositional NLP Π\Pi, Clark completion Comp(Π)Comp(\Pi) is obtained by two steps: (i) all rules “pB1p\leftarrow B_{1}”, \ldots , “pBkp\leftarrow B_{k}” in Π\Pi having the same head pp are replaced by “pB1Bkp\leftrightarrow B_{1}\vee\cdots\vee B_{k}”, where BiB_{i} (1ik)(1\leq i\leq k) is a conjunction of literals; and (ii) for any atom pp appearing in the head of no rule in Π\Pi, add “p𝑓𝑎𝑙𝑠𝑒p\leftrightarrow\mathit{false}”. The AC completion introduced in this paper extends the technique to the class of GEDP, while the result is generally different from Clark completion in NLPs. For instance, given the program:

Π1={pq,p},\Pi_{1}=\{\,p\leftarrow q,\;\;\;p\leftarrow\,\},

Clark completion becomes

Comp(Π1)={pq,q}Comp(\Pi_{1})=\{\,p\leftrightarrow q\vee\top,\;\;\;q\leftrightarrow\bot\,\}

where \top and \bot represent true and false, respectively. Comp(Π1)Comp(\Pi_{1}) has the single completion model called a supported model (Apt et al., (1988)) {p}\{p\}. In contrast,

AC(Π1)=Π1{qp}AC(\Pi_{1})=\Pi_{1}\cup\{\,q\leftarrow p\,\}

has the answer set {p,q}\{p,q\}. The difference comes from the fact that in Comp(Π1)Comp(\Pi_{1}), qq is identified with false but this is not the case in AC(Π1)AC(\Pi_{1}). In Clark completion undefined atoms (i.e., atoms appearing in the head of no rule) are interpreted false. We do not use this type of completion because it disturbs the basic type of AC reasoning that infers qq from pp and “pqp\leftarrow q”. Clark completion is extended to normal disjunctive programs by several researchers (Lobo et al., (1988); Alviano and Dodaro, (2016); Nieves and Osorio, (2018)). Those extensions reduce to Clark completion in NLPs, so that they are different from the AC completion. We also introduce the DC completion and the DA completion. When Π2={pnotq}\Pi_{2}=\{\,p\leftarrow not\,q\,\}, Comp(Π2)={p¬q,q}Comp(\Pi_{2})=\{\,p\leftrightarrow\neg q,\;\;q\leftrightarrow\bot\,\} has the supported model {p}\{p\}. On the other hand,

WDC(Π2)=Π2{qnotp}WDC(\Pi_{2})=\Pi_{2}\cup\{\,q\leftarrow not\,p\,\}

has two answer sets {p}\{p\} and {q}\{q\}. When Π3={pnotq,pq,qp}\Pi_{3}=\{\,p\leftarrow not\,q,\;\;p\leftarrow q,\;\;q\leftarrow p\,\}, Comp(Π3)={pq¬q,qp}Comp(\Pi_{3})=\{\,p\leftrightarrow q\vee\neg q,\;\;q\leftrightarrow p\,\} has the supported model {p,q}\{p,q\}. In contrast,

WDA(Π3)=Π3{notpq,notq,notqnotp}WDA(\Pi_{3})=\Pi_{3}\cup\{\,not\,p\leftarrow q,not\,q,\;\;not\,q\leftarrow not\,p\,\}

has no answer set. As such, completion semantics introduced in this paper is generally different from Clark completion in NLPs.

The weak completion (Hölldobler and Kencana Ramli, (2009)) leaves undefined atoms unknown under 3-valued logic. In the program Π1={pq,p}\Pi_{1}=\{\,p\leftarrow q,\;\;p\leftarrow\,\}, the weak completion becomes

wcomp(Π1)={pq}wcomp(\Pi_{1})=\{\,p\leftrightarrow q\vee\top\,\}

which is semantically equivalent to {p}\{\,p\leftrightarrow\top\,\}. Then pp is true but qq is unknown in wcomp(Π1)wcomp(\Pi_{1}), which is again different from AC(Π1)AC(\Pi_{1}) that has the answer set {p,q}\{p,q\}. In the program Π2={pnotq}\Pi_{2}=\{\,p\leftarrow not\,q\,\}, the weak completion becomes

wcomp(Π2)={p¬q}wcomp(\Pi_{2})=\{\,p\leftrightarrow\neg q\,\}

then both pp and qq are unknown. In contrast, WDC(Π2)WDC(\Pi_{2}) has two answer sets {p}\{p\} and {q}\{q\}, and WDA(Π2)WDA(\Pi_{2}) has the single answer set {p}\{p\}.

7.2 Human Conditional Reasoning

Stenning and Lambalgen, (2008) formulate human conditional reasoning using Clark’s program completion under the three-valued logic of (Fitting, (1985)). They represent a conditional sentence “if pp then qq” as a logic programming rule:888They write it “p¬abqp\wedge\neg ab\rightarrow q” but we use the standard writing in LP.

qp¬abq\leftarrow p\wedge\neg ab

where abab represents an abnormal atom. In this setting, DA is represented as

Π1={p,qp¬ab,ab}.\Pi_{1}=\{\,p\leftarrow\bot,\;\;\;q\leftarrow p\wedge\neg ab,\;\;\;ab\leftarrow\bot\,\}.

The rule “AA\leftarrow\bot” means that AA is a proposition to which the closed world assumption (Reiter, (1978)) is applied. If a program does not contain “AA\leftarrow\bot”, nor any other rule in which AA occurs in its head, then AA is interpreted unknown. Then its completion

Comp(Π1)={p,qp¬ab,ab}Comp(\Pi_{1})=\{\,p\leftrightarrow\bot,\;\;\;q\leftrightarrow p\wedge\neg ab,\;\;\;ab\leftrightarrow\bot\,\}

derives “qq\leftrightarrow\bot”. On the other hand, completion does not realize AC or DC inference by itself. In their framework, AC is represented as

Π2={q,qp¬ab,ab}\Pi_{2}=\{\,q\leftarrow\top,\;\;q\leftarrow p\wedge\neg ab,\;\;ab\leftarrow\bot\,\}

while its completion

Comp(Π2)={q(p¬ab),ab}Comp(\Pi_{2})=\{\,q\leftrightarrow\top\vee(p\wedge\neg ab),\;\;ab\leftrightarrow\bot\,\}

does not derive pp. Likewise, DC is represented as

Π3={q,qp¬ab,ab}\Pi_{3}=\{\,q\leftarrow\bot,\;\;q\leftarrow p\wedge\neg ab,\;\;ab\leftarrow\bot\,\}

while its completion

Comp(Π3)={q(p¬ab),ab}Comp(\Pi_{3})=\{\,q\leftrightarrow\bot\vee(p\wedge\neg ab),\;\;ab\leftrightarrow\bot\,\}

does not derive “pp\leftrightarrow\bot”. They then interpret “qp¬abq\leftarrow p\wedge\neg ab” as an integrity constraint meaning that “if qq succeeds (resp. fails) then ‘p¬abp\wedge\neg ab’ succeeds (resp. fails)” to get the AC consequence pp (resp. DC consequence ¬p\neg p).

Stenning and Lambalgen, (2008) characterize the suppression task in their formulation. The sentence “If she has an essay to write then she will study late in the library” is represented as:

libraryessay¬ab1.library\;\leftarrow\;essay\wedge\neg ab_{1}.

Given the negation of antecedent ¬essay\neg essay (or equivalently, the CWA rule “essayessay\leftarrow\bot”), the completed program:

libraryessay¬ab1,\displaystyle library\;\leftrightarrow essay\wedge\neg ab_{1},
ab1,\displaystyle ab_{1}\leftrightarrow\bot,
essay\displaystyle essay\leftrightarrow\bot

derives “librarylibrary\leftrightarrow\bot”. Next, suppose that the conditional with an alternative antecedent: “If she has some textbooks to read then she will study late in the library” is given. The program becomes

libraryessay¬ab1,\displaystyle library\;\leftarrow\;essay\wedge\neg ab_{1},
librarytext¬ab2.\displaystyle library\;\leftarrow\;text\wedge\neg ab_{2}.

Given the fact ¬essay\neg essay (or equivalently, the CWA rule “essayessay\leftarrow\bot”), the completed program:

library(essay¬ab1)(text¬ab2),\displaystyle library\;\leftrightarrow\;(essay\wedge\neg ab_{1})\vee(text\wedge\neg ab_{2}),
ab1,\displaystyle ab_{1}\leftrightarrow\bot,
ab2,\displaystyle ab_{2}\leftrightarrow\bot,
essay\displaystyle essay\leftrightarrow\bot

does not derive “librarylibrary\leftrightarrow\bot”. Thus, the DA inference is suppressed. They also characterize Byrne’s suppression of valid inference. Suppose the conditional with an additional antecedent: “If the library stays open then she will study late in the library”. The program becomes

libraryessay¬ab1,\displaystyle library\;\leftarrow\;essay\wedge\neg ab_{1},
libraryopen¬ab3.\displaystyle library\;\leftarrow\;open\wedge\neg ab_{3}.

They also introduce interaction of abnormality atoms as

ab1¬open,\displaystyle ab_{1}\leftarrow\neg open,
ab3¬essay.\displaystyle ab_{3}\leftarrow\neg essay.

Completing these four rules with “ab1ab_{1}\leftarrow\bot” and “ab3ab_{3}\leftarrow\bot” produces

library(essay¬ab1)(open¬ab3),\displaystyle library\leftrightarrow(essay\wedge\neg ab_{1})\vee(open\wedge\neg ab_{3}),
ab1¬open,\displaystyle ab_{1}\leftrightarrow\neg open\vee\bot,
ab3¬essay,\displaystyle ab_{3}\leftrightarrow\neg essay\vee\bot,

which reduces to

libraryopenessay.library\leftrightarrow open\wedge essay.

Then, essayessay alone does not deduce librarylibrary, so the AA inference is suppressed. Stenning and Lambalgen, (2008) argue that most people represent the effect of an additional premise formally as “pqrp\leftarrow q\wedge r” and that of an alternative premise formally as “pqrp\leftarrow q\vee r”. This argument coincides with our view addressed in Section 5.1.

Dietz et al., (2012) point out a technical flaw in the formulation by (Stenning and Lambalgen, (2008)). In the above example, open and library are unknown (U) under the 3-valued logic, then the rule “libraryopen¬ab3library\,\leftarrow\,open\wedge\neg ab_{3}” becomes “𝖴𝖴{\mathsf{U}}\leftarrow{\mathsf{U}}”. Under the Fitting semantics, however, the truth value of the rule “𝖴𝖴{\mathsf{U}}\leftarrow{\mathsf{U}}” is 𝖴{\mathsf{U}}, then it does not represent the truth of the rule “libraryopen¬ab3library\,\leftarrow\,open\wedge\neg ab_{3}”. To remedy the problem, they employ Łukasiewicz’s 3-valued logic which maps “𝖴𝖴{\mathsf{U}}\leftarrow{\mathsf{U}}” to \top. Dietz et al., (2012) also characterize the suppression effects in AC or DC using an abductive logic program Π,Γ\langle\,\Pi,\Gamma\,\rangle with abducibles Γ={p,p}\Gamma=\{\,p\leftarrow\bot,\;\;p\leftarrow\top\,\}. Consider Π1,Γ1\langle\,\Pi_{1},\Gamma_{1}\,\rangle where

Π1:\displaystyle\Pi_{1}: libraryessay¬ab1,\displaystyle library\leftarrow essay\wedge\neg ab_{1},
ab1,\displaystyle ab_{1}\leftarrow\bot,
Γ1:\displaystyle\Gamma_{1}: essay,essay,\displaystyle essay\leftarrow\bot,\;\;\;essay\leftarrow\top,

the weakly completed program of Π1\Pi_{1} becomes

libraryessay¬ab1,\displaystyle library\leftrightarrow essay\wedge\neg ab_{1},
ab1.\displaystyle ab_{1}\leftrightarrow\bot.

The observation O=(library)O=(library\leftrightarrow\top) derives “essayessay\leftrightarrow\top”, then “essayessay\leftarrow\top” is the skeptical explanation of OO. When the additional rules and abducibles

Π2:\displaystyle\Pi_{2}: librarytext¬ab2,\displaystyle library\leftarrow text\wedge\neg ab_{2},
ab2,\displaystyle ab_{2}\leftarrow\bot,
Γ2:\displaystyle\Gamma_{2}: text,text\displaystyle text\leftarrow\bot,\;\;\;text\leftarrow\top

are given, the weakly completed program of Π1Π2\Pi_{1}\cup\Pi_{2} becomes

library(essay¬ab1)(text¬ab2),\displaystyle library\leftrightarrow(essay\wedge\neg ab_{1})\vee(text\wedge\neg ab_{2}),
ab1,\displaystyle ab_{1}\leftrightarrow\bot,
ab2.\displaystyle ab_{2}\leftrightarrow\bot.

The observation O=(library)O=(library\leftrightarrow\top) derives “essaytextessay\vee text\leftrightarrow\top”, and there are two credulous explanations “essayessay\leftarrow\top” and “texttext\leftarrow\top” in Γ1Γ2\Gamma_{1}\cup\Gamma_{2}. In this case, “essayessay\leftarrow\top” is not concluded under skeptical reasoning, which represents the suppression of AC.

Comparing the above mentioned two studies with our approach, there are several differences. First, they translate a conditional sentence “if pp then qq” into the rule “qp¬abq\leftarrow p\wedge\neg\,ab”. However, it is unlikely that people who commit logical fallacies, especially younger children (Rumain et al., (1983)), translate the conditional sentence into the rule of the above complex form in their mind. We represent the conditional sentence directly as “qpq\leftarrow p”, and assume that people would interpret it as bi-conditional depending on the context in which it is used. Second, in order to characterize AC or DC reasoning, Stenning and Lambalgen, (2008) interpret a conditional sentence as an integrity constraint, while (Dietz et al., (2012)) uses abductive logic programs. Our framework does not need a specific interpretation of rules (such as integrity constraints) nor need an extra mechanism of abductive logic programs. Third, they use a single (weak) completion for all AC/DA/DC reasoning, while we introduce different types of completions for each inference. By separating respective completions, individual inferences are realized in a modular way and freely combined depending on their application context. For instance, we use AC and (S)DA completion to characterize the suppression task (Section 5.1), while use AC and (W)DC completion to characterize Wason selection task (Section 5.2). Fourth, they handle normal logic programs, while our framework can handle a more general class of logic programs containing disjunction and two different types of negation. For instance, consider the rule: “buy_car;buy_housewin_lotterybuy\_car\,;\,buy\_house\leftarrow win\_lottery” (if she wins the lottery, she buys a car or a house). When it is known that buy_carbuy\_car is true, one may infer win_lotterywin\_lottery by AC inference. The AC completion realizes such an inference by introducing rules: “win_lotterybuy_carwin\_lottery\leftarrow buy\_car” and “win_lotterybuy_housewin\_lottery\leftarrow buy\_house”.

Cramer et al., (2021) represent conditionals as in (Stenning and Lambalgen, (2008)) and use the weak completion and abductive logic programs as in (Dietz et al., (2012)). They formulate different types of conditionals based on their contexts and argue in which case AC or DC is more likely to happen. More precisely, a conditional sentence whose consequent appears to be obligatory given the antecedent is called an obligation conditional. An example of an obligation conditional is that “if Paul rides a motorbike, then he must wear a helmet”. If the consequence of a conditional is not obligatory, then it is called a factual conditional. The antecedent AA of a conditional sentence is said to be necessary iff its consequent CC cannot be true unless AA is true. For example, the library’s being open is a necessary antecedent for studying in the library. Cramer etal.et\,al. argue that AA and DA occur independently of the type of a conditional. On the other hand, in AC most people will conclude AA from “ACA\Rightarrow C” and CC, while the number of people who conclude nothing will increase if AA is a non-necessary antecedent. In DC, most people will conclude ¬A\neg\,A from “ACA\Rightarrow C” and ¬C\neg\,C, while the number of people who conclude nothing will increase if the conditional is factual. Those assumptions are verified by questioning participants who do not receive any education in logic beyond high school training. They then formulate the situation by introducing the abducible “CC\leftarrow\top” if the antecedent is non-necessary, and “abab\leftarrow\top” if the conditional is factual. In the former case, the observation CC does not imply AA because the additional “CC\leftarrow\top” can make CC explainable by itself. As a result, AA is not a skeptical explanation of CC. In the latter case, the observation ¬C\neg\,C does not imply ¬A\neg\,A because if one employs the explanation “abab\leftarrow\top” then “CA¬abC\leftarrow A\wedge\neg ab” does not produce “CAC\leftrightarrow A”.

Dietz et al., (2022) use logic programming rules to represent different types of conditionals. For instance,

𝖼oncl𝗉rem(x),𝗌ufficient(x){\mathsf{c}oncl}\leftarrow{\mathsf{p}rem(x)},\,{\mathsf{s}ufficient(x)}

represents MP that 𝖼oncl{\mathsf{c}oncl} follows if a sufficient premise is asserted to be true. By contrast,

𝗇ot_concl𝗇ot_prem(x),𝗇ecessary(x){\mathsf{n}ot\_concl}\leftarrow{\mathsf{n}ot\_prem(x)},\,{\mathsf{n}ecessary(x)}

represents DA that 𝖼oncl{\mathsf{c}oncl} does not follow if a necessary premise is asserted to be false. With these rules, Byrne’s suppression effect is represented as follows. First, given the fact 𝗉rem(essay){\mathsf{p}rem(essay)} and 𝗌ufficient(essay){\mathsf{s}ufficient(essay)},

𝗅ibrary𝗉rem(essay),𝗌ufficient(essay){\mathsf{l}ibrary}\leftarrow{\mathsf{p}rem(essay)},\,{\mathsf{s}ufficient(essay)}

implies 𝗅ibrary{\mathsf{l}ibrary}. Next, given the additional fact 𝗇ecessary(open){\mathsf{n}ecessary(open)} and in the absence of 𝗉rem(open){\mathsf{p}rem(open)},

𝗇ot_library𝗇ot_prem(open),𝗇ecessary(open){\mathsf{n}ot\_library}\leftarrow{\mathsf{n}ot\_prem(open)},\,{\mathsf{n}ecessary(open)}

has the effect of withdrawing 𝗅ibrary{\mathsf{l}ibrary}. In the current study, we do not distinguish different types of conditionals as in (Cramer et al., (2021); Dietz et al., (2022)). However, completion is done for individual rules, so we could realize partial completion by selecting rules ΠΠ\Pi^{\prime}\subseteq\Pi that are subject to be completed in practice. More precisely, if a program Π\Pi consists of rules R1R_{1} having necessary antecedents and R2R_{2} having non-necessary antecedents, apply AC completion to R1R_{1} while keep R2R_{2} as they are. The resulting program then realizes AC inference using R1R_{1} only. Likewise, if a program Π\Pi consists of rules R3R_{3} having obligatory consequents and R4R_{4} having factual consequents, apply DC completion to R3R_{3} while keep R4R_{4} as they are. The resulting program then realizes DC inference using R3R_{3} only. Such a partial completion is also effectively used for commonsense reasoning in this paper (Proposition 6.3(ii), Definition 6.13).

7.3 Commonsense Reasoning

Console et al., (1991) and (Fung and Kowalski, (1997)) compute abduction by deduction using Clark completion. Abduction using AC and DC completion is close to those approaches, while the approach based on Clark completion is restricted to normal logic programs (NLPs). We argued that a (positive) observation O=¬GO=\neg G is distinguished from a negative observation O=notGO=not\,G, but such a distinction is not considered in NLPs handling only default negation. Inoue and Sakama, (1999) introduce transaction programs to compute extended abduction. Extended abduction computes explanations for not only (positive) observations but also negative ones. A transaction program is constructed based on the converse of conditionals, and its semantics is operationally given as a fixpoint of the program. A transaction program is a meta-level specification of the procedure and is different from the current approach. Moreover, a transaction program is defined for NLPs only.

Pereira etal.et\,al. (1991; 2017) realize counterfactual reasoning in logic programming. In (Pereira et al., (1991)), a counterfactual conditional “φ>ψ\varphi>\psi” (meaning φψ\varphi\,\Box\!\!\!\rightarrow\,\psi) is evaluated in a program Π\Pi by adding φ\varphi to Π\Pi and computing the maximal non-contradictory submodels of the new program. Then the counterfactual conditional is true iff ψ\psi holds in all such submodels. Pereira and Saptawijaya, (2017) first use abduction to compute possible causes of an event. Next, they assume counterfactual assumption and verify whether an expected outcome will happen under possible causes. These studies consider extended/normal logic programs under the well-founded semantics and realize counterfactual reasoning via program revision or abductive reasoning. Unlike our approach, they do not introduce new rules for DA inference in counterfactual reasoning.

Gaasterland et al., (1992) introduce neighborhood inference for query answering in Horn logic programs. The scope of a query is expanded by relaxing the specification, which allows a program to return answers related to the original query. They introduce a meta-interpreter to realize it and argue for control strategies. We show that similar reasoning is simulated in ASP using the AC completion.

8 Conclusion

This paper studies a method of realizing human conditional reasoning in ASP. Different types of completions are introduced to realize logically invalid inferences AC and DA as well as a logically valid inference DC. They are applied to representing human reasoning tasks in the literature, and are also used for computing common sense reasoning in AI. In psychology and cognitive science, empirical studies show that people perform AC, DA or DC inference depending on the context in which a conditional sentence is used. We could import the results of those studies and encode knowledge in a way that people are likely to use it. The proposed theory is used for such a purpose to realize pragmatic inference in ASP and produce results that are close to human reasoning in practice.

Completions introduced in this paper are defined in a modular way, so one can apply respective completion to specific rules of a program according to their contexts. They are combined freely and can be mixed in the same program. Those completions are general in the sense that they are applied to logic programs containing disjunction, explicit and default negation. Since a completed program is still in the class of GEDPs and a GEDP is transformed to a semantically equivalent EDP (Inoue and Sakama, (1998)), answer sets of completed programs are computed using existing answer set solvers.

References

  • Alviano and Dodaro, (2016) Alviano, M. & Dodaro, C. 2016. Completion of disjunctive logic programs. In: Proceedings of the 25th International Joint Conference on Artificial Intelligence, pp. 886–892.
  • Apt et al., (1988) Apt, K. R., Blair, H. A. & Walker, A. 1988. Towards a theory of declarative knowledge. In: J. Minker (ed.), Foundations of Deductive Databases and Logic Programming, Morgan Kaufmann, pp. 89–148.
  • Braine, (1978) Braine, M. D. S. 1978. On the relation between the natural logic of reasoning and standard logic. Psychological Review 85:1–21.
  • Braine and O’Brien, (1998) Braine, M. D. S. & O’Brien, D. P. (eds.) 1998. Mental Logic. Mahwah, NJ: Erlbaum.
  • Byrne, (1989) Byrne, R. M. J. 1989. Suppressing valid inferences with conditionals. Cognition 31(1), pp. 61–83.
  • Byrne, (2005) Byrne, R. M. J. 2005. The Rational Imagination: How People Create Alternatives to Reality. Cambridge, MA: MIT Press.
  • Cheng and Holyoak, (1985) Cheng, P. W. & Holyoak, H. J. 1985. Pragmatic reasoning schemas. Cognitive Psychology 17:391–416.
  • Chu et al., (1990) Chu, W. W., Chen, Q. & Lee, R.-C. 1990. Cooperative query answering via type abstraction hierarchy. In: S. M. Deen (ed.), Cooperating Knowledge Based Systems, Springer, pp. 271–290.
  • Clark, (1978) Clark, K. L. 1978. Negation as failure. In: H. Gallaire and J. Minker (eds.), Logic and Data Bases, Plenum Press, pp. 293–322.
  • Console et al., (1991) Console, L., Dupré, D. T. & Torasso, P. 1991. On the relationship between abduction and deduction. Journal of Logic and Computation 1, pp. 661–690.
  • Cosmides and Tooby, (1992) Cosmides, L. & Tooby, J. 1992. Cognitive adaptions for social exchange. In Barkow, J., Cosmides, L., Tooby, J. (eds.). The adapted mind: Evolutionary psychology and the generation of culture. New York: Oxford University Press. pp. 163–228.
  • Cramer et al., (2021) Cramer, M., Hölldobler, S. & Ragnl, M. 2021. Modeling human reasoning about conditionals. In: Proceedings of the 19th International Workshop on Non-Monotonic Reasoning (NMR-21), pp. 223–232.
  • Dietz et al., (2012) Dietz, E., Hölldobler, S. & Ragni, M. 2012. A computational approach to the suppression task. In: Proceedings of the 34th Annual Conference of the Cognitive Science Society, pp. 1500–1505.
  • Dietz et al., (2022) Dietz, E., Fichte, J. K. & Hamiti, F. 2022. A quantitative symbolic approach to individual human reasoning. In: Proceedings of the 44th Annual Conference of the Cognitive Science Society, pp. 2838–2846.
  • Eichhorn et al., (2018) Eichhorn, C., Kern-Isberner, G. & Ragni, M. 2018. Rational inference patterns based on conditional logic. In: Proceedings of the 32nd AAAI Conference on Artificial Intelligence (AAAI-18), pp. 1827–1834.
  • Fitting, (1985) Fitting, M. 1985. A Kripke-Kleene semantics for logic programs. Journal of Logic Programming 2, pp. 295–312.
  • Fung and Kowalski, (1997) Fung, T. H. & Kowalski, R. 1997. The iff procedure for abductive logic programming. Journal of Logic Programming 33, pp. 151–165.
  • Gaasterland et al., (1992) Gaasterland, T., Godfrey, P. & Minker, P. 1992. Relaxation as a platform for cooperative answering. Journal of Intelligence Information Systems 1(3/4):293–321.
  • Geis and Zwicky, (1971) Geis, M. L. & Zwicky, A. 1971. On invited inferences. Linguistic Inquiry 2, pp. 561–566.
  • Gelfond and Lifschitz, (1991) Gelfond, M. & Lifschitz, V. 1991. Classical negation in logic programs and disjunctive databases. New Generation Computing 9 (3&4), pp. 365–385.
  • Griggs and Cox, (1982) Griggs, R. A. & Cox, J. R. 1982. The elusive thematic-materials effect in Wason’s selection task. British journal of psychology 73(3), pp. 407–420.
  • Hölldobler and Kencana Ramli, (2009) Hölldobler, S. & Kencana Ramli, C. D. 2009. Logic programs under three-valued Lukasiewicz’s semantics. In: Proceedings of the 25th International Conference on Logic Programming, Lecture Notes in Computer Science, vol. 5649, Springer, pp. 464–478.
  • Horn, (2000) Horn, L. R. 2000. From if to iff: conditional perfection as pragmatic strengthening. Journal of Pragmatics 32, pp. 289–326.
  • Inoue and Sakama, (1998) Inoue, K. & Sakama, C. 1998. Negation as failure in the head. Journal of Logic Programming 35(1), pp. 39–78.
  • Inoue and Sakama, (1999) Inoue, K. & Sakama, C. 1999. Computing extended abduction through transaction programs. Annals of Mathematics and Artificial Intelligence 25(3&4), pp. 339–367.
  • Johnson-Laird, (1983) Johnson-Laird, P. N. 1983. Mental models. Cambridge, MA: Harvard University Press.
  • Kakas et al., (1992) Kakas, A. C., Kowalski, R. A. & Toni, F. 1992. Abductive logic programming. Journal of Logic and Computation 2(6), pp. 719–770.
  • Kowalski, (2011) Kowalski, R. A. 2011. Computational Logic and Human Thinking: How to be Artificially Intelligent. Cambridge University Press.
  • Lifschitz and Woo, (1992) Lifschitz, V. & Woo, T. Y. C. 1992. Answer sets in general nonmonotonic reasoning (preliminary report). In: B. Nebel, C. Rich, and W. Swartout (eds.), Principles of Knowledge Representation and Reasoning: Proceedings of the Third International Conference, Morgan Kaufmann, pp. 603–614.
  • Lifschitz et al., (2001) Lifschitz, V., Pearce, D. & Valverde, A. 2001. Strongly equivalent logic programs. ACM Transactions on Computational Logic 2, pp. 526–541.
  • Lewis, (1973) Lewis, D. 1973. Counterfactuals. Blackwell Publishing.
  • Lobo et al., (1988) Lobo, J., Minker, J. & Rajasekar, A. 1988. Weak completion theory for non-Horn programs. In: R. A. Kowalski and K. A. Bowen (eds.), Proceedings of the Fifth lnternational Conference and Symposium on Logic Programming, MIT Press, Cambridge, MA, pp. 828–842.
  • Nieves and Osorio, (2018) Nieves, J. C. & Osorio, M. 2018. Extending well-founded semantics with Clark’s completion for disjunctive logic programs. Hindawi Scientific Programming, Article ID 4157030.
  • Oaksford and Chater, (2001) Oaksford, M. & Chater, N. 2001. The probabilistic approach to human reasoning. Trends in Cognitive Science 5, pp. 349–357.
  • Pereira et al., (1991) Pereira, L. P., Aparício, J. N. & Alferes, J. J. 1991. Counterfactual reasoning based on revising assumptions. In: Logic Programming, Proceedings of the 1991 International Symposium, MIT Press, pp. 566–577.
  • Pereira and Saptawijaya, (2017) Pereira, L. P. & Saptawijaya, A. 2017. Counterfactuals in logic programming. In: Programming Machine Ethics, Springer, pp. 81–93.
  • Reiter, (1978) Reiter, R. 1978. On closed world data bases. In: H. Gallaire and J. Minker (eds.), Logic and Data Bases, Plenum Press, pp. 119–140.
  • Reiter, (1980) Reiter, R. 1980. A logic for default reasoning. Artificial Intelligence 13:81–132.
  • Rumain et al., (1983) Rumain, B., Connell, J., & Braine, M. D. S. 1983. Conversational comprehension processes are responsible for reasoning fallacies in children as well as adults: IF is not the biconditional. Developmental Psychology 19:471–481.
  • Sakama and Inoue, (1995) Sakama, C. & Inoue, K. 1995. Paraconsistent stable semantics for extended disjunctive programs. Journal of Logic and Computation 5(3):265–285.
  • Stenning and Lambalgen, (2008) Stenning, K. & van Lambalgen, M. 2008. Human Reasoning and Cognitive Science, MIT Press.
  • Wason, (1968) Wason,, P. C. 1968. Reasoning about a rule. Quarterly Journal of Experimental Psychology 20:273–281.
  • Wason and Shapiro, (1971) Wason, P. C. & Shapiro, D. 1971. Natural and contrived experience in a reasoning problem. Quarterly Journal of Experimental Psychology 23:63–71.