arXiv:cs/0302029v1 [cs.AI] 20 Feb 2003
To appear in Theory and Practice of Logic Programming
1
Defeasible Logic Programming
An Argumentative Approach
Alejandro J. Garcı́a
Guillermo R. Simari
[email protected]
[email protected]
Departament of Computer Science & Engineering
Universidad Nacional del Sur - Bahı́a Blanca - Argentina
Abstract
The work reported here introduces Defeasible Logic Programming (DeLP), a formalism
that combines results of Logic Programming and Defeasible Argumentation. DeLP provides the possibility of representing information in the form of weak rules in a declarative
manner, and a defeasible argumentation inference mechanism for warranting the entailed
conclusions.
In DeLP an argumentation formalism will be used for deciding between contradictory
goals. Queries will be supported by arguments that could be defeated by other arguments.
A query q will succeed when there is an argument A for q that is warranted, i. e. the
argument A that supports q is found undefeated by a warrant procedure that implements
a dialectical analysis.
The defeasible argumentation basis of DeLP allows to build applications that deal with
incomplete and contradictory information in dynamic domains. Thus, the resulting approach is suitable for representing agent’s knowledge and for providing an argumentation
based reasoning mechanism to agents.
1 Introduction
Research in Nonmonotonic Reasoning, Logic Programming, and Argumentation
have provided important results seeking to develop more powerful tools for knowledge representation and common sense reasoning. Advances in those areas are leading to important and useful results for other areas such as the development of
intelligent agents and multi-agent system applications.
The work reported here introduces Defeasible Logic Programming (DeLP), a formalism that combines results of Logic Programming and Defeasible Argumentation.
DeLP provides the possibility of representing information in the form of weak rules
in a declarative manner, and a defeasible argumentation inference mechanism for
warranting the entailed conclusions. These weak rules are the key element for introducing defeasibility (Pollock, 1995) and they will be used to represent a relation
between pieces of knowledge that could be defeated after all things are considered.
We believe that common sense reasoning should be defeasible in a way that is not
explicitly programmed. Defeat should be the result of a global consideration of the
corpus of knowledge of the agent performing the inference. Defeasible Argumentation provides the tools for doing this.
2
Alejandro J. Garcı́a
and
Guillermo R. Simari
Defeasible Argumentation is a relatively young area, but already mature enough
to provide solutions for other areas. Argumentative Systems are now being applied
for developing applications in legal systems, negotiation among agents, decision
making, etc, (Prakken & Vreeswijk, 2000; Chesñevar et al., 2000; Garcı́a et al., 2000).
As we will show below, DeLP considers two kinds of program rules: defeasible
rules used for representing weak or tentative information, like “a mammal does not
fly”, denoted ∼flies —< mammal , and strict rules used for representing strict (sound)
knowledge, like mammal ← dog, “a dog is a mammal”. Syntactically, the symbol
“—<” is all that distinguishes a defeasible rule from a strict one. Pragmatically, a
defeasible rule is used to represent defeasible knowledge, i. e., tentative information
that may be used if nothing could be posed against it.
Defeasible rules will add a new representational capability for expressing a weaker
link between the head and the body in a rule. A defeasible rule “Head —< Body ” is
understood as expressing that “reasons to believe in the antecedent Body provide
reasons to believe in the consequent Head ” (Simari & Loui, 1992). Strong negation is allowed in the head of program rules, and hence may be used to represent
contradictory knowledge.
Although strong negation has been introduced in several extensions of Logic
Programming, many of those extensions handle contradictory programs in a way
we feel could be improved. DeLP incorporates an argumentation formalism for the
treatment of contradictory knowledge. This formalism allows the identification of
the pieces of knowledge that are in contradiction. A dialectical process is used
for deciding which information prevails. In particular, the argumentation based
definition of the inference relation makes it possible to incorporate a treatment
of preferences in an elegant way. In DeLP a query q will succeed when there is
an argument A for q that is warranted. Intuitively, an argument is a minimal set
of rules used to derive a conclusion. The warrant procedure involves looking for
counter-arguments that could defeat A.
Donald Nute in (Nute, 1994) remarks “An inference is defeasible if it can be
blocked or defeated in some way”. Weak rules provide the locus where the blocking
or defeating might occur. A query q will succeed if a supporting argument A for q is
not defeated. In order to establish whether A is a non-defeated argument, argument
rebuttals or counter-arguments that could be defeaters for A are considered, i. e.,
counter-arguments that by some criterion, are preferred to A. Our defeaters will
take the form of arguments, therefore defeaters for the defeaters may exist. In this
manner, starting with an argument A for a query q, a dialectical analysis it will
consider all the defeaters for A, and then the defeaters for each defeater, and so on.
DeLP provides a warrant procedure that implements that dialectical analysis.
Thus, a query q will be warranted, if the argument A that supports q is found
undefeated by the warrant procedure. During the dialectical analysis certain constraints are imposed for averting problematic situations such as producing an infinite sequence of defeaters. Thus, DeLP can manage defeasible reasoning and handle
contradictory programs, allowing the representation of defeasible and non-defeasible
knowledge. We will also discuss briefly in this paper how to extend DeLP for considering default negation.
Defeasible Logic Programming
An Argumentative Approach
3
The resulting approach is suitable for representing agent’s knowledge and for providing an argumentation based reasoning mechanism to agents. In (Garcı́a et al., 2000),
a particular application for a multi-agent system in the stock market domain has
been developed using DeLP. There, agents knowledge is specified in the form of a
defeasible logic program, and agents reason using DeLP in order to reach decisions
about buying or selling stocks.
As Brewka states in (Brewka, 2001a), argumentation plays a central role in the
communication of human and artificial agents and is an ubiquitous task in professional and everyday life. We agree with Brewka that it is necessary to “...take not
only the logical, but also the procedural character of argumentation seriously...”. It
is remarkable that Nute’s Defeasible Logic (Nute, 1994), recent extensions to defeasible logic (Antoniou et al., 2000a; Antoniou et al., 1998), and several defeasible
argumentation formalisms (Loui, 1997a; Prakken & Sartor, 1997; Vreeswijk, 1997),
also consider defeasible rules for representing knowledge. However, in most of these
formalisms, a priority relation among rules must be explicity given with the program
in order to decide between rules with contradictory consequents.
This work is organized as follows. Section 2 introduces the language of DeLP
without default negation. In Section 3 the defeasible argumentation formalism is
developed. and two comparison criteria are introduced. A dialectical procedure for
obtaining a warrant conclusion is developed in Section 5. In Section 6 DeLP with
default negation is considered. Implementation issues and applications are described
in Section 7, and finally in Section 8 the related work is surveyed.
2 The Language
The DeLP language is defined in terms of three disjoint sets: a set of facts, a set
of strict rules and a set of defeasible rules. In the language of DeLP a literal “L”
is a ground atom “A” or a negated ground atom “∼A”, where “∼” represents the
strong negation. Hence, literals have no variables.
Definition 2.1 (Fact )
A fact is a literal, i. e. a ground atom, or a negated ground atom.
Definition 2.2 (Strict Rule)
A Strict Rule is an ordered pair, denoted “Head ← Body ”, whose first member,
Head , is a literal, and whose second member, Body, is a finite non-empty set of
literals. A strict rule with the head L0 and body {L1 , . . . , Ln } can also be written
as: L0 ← L1 , . . . , Ln (n > 0).
Definition 2.3 (Defeasible Rule)
A Defeasible Rule is an ordered pair, denoted “Head —< Body”, whose first member,
Head , is a literal, and whose second member, Body, is a finite non-empty set of
literals. A defeasible rule with head L0 and body {L1 , . . . , Ln } can also be written
as: L0 —< L1 , . . . , Ln (n > 0.)
The syntax of strict rules correspond to basic rules (Lifschitz, 1996), but we call
them ‘strict’ to emphasize the difference with the ‘defeasible’ ones. Observe that
4
Alejandro J. Garcı́a
and
Guillermo R. Simari
strong negation may be used in the head of the rules. Some examples of strict rules
are: “∼innocent ← guilty”, “dead ← ∼alive”.
Syntactically, the symbol “—<” is all that distinguishes a defeasible rule from a
strict one. Pragmatically, a defeasible rule is used to represent defeasible knowledge,
i. e., tentative information that may be used if nothing could be posed against it.
Thus, whereas a strict rule is used to represent non-defeasible information such as:
“bird ← penguin” which expresses that “all penguins are birds”, a defeasible rule
is used to represent defeasible knowledge such as “flies —< bird ” which expresses
that: “reasons to believe that it is a bird provide reasons to believe that it flies”, or
“birds are presumed to fly” or “usually, a bird can fly.”
The symbols “ —< ” and “ ← ” denote meta-relations between sets of literals, and
have no interaction with language symbols. In particular, there is no contraposition
for program rules. In our examples, we will follow standard typographic conventions
of Logic Programming extending them conveniently for representing DeLP rules.
Program rules have a non-empty body. Observe that a strict rule with an empty
body can be represented as a fact, but a defeasible rule with an empty body is not
a fact. For example: “a —< ” would express that “there are (defeasible) reasons to
believe in a”, and since this information is defeasible, then a could not be a fact.
A defeasible rule with an empty body was introduced in several approaches and is
called a presumption (Nute, 1988; Garcı́a et al., 1998; Garcı́a, 2000). For technical
reasons we will develop the core of DeLP without considering presumptions, and
they will be added as an extension to DeLP (see Section 6).
Defeasible rules are not default rules. In a default rule ϕ : ψ1 . . . , ψn /χ the justification part ψ1 . . . , ψn is a consistency check that contributes in the control of the
applicability of the rule. A defeasible rule represents a weak connection between
head and body of the rule. The effect of a defeasible rule comes from a dialectical analysis, made by the inference mechanism, which involves the consideration
of arguments and counter-arguments where that rule is included. Therefore, in a
defeasible rule there is no need to encode any particular check. The advantage of
this is notorious when the beliefs supported by knowledge represented by default
rules change. The changes will lead to re-representing the new beliefs by modifying
the justification part of those rules, which could lead to a re-representation cascade
effect, see (Brewka & Eiter, 2000). Changes in the knowledge represented by defeasible rules, in general, is reflected with the sole addition of new defeasible rules to
the representation. Therefore, if the knowledge base changes frequently, defeasible
rules are a better alternative.
In Example 8.1, we will introduce a more illustrative example comparing defaults and defeasible rules. The interested reader is referred to (Nute, 1994) where
a comparison with other nonmonotonic theories is given.
Definition 2.4 (Defeasible Logic Program)
A Defeasible Logic Program P, abbreviated de.l.p., is a possibly infinite set of facts,
strict rules and defeasible rules. In a program P, we will distinguish the subset Π
of facts and strict rules, and the subset ∆ of defeasible rules. When required, we
will denote P as (Π, ∆).
Defeasible Logic Programming
An Argumentative Approach
5
Strict and defeasible rules are ground. However, following the usual convention (Lifschitz, 1996), some examples will use “schematic rules” with variables.
Given a “schematic rule” R, Ground (R) stands for the set of all ground instances
of R. Given a de.l.p. P with schematic rules, we define (Lifschitz, 1996):
Ground (P) =
[
Ground (R)
R∈P
In order to distinguish variables from other elements of a schematic rule, we will
denote variables with an initial uppercase letter.
In DeLP there are four possible answers for a query: yes, no, undecided, or
unknown (see Definition 5.3). Next, we will introduce some examples of defeasible
logic programs, anticipating what will be the results of using our approach. In the
following sections we will explain how the mentioned results are obtained.
Example 2.1
Here follows the de.l.p. P 2.1 =(Π, ∆), where sets Π and ∆ have been separated for
convenience of the presentation:
bird (X ) ← chicken(X )
flies(X ) —< bird (X )
bird
(X
)
←
penguin(X
)
∼flies(X ) —< chicken(X )
∼flies(X ) ← penguin(X )
∆=
Π=
flies(X ) —< chicken(X ), scared (X )
chicken(tina)
penguin(tweety)
—< flies(X )
in
trees(X
)
nests
scared (tina)
As will show in the following sections, in DeLP the answer for flies(tina) will be
yes, whereas the answer for ∼flies(tina) will be no. The answer for flies(tweety)
will be no, whereas the answer for ∼flies(tweety) will be yes.
Example 2.2
Consider the following de.l.p. adapted from (Prakken & Vreeswijk, 2000):
has a gun(X ) —< lives in chicago(X )
—< lives in chicago(X ), pacifist (X )
∼has
a
gun(X
)
in
chicago(nixon)
lives
—
<
P 2.2 =
pacifist (X ) quaker (X )
∼pacifist (X ) —< republican(X )
quaker
(nixon)
republican(nixon)
As we will show in Example 5.4, the expected result will be obtained: the answer
for pacifist (nixon) will be undecided, and the answer for ∼pacifist (nixon) will
be also undecided. In a case like this, other approaches have the problem of
the propagation of that “indecision”, and the answer for has a gun(nixon) is also
undecided. However, this result will not happen in DeLP (see Example 5.5).
Example 2.3
Consider the following de.l.p. P 2.3 = (Π, ∆):
6
Alejandro J. Garcı́a
Π=
and
Guillermo R. Simari
h ← a
∼h ← c
b
d
a —< b
∆=
c —< d
In several approaches the literal a is accepted as proved from P 2.3 because there
is no rule with “∼a” in its head, so no rule that contradicts “a —< b” can be found.
However, observe that from literals “a” and “c” and the strict rules “h ← a”
and “∼h ← c” two contradictory literals can be derived. In DeLP, this kind of
contradiction through strict rules will be discovered and the answer for the literals
“a” and “c” will be undecided. See section 8 for further details.
Example 2.4
The following de.l.p. represents some information in the stock market domain:
buy stock (T ) —< good price(T )
—< good price(T ), risky company(T )
stock
(T
)
∼buy
—
<
risky
company(T
)
in
fusion(T
,
Y
)
—
<
closing(T )
risky company(T )
P 2.4 =
∼risky company(T ) —< in fusion(T , Y ), strong(Y )
good
price(acme)
fusion(acme,
steel
)
in
strong(steel )
As we will explain next, here the answer for buy stock (acme) will be yes.
We will define next what constitute a defeasible derivation. In the following sections a proof procedure based on a defeasible argumentation formalism will be
defined.
Definition 2.5 (Defeasible Derivation)
Let P= (Π, ∆) be a de.l.p. and L a ground literal. A defeasible derivation of L
from P, denoted P |∼ L, consists of a finite sequence L1 , L2 , . . . , Ln = L of ground
literals, and each literal Li is in the sequence because:
(a) Li is a fact in Π, or
(b) there exists a rule Ri in P (strict or defeasible) with head Li and body
B1 , B2 , . . . , Bk and every literal of the body is an element Lj of the sequence
appearing before Li (j < i.)
Given a de.l.p. P, a derivation for a literal L from P is called ‘defeasible’, because
as we will show next, there may exist information in contradiction with L that will
prevent the acceptance of L as a valid conclusion. If the program P is expressed
using schematic rules, then Ground (P) is used for obtaining defeasible derivations.
Example 2.5
Defeasible Logic Programming
An Argumentative Approach
7
Considering Example 2.1, the sequence:
chicken(tina), bird (tina), flies(tina),
is a defeasible derivation for the literal “flies(tina)”, obtained from the following
set of rules in P 2.1 : { (bird (tina) ← chicken(tina)), (flies(tina) —< bird (tina)) }1 .
Observe that from P 2.1 , there exists also a defeasible derivation for ∼flies(tina)
from the sequence: chicken(tina), ∼flies(tina).
Observation 2.1
Defeasible derivation is monotonic, i. e., let P be a de.l.p. and R be a set of program
rules, if h has a defeasible derivation from P, then h has a defeasible derivation from
P ∪ R.
Observation 2.2
If a program P has no facts, then no defeasible derivation can be obtained.
Given a literal L, there could be more than one defeasible derivation for L. Observe also, that a defeasible derivation could use both defeasible and strict rules,
or it could use only one kind of rule. In what follows, sometimes we will call strict
derivation, a derivation where only strict rules, and facts, are used. For instance,
the literal “∼flies(tweety)” has a strict derivation from P 2.1 . The formal definition
follows.
Definition 2.6 (Strict Derivation)
Let P be a de.l.p. and h a literal with a defeasible derivation L1 , L2 , . . . , Ln = h.
We will say that h has a strict derivation from P, denoted P ⊢ L, if either h is a
fact or all the rules used for obtaining the sequence L1 , L2 , . . . , Ln are strict rules.
The symbol “ ” will be used to denote the complement of a literal with respect
to strong negation, i. e. p is ∼p, and ∼p is p. Two literals are contradictory if they
are complementary. Thus, flies(tina) and ∼flies(tina) are contradictory literals.
Definition 2.7 (Contradictory set of rules)
A set of rules is contradictory if and only if, there exists a defeasible derivation for
a pair of complementary literals from this set.
Observe that the de.l.p. of Example 2.1 is a contradictory set of rules because both
flies(tina) and ∼flies(tina) can be defeasibly derived, (see Example 2.5.) The same
happens to the de.l.p. of Example 2.4 for buy stock (acme) and ∼buy stock (acme).
The use of strong negation in program rules enriches language expressiveness, and
also allows to represent contradictory knowledge. In general, a useful defeasible logic
program will be a contradictory set of rules. However, the set Π of facts and strict
rules in a defeasible logic program P, which is used to represent non-defeasible
information, must posses certain internal coherence.
Observation 2.3
1
When required, parenthesis will be used for distinguishing one rule from another.
8
Alejandro J. Garcı́a
and
Guillermo R. Simari
Note that the set Π of a de.l.p. corresponds to a logic program with strong negation.
If a contradictory set Π is used in a de.l.p. then the answer would be Lit , as in
Extended Logic Programming. Therefore, we will have the convention that in a
de.l.p. P the set Π is non-contradictory.
Although the set Π is assumed to be non-contradictory, P itself (i. e., Π ∪ ∆),
could be contradictory. It is only in this form that a de.l.p. may contain contradictory information. Observe that the set Π of P 2.1 is non-contradictory, whereas the
whole program P 2.1 is contradictory: the literals “flies(tina)” and “∼flies(tina)”
have both a defeasible derivation from P 2.1 .
In a case like this, when contradictory goals could be defeasibly derived, a formalism for deciding between them is needed. DeLP uses a defeasible argumentation
formalism in order to perform such a task.
Strong negation was introduced in Extended Logic Programming (Gelfond & Lifschitz, 1990).
In this formalism, when a pair of contradictory literals is derived, the set Lit of all
literals is derived without considering any further analysis. Suppose that we regard
Example 2.1 above as an Extended Logic Program, by considering all its rules as
strict rules. This program would be an Extended Logic Program without “not”,
and clearly, from that program a pair of complementary literals (“flies(tina)” and
“∼flies(tina)”) could be derived. Therefore, the answer set calculated according
to (Gelfond & Lifschitz, 1990) is Lit .
For deciding between contradictory goals, other formalism use a priority relation among program rules that need to be included in the program (Nute, 1994;
Antoniou et al., 2000a; Antoniou et al., 1998; Prakken & Sartor, 1997; Kakas et al., 1994;
Dimopoulos & Kakas, 1995) (see Section 8 below.)
In DeLP, no priority relation is needed for deciding between contradictory goals.
This characteristic maintains the declarative nature of the knowledge represented
in DeLP, i. e. the interaction among the pieces of knowledge is not expressed in
the language in any way but as a result of the influence of the whole corpus of the
agent’s knowledge. For that reason, the burden of the defeasible inference falls upon
the language processor, i. e. our system, which figures out the interactions, instead
of on the knowledge encoder, i. e., the programmer. The programmer does not have
to evoke the behavior of the representation in order to add procedural control to
the defeasible rules. However, as it will be shown in Section 3.2.2, priorities between
defeasible rules could be used in DeLP as an alternative comparison approach.
3 Defeasible Argumentation
In this section, a defeasible argumentation formalism will be introduced. This formalism evolved from (Simari & Loui, 1992; Simari et al., 1994b; Garcı́a et al., 1998)
into the DeLP framework. The central notion of the formalism is the notion of argument. Informally, an argument is a minimal and non-contradictory set of rules
used to derive a conclusion. In DeLP, answers to queries will be supported by an
argument. Thus, although a de.l.p. could be contradictory, answers to queries will
be supported by a non-contradictory set of rules. The formal definition follows.
Defeasible Logic Programming
An Argumentative Approach
9
Definition 3.1 (Argument Structure)
Let h be a literal, and P=(Π, ∆) a de.l.p.. We say that hA, hi is an argument
structure for h, if A is a set of defeasible rules of ∆, such that:
1. there exists a defeasible derivation for h from Π ∪ A,
2. the set Π ∪ A is non-contradictory, and
3. A is minimal: there is no proper subset A′ of A such that A′ satisfies conditions (1) and (2).
In short, an argument structure hA, hi, or simply an argument A for h, is a minimal non-contradictory set of defeasible rules, obtained from a defeasible derivation for a given literal h. The literal h will also be called the ‘conclusion’ supported by A. This notion was adapted from the argument structure definition given
in (Simari & Loui, 1992). Note that strict rules are not part of an argument structure.
Example 3.1
Consider the defeasible logic program of Example 2.1. The literal “∼flies(tina)” is
supported by the following argument structure:
h{∼flies(tina) —< chicken(tina)}, ∼flies(tina)i
whereas the literal “flies(tina)” has two argument structures that support it:
h{flies(tina) —< bird (tina)}, flies(tina)i
h{flies(tina) —< chicken(tina), scared (tina)}, flies(tina)i
Observe that in DeLP the construction of argument structures is nonmonotonic.
That is, adding facts or strict rules to the program may cause some argument
structures to be invalidated because they become contradictory. For example, consider the program P=(Π, ∆), where Π={a}, and ∆={h —< a}. From P there is an
argument structure hA, hi=h{h —< a}, hi. However, from Π ∪ {∼h}, hA, hi is not
longer an argument structure because the set Π ∪ {∼h} ∪ {h —< a} is a contradictory set. In other approaches to defeasible argumentation, argument construction is
monotonic, and contradictory arguments are considered ‘self-defeating’ arguments,
that is, arguments that defeat themselves. Condition 2 of the previous definition
prevents the occurrence of self-defeating argument structures. We will come back
to this issue in Section 4.1.
Observation 3.1
If there exists a strict derivation for q, then there exists a unique argument structure
for q: h∅, qi. This is so because there exists a defeasible derivation for q from Π ∪
∅, Π ∪ ∅ is not contradictory by Observation 2.3, and there is no subset of ∅.
The argument structure h∅, qi is unique because by condition 3 of Definition 3.1
(minimality) no superset of ∅ can be an argument structure. For example, the literal
“∼flies(tweety)” has a strict derivation from P 2.1 , so h∅, ∼flies(tweety)i is its the
unique argument structure.
10
Alejandro J. Garcı́a
and
Guillermo R. Simari
It is interesting to note, that if q has a strict derivation, then q has a derivation
from Π; hence, q has a defeasible derivation from Π ∪ A, for any set A of defeasible
rules (see Observation 2.1.) Therefore, if there exists a defeasible derivation for q
from Π ∪ A, for some set A, then Π ∪ A will be contradictory, and no argument
structure for q could be obtained, because condition 2 of the definition of argument
structure will not be satisfied.
Definition 3.2 (Sub-argument structure)
An argument structure hB, qi is a sub-argument structure of hA, hi if B ⊆ A.
It is important to note that the union of arguments is not always an argument.
That is, given two argument structures hA, hi and hB, qi, the set A ∪ B could be
improper for being used as an argument, because A ∪ B could be not minimal or
A ∪ B ∪ Π could be contradictory (see the following example.)
Example 3.2
Consider the de.l.p.:
b —< c
c
h1 ← b
b —< d
d
h2 ← b
h ← h1 , h2
p ← h1
∼p ← h2
The following argument structures can be obtained: hA1 , h1 i = h{b —< c}, h1 i and
hA2 , h2 i = h{b —< d }, h2 i. Consider now the set A = A1 ∪ A2 = {(b —< c), (b —< d )}.
From Π ∪ A there exists a defeasible derivation for h, however, hA, hi is not an
argument structure because Π ∪ A is contradictory since p and ∼p have a defeasible
derivation from Π ∪ A. Observe also that A is not the minimal set of defeasible
rules that provides an argument structure for h because A1 is a proper subset of
A, and hA, hi is an argument structure.
As shown in Example 3.1, it is possible to have argument structures for contradictory literals. Thus, when considering a literal q, supported by argument A,
arguments that contradict A could exist. In that situation it is clear that it would
be interesting to have a preference criterion for deciding among arguments and
their counter-arguments. This issue will be explored in the next section, but first,
we will introduce a graphical representation for arguments that will be used in what
follows.
Arguments will be depicted as triangles. The upper vertex of the triangle will be
labeled with the argument’s conclusion, and the set of defeasible rules in the argument will be associated with the triangle itself. Sub-arguments will be represented
as smaller triangles contained in the triangle which corresponds to the main argument at issue. Figure 1 shows the graphical representation of an argument hA, hi,
and one of its sub-arguments hB, qi.
3.1 Rebuttals or Counter-Arguments
In DeLP, answers to queries will be supported by arguments. However, an argument
may be defeated by other arguments. Informally, a query q will succeed if the
Defeasible Logic Programming
An Argumentative Approach
11
h
✂✂❇❇
✂ q❇
✂ ❇ ❇
✂ ✂ ❇
✂ ✂B ❇ ❇
✂
❇
A
Fig. 1. An argument hA, hi, and a sub-argument hB, qi
supporting argument for it is not defeated. In order to establish whether A is a
non-defeated argument, argument rebuttals or counter-arguments that could be
defeaters for A are considered, i. e., counter-arguments that for some criterion, are
preferred to A. Since counter-arguments are arguments, there may exist defeaters
for them, and so on. That suggests a dialectical analysis, that will be formally
introduced in the next sections. Here, the notion of rebuttal or counter-argument
is introduced.
Definition 3.3 (Disagreement )
Let P=Π ∪ ∆ be a de.l.p.. We say that two literals h and h1 disagree, if and only
if the set Π ∪ {h, h1 } is contradictory.
Two complementary literals p and ∼p trivially disagree since for any set Π,
{p, ∼p} ∪ Π is contradictory. Furthermore, two literals that are not complementary
can also disagree. For example given Π = {(∼h ← b), (h ← a)}, the literals a
and b disagree because Π ∪ {a, b} is contradictory. We will show below how this
notion of disagreement will allow us to find direct and indirect conflicts between
arguments.
Definition 3.4 (Counter-argument )
We say that hA1 , h1 i counter-argues, rebutts, or attacks hA2 , h2 i at literal h, if and
only if there exists a sub-argument hA, hi of hA2 , h2 i such that h and h1 disagree.
If hA1 , h1 i counter-argues hA2 , h2 i at literal h, then h is called a counter-argument
point, and the sub-argument hA, hi is called the disagreement sub-argument. Figure 2-(left) gives a graphical representation of an argument and one of its counterarguments in the conditions of Definition 3.4.
Example 3.3
Continuing with Example 3.1, h{∼flies(tina) —< chicken(tina)}, ∼flies(tina)i is a
counter-argument for h{flies(tina) —< bird (tina)}, flies(tina)i and vice versa. Note
that in this particular case, the disagreement sub-argument is the argument itself.
Consider now the argument structure hA4 , nests in trees(tina)i, where
nests in trees(tina) —< flies(tina)
A4 =
flies(tina) —< bird (tina)
The argument structure h{∼flies(tina) —< chicken(tina)}, ∼flies(tina)i is a counterargument for hA4 , nests in trees(tina)i attacking an inner point, i. e., the counterargument point is flies(tina).
12
Alejandro J. Garcı́a
and
Guillermo R. Simari
As shown in the previous Example, a counter-argument hA1 , h1 i for hA2 , h2 i,
can attack directly the conclusion h2 of hA2 , h2 i, or can attack an inner point h
of hA2 , h2 i. Hence, we will distinguish between a “direct” attack and an “indirect”
attack. Figure 2 shows both cases.
h2
h1
✏✏✂❇
✏✏
✂✂❇❇
✂❇
✏
✏
✂h ✏
✂ ❇
❇ ✏
✏
✂ ❇ ❇
✂
❇
✂ ✂ ❇
✂
❇
✂ ✂A ❇ ❇
✂
❇
✂
✂
❇
❇
A2
A1
✂
✂
✂
✂
h4
h3
✂✂❇❇
✂ ❇
✂✂❇❇
✂ ❇
A4
❇
❇
❇
❇
✂
✂
✂
✂
❇
❇
❇
❇
A3
Fig. 2. Indirect attack (left) and direct attack (right)
It is interesting to remark the following property of the counter-argument notion.
If hA3 , h3 i is a counter-argument for hA4 , h4 i and the counter-argument point is h4
(direct attack) then hA4 , h4 i is also a counter-argument for hA3 , h3 i (see Figure 2right.) In the case that hA1 , h1 i is a counter-argument for hA2 , h2 i attacking an inner
point h, with hA, hi as the disagreement sub-argument, then hA, hi is a counterargument for hA1 , h1 i (see Figure 2-left.)
In the example above, the argument and its counter-argument have complementary conclusions (flies(tina) and ∼flies(tina).) In the following example we show an
argument and a counter-argument supporting literals that are not complementary.
The disagreement arises through Π.
Example 3.4
Consider again P 2.3 =(Π, ∆), Π= { (h ← a), b, d , (∼h ← c) } and ∆= { (a —< b),
(c —< d )}. From this program h{a —< b}, ai is a counter-argument for h{c —< d }, ci,
because literals a and c disagree.
In Observation 3.1, we have shown that any literal q that has a strict derivation
is supported by h∅, qi. The following proposition states that for any de.l.p. P, and
any literal q, an argument structure h∅, qi will not have any counter-arguments. In
other words, strictly derived literals can not be rebutted.
Proposition 3.1
There exists no possible counter-argument for an argument structure h∅, qi.
Proof: Suppose that there exists a counter-argument hA, hi for h∅, qi, then, A ∪ ∅ ∪
Π should be a contradictory set, and therefore, A ∪ Π should be a contradictory
set. However, if A ∪ Π is a contradictory, then hA, hi is not an argument structure,
because condition 2 of the definition of argument would not hold.
While the proposition above shows that an argument structure like h∅, qi has no
counter-arguments, the following proposition states that h∅, qi can never be used
as a counter-argument for any other argument structure hA, hi.
Defeasible Logic Programming
An Argumentative Approach
13
Proposition 3.2
The argument structure h∅, qi cannot be a counter-argument for any argument
structure hA, hi.
Proof: Suppose that there exists hA, hi, such that h∅, qi is a counter-argument for
hA, hi. Then, A ∪ ∅ ∪ Π is a contradictory set, and then A ∪ Π is a contradictory
set. However, if this is so, the set A could not be an argument, because condition 2
of the definition of argument would not hold.
Given an argument structure hA, hi, there could be several counter-arguments
attacking different points in A, or different counter-arguments attacking the same
point in A. As we will show next, in order to verify whether an argument is nondefeated, all of its associated counter-arguments B 1 , B 2 , . . ., B k will be examined,
each of them being a (defeasible) potential reason for rejecting A. If any B i is
(somehow) “better” than, or unrelated to, A, then B i is a candidate for defeating
A. However, if the argument A is “better” than one B i then B i will not be taken
in consideration as a defeater A. This informal discussion shows the convenience of
introducing a preference order among arguments.
3.2 Comparing Arguments
The definition of a formal criterion for comparing arguments is a central problem in defeasible argumentation. Existing formalisms have adopted different solutions. Abstract argumentation systems usually assume an ordering in the set
of all possible arguments (Dung, 1993b; Vreeswijk, 1997; Kowalski & Toni, 1996;
Bondarenko et al., 1997). For instance, in Dung’s approach, an argumentation framework is a pair (Args, attack ), where Args is the set of all possible arguments and
attack is a binary relation on Args. If (A, B ) ∈ attack then argument A attacks
argument B .
In other formalisms, explicit priorities among program rules are given. Thus, the
conflict between two rules can be solved. This approach is used in d-Prolog (Nute, 1988),
Defeasible Logic (Nute, 1992), extensions of Defeasible Logic (Antoniou et al., 2000a;
Antoniou et al., 1998), and logic programming without negation as failure (Kakas et al., 1994;
Dimopoulos & Kakas, 1995). In (Prakken & Sartor, 1997) it is also possible to reason (defeasibly) about priorities among rules.
An alternative is to use the specificity criterion (Poole, 1985), and no explicit
order among rules or arguments need to be given. Finally, other formalisms use no
comparison criterion (Gelfond & Lifschitz, 1990).
Next, we will introduce two criteria for comparing arguments. The first one based
on specificity, and the second one based on priorities among program rules.
3.2.1 Generalized Specificity
We will formally define a particular criterion called generalized specificity which
allows to discriminate between two conflicting arguments. Intuitively, this notion
of specificity favors two aspects in an argument: it prefers an argument (1) with
14
Alejandro J. Garcı́a
and
Guillermo R. Simari
greater information content or (2) with less use of rules (more direct.) In other
words, an argument will be deemed better than another if it is more precise or
more concise (see the Example 3.5 below.)
The next definition characterizes the specificity criterion, defined first in (Poole, 1985)
and extended later to be used in defeasible argumentation (Simari & Loui, 1992;
Simari et al., 1994b). Here, it is adapted to fit in the DeLP framework. As stated
before, P |∼ h means that h has a defeasible derivation from P, and P ⊢ h means
that h has a strict derivation from P.
Definition 3.5 (Specificity)
Let P=(Π, ∆) be a de.l.p., and let ΠG be the set of all strict rules from Π (without
including facts.) Let F be the set of all literals that have a defeasible derivation from
P (F will be considered as a set of facts.) Let hA1 , h1 i and hA2 , h2 i be two argument
structures obtained from P. hA1 , h1 i is strictly more specific than hA2 , h2 i (denoted
hA1 , h1 i ≻ hA2 , h2 i) if the following conditions hold:
1. For all H ⊆ F : if ΠG ∪ H ∪ A1 |∼ h1 and ΠG ∪ H 6⊢ h1 ,
then ΠG ∪ H ∪ A2 |∼ h2 , and
2. there exists H ′ ⊆ F such that ΠG ∪ H ′ ∪ A2 |∼ h2
and ΠG ∪ H ′ 6 ⊢ h2 , and ΠG ∪ H ′ ∪ A1 6|∼ h1
As mentioned before, it is not possible to have a defeasible derivation for a literal
from a set of rules without facts. Therefore, from the set ΠG ∪ A1 it is not possible to
have a defeasible derivation for h1 . However, from ΠG ∪ H ∪ A1 it could be possible
because H is a set of literals (facts.) Thus, when ΠG ∪ H ∪ A1 |∼ h1 holds, we say
that the set H activates hA1 , h1 i, or H is an activation set of hA1 , h1 i.
Example 3.5
Consider the program P 2.1 of Example 2.1, the argument structure
hA1 , h1 i= h{∼flies(tina) —< chicken(tina)}, ∼flies(tina)i
is strictly more specific than hA2 , h2 i= h{flies(tina) —< bird (tina)}, flies(tina)i because hA1 , h1 i is ‘more direct’ than hA2 , h2 i (observe that hA2 , h2 i uses the strict
rule bird (tina) ← chicken(tina).) In this example every activation set H of hA1 , h1 i
also activates hA2 , h2 i, but the set H ′ = {bird (tina)} activates hA2 , h2 i but does
not activate hA1 , h1 i. Using the same program, the argument structure
hA3 , h3 i= h{flies(tina) —< chicken(tina), scared (tina)}, flies(tina)i
will be preferred to hA1 , h1 i, because hA3 , h3 i is based in more information (the
literals chicken(tina) and scared (tina)) than hA1 , h1 i. Observe that every activation
set H of hA3 , h3 i contains the literals chicken(tina) and scared (tina), thus H actives
hA1 , h1 i. However, the set H ′ = {chicken(tina)} activates hA1 , h1 i, and H ′ does not
activate hA3 , h3 i. Therefore, hA3 , h3 i is strictly more specific than hA1 , h1 i.
Definition 3.6 (Equi-Specificity)
Two arguments hA1 , h1 i and hA2 , h2 i are equi-specific, denoted hA1 , h1 i ≡ hA2 , h2 i,
iff A1 = A2 , and the literal h2 has a strict derivation from Π ∪ {h1 }, and the literal
h1 has a strict derivation from Π ∪ {h2 }.
Defeasible Logic Programming
An Argumentative Approach
15
Lemma 3.1
Equi-specificity is an equivalence relation.
Proof: Trivial by definition.
The following proposition shows that strictly derived literals are ‘equi-specific’.
Proposition 3.3
If A1 = ∅ and A2 = ∅, then hA1 , h1 i ≡ hA2 , h2 i
Proof: If A1 and A2 are empty, then A1 = A2 , Π ⊢ h1 and Π ⊢ h2 . Hence, Π∪{h1 } ⊢
h2 and Π∪{h2 } ⊢ h1 . Observe also that since Π is not contradictory, then Π∪{h1 , h2 }
is not contradictory.
Proposition 3.4
If two argument structures hA1 , h1 i and hA2 , h2 i are equi-specific then h1 and h2
cannot disagree.
Proof: If hA1 , h1 i ≡ hA2 , h2 i, then A1 = A2 , and Π ∪ {h1 } ⊢ h2 , and Π ∪ {h2 } ⊢ h1 .
Suppose that h1 and h2 disagree, then the set Π ∪ {h1 , h2 } is contradictory. Since
Π ∪ {h1 } ⊢ h2 , then Π ∪ {h1 } is contradictory, and therefore, hA1 , h1 i cannot be an
argument structure because it does not satisfy condition 2 of argument definition.
3.2.2 Argument comparison using rule’s priorities
Some formalisms define explicit priorities among rules and use these priorities for
deciding between competing conclusions. The use of these priorities is usually embedded in the derivation mechanism and competing rules are compared individually
during the derivation process. In such formalisms the derivation notion is bound to
one single comparison criterion.
In DeLP in order to decide between competing conclusions the arguments that
support the conclusions are compared. Thus, the comparison criterion is independent of the derivation process, and could be replaced in a modular way. Next, we
will introduce a particular comparison criterion which uses a form of ordering the
rules by their priority as an example.
We will show how a comparison criterion between arguments based on rule priorities can be formulated. We will assume that explicit priorities among defeasible
rules are given with the program. Since strict rules represent sound information,
there will be no priorities among them. Priorities will be allowed only between two
defeasible rules. As showed in Proposition 3.1, a literal that has a strict derivation
has no counter-argument. Therefore, implicitly, a strict derivation will be preferred
over other arguments that use defeasible rules. Many comparison criteria could be
defined. The priority based criterion defined below is but one example.
Definition 3.7
Let P be de.l.p. and “>” a preference relation explicitly defined among defeasible
rules. Given two argument structures hA1 , h1 i and hA2 , h2 i, the argument hA1 , h1 i
will be preferred over hA2 , h2 i if:
16
Alejandro J. Garcı́a
and
Guillermo R. Simari
1. there exists at least one rule ra ∈ A1 , and one rule rb ∈ A2 , such that ra > rb ,
2. and there is no rb′ ∈ A2 , and ra′ ∈ A1 , such that rb′ > ra′ .
Example 3.6
Consider the following de.l.p.
buy stock (T ) —< good price(T )
∼buy stock (T ) —< risky company(T )
P 3.6 =
risky company(T ) —< in fusion(T , Y )
good
price(acme)
in fusion(acme, steel )
And the priority:
buy stock (T ) —< good price(T )
<
∼buy stock (T ) —< risky company(T )
Using the criterion of Definition 3.7, the argument structure
∼buy stock (acme) —< risky company(acme)
, ∼buy stock (acme)
risky company(acme) —< in fusion(acme, steel )
will be preferred over h{buy stock (acme) —< good price(acme)}, buy stock (acme)i
A more sophisticated criterion could be obtained combining the two defined
above. For example, considering first generalized specificity, and if no argument
is preferred, then use the existing priorities.
4 Defeaters and Argumentation Lines
Given an argument structure hA1 , h1 i, and a counter-argument hA2 , h2 i for hA1 , h1 i,
these two arguments can be compared in order to decide which one prevails. Namely,
if the counter-argument hA2 , h2 i is better than hA1 , h1 i w.r.t the comparison criterion used, then hA2 , h2 i will be called a proper defeater for A1 . If neither argument
is better, nor worse, than the other, a blocking situation occurs, and we will say
that hA2 , h2 i is a blocking defeater for hA1 , h1 i. If hA1 , h1 i is better than hA2 , h2 i,
then hA2 , h2 i will not be considered as a defeater for hA1 , h1 i.
Although a preference criterion is required for comparing arguments, the notion of
defeating argument can be formulated independently of the particular argumentdiscriminating criterion that is being used. From now on, we will abstract away
from the comparison criterion, assuming there exists a comparison criterion among
arguments that we will denote “≻”. For the examples in the rest of the paper we
will assume that “≻” means “strictly more specific” as defined above.
Definition 4.1 (Proper Defeater )
Let hA1 , h1 i and hA2 , h2 i be two argument structures. hA1 , h1 i is a proper defeater
for hA2 , h2 i at literal h, if and only if there exists a sub-argument hA, hi of hA2 , h2 i
such that hA1 , h1 i counter-argues hA2 , h2 i at h, and hA1 , h1 i ≻ hA, hi.
Observe that in the previous definition, the argument structure hA1 , h1 i is compared with the disagreement subargument hA, hi.
Defeasible Logic Programming
An Argumentative Approach
17
Example 4.1
In Example 3.5, since hA1 , h1 i is a counter argument for hA2 , h2 i, and hA1 , h1 i≻
hA2 , h2 i, then hA1 , h1 i is a proper defeater for hA2 , h2 i. Observe that hA3 , h3 i is a
proper defeater for hA1 , h1 i.
Definition 4.2 (Blocking Defeater )
Let hA1 , h1 i and hA2 , h2 i be two argument structures. hA1 , h1 i is a blocking defeater
for hA2 , h2 i at literal h, if and only if there exists a sub-argument hA, hi of hA2 , h2 i
such that hA1 , h1 i counter-argues hA2 , h2 i at h, and hA1 , h1 i is unrelated by the
preference order to hA, hi, i. e., hA1 , h1 i ≻
6 hA, hi, and hA, hi ≻
6 hA1 , h1 i.
Example 4.2
The Nixon Diamond provides the proverbial example of blocking defeaters. Consider
the de.l.p. P 2.2 of Example 2.2. From P 2.2 , the following argument structures can
be obtained:
hA1 , h1 i= h{pacifist (nixon) —< quaker (nixon)}, pacifist (nixon)i and
hA2 , h2 i= h{∼pacifist (nixon) —< republican(nixon)}, ∼pacifist (nixon)i.
The argument hA2 , h2 i is a blocking defeater for hA1 , h1 i, and vice versa. As it
will be shown below, in DeLP the answer for the query ‘pacifist (nixon)’ will be
undecided.
Definition 4.3 (Defeater )
The argument structure hA1 , h1 i is a defeater for hA2 , h2 i, if and only if either:
1. hA1 , h1 i is a proper defeater for hA2 , h2 i; or
2. hA1 , h1 i is a blocking defeater for hA2 , h2 i.
Thus, a defeater for an argument structure can be identified as proper or blocking.
As we will show below, this distinction will be considered by the warrant procedure.
It is interesting to note, that most argumentation formalisms make no distinction
between proper or blocking defeaters, and some of them only consider proper defeaters. The following proposition shows that during the argumentation process it
is not possible to attack a subargument hA, hi with an argument hA1 , h1 i that is
equi-specific to hA, hi.
Proposition 4.1
If hA1 , h1 i is a defeater (proper or blocking) for hA2 , h2 i, and hA, hi is the corresponding disagreement subargument, then it cannot be the case that hA1 , h1 i ≡
hA, hi.
Proof: Proposition 3.4 shows that if hA1 , h1 i ≡ hA, hi, then h1 and h could not
disagree. Thus, hA1 , h1 i cannot be a counter-argument for hA2 , h2 i at h.
In order to establish whether an argument structure hA0 , h0 i is non-defeated, all
defeaters for hA0 , h0 i have to be considered. Suppose that hA1 , h1 i is a defeater for
hA0 , h0 i, since hA1 , h1 i is an argument structure, then defeaters for hA1 , h1 i may
exist, and so on. In this manner, a sequence of argument structures is created, where
each element of the sequence defeats its predecessor. We formalize this notion next.
18
Alejandro J. Garcı́a
and
Guillermo R. Simari
Definition 4.4 (Argumentation Line)
Let P a de.l.p. and hA0 , h0 i an argument structure obtained from P. An argumentation line for hA0 , h0 i is a sequence of argument structures from P, denoted
Λ = [hA0 , h0 i, hA1 , h1 i, hA2 , h2 i hA3 , h3 i, . . .], where each element of the sequence
hAi , hi i, i > 0, is a defeater of its predecessor hAi−1 , hi−1 i.
h0
h1
h2
h3
h4
✟
✟
✟
✟
✂❇
✟✟ ✂❇
✟✟ ✂❇
✟✟ ✂❇
✟✟ ✂❇
✂ ❇
✂ ❇✟✟
✂ ❇✟✟
✂ ❇✟✟
✂ ❇✟✟
✂ ❇
✂ ✟❇
✂ ✟❇
✂ ✟❇
✂ ✟❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂
✂
✂
✂
❇
❇
❇
❇
✂
❇
✂
✂
✂
✂
❇
❇
❇
❇
✂
❇
A0
A1
A2
A3
A4
Fig. 3. Argumentation line
As defined above, an argumentation line could result in an infinite sequence of
arguments. However, in the following section we will impose some restrictions over
the argumentation lines and only finite sequences will be allowed.
In each argumentation line Λ = [hA0 , h0 i, hA1 , h1 i, hA2 , h2 i hA3 , h3 i, . . .], the argument hA0 , h0 i is supporting the main query h0 , and every argument hAi , hi i defeats
its predecessor hAi−1 , hi−1 i. Then, hA0 , h0 i becomes a supporting argument for h0 ,
hA1 , h1 i an interfering argument, hA2 , h2 i a supporting argument, hA3 , h3 i an interfering one, and so on. Thus, an argumentation line can be split in two disjoint
sets: ΛS of supporting arguments, and ΛI of interfering arguments.
Definition 4.5 (Supporting and Interfering argument structures)
Let Λ = [hA0 , h0 i, hA1 , h1 i, hA2 , h2 i hA3 , h3 i, . . .] an argumentation line, we define
the set of supporting argument structures ΛS = { hA0 , h0 i, hA2 , h2 i, hA4 , h4 i, . . . },
and the set of interfering argument structures ΛI = {hA1 , h1 i, hA3 , h3 i, . . .}.
Given an argument structure hA0 , h0 i, there can be many defeaters for hA0 , h0 i,
and each of them will generate a different argumentation line. Observe also, that in
these argumentation lines any of the arguments could have more than one defeater
generating more argumentation lines starting with hA0 , h0 i.
Example 4.3
Consider a program P where hA1 , h1 i defeats hA0 , h0 i, and hA2 , h2 i also defeats
hA0 , h0 i. Up to this point there are two argumentation lines. Now suppose that
hA3 , h3 i defeats hA1 , h1 i, and that both hA4 , h4 i and hA5 , h5 i defeat hA2 , h2 i, then
there are several argumentation lines starting with hA0 , h0 i, here we show three of
them:
Λ1 = [hA0 , h0 i, hA1 , h1 i, hA3 , h3 i]
Λ2 = [hA0 , h0 i, hA2 , h2 i, hA4 , h4 i]
Λ3 = [hA0 , h0 i, hA2 , h2 i, hA5 , h5 i]
Therefore, a process that considers all possible argumentation lines is needed. Before defining such a process, we will introduce some restrictions over argumentation
lines.
Defeasible Logic Programming
An Argumentative Approach
19
4.1 Acceptable Argumentation Lines
In this section we will show several undesirable situations that may arise in an
argumentation line leading to an infinite sequence of defeaters. We will then impose
certain constraints over the argumentation lines in order to avoid these problematic
situations. Some of these situations were reported first in (Simari et al., 1994b).
In the related literature, an argument structure hA, hi is said to be “self-defeating”
if hA, hi is a defeater for itself. If hA, hi is a self-defeating argument structure then
an argumentation line starting with hA, hi will be infinite (see Figure 4.)
h
h
h
h
✟
✟
✟
✂❇
✟✟ ✂❇
✟✟ ✂❇
✟✟ ✂❇
✂ ❇
✂ ❇✟✟
✂ ❇✟✟
✂ ❇✟✟
✂ ❇
✂ ✟❇
✂ ✟❇
✂ ✟❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
❇
❇
✂
✂
✂
❇
✂
❇
❇
❇
✂
✂
✂
❇
✂
❇
A
A
A
...
A
Fig. 4. Infinite argumentation line with a self defeating argument
Many approaches of defeasible argumentation have to deal with self-defeating
arguments. As stated next, arguments in DeLP will never be self-defeating.
Proposition 4.2
In DeLP no argument structure can be self-defeating.
Proof: Assume that hA, hi is self-defeating, then hA, hi would be a defeater for
itself, and there should exist a counter-argument point q in A such that Π ∪ {h, q}
is contradictory. Therefore Π ∪ A would be contradictory, and hA, hi would not be
an argument structure.
Another problematic situation, mentioned by Henry Prakken in (Prakken & Vreeswijk, 2000),
are reciprocal defeaters. This happens when a pair of arguments defeat each other.
Example 4.4 and Figure 5 shows that case: hA2 , d i defeats hA1 , bi, attacking the
subargument hB, ∼d i, but hA1 , bi also defeats hA2 , d i attacking the subargument
hA, ∼bi.
d
b
A2
A1
✟
❍
✂❇ ❍❍✟✟ ✂❇
✂ ❇✟✟ ❍❍✂ ❇
∼d ❇
✟❇
✂❍
✂ ∼b
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ B ❇
✂ A ❇
✂
❇
✂
❇
Fig. 5. Reciprocal defeaters
Example 4.4
Consider the following de.l.p.: { (d —< ∼b, c), (b —< ∼d , a), (∼b —< a), (∼d —< c),
(a), (c) }. The argument hA2 , d i=h{(d —< ∼b, c), (∼b —< a)}, d i is a proper defeater
for hA1 , bi=h{(b —< ∼d , a), (∼d —< c)}, bi, and vice versa. Observe that hA2 , d i is
20
Alejandro J. Garcı́a
and
Guillermo R. Simari
strictly more specific than the subargument h{∼d
is strictly more specific than h{∼b —< a}, ∼bi.
—<
c}, ∼d i of hA1 , bi, and hA1 , bi
Clearly, this situation is undesirable as it leads to the construction of an infinite sequence of arguments. Therefore, reciprocal defeaters must be detected and
avoided. The analysis prompted by Henry Prakken’s remark led to investigate other
types of undesirable situations in argumentation.
A circular argumentation is obtained when an argument structure is reintroduced
again in an argumentation line to defend itself. Figure 6 shows an example of circular
argumentation. There, the same argument A is reintroduced down the line as a
supporting argument for itself leading to an infinite argumentation line. Circular
argumentation was discussed first in (Simari et al., 1994b) as a particular case of
fallacious argumentation.
∼r
∼p
∼q
∼s
∼r
✟
✟
✟
✟
✂❇
✟✟ ✂❇
✟✟ ✂❇
✟✟ ✂❇
✟✟ ✂❇
✂ ❇
✂ ❇✟✟
✂ ❇✟✟
✂ ❇✟✟
✂ ❇✟✟
✂ p❇
✂ r✟❇
✂ s✟❇
✂ q✟❇
✂ p✟❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ W ❇
✂ Z ❇
✂ Y ❇
✂ X ❇
✂ W ❇
❇
❇
✂
✂
✂
✂
❇
❇
✂
❇
A
B
C
D
...
A
Fig. 6. Circular argumentation
In order to avoid circular argumentation we need to impose the condition that
no argument can be reintroduced in the same argumentation line. However, a more
subtle case of circular argumentation happens with the reintroduction of a subargument. Figure 7 shows this situation: argument B is a defeater for A, and W is the
disagreement sub-argument. Later in the line, argument W could be reintroduced
as a defeater, allowing the reintroduction of B. Although the cycle can be detected
and broken when B is reintroduced, the fallacious situation is the reintroduction of
a subargument that was defeated earlier in the line.
∼r
∼p
∼q
∼s
✟✟✂❇
✟✟✂❇
✟✟✂❇
✂❇
✟
✟
✟
✂ ❇ ✟
✂ ❇ ✟
✂ ❇
✂ ❇ ✟
✂ q✟❇✟
✂ s✟❇✟
✂ ∼p ❇
✂ p✟❇✟
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ X ❇
✂ Y ❇
✂ Z ❇
✂ W ❇
❇
❇
❇
✂
✂
✂
❇
✂
A
B
C
p
✂✂❇❇
...
W
D
Fig. 7. Circular argumentation with a sub-argument
A different, but also undesirable, situation is shown in Figure 8. There, the same
argument A becomes both a supporting and an interfering argument of itself. This
situation arises because the supporting argument C has a subargument Z for the
literal r , which is contradictory with arguing in favor of ∼r (argument A.) The
Defeasible Logic Programming
An Argumentative Approach
21
introduction of an argument like C should be avoided in a sound argumentation
line. Clearly, there should be agreement among supporting arguments (respectively
interfering) in any argumentation line. This is expressed formally with the notion
of argument concordance as proposed in (Simari et al., 1994b) and recalled next.
Definition 4.6 (Concordance)
Let P=(Π, ∆) be a de.l.p.. Two arguments hA1 , h1 i and hA2 , h2 i are concordant
iff the set Π ∪ A1 ∪ A2 is non-contradictory. More generally, a set of argument
Sn
structures {hAi , hi i}ni=1 is concordant iff Π ∪ i=1 Ai is non-contradictory.
∼r
∼p
∼q
∼r
✟✟✂❇
✟✟✂❇
✟✟✂❇
✂❇
✂ ❇ ✟✟ ✂ ❇ ✟✟ ✂ ❇ ✟✟ ✂ ❇
✂ q✟❇✟
✂ r✟❇✟
✂ p❇
✂ p✟❇✟
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ ✂✂❇❇ ❇
✂ Y ❇
✂ Z ❇
✂ X ❇
✂ X ❇
❇
❇
❇
✂
✂
✂
❇
✂
A
B
C
...
A
Fig. 8. Contradictory argumentation line
In the case shown in Figure 8, the cycle could be detected and broken disallowing
the reintroduction of argument A. However, the fallacious move is the use of argument C that makes the set of supporting arguments non-concordant. Observe that
the status of the first argument of the line will change depending on which criterion
we use: on one hand, if we allow the use of C, and just forbid the reintroduction of
A, the first argument in the line would not be defeated; on the other hand, if C is
forbidden, the first argument of the line will be defeated.
Therefore, we will establish the condition that the set of supporting arguments
of an argumentation line must be concordant, and the same must hold for the set
of interfering arguments. Thus, the introduction of argument C in the example of
Figure 8 will not be allowed.
A different ill-formed situation corresponds to the use of a blocking defeater to
defeat a blocking defeater. Consider the following de.l.p.:
tiger (hobbes)
dangerous(X ) —< tiger (X )
∼dangerous(X ) —< baby(X )
baby(hobbes)
∼dangerous(X ) —< pet (X )
pet (hobbes)
Here, A1 = { ∼dangerous(hobbes) —< baby(hobbes) } supports ∼dangerous(hobbes).
The argument A2 = {dangerous(hobbes) —< tiger (hobbes) } is a blocking defeater
for the argument A1 , and A3 ={ ∼dangerous(hobbes) —< pet (hobbes) } is a blocking
defeater for A2 . The following argumentation line may be obtained: [A1 , A2 , A3 ].
Observe that although A2 is a defeater for A3 , A2 is not introduced again because
it was already used in the line.
If the argumentation line [A1 , A2 , A3 ] is accepted, then A3 defeats A2 , reinstating
A1 . However, a blocking argument A3 is being used for defeating a blocking defeater
A2 , but A2 was already blocked by A1 . This is equivalent to accepting that in a
blocking situation having two arguments for “∼dangerous(hobbes)” is preferred
over having just one argument for the contrary. In order to avert this problem,
22
Alejandro J. Garcı́a
and
Guillermo R. Simari
when an argument hAi , hi i is used as a blocking defeater for hAi−1 , hi−1 i during
the construction of an argumentation line, only a proper defeater could be used for
defeating hAi , hi i.
In DeLP, the undesirable situations mentioned above are avoided by requiring
all argumentation lines to be acceptable as defined next.
Definition 4.7 (Acceptable argumentation line)
Let Λ = [hA1 , h1 i, . . . , hAi , hi i, . . . , hAn , hn i] be an argumentation line. Λ is an
acceptable argumentation line iff:
1. Λ is a finite sequence.
2. The set ΛS , of supporting arguments is concordant, and the set ΛI of interfering arguments is concordant.
3. No argument hAk , hk i in Λ is a subargument of an argument hAi , hi i appearing earlier in Λ (i < k .)
4. For all i, such that the argument hAi , hi i is a blocking defeater for hAi−1 , hi−1 i,
if hAi+1 , hi+1 i exists, then hAi+1 , hi+1 i is a proper defeater for hAi , hi i.
It is interesting to note that changes in the definition of acceptable argumentation
line may produce a different behavior of the formalism. Thus, this definition could
be used as a way of tuning the system to obtain different results.
5 Warrant through Dialectical Analysis
In DeLP a literal h will be warranted2 if there exists a non-defeated argument
structure hA, hi. In order to establish whether hA, hi is non-defeated, the set of
defeaters for A will be considered. Since each defeater D for A is itself an argument
structure, defeaters for D will in turn be considered, and so on. Therefore, as stated
in Example 4.3, more than one argumentation line could arise, leading to a tree
structure that we will call dialectical tree.
Definition 5.1 (Dialectical Tree)
Let hA0 , h0 i be an argument structure from a program P. A dialectical tree for
hA0 , h0 i, denoted ThA0 , h0 i , is defined as follows:
1. The root of the tree is labeled with hA0 , h0 i.
2. Let N be a non-root node of the tree labeled hAn , hn i, and
Λ= [hA0 , h0 i, hA1 , h1 i, hA2 , h2 i, . . . , hAn , hn i] the sequence of labels of the
path from the root to N . Let hB 1 , q1 i, hB 2 , q2 i, . . ., hB k , qk i be all the defeaters for hAn , hn i.
For each defeater hB i , qi i (1 ≤ i ≤ k ), such that, the argumentation line
Λ′ = [hA0 , h0 i, hA1 , h1 i, hA2 , h2 i, . . . , hAn , hn i, hB i , qi i] is acceptable, then the
node N has a child Ni labeled hB i , qi i.
If there is no defeater for hAn , hn i or there is no hB i , qi i such that Λ′ is
acceptable, then N is a leaf.
2
In previous work we have used the term justification. We decide to adopt the term warrant in
order to unify the terminology with other approaches.
Defeasible Logic Programming
An Argumentative Approach
23
In a dialectical tree every node (except the root) represents a defeater (proper
or blocking) of its parent, and leaves correspond to non-defeated arguments. Each
path from the root to a leaf corresponds to one different acceptable argumentation
line. As we will show in Example 5.1 the dialectical tree provides a structure for
considering all the possible acceptable argumentation lines that can be generated
for deciding whether an argument is defeated. We call this tree dialectical because
it represents an exhaustive dialectical analysis for the argument in its root.
✟✟
✟
hB 1 , ∼bi
hA, ai
❍❍
❍
hB2 , ∼bi
hC 1 , ∼f i
hB 3 , ∼bi
❅
❅
❅
hC 2 , ∼f i
hD1 , ∼hi
Fig. 9. Dialectical tree for Example 5.1
Example 5.1
Consider the following de.l.p.:
a —< b
∼b —< e
—< c
b
e
c
∼f —< g, h
∼b —< c, d
h —< j
d
j
∼b —< c, f
f —< g
g
k
∼f —< i
i
∼h —< k
Here, the literal a is supported by hA, ai= h{(a —< b), (b —< c)}, ai and there exist
three defeaters for it, each of them starting three different argumentation lines:
hB 1 , ∼bi = h{(∼b —< c, d )}, ∼bi, hB 2 , ∼bi = h{(∼b —< c, f ), (f —< g)}, ∼bi, and
hB 3 , ∼bi = h{(∼b —< e)}, ∼bi. The first two are proper defeaters and the last one is
a blocking defeater. Observe that the argument structure hB 1 , ∼bi has the counterargument h{b —< c}, bi, but it is not a defeater because the former is more specific.
Thus, no defeaters for hB 1 , ∼bi exist and the argumentation line ends there.
The argument structure hB 3 , ∼bi has a blocking defeater: h{b —< c}, bi. Note that
h{b —< c}, bi is the disagreement subargument of hA, ai, therefore, it cannot be introduced because it produces an argumentation line that is not acceptable.
The argument structure hB 2 , ∼bi has two defeaters that can be introduced:
hC 1 , ∼f i = h{(∼f —< g, h), (h —< j )}, ∼f i (proper defeater) and
hC 2 , ∼f i = h{(∼f —< i )}}, ∼f i (blocking defeater.)
Thus, one of the lines is split in two argumentation lines. The argument hC 1 , ∼f i has
a blocking defeater that can be introduced in the line: hD1 , ∼hi = h{(∼h —< k )}, ∼hi.
Finally, observe that both hD 1 , ∼hi and hC 2 , ∼f i have a blocking defeater, but they
cannot be introduced, because they make the argumentation line not acceptable.
The dialectical tree for hA, ai is shown in Figure 9.
24
Alejandro J. Garcı́a
and
Guillermo R. Simari
Observation 5.1
A subtree of a dialectical tree (i. e., a node with all its descendants) is not always a
dialectical tree. Suppose we build an acceptable argumentation line where a defeater
hA, hi will not be included because it would make the line unacceptable. There
might be a subsequence of the mentioned line where the same defeater could be
included, as the following example shows.
Example 5.2
Consider the de.l.p. P= { (a —< b), (∼a —< c), (a —< f ), (b), (c), (d) }.
Here, h{∼a —< c}, ∼ai and h{a —< b}, ai are blocking defeaters, and h{∼a —< c}, ∼ai
and h{a —< f }, ai are also blocking defeaters. Consider the following dialectical tree,
with only one argumentation line
h{a
—<
b}, ai
↑
h{∼a
—<
c}, ∼ai
The argument structure h{a —< f }, ai cannot be included in the tree as a defeater for
h{∼a —< c}, ∼ai, because a blocking-blocking situation occurs, and the argument
structure h{a —< b}, ai cannot be included as a defeater for h{∼a —< c}, ∼ai, because
it was already used in the argumentation line.
The node h{∼a —< c}, ∼ai is a subtree of the one above, but it is not a dialectical
tree because h{a —< f }, ai and h{a —< b}, ai, which are defeaters for h{∼a —< c}, ∼ai,
are not in the tree.
hA, aiD
✟✟
✟
hB1 , ∼biU
❍❍
❍
hB 2 , ∼biD
hC 1 , ∼f iD
hB3 , ∼biU
❅
❅
❅
hC 2 , ∼f iU
hD1 , ∼hiU
Fig. 10. Marked dialectical tree for Example 5.1
In order to decide whether the root of a dialectical tree is defeated, a marking
process will be defined. Nodes will be recursively marked as “D ” (defeated) or “U ”
(undefeated) as follows:
Procedure 5.1 (Marking of a dialectical tree)
Let ThA, hi be a dialectical tree for hA, hi. The corresponding marked dialectical
∗
tree, denoted ThA,
, will be obtained marking every node in ThA, hi as follows:
hi
∗
1. All leaves in ThA, hi are marked as “U ”s in ThA,
.
hi
2. Let hB, qi be an inner node of ThA, hi . Then hB, qi will be marked as “U ”
∗
in ThA,
iff every child of hB, qi is marked as “D ”. The node hB, qi will be
hi
∗
marked as “D ” in ThA,
iff it has at least a child marked as “U ”.
hi
Defeasible Logic Programming
An Argumentative Approach
25
This procedure suggests a bottom-up marking process, through which we are
able to determine the marking of the root of a dialectical tree. Figure 10 shows the
dialectical tree of Figure 9 after applying the marking procedure.
The notion of warrant will be defined in terms of a marked dialectical tree as
follows.
Definition 5.2 (Warranted literals)
∗
Let hA, hi be an argument structure and ThA,
its associated marked dialectical
hi
∗
tree. The literal h is warranted iff the root of ThA,
is marked as “U ”. We will
hi
say that A is a warrant for h.
Proposition 5.1
If a literal q has a strict derivation from a de.l.p. P, then, q is warranted.
Proof: By Observation 3.1, if there exists a strict derivation for q from P, then
there exists a unique argument structure for q: h∅, qi. By Proposition 3.1, there
exists no possible counter-argument for h∅, qi. Therefore, there will be no defeaters
for h∅, qi, and then q will be a warranted.
In other approaches (Dung, 1995; Toni & Kakas, 1995; Antoniou et al., 2000a;
Pollock, 1995; Prakken & Sartor, 1997), the same idea that ‘an argument A will
be defeated if there exists at least one defeater for it that it is not defeated’ is
used, but in these approaches the notions of argument, defeater, or the argumentation process differ from ours. For example, in (Toni & Kakas, 1995), a similar tree
structure was developed for computing the acceptability semantics for negation as
failure, however, for them arguments correspond to a set of default negated literals.
In (Prakken & Sartor, 1997) a dialogue tree is used, and in (Pollock, 1995) an “Inference Graph” was introduced. See Section 8 for further discussion on the related
approaches.
It is interesting to note that the notions of acceptable argumentation line and
the dialectical tree provide a flexible structure for defining different argumentation
protocols when considering different strategies for accepting defeaters during argumentation. This is an advantage over other formalisms where changing the protocol
means changing the whole system.
Based on the notion of warrant, we will define a modal operator of belief “B ”,
where Bh means h is warranted, and ¬Bh means h is not warranted.
Definition 5.3 (Answer to queries)
The answers of a DeLP interpreter can be defined in terms a modal operator B . In
terms of B , there are four possible answers for a query h:
•
•
•
•
3
yes, if Bh (h is warranted)
no, if B h (the complement of h is warranted)
undecided, if ¬Bh and ¬B ∼h (neither h nor ∼h are warranted.)3
unknown, if h is not in the language of the program.
Observe that the symbol “¬” corresponds to classical negation in the meta-language of the
modal operator
26
Alejandro J. Garcı́a
and
Guillermo R. Simari
Example 5.3
Consider the de.l.p. of Example 5.1. There, the literal “w ” is not in the language
of the program, so the answer for the query “w ” is unknown. The answer for “a”
is undecided because as shown by the dialectical tree of Figure 10, the literal “a”
is not warranted, and the literal “∼a” is also not warranted because there is no
argument structure supporting it. The argument hB 1 , ∼bi has no defeaters, so “∼b”
is warranted (B ∼b) and the answer for query “∼b” is yes. Since B ∼b, then the
answer for query “b” is no.
Example 5.4
Regarding the de.l.p. P 2.1 , the answer for flies(tina) is yes, and the answer for
∼flies(tina) is no.
Considering the program P 2.2 , the answer for pacifist (nixon) is undecided, and
the answer for ∼pacifist (nixon) is also undecided.
In the case of example P 2.4 , the answer for buy stocks(acme) is yes, and the answer
for buy stocks(alfa) is unknown.
Example 5.5
From the de.l.p. P 2.2 of Example 2.2 the following argument structures can be obtained: hA1 , has a gun(nixon)i, hA2 , ∼has a gun(nixon)i, hA3 , ∼pacifist (nixon)i,
and hA4 , pacifist (nixon)i, where
A1 = {has a gun(nixon) —< lives in chicago(nixon)}
∼has a gun(nixon) —< lives in chicago(nixon), pacifist (nixon)
A2 =
pacifist (nixon) —< quaker (nixon)
A3 = {∼pacifist (nixon) —< republican(nixon)}
A4 = {pacifist (nixon) —< quaker (nixon) }
Here, hA3 , ∼pacifist (nixon)i is a blocking defeater for hA4 , pacifist (nixon)i, and
vice versa, therefore in DeLP the answer for the query ‘pacifist (nixon)’ will be
undecided. The argument structure hA2 , ∼has a gun(nixon)i is a proper defeater
for hA1 , has a gun(nixon)i. Observe that hA3 , ∼pacifist (nixon)i is a blocking defeater for hA2 , ∼has a gun(nixon)i, since hA4 , pacifist (nixon)i is a subargument of
hA2 , ∼has a gun(nixon)i.
An argument behaving like hA2 , ∼has a gun(nixon)i is called in (Makinson & Schlechta, 1991)
a “zombie argument”: it is not ‘alive’ because it is blocked by the argument hA3 , ∼pacifist (nixon)i,
but it is not ‘fully dead’ because it is defeating the argument hA1 , has a gun(nixon)i.
As stated in (Prakken & Vreeswijk, 2000), in such a case, for several argumentation
formalisms, neither of the three arguments, A1 , A2 , A3 , is a warrant.
In DeLP hA1 , has a gun(nixon)i is defeated by hA2 , ∼has a gun(nixon)i, but
hA2 , ∼has a gun(nixon)i is in turn defeated by hA3 , ∼pacifist (nixon)i, reinstating
hA1 , has a gun(nixon)i. The argument hA4 , pacifist (nixon)i cannot be used to defeat hA3 , ∼pacifist (nixon)i because the argumentation line will not be acceptable
(see condition 4 of Definition 4.7). Therefore, A1 is a warrant for has a gun(nixon).
Example 5.6
Defeasible Logic Programming
∼p ← f
d
h
P 5.6 =
e
An Argumentative Approach
p —< d , h
∼p —< d , h, ∼a
∼a —< e
a —< e, f
f —< d
From the de.l.p. above the following argument structures can be obtained:
27
hB, pi = h{p —< d , h}, pi
hC, ∼pi = h{(∼p —< d , h, ∼a), (∼a —< e)}, ∼pi
hA, ai = h{(a —< e, f ), (f —< d )}, ai
We will first consider a potential warrant for literal p. hB, pi has the proper
defeater hC, ∼pi defeated in turn by its proper defeater hA, ai in ∼a. If the argumentation line Λ1 = [hB, pi, hC, ∼pi, hA, ai] were acceptable, literal “p” would be
warranted.
Next, we will consider a potential warrant for literal ∼p. As stated above, hC, ∼pi
has the proper defeater hA, ai, but note that hA, ai is also defeated by hB, pi (using
the strict rule“∼p ← f ”). Consider Λ2 = [hC, ∼pi, hA, ai, hB, pi]. Although hC, ∼pi
defeats hB, pi, it cannot be introduced in Λ2 because of the circularity restriction.
If Λ2 were to be acceptable, the literal ∼p would now be warranted.
Therefore, accepting Λ1 for p and Λ2 for ∼p would render both literals warranted.
This will no happen in DeLP because neither Λ1 nor Λ2 satisfy the concordance
restriction and therefore they are not acceptable argumentation lines. Observe that
hB, pi and hA, ai are not concordant, and hB, pi and hC, ∼pi are not concordant
either.
5.1 The Warrant Procedure with pruning
In order to decide whether a literal h is warranted from a de.l.p. P, the warrant
procedure has to find an argument structure hA, hi and, as established by Defini∗
tion 5.2, the root of ThA,
has to be marked as “U ”. We will introduce in this
hi
section a procedure for deciding whether a given literal is warranted. This procedure
will not explore, in general, the whole dialectical tree, and answers will therefore
be computed in a more efficient way.
Given a program P, there could be several argument structures hA1 , hi, . . . , hAi , hi
for a literal h. However, the warrant procedure will not construct all the possible
argument structures for h; it will consider each one of them in turn, exploring the
associated dialectical tree. This optimization is similar in spirit to the one found in
OSCAR (Pollock, 1996).
∗
Observe that a marked dialectical tree ThA,
, like the one in Figure 11 (left),
ai
resembles the minimax tree used in Artificial Intelligence for game trees. Here,
instead of nodes marked with 1 or -1, the tree has nodes marked “D ”, or “U ”.
Note also that during the marking of the dialectical tree, some nodes are not
contributing to the decision procedure (the marking), i. e. are such that they could
be either “U ” or “D ” without changing the marking of the dialectical tree’s root.
For example, in Figure 11 (left) the left-most child of the root is a “U ”, so the root
28
Alejandro J. Garcı́a
and
Guillermo R. Simari
is a “D ”, no matter what the marking of the other two children of the root are.
Hence, such a don’t-care node obviously belongs to a branch that may be pruned.
This pruning process is similar to the α-β pruning of a mini-max tree.
Clearly, during the marking procedure, once a node is labeled “U ” all of its
siblings can be pruned. Figure 11 (left) shows a marked dialectical tree for argument
structure hA, ai of Example 5.1 and the pruned tree in depth-first order (right.)
hA, aiD
✟✟
✟
hB1 , ∼biU
❍❍
❍
hB 2 , ∼biD
hC 1 , ∼f iD
hB3 , ∼biU
hA, aiD
✟✟
✟
hB 1 , ∼biU
❍❍
❍
-pruned-
-pruned-
❅
❅
❅
hC 2 , ∼f iU
hD1 , ∼hiU
Fig. 11. Marked Dialectical tree for example 5.1 (left) and pruned (right)
Given a query q the warrant procedure first will try to generate an argument
structure A1 for q. If A1 for q is found, then the warrant procedure will try to build
a defeater A2 for some counter-argument point in A1 (see the example below.) If
such defeater exists, it will try to build a defeater A3 for A2 , and so on, building
in this form an argumentation line. Thus, a dialectical tree will be generated in
depth-first manner, considering (from left to right) every acceptable argumentation
line.
In a dialectical tree there are as many argumentation lines as leaves in the tree,
and each of them could finish in a supporting or an interfering argument. Example 5.7 shows how a dialectical tree is constructed in a depth-first manner, considering supporting and interfering arguments for each possible argumentation line,
and how the marking procedure and pruning is done while building the tree.
Example 5.7
Suppose that, in order to find a warrant for h1 , the argument A1 is found, and the acceptable argumentation line [ hA1 , h1 i, hA2 , h2 i, hA3 , h3 i, hA4 , h4 i, hA5 , h5 i] is built,
see Figure 12 (i.) In this situation, the acceptable argumentation line ends with the
supporting argument A5 , so the marking procedure establishes that hA1 , h1 i is –up
to this point– a “U ”. However, the warrant process cannot finish there because there
could be more defeaters to consider. Therefore, the process will continue expanding
other argumentation lines.
First, note that although there could be more defeaters for A4 , considering them
will not change A4 ’s status because of A5 . Therefore, the tree can be pruned at
that point without considering further defeaters for A4 .
However, the previous analysis does not apply to A3 , because if an undefeated
defeater is found for it, the mark of A3 could change. It is for this reason that
Defeasible Logic Programming
An Argumentative Approach
hA1 , h1 iU
hA1 , h1 iD
✁
hA2 , h2 iD
✁
hA3 , h3 iU
✁
29
✁
hA2 , h2 iU
✁
hA3 , h3 iD
❆
hA4 , h4 iD
hA′4 , h4′ iU
✁
hA5 , h5 iU
(i)
(ii)
Fig. 12. Argumentation lines of Example 5.7
the procedure will look for any other possible defeater A4 ′ for A3 , creating a new
argumentation line, see Figure 12-ii.
If a defeater A4 ′ is found (with no defeaters), then the argumentation line will
end with an interfering argument, and therefore A1 will be a “D ”, see Figure 12-ii.
Again, pruning could be effected, because although there could be more defeaters
for A3 , they cannot modify its status. However, there might be another defeater
A3 ′ for A2 , creating, in that case, a new argumentation line.
Figure 13 shows a Prolog-like specification of the top level of the warrant procedure with pruning. Predicates warrant/2 and defeated/2 specify how to perform
the dialectical analysis. That is, a query Q will be warranted if an argument A for
Q is found, and A is not defeated. The predicate find argument/2 (not developed in
the figure) simply builds an argument for a given query.
The predicate defeated/2, receives an argument A and an argumentation line
ArgLine, and tries to find a defeater D for A, checking that D is acceptable as part of
the argumentation line. If acceptable/3 succeeds, then it returns NewLine adding D
to ArgLine. Since the argument A will be defeated if there exists a defeater that is
in turn not defeated, then finally a call to \+ defeated(D,NewLine) is made.
The predicate find defeater/2 calls find counterarg/2 that looks for an argument
C that counter-argues A with a disagreement sub-argument SubA. The argument C
will be a defeater for A if SubA is not better than C. The predicate better/2 succeeds
when the first argument is better than the second regarding the chosen comparison
criterion. Observe finally that the pruning is performed calling defeated/1 recursively with Prolog’s negation as failure “\+”.
30
Alejandro J. Garcı́a
and
Guillermo R. Simari
warrant(Q,A):find_argument(Q,A),
\+ defeated(A,[support(A,Q)]).
% Q is a warranted literal
% if A is an argument for Q
% and A is not defeated
defeated(A,ArgLine):find_defeater(A,D,ArgLine),
acceptable(D,ArgLine,NewLine),
\+ defeated(D,NewLine).
%
%
%
%
find_defeater(A,C):find_counterarg(A,C,SubA),
\+ better(SubA,C).
% C is a defeater for A
% if C counterargues A in SubA
% and SubA is not better than C
A is defeated
if there is a defeater D for A
acceptable within the line
and D is not defeated
Fig. 13. Specification of the Warrant Procedure with Pruning
6 DeLP Extensions
6.1 DeLP with Default Negation
As discussed in (Alferes et al., 1996), logic programs, deductive databases, and
more generally non-monotonic theories, use various forms of default negation, “not F ”,
whose major distinctive feature is that ‘not F ’ is assumed by default, i. e., it is assumed in the absence of sufficient evidence to the contrary. In DeLP “absence of
sufficient evidence” means “there is not warrant”. Therefore, the default negation
‘not F ’ will be assumed when the literal F is not warranted.
We will discuss here briefly how to extend DeLP for using default negation. A
more detailed paper with the definition of extended DeLP, and a comparison with
other approaches is in preparation.
When DeLP is extended to consider default negation, some characteristics of the
formalism just described are affected. For a correct treatment of default negation
in DeLP, further considerations will be required.
Default negation will be allowed only preceding literals in the body of defeasible rules, e. g., ‘∼cross railway tracks —< not ∼train is coming 4 ’, and defeasible
rules that use default negation will be called extended defeasible rules. The reason
not allowing default negation in strict rules is twofold. On one hand, a strict rule
‘p ← not q’ is not completely strict, because the head ‘p’ will be derived assuming ‘not q’. On the other hand, the set Π of strict rules and facts could become
a contradictory set in many cases. An Extended Defeasible Logic Program will be
then, a set of Facts, Strict Rules and Extended Defeasible Rules.
Since the decision of assuming an extended literal “not L” will be carried out
by the dialectical process, the definition of defeasible derivation (Definition 2.5) is
modified acordingly in extended DeLP. The change reflects that when an extended
literal is found in the body of a rule, that literal will be ignored:
4
Adapted from an example attributed to John McCarthy in (Gelfond & Lifschitz, 1990).
Defeasible Logic Programming
An Argumentative Approach
31
Definition 6.1 (Extended Defeasible Derivation)
Let P=(Π, ∆) be an extended defeasible logic program and L a ground literal.
A defeasible derivation of L from P, denoted P |∼ L, consists of a finite sequence
L1 , L2 , . . . , Ln = L of ground literals, and each literal Li is in the sequence because:
(a) Li is a fact in Π, or
(b) there exists a rule Ri in P (strict or defeasible) with head Li and body
B1 , B2 , . . . , Bk and every literal of the body, except the ones preceded by
default negation, is an element Lj of the sequence appearing before Li (j < i.)
The definition of argument structure is also extended in order to avoid the introduction of self-defeating arguments, shown in the following example. Consider
the set of defeasible rules: A={(a —< b), (b —< not a) }. From any de.l.p. including
those rules, it is possible to obtain a defeasible derivation for “a”, assuming “not a”.
However, an argument structure like hA, ai would be a new kind of self-defeating
argument that we would like to avoid. Observe the new condition “2” below.
Definition 6.2 (Extended Argument Structure )
Let h be a literal, and P=(Π, ∆) an extended defeasible logic program. An argument
structure hA, hi for a ground literal h, is a set of extended defeasible rules of ∆,
such that:
1. there exists a defeasible derivation for h from Π ∪ A.
2. if L is a literal in the defeasible derivation of h, then there is no defeasible
rule in A containing “not L” in its body.
3. Π ∪ A is non-contradictory, and
4. A is minimal: there is no proper subset A′ of A such that A′ satisfies conditions (1) and (3).
In extended DeLP, default negated literals will be another point of attack in an
argument. Phan Dung in (Dung, 1993a) points out that “default negated literals
are assumptions on which the derivation is based. The acceptance of the derivation
depends on the acceptance of these assumptions”. In his work, Dung defines a notion
of ground attack: an argument A′ for l , is a ground attack for A, if A contains a
default negated literal not l . That is, an argument based on an assumption “not l ”
could be attacked by an argument that supports the literal “l”. We will extend our
notion of defeat, incorporating Dung’s notion of ground attack. Something similar
was done in (Prakken & Sartor, 1997).
We say that an argument structure hA, hi is an attack to an assumption of hB, qi,
if the extended literal “not h” is in the body of a defeasible rule in B. The notion
of defeater will be extended considering this new kind of attack.
Definition 6.3
An argument structure hA1 , h1 i is a defeater for hA2 , h2 i, if and only if either:
(a) hA1 , h1 i is a proper defeater for hA2 , h2 i, or
(b) hA1 , h1 i is a blocking defeater for hA2 , h2 i, or
(c) hA1 , h1 i is an attack to an assumption of hA2 , h2 i.
32
Alejandro J. Garcı́a
and
Guillermo R. Simari
With this new definition of defeater, default negated literals become new points
of attack. Thus, when the dialectical analysis is carried out, default negated literals
could be defeated by arguments. It’s easy to see that DeLP negation satisfies the coherence principle established in (Alferes & Pereira, 1994; Pereira & Alferes, 1994):
If “∼p” is warranted, then “not p” can be assumed.
We claim that both negations are needed for representing knowledge in a natural
manner. However, some approaches in the literature (Kakas et al., 1994; Dimopoulos & Kakas, 1995;
Xianchang Wang, 1997) have tried to define default negation in terms of strong
negation. Here follows some proposed transformations and counterexamples showing why they fail.
In the approach of Logic Programming without Default Negation (Kakas et al., 1994;
Dimopoulos & Kakas, 1995), a priority relation between rules is used for deciding
between competing rules. In their approach they remove default negation using the
following transformation: the rule “r0 :p ← q, not s” is transformed into two rules,
“r1 :p ← q” and “r2 :∼p ← s”, with r1 < r2 . Hence, when s is not derivable, the
rule r2 cannot be used, and there is a derivation for p. On the other hand when s
is derivable, rule r2 blocks r1 .
However, in this approach, when s becomes derivable after the transformation,
the literal ∼p, that was not derivable from the original program is now derivable
in the transformed one. This new derivable literal may cause unexpected results,
as shown in Example 6.1 where we compare a de.l.p. P with default negation, and
the program P ′ obtained with the transformation cited above. The program P ′ has
the priority: (∼p —< r ) > (p —< q).
Example 6.1
P′
P
p
—<
q, not s
q
s
a —< q
∼a —< ∼p
p —< q
∼p —< s
q
s
a —< q
∼a —< ∼p
Observe that from P there is no argument for p, there is no argument for ∼p,
and the literal a is warranted. However, in the transformed program P ′ the literal
∼p is warranted and there is no warrant for the literal a, because ∼p allows to
build an argument for ∼a that defeats the argument for a. Further comments on
the transformation cited above were reported in (Xianchang Wang, 1997).
In (Xianchang Wang, 1997), where Priority Logic Programming was defined, another transformation is given: a rule “p ← not q” is transformed to “ p ← q”,
where “q” is a new symbol. In addition, for every literal p of the program, two
new rules are generated: “r1 : p ← p” and “r2 : p”, with r2 < r1 . We refer the
interested reader to (Xianchang Wang, 1997) for the details of the transformation.
Here follows an example of a de.l.p. P and its transformation P ′ .
Defeasible Logic Programming
An Argumentative Approach
33
Example 6.2
P
P′
p ← not q
p ← q
q
p
p ← p
q ← q
In Example 6.2, from the transformed program P ′ new literals will be derived that
may interact with other parts of the program.
6.2 DeLP with presumptions
A defeasible rule with an empty body is called a presumption (Nute, 1988). In our
approach a rule like “a —< ” would express that “there are (defeasible) reasons to
believe in a”.
Extending DeLP to consider presumptions is straightforward. We will show that
only slight modifications need to be made in the formalism. An extended defeasible
logic program will be a set of facts, strict rules, defeasible rules and presumptions.
We will denote with ∆+ the set of defeasible rules, and presumptions. The definition
of defeasible derivation is the only one that has to be extended in order to consider
presumptions. In Definition 2.5, condition (a) has to be changed to: “Li is a fact or
a presumption”.
One major difference with respect to a regular de.l.p. is that presumptions are
defeasible rules without body. Given an extended de.l.p. (Π,∆+ ) with no facts,
defeasible derivations and arguments can still be obtained. For example, from the
de.l.p. P1 = {(b —< ), (a —< b)} a defeasible derivation for “a” can be obtained.
Thus, argument structures could be based on facts, on presumptions, or both.
Since presumptions are a special case of defeasible rules, the notion of argument
structure remains intact. However, given an argument structure hA, hi, the set A
will be a set of defeasible rules that could include presumptions (A ⊆ ∆+ ). The
definitions of disagreement, counter-argument, defeater, dialectical tree, and the
warrant procedure are not affected by the inclusion of presumptions.
The comparison criterion could be affected. As the following example shows, the
specificity criterion defined in this paper has some problems when the argument
contains presumptions.
Example 6.3
Consider the extended de.l.p. (Π,∆+ ), where Π= {f}, and ∆+ = {(a —< p, f ), (p —< ),
(∼a —< f ), (a —< t), (t —< )}. The following argument structures can be obtained:
hA1 , ai = h{(a —< t), (t —< )}, ai
hA2 , ∼ai = h{∼a —< f }, ∼ai
hA3 , ai = h{(a —< p, f ), (p —< )}, ai
34
Alejandro J. Garcı́a
and
Guillermo R. Simari
Observe that hA2 , ∼ai is based on the fact f , and hA1 , ai is based on the presumption t . Clearly, an argument based on facts should be preferible to one based
on presumptions. In this case Definition 3.5 behaves as expected, because it states
that hA2 , ∼ai is more specific than hA1 , ai.
However, in other cases, this definition does not behave correctly. Observe now
that hA2 , ∼ai is based on the fact f , hA3 , ai is based on the fact f and the presumption p, i. e. hA3 , ai is using more information. Here, Definition 3.5 states that
hA2 , ∼ai and hA1 , ai are incomparable. The reason for this is that presumptions
do not have a body and therefore the set H = {f } activates A2 . Other examples
were analyzed in (Garcı́a, 2000).
If the comparison criterion used is based on rules priorities, then the criterion
has to find the way of preferring a fact over a presumption. Otherwise, an argument
based on a fact and an argument based on a presumption (like hA2 , ∼ai and hA1 , ai
in the example above) will be of equal strength.
One simple way of solving the problems mentioned above is establishing that
arguments based on facts will be preferable to arguments based on presumptions.
The extension of the comparison criteria to consider presumptions is currently under
study.
7 Implementation and Applications
An interpreter of DeLP was implemented in Prolog, and can be used through
the web (see http://cs.uns.edu.ar/∼ ajg/DeLP.html). Also an abstract machine
called jam (Justification Abstract Machine) (Garcı́a, 1997) has been designed for
the implementation of DeLP, as an extension of the Warren’s abstract machine
(wam). A prototype implementation of the jam as a virtual machine was also
developed, and is subject of future research.
Applications that deal with incomplete and contradictory information can be
easily modeled using DeLP programs. The defeasible argumentation basis of DeLP
allows the building of applications for dynamic domains, where information may
change. Thus, Defeasible Logic Programming can be used for representing knowledge and for providing an inference engine in many applications. A concrete application of DeLP was (Garcı́a et al., 2000), where a multi-agent system for the
stock market domain was developed. The application consists of several deliberative agents for monitoring the stock market and performing actions based on the
retrieved information. The agents reason using DeLP, and are capable of formulating arguments and counterarguments in order to decide whether to buy or sell
some stock. Other applications are in progress.
8 Related Work
DeLP combines Defeasible Argumentation and Logic Programming. In both areas
there have been developed several related approaches. We will comment first the
differences with other Defeasible Reasoning formalisms and then with extentions of
Logic Programming that are related with our work.
Defeasible Logic Programming
An Argumentative Approach
35
8.1 Defeasible Logic and Argumentation
Nute’s d-Prolog (Nute, 1988; Nute, 1994) was the first to introduce defeasible reasoning programming with specificity. d-Prolog syntax has strict and defeasible rules
and strong negation. However, d-Prolog’s rules do not allow default negation. The
language of d-Prolog provides facilities to define defeater rules like “sick birds do
not fly”. The purpose of defeater rules is to account for the exceptions to defeasible rules. However, in (Antoniou et al., 2001) it is shown that defeaters can be
simulated by means of strict and defeasible rules (in Nute’s sense).
DeLP does not need to be supplied with defeater rules. The system will find the
counterarguments among the arguments it is able to build, and will decide on the
defeat relation using a comparison criterion. Thus, in DeLP the programmer does
not need to encode explicit exceptions.
One important difference between d-Prolog and our approach is the way in which
contradictory conclusions are treated. In d-Prolog there is no notion of argument. In
order to decide between two contradictory conclusions, d-Prolog compares only one
pair of rules, whereas in DeLP the two arguments that support those conclusions
are compared. Comparing only a pair of rules may be problematic as we show next.
Consider the program P 1 = {(a —< b), b, (c —< d ), d , (h ← a), (∼h ← c)} of
Example 2.3. In d-Prolog the literal a is accepted as proved from P 1 because
there is no rule with “∼a” in its head, so no rule that contradicts “a —< b” is
found. However, literals a and c disagree: literals h and ∼h are derivable from
{a, c} ∪ {(h ← a), (∼h ← c)}. In DeLP, the argument B = {(c —< d )} is a blocking defeater for A = {a —< b}, because a and c disagree. Therefore, a fails to be
warranted, and the answer for a is undecided. Answer for c is also undecided.
Another problematic situation of comparing two rules without considering the
rest of the program follows. Some approaches consider that R1 =“∼p —< q, r ” is
better than R2 =“p —< q” because the body of R1 has more information. However,
it may not be true, depending on the basis for the literal r . For instance, consider
the program P 2 = {(p —< q), q, (∼p —< q, r ), (r ← q)}. Here, r is obtained strictly
from q, so it’s not true that R1 is based on more information than R2 . Both rules
have the same basis: the literal q.
A major difference is that in d-Prolog there is no dialectical analysis, and no treatment for circular argumentation lines. The interested reader is referred to (Prakken & Vreeswijk, 2000),
where other features of Nute’s work are discussed.
Besides Nute’s work on Defeasible Logic, recent work by Grigoris Antoniou, David
Billington, Michel Maher and Guido Governatori, has extended Nute’s approach,
see (Antoniou et al., 2000a; Antoniou et al., 1998). Unfortunately, the same problems mentioned above for d-Prolog are inherited there.
The defeasible argumentation formalism developed in (Simari & Loui, 1992) and
used here, was inspired in part by Pollock’s work in Defeasible Reasoning (Pollock, 1987).
However, Pollock has changed the way in which an argument is warranted, adopting
36
Alejandro J. Garcı́a
and
Guillermo R. Simari
a multiple status assignment approach5 (Pollock, 1995; Pollock, 1996). Pollock has
developed a computer program in Lisp, called OSCAR (Pollock, 1995) that performs defeasible reasoning. In OSCAR, arguments are sequences of linked reasons,
and probabilities are used for comparing competing arguments. In a way similar
to Nute’s defeater rules, explicit ‘undercutting’ defeaters can be expressed in his
language. An inference graph is used by OSCAR for evaluating the status of arguments. Pollock argues that human reasoning is defeasible in two different senses. He
distinguishes between ‘synchronically defeasible’ (a conclusion may be unwarranted
relative to a larger set of inputs) and ‘diachronically defeasible’ (a conclusion may
be retracted as a result of further reasoning, without any new input). Hence, in
OSCAR an argument may be ‘justified’ in one stage of reasoning, and unjustified
later, without any additional input. However an argument is ‘warranted’ when the
reasoner reaches a stage, where for any new stages of reasoning the argument remains undefeated. This notion of warrant coincides with ours. However, in OSCAR
a bottom-up procedure is used for computing justified and warranted arguments.
In (Dung, 1995), P. Dung has proposed a very abstract and general argumentbased framework, where he completely abstracts from the notions of argument and
defeat. In contrast with our approach of defining an object language for representing
knowledge and a concrete notion of argument and defeat, Dung’s approach assumes
the existence of a set of arguments ordered by a binary relation of defeat. However,
he defines various notions of ‘argument extensions’, which aim to capture various
types of defeasible consequence.
Inspired by legal reasoning, H. Prakken and G. Sartor (Prakken & Sartor, 1997)
have developed an argumentation system that, like ours, uses the language of extended logic programming. They introduce a dialectical proof theory for an argumentation framework fitting the abstract format developed by Dung, Kowalski et
al. (Dung, 1995; Bondarenko et al., 1993). However, since they are inspired by legal
reasoning, the protocol for dispute is rather different from our dialectical tree. A
proof of a formula takes the form of a dialogue tree, where each branch of the tree
is a dialogue between a proponent and an opponent. Proponent and opponent have
different rules for introducing arguments, leading to an asymmetric dialogue. Later,
Prakken (Prakken, 1997) generalized the system to default logic’s language.
R. Kowalski and F. Toni (Kowalski & Toni, 1996) have outlined a formal theory
of argumentation, in which defeasibility is stated in terms of non-provability claims.
They argue that defeasible reasoning with rules of the form P if Q can be understood as “exact” reasoning with rules of the form P if Q and S cannot be shown,
where S stands for one or more defeasible “non-provability claims”. In (Brewka, 2001a),
a proposal of a new formal notion of argument systems is given, that focuses on
capturing the most revelant aspects of realistic argumentation processes. His main
interest is to capture the logic and procedural aspects of argumentation. The underlying language of his approach is preferential default logic.
Other related approaches of defeasible argumentation are by Verheij (Verheij, 1996),
5
Unique and multiple status
in (Prakken & Vreeswijk, 2000)
assignments
for
arguments
are
analyzed
in
depth
Defeasible Logic Programming
An Argumentative Approach
37
Vreeswijk (Vreeswijk, 1997), Bondarenko (Bondarenko et al., 1997), and Loui (Loui, 1997b).
Details of them can be found in the following surveys of defeasible argumentation: (Prakken & Vreeswijk, 2000), and (Chesñevar et al., 2000).
8.2 Logic Programming
In (Gelfond & Lifschitz, 1990), Logic Programming with Classical Negation was
introduced. There, when two complementary literals can be derived, the program
becomes “contradictory” and every literal of the program can be derived. Since common sense reasoning is typically based on tentative information, and the representation of this kind of information leads in most cases to inconsistent knowledge bases,
an extended logic program usually will derive all of the language. This problem
was attacked in (Inoue, 1991), where Extended Logic Programming with Default
Assumptions is considered. This approach resembles a defeasible argumentation system, but unfortunately no preference criterion for deciding between contradictory
explanations was considered.
In (Kakas et al., 1994), a semantics for default negation called “acceptability semantics” was introduced, based on previous works on default negation and abductive logic programming (Eshghi & Kowalski, 1989; Dung, 1991; Kakas et al., 1993).
Sets of default negated literals are considered as extensions of the program, and a
notion of “attack” between these sets is defined. An extension H is acceptable iff
any attack A against H is not acceptable. A fixpoint operator for acceptability is
given. They introduce a general theory of acceptability based on a binary relation
“attack” that for LP is defined using a priority relation over program rules.
Toni and Kakas in (Toni & Kakas, 1995), developed a proof procedure for the
acceptability semantics mentioned above. In their approach a tree structure similar
to our dialectical tree was developed. Both approaches share the idea of having a tree
where children nodes attack the father node. However, as the intended application
of these trees is computing a semantics for default negation, the nodes of their tree
are sets of ‘abducibles’ (default negated literals), whereas a dialectical tree is a
tree of arguments. Since they do not consider strong negation, both approaches are
difficult to compare.
In (Kakas et al., 1994) and later in (Dimopoulos & Kakas, 1995), “Logic Programming without Negation as Failure” (LPwNF) was introduced. A LPwNF program consists of a set of basic rules L0 ← L1 , . . . , Ln (where Li are literals that
could use strong negation) and a given irreflexive and antisymmetric priority relation among program rules. They claim that default negation can be removed using
a program transformation. The problem with this transformation (see Example 6.1)
is that new literals are derivable that may cause other derivations to be blocked.
Other problems with the transformation were reported in (Xianchang Wang, 1997).
The proof procedure of LPwNF is very similar to the one of d-Prolog. Although in (Dimopoulos & Kakas, 1995) there is no comparison with Defeasible
Logic, in (Antoniou et al., 2000a) a comparison among LPwNF, Defeasible Logic,
and ‘Courteous Logic Programs’ is given. The main result of (Antoniou et al., 2000a)
is that Defeasible Logic can prove everything that sceptical LPwNF can. In (Gelfond & Son, 1997)
38
Alejandro J. Garcı́a
and
Guillermo R. Simari
a system to ‘investigate the methodology of reasoning with prioritized defaults in
the language of logic programs under the answer set semantics’ was developed.
Their system allows the representation of defeasible and strict rules, and the representation of an order among those rules. The way in which defeasible inferences
are obtained is very similar to Antoniou et al. approach, although no comparison
of these two systems is given.
Sometimes, defeasible rules are considered as defaults in a default theory. However, defaults are not defeasible rules, as explained in (Nute, 1994). We will now
introduce a more illustrative example adapted from (Covington et al., 1997).
Example 8.1
Consider the following de.l.p. (left) and the same knowledge represented in a default
theory (right).
has shell (X ) —< mollusc(X )
∼has shell (X ) —< cephalopod (X )
mollusc(X ) ← cephalopod (X )
cephalopod (fred )
mollusc(X ):has shell(X )
has shell(X )
cephalopod(X ):∼has shell(X )
∼has shell(X )
mollusc(X ) ← cephalopod (X )
cephalopod (fred )
From the DeLP program above, there is an argument for ∼has shell (fred ) that
is more specific than the argument for has shell (fred ). Hence, there is a warrant
for ∼has shell (fred ). However, in Default Logic there are two extensions: one with
∼has shell (fred ) and the other with has shell (fred ). The reason is because the defaults express no connection between cephalopod and mollusc. To capture this conshell(X )∧∼cephalopod(X )
.
nection, the first default should be changed to mollusc(X ):hashas
shell(X )
That is, the exception must be explicitly encoded in the default. In DeLP, however,
the exceptions are discovered by the warrant procedure.
The above comparison seems to be unfair because default logic has no selection mechanism. However, in (Brewka & Eiter, 2000) default logic was extended
in order to handle priorities, developing a Prioritized Default Logic (PDL). This
approach has many properties which are relevant for argumentation, such as explicit representation of preferences and reasoning about these preferences. Although
this approach is not explicitly argument-based, prioritized default theories extend
default theories adding a strict partial order on defaults, using this ordering to
define preferred extensions. PDL satisfies two reasonable principles for preference
handling, which distinguishes PDL from other approaches. However, since an ordering of defaults is enforced, problems similar to those mentioned for comparing
two rules are also present. Another important difference is that they only consider
sets of default rules, without introducing strict rules, as was done here.
In (Brewka, 2001b) a comparison between a variant of Defeasible Logic, called
Ambiguity Propagating (Antoniou et al., 2000b), and the prioritized version of WellFounded Semantics for extended logic programs (Brewka, 1996) is given. The paper
shows that under the condition that preferences are admitted between defeasible
rules only, then all defeasibly provable literals by the defeasible logic variant are
Defeasible Logic Programming
An Argumentative Approach
39
true in prioritized well-founded semantics. It also shows that there are some desirable conclusions obtained by well-founded semantics that the variant of defeasible
logic cannot obtain.
In Prioritized Logic Program (PLP), a program is a pair (P , >) where P is a
finite set of rules of the form “c ← a1 , . . . , an , not b1 , . . . , not bm ” and > is an
acyclic preference relation on P . In PLP, a rule r is said to be defeated by a literal
l if l = bi , for some i ∈ 1, . . . , m. Clearly, if no default negated literals are used in a
program, then no rule is defeated. This represents a difference with DeLP because
counter-arguments and defeaters are defined in term of strong negation. In PLP,
default negated literals are the only point of attack, whereas in DeLP arguments
are attacked by other arguments.
The comparison in (Brewka, 2001b) is based on the translation of each defeasible
rule “{a1 , . . . , an } ⇒ b” of default logic, to an extended rule with default negation:
“b ← not ∼b, a1 , . . . , an ”. However, note that this translation captures only an
attack to a rule, and not an attack to an argument (see the example of program P 1
above).
One distinguishing feature of DeLP is the property of argument reinstatement.
For example, consider the following de.l.p. P:
a —< b
∼a —< b, c
c —< i
∼c —< i, j
b
i
j
Here, the argument h{a —< b}, ai for the literal a has a proper defeater, the argument for ∼a: h{(∼a —< b, c), (c —< i )}, ∼ai. This one is in turn defeated by the
proper defeater: h{∼c —< i, j }, ∼ci, that attacks the argument for ∼a in the inner
point c. This third argument reinstates the first, and thus, there is a warrant for
a. Therefore the set of warranted literals from P is W = {a, ∼c, b, i, j }
In order to encode the program P in PLP, we have used the translation suggested
in (Brewka, 2001b):
r1 : a ← not ∼a, b
r2 : ∼a ← not a, b, c
r3 : c ← not ∼c, i
r4 : ∼c ← not c, i, j
r5 : b
r6 : i
r7 : j
Without any priority, rules r1 , r2 , r3 and r4 are deleted, and the only derived literals
are the facts b, i, j . If the priorities r2 > r1 and r4 > r3 are added to the program,
then rules r1 and r3 are deleted and the derived literals are ∼c, b, i, j , that is the
argument for ∼c does not reinstate the argument for a.
A more formal comparison between our formalism and the approaches cited above
is issue of future research.
40
Alejandro J. Garcı́a
and
Guillermo R. Simari
9 Conclusions and Future Work
Defeasible Logic Programming combines Logic Programming and Defeasible Argumentation, and provides the possibility of representing information in the form of
defeasible and strict rules in a declarative manner. A query q will be warranted,
if the argument A that supports q is found undefeated by the dialectical analysis.
During the dialectical analysis certain constrains are imposed for averting different
kinds of fallacious argumentation. Thus, DeLP can manage defeasible reasoning
and perform contradictory programs.
The defeasible argumentation basis of DeLP allows to build applications that
deal with incomplete and contradictory information in dynamic domains, where information may change. Thus, DeLP can be used for representing agent’s knowledge
and for providing an inference engine. New applications of DeLP are in progress.
We expect feedback from them to pursue future extensions.
In (Garcı́a & Simari, 1999) a model for parallel defeasible logic programming
is proposed. Besides existing forms of parallel logic programming, new sources of
implicitly exploitable parallelism are considered: building arguments in parallel,
searching for defeaters in parallel, and building a dialectical tree in parallel. An
implementation of parallel DeLP is in preparation. An extension of DeLP with
presumptions is also in study.
The reader may have noticed that the dialectical tree associated with the warrant
procedure could become quite large for non trivial situations. Much of the effort
expended in the implementation was put on the task of performing an efficient
search (Garcı́a, 2000; Simari et al., 1994a), However, more work should be done.
Acknowledgments
The authors are grateful to Jürgen Dix, Micheal Gelfond, Ron Loui, Francesca
Toni, Hassan Aı̈t-Kaci, Grigoris Antoniou, Simon Parsons, John Pollock, Veronica
Dahl and Paul Tarau for many helpful comments and suggestions. We wish to
thank especially Carlos Ivan Chesñevar for many helpful discussions and the three
anonymous referees for their useful suggestions. This work was partially supported
by Secretarı́a de Ciencia y Técnica Universidad Nacional del Sur.
References
Alferes, José J., & Pereira, Luis Moniz. (1994). Contradiction: When avoidance equals
removal, part I. Lecture notes in computer science, 798, 11–23.
Alferes, José J., Pereira, Luis Moniz, & Przymusinski, Teodor C. (1996). Strong and
explicit negation in nonmonotonic reasoning and logic programming. Lecture notes in
computer science, 1126, 143–163.
Antoniou, Grigoris, Billington, David, & Maher, Michel J. (1998). Normal forms for
defeasible logic. Pages 160–174 of: Proceedings of international joint conference and
symposium on logic programming. MIT Press.
Antoniou, Grigoris, Maher, Michael J., & Billington, David. (2000a). Defeasible logic
versus logic programming without negation as failure. Journal of logic programming,
42, 47–57.
Defeasible Logic Programming
An Argumentative Approach
41
Antoniou, Grigoris, Billington, David, Governatori, Guido, Maher, Michael J., & Rock,
Andrew. (2000b). A family of defeasible reasoning logics and its implementation. Pages
459–463 of: Proceedings of european conference on artificial intelligence (ecai).
Antoniou, Grigoris, Billington, David, Governatori, Guido, & Maher, Michael J. (2001).
Representation results for defeasible logics. Acm transactions on computational logic,
2(2), 255–287.
Billington, David, De Coster, Koen, & Nute, Donald. (1990). A modular translation from
defeasible nets to defeasible logics. Journal of experimental and theoretical artificial
intelligence, 2, 151–177.
Bondarenko, Andrei, Toni, Francesca, & Kowalski, Robert A. (1993). An assumptionbased framework for non-monotonic reasoning. Proceedings 2nd. international workshop
on logic programming and non-monotonic reasoning, 171–189.
Bondarenko, Andrei, Dung, Phan M., Kowalski, Robert A., & Toni, Francesca. (1997). An
abstract, argumentation-theoretic approach to default reasoning. Artificial intelligence,
93, 63–101.
Brewka, Gerhard. (1996). Well-founded semantics for extended logic programs with dynamic preferences. Journal of artificial intelligence research, 4, 19–36.
Brewka, Gerhard. (2001a). Dynamic argument systems: A formal model of argumentation
processes based on situation calculus. Journal of logic and computation, 11(2), 257–282.
Brewka, Gerhard. 2001b (Aug.). On the relation between defeasible logic and well-founded
semantics. Proceedings lpnmr 2001.
Brewka, Gerhard, & Eiter, Thomas. (2000). Prioritizing default logic. Pages 27–46 of:
Hölldobler, Steffen (ed), Intellectics and computational logic: Papers in honor of wolfgang bibel. Dordrecht, Boston, London: Kluwer Academic Publishers.
Chesñevar, Carlos I., Maguitman, Ana G., & Loui, Ronald P. (2000). Logical Models of
Argument. Acm computing surveys, 32(4), 337–383.
Chesñevar, Carlos I., Dix, Jürgen, Stolzenburg, Frieder, & Simari, Guillermo R. (2002).
Relating defeasible and normal logic programming through transformation properties.
Theoretical computer science. accepted for publication.
Covington, Michael A., Nute, Donald, & Vellino, Andre. (1997). Prolog programming in
depth. Prentice-Hall.
Dahl, Veronica. (1999). Logic programming and languages. Wiley encyclopedia of electrical
and electronics engineering, 11, 576–580.
Dahl, Veronica, Tarau, Paul, & Li, Renwei. (1997). Assumption grammars for natural
language processing. Fourteenth international conference on logic programming, 256–
270.
Dimopoulos, Yannis, & Kakas, Antonis. (1995). Logic programming without negation
as failure. Pages 369–384 of: Proceedings of 5th. international symposium on logic
programming. Cambridge, MA: MIT Press.
Dix, Jürgen. (1994). Semantics of logic programs: their intuitions and formal properties.
Pages 227–313 of: Fuhrmann, André, & Rott, Hans (eds), Logic, action and information.
Berlı́n–New York: de Gruyter.
Dix, Jürgen, & Stolzenburg, Frieder. (1998). A framework to incorporate non-monotonic
reasoning into constraint logic programming. Journal of logic programming, 37, 1–31.
Dung, Phan M. (1991). Negation as hypothesis: An abductive foundation for logic programs. Proceedings of the 8th. international conference on logic programming. Paris,
France: MIT Press.
Dung, Phan M. (1993a). An argumentation semantics for logic programming with ex-
42
Alejandro J. Garcı́a
and
Guillermo R. Simari
plicit negation. Pages 616–630 of: Proceedings 10th. intenational conference on logic
programming. MIT Press.
Dung, Phan M. (1993b). On the Acceptability of Arguments and its Fundamental Role in
Nomonotonic Reasoning and Logic Programming. Proceedings of the 13th. international
joint conference in artificial intelligence (ijcai), chambéry, francia.
Dung, Phan M. (1995). On the acceptability of arguments and its fundamental role in nonmonotonic reasoning and logic programming and n-person games. Artificial intelligence,
77, 321–357.
Eshghi, Kave, & Kowalski, Robert A. (1989). Abduction compared with negation as
failure. Proceedings of the 6th. international conference on logic programming. Lisbon,
Portugal: MIT Press.
Garcı́a, Alejandro J. 1997 (July). Defeasible logic programming: Definition and implementation. M.Phil. thesis, Computer Science Department, Universidad Nacional del Sur,
Bahı́a Blanca, Argentina.
Garcı́a, Alejandro J. 2000 (Dec.). Defeasible logic programming: Definition, operational
semantics and parallelism. Ph.D. thesis, Computer Science Department, Universidad
Nacional del Sur, Bahı́a Blanca, Argentina.
Garcı́a, Alejandro J., & Simari, Guillermo R. (1999). Parallel defeasible argumentation.
Journal of computer science and technology special issue: Artificial intelligence and
evolutive computation. http://journal.info.unlp.edu.ar/, 1(2), 45–57.
Garcı́a, Alejandro J., Simari, Guillermo R., & Chesñevar, Carlos I. 1998 (Aug.). An
argumentative framework for reasoning with inconsistent and incomplete information.
Workshop on practical reasoning and rationality. 13th biennial European Conference
on Artificial Intelligence (ECAI-98).
Garcı́a, Alejandro J., Gollapally, Devender, Tarau, Paul, & Simari, Guillermo R. 2000
(Aug.). Deliberative stock market agents using jinni and defeasible logic programming.
Proceedings of esaw’00 engineering societies in the agents’ world, workshop of ecai 2000.
Gelfond, Michael. (1994). Logic programming and reasoning with incomplete information.
Annals of mathematics and artificial intelligence, 12, 89–116.
Gelfond, Michael, & Lifschitz, Vladimir. (1990). Logic programs with classical negation.
Pages 579–597 of: Warren, D., & Szeredi, P. (eds), 7th international conference on logic
programming. MIT Press.
Gelfond, Michel, & Son, Tran C. (1997). Reasoning with prioritized defaults. Pages 164–
223 of: Lecture notes in artificial intelligence 1471, selected papers from the workshop
on logic programming and knowledge representation.
Inoue, Kazuko. (1991). Extended logic programming with default assumptions. Proceedings of 8th. international conference on logic programming.
Kakas, Antonis C., Kowalski, Robert A., & Toni, Francesca. (1993). Abductive logic
programming. Journal of logic and computation, 2, 719–770.
Kakas, Antonis C., Mancarella, Paolo, & Dung, Phan M. (1994). The acceptability semantics for logic programs. Pages 504–519 of: Proceedings of the 11th. international
conference on logic programming. Santa Margherita, Italy: MIT Press.
Kowalski, Robert A., & Toni, Francesca. (1996). Abstract argumentation. Artificial intelligence and law, 4(3-4), 275–296.
Li, Renwei, Pereira, Luis Moniz, & Dahl, Veronica. (1998). Refining action theories with
abductive logic programming. Selected extended papers from the lpkr’97: Ilps’97 workshop on logic programming and knowledge representation, 123–138.
Lifschitz, Vladimir. (1996). Foundations of logic programs. Pages 69–128 of: Brewka, G.
(ed), Principles of knowledge representation. CSLI Pub.
Defeasible Logic Programming
An Argumentative Approach
43
Loui, Ronald P. (1997a). Alchourrón and Von Wright on Conflict among Norms. Pages
345–353 of: Nute, Donald (ed), Defeasible deontic logic, vol. 263. Synthese Library.
Loui, Ronald P. 1997b (July). et al. Progress on Room 5: A Testbed for Public Interactive
Semi-Formal Legal Argumentation. Proceedings of the 6th. international conference on
artifcial intelligence and law.
Makinson, David, & Schlechta, Karl. (1991). Floating conclusions and zombie paths: two
deep difficulties in the directly skeptical approach to defeasible inference nets. Artificial
intelligence, 48, 199–209.
Nute, Donald. (1988). Defeasible reasoning: a philosophical analysis in prolog. Pages
251–288 of: Fetzer, J. H. (ed), Aspects of artificial intelligence. Kluwer Academic Pub.
Nute, Donald. (1992). Basic defeasible logic. Fariñas del Cerro, Luis (ed), Intensional
logics for programming. Oxford: Claredon Press.
Nute, Donald. (1994). Defeasible logic. Pages 355–395 of: Gabbay, D.M., Hogger, C.J., &
J.A.Robinson (eds), Handbook of logic in artificial intelligence and logic programming,
vol 3. Oxford University Press.
Pereira, Luis Moniz, & Alferes, José J. (1994). Contradiction: When avoidance equals
removal, part II. Lecture notes in computer science, 798, 268–281.
Pollock, John. (1987). Defeasible Reasoning. Cognitive science, 11, 481–518.
Pollock, John. (1995). Cognitive carpentry: A blueprint for how to build a person. MIT
Press.
Pollock, John. (1996). Oscar - A general purpose defeasible reasoner. Journal of applied
non-classical logics, 6, 89–113.
Poole, David L. (1985). On the Comparison of Theories: Preferring the Most Specific
Explanation. Pages 144–147 of: Proc. 9th IJCAI. IJCAI.
Prakken, Henry. (1997). Logical tools for modelling legal argument. a study of defeasible
reasoning in law. Kluwer Law and Philosophy Library.
Prakken, Henry, & Sartor, Giovanni. (1997). Argument-based logic programming with
defeasible priorities. J. of applied non-classical logics, 7(25-75).
Prakken, Henry, & Vreeswijk, Gerard. (2000). Logical systems for defeasible argumentation. D.Gabbay (ed), Handbook of philosophical logic, 2nd ed. Kluwer Academic
Pub.
Simari, Guillermo R., & Loui, Ronald P. (1992). A Mathematical Treatment of Defeasible
Reasoning and its Implementation. Artificial intelligence, 53, 125–157.
Simari, Guillermo R., Chesñevar, Carlos I., & Garcı́a, Alejandro J. 1994a (Oct.). Focusing
inference in defeasible argumentation. Iv iberoamerican congress on artificial intelligence
(iberamia’94). Venezuela.
Simari, Guillermo R., Chesñevar, Carlos I., & Garcı́a, Alejandro J. 1994b (Nov.). The role
of dialectics in defeasible argumentation. XIV international conference of the chilenean
computer science society.
Toni, Francesca, & Kakas, Antonis C. (1995). Computing the acceptability semantics.
Pages 401–415 of: Proceedings of the 3rd. international workshop on logic programming
and non-monotonic reasoning. Lexington,USA: Springer Verlag.
Verheij, Bart. 1996 (Dec.). Rules, reasons, arguments: formal studies of argumentation
and defeat. Ph.D. thesis, Maastricht University, Holland.
Vreeswijk, Gerard A. W. (1997). Abstract argumentation systems. Artificial intelligence,
90, 225–279.
Xianchang Wang, Jia-Huai You, Li Y. Yuan. (1997). Logic programming without default
negation revisited. Pages 1169–1174 of: Proceedings of ieee international conference on
intelligent processing systems. IEEE.