# Argumentation framework

In artificial intelligence and related fields, an argumentation framework is a way to deal with contentious information and draw conclusions from it using formalized arguments.
In an abstract argumentation framework, entry-level information is a set of abstract arguments that, for instance, represent data or a proposition. Conflicts between arguments are represented by a binary relation on the set of arguments. In concrete terms, you represent an argumentation framework with a directed graph such that the nodes are the arguments, and the arrows represent the attack relation. There exist some extensions of the Dung's framework, like the logic-based argumentation frameworks or the value-based argumentation frameworks.

## Abstract argumentation frameworks
### Formal framework

Abstract argumentation frameworks, also called argumentation frameworks à la Dung, are defined formally as a pair:
* A set of abstract elements called arguments, denoted $A$
* A binary relation on $A$, called attack relation, denoted $R$
For instance, the argumentation system $S=\langle A,R\rangle$ with $A=\{a,b,c,d\}$ and $R=\{(a,b),(b,c),(d,c)\}$ contains four arguments ($a,b,c$ and $d$) and three attacks ($a$ attacks $b$, $b$ attacks $c$ and $d$ attacks $c$).
Dung defines some notions :
* an argument $a\in A$ is acceptable with respect to $E\subseteq A$ if and only if $E$ defends $a$, that is $\forall b\in A$ such that $(b,a)\in R,\exists c\in E$ such that $(c,b)\in R$,
* a set of arguments $E$ is conflict-free if there is no attack between its arguments, formally : $\forall a,b\in E,(a,b)\not \in R$,
* a set of arguments $E$ is admissible if and only if it is conflict-free and all its arguments are acceptable with respect to $E$.

### Different semantics of acceptance
#### Extensions

To decide if an argument can be accepted or not, or if several arguments can be accepted together, Dung defines several semantics of acceptance that allows, given an argumentation system, sets of arguments (called extensions) to be computed. For instance, given $S=\langle A,R\rangle$,
* $E$ is a complete extension of $S$ only if it is an admissible set and every acceptable argument with respect to $E$ belongs to $E$,
* $E$ is a preferred extension of $S$ only if it is a maximal element (with respect to the set-theoretical inclusion) among the admissible sets with respect to $S$,
* $E$ is a stable extension of $S$ only if it is a conflict-free set that attacks every argument that does not belong in $E$ (formally, $\forall a\in A\backslash E,\exists b\in E$ such that $(b,a)\in R$,
* $E$ is the (unique) grounded extension of $S$ only if it is the smallest element (with respect to set inclusion) among the complete extensions of $S$.
There exists some inclusions between the sets of extensions built with these semantics :
* Every stable extension is preferred,
* Every preferred extension is complete,
* The grounded extension is complete,
* If the system is well-founded (there exists no infinite sequence $a_{0},a_{1},\dots ,a_{n},\dots$ such that $\forall i>0,(a_{i+1},a_{i})\in R$), all these semantics coincide—only one extension is grounded, stable, preferred, and complete.
Some other semantics have been defined.
One introduce the notation $Ext_{\sigma }(S)$ to note the set of $\sigma$-extensions of the system $S$.
In the case of the system $S$ in the figure above, $Ext_{\sigma }(S)=\{\{a,d\}\}$ for every Dung's semantic—the system is well-founded. That explains why the semantics coincide, and the accepted arguments are: $a$ and $d$.

#### Labellings

Labellings are a more expressive way than extensions to express the acceptance of the arguments. Concretely, a labelling is a mapping that associates every argument with a label in (the argument is accepted), out (the argument is rejected), or undec (the argument is undefined—not accepted or refused). One can also note a labelling as a set of pairs $({\mathit {argument}},{\mathit {label}})$.
Such a mapping does not make sense without additional constraint. The notion of reinstatement labelling guarantees the sense of the mapping. $L$ is a reinstatement labelling on the system $S=\langle A,R\rangle$ if and only if :
* $\forall a\in A,L(a)={\mathit {in}}$ if and only if $\forall b\in A$ such that $(b,a)\in R,L(b)={\mathit {out}}$
* $\forall a\in A,L(a)={\mathit {out}}$ if and only if $\exists b\in A$ such that $(b,a)\in R$ and $L(b)={\mathit {in}}$
* $\forall a\in A,L(a)={\mathit {undec}}$ if and only if $L(a)\neq {\mathit {in}}$ and $L(a)\neq {\mathit {out}}$
One can convert every extension into a reinstatement labelling: the arguments of the extension are in, those attacked by an argument of the extension are out, and the others are undec. Conversely, one can build an extension from a reinstatement labelling just by keeping the arguments in. Indeed, Caminada proved that the reinstatement labellings and the complete extensions can be mapped in a bijective way. Moreover, the other Datung's semantics can be associated to some particular sets of reinstatement labellings.
Reinstatement labellings distinguish arguments not accepted because they are attacked by accepted arguments from undefined arguments—that is, those that are not defended cannot defend themselves. An argument is undec if it is attacked by at least another undec. If it is attacked only by arguments out, it must be in, and if it is attacked some argument in, then it is out.
The unique reinstatement labelling that corresponds to the system $S$ above is $L=\{(a,{\mathit {in}}),(b,{\mathit {out}}),(c,{\mathit {out}}),(d,{\mathit {in}})\}$.

### Inference from an argumentation system

In the general case when several extensions are computed for a given semantic $\sigma$, the agent that reasons from the system can use several mechanisms to infer information:
* Credulous inference: the agent accepts an argument if it belongs to at least one of the $\sigma$-extensions—in which case, the agent risks accepting some arguments that are not acceptable together ($a$ attacks $b$, and $a$ and $b$ each belongs to an extension)
* Skeptical inference: the agent accepts an argument only if it belongs to every $\sigma$-extension. In this case, the agent risks deducing too little information (if the intersection of the extensions is empty or has a very small cardinal).
For these two methods to infer information, one can identify the set of accepted arguments, respectively $Cr_{\sigma }(S)$ the set of the arguments credulously accepted under the semantic $\sigma$, and $Sc_{\sigma }(S)$ the set of arguments accepted skeptically under the semantic $\sigma$ (the $\sigma$ can be missed if there is no possible ambiguity about the semantic).
Of course, when there is only one extension (for instance, when the system is well-founded), this problem is very simple: the agent accepts arguments of the unique extension and rejects others.
The same reasoning can be done with labellings that correspond to the chosen semantic : an argument can be accepted if it is in for each labelling and refused if it is out for each labelling, the others being in an undecided state (the status of the arguments can remind the epistemic states of a belief in the AGM framework for dynamic of beliefs).

### Equivalence between argumentation frameworks

There exists several criteria of equivalence between argumentation frameworks. Most of those criteria concern the sets of extensions or the set of accepted arguments. Formally, given a semantic $\sigma$ :
* ${\mathit {EQ_{1}}}$ : two argumentation frameworks are equivalent if they have the same set of $\sigma$-extensions, that is $S_{1}\equiv _{1}S_{2}\Leftrightarrow Ext_{\sigma }(S_{1})=Ext_{\sigma }(S_{2})$ ;
* ${\mathit {EQ_{2}}}$ : two argumentation frameworks are equivalent if they accept skeptically the same arguments, that is $S_{1}\equiv _{2}S_{2}\Leftrightarrow Sc_{\sigma }(S_{1})=Sc_{\sigma }(S_{2})$ ;
* ${\mathit {EQ_{2}}}$ : two argumentation frameworks are equivalent if they accept credulously the same arguments, that is $S_{1}\equiv _{3}S_{2}\Leftrightarrow Cr_{\sigma }(S_{1})=Cr_{\sigma }(S_{2})$.
The strong equivalence says that two systems $S_{1}$ and $S_{2}$ are equivalent if and only if for all other system $S_{3}$, the union of $S_{1}$ with $S_{3}$ is equivalent (for a given criterion) with the union of $S_{2}$ and $S_{3}$.

## Other kinds

The abstract framework of Dung has been instantiated to several particular cases.

### Logic-based argumentation frameworks

In the case of logic-based argumentation frameworks, an argument is not an abstract entity, but a pair, where the first part is a minimal consistent set of formulae enough to prove the formula for the second part of the argument. Formally, an argument is a pair $(\Phi ,\alpha )$ such that
* $\Phi \nvdash \bot$
* $\Phi \vdash \alpha$
* $\Phi$ is a minimal set of $\Delta$ satisfying $\alpha$ where $\Delta$ is a set of formulae used by the agent to reason.
One calls $\alpha$ a consequence of $\Phi$, and $\Phi$ a support of $\alpha$.
In this case, the attack relation is not given in an explicit way, as a subset of the Cartesian product $A\times A$, but as a property that indicates if an argument attacks another. For instance,
* Relation defeater : $(\Psi ,\beta )$ attacks $(\Phi ,\alpha )$ if and only if $\beta \vdash \neg (\phi _{1}\wedge \dots \wedge \phi _{n})$ for $\{\phi _{1},\dots ,\phi _{n}\}\subseteq \Phi$
* Relation undercut : $(\Psi ,\beta )$ attacks $(\Phi ,\alpha )$ if and only if $\beta =\neg (\phi _{1}\wedge \dots \wedge \phi _{n})$ for $\{\phi _{1},\dots ,\phi _{n}\}\subseteq \Phi$
* Relation rebuttal : $(\Psi ,\beta )$ attacks $(\Phi ,\alpha )$ if and only if $\beta \Leftrightarrow \neg \alpha$ is a tautology
Given a particular attack relation, one can build a graph and reason in a similar way to the abstract argumentation frameworks (use of semantics to build extension, skeptical or credulous inference), the difference is that the information inferred from a logic based argumentation framework is a set of formulae (the consequences of the accepted arguments).

### Value-based argumentation frameworks

The value-based argumentation frameworks come from the idea that during an exchange of arguments, some can be stronger than others with respect to a certain value they advance, and so the success of an attack between arguments depends on the difference of these values.
Formally, a value-based argumentation framework is a tuple $VAF=\langle A,R,V,{\textit {val}},{\textit {valprefs}}\rangle$ with $A$ and $R$ similar to the standard framework (a set of arguments and a binary relation on this set), $V$ is a non empty set of values, ${\textit {val}}$ is a mapping that associates each element from $A$ to an element from $V$, and ${\textit {valprefs}}$ is a preference relation (transitive, irreflexive and asymmetric) on $V\times V$.
In this framework, an argument $a$ defeats another argument $b$ if and only if
* $a$ attacks $b$ in the "standard" meaning: $(a,b)\in R$ ;
* and $({\textit {val}}(b),val(a))\not \in {\textit {valprefs}}$, that is the value advanced by $b$ is not preferred to the one advanced by $a$.
One remarks that an attack succeeds if both arguments are associated to the same value, or if there is no preference between their respective values.

### Assumption-based argumentation frameworks

In assumption-based argumentation (ABA) frameworks, arguments are defined as a set of rules and attacks are defined in terms of assumptions and contraries.
Formally, an assumption-based argumentation framework is a tuple $\langle {\mathcal {L}},{\mathcal {R}},{\mathcal {A}},{\overline {\mathrm {\textvisiblespace} }}\rangle$, where
* $\langle {\mathcal {L}},{\mathcal {R}}\rangle$ is a deductive system, where ${\mathcal {L}}$ is the language and ${\mathcal {R}}$ is the set of inference rules in the form of $s_{0}\leftarrow s_{1},\dotsc ,s_{m}$, for $m>0$ and $s_{0},s_{1},\dotsc ,s_{m}\in {\mathcal {L}}$;
* ${\mathcal {A}}$, where ${\mathcal {A}}\subseteq {\mathcal {L}}$ is a non-empty set, named the assumptions;
* ${\overline {\mathrm {\textvisiblespace} }}$ is a total mapping from ${\mathcal {A}}$ to ${\mathcal {L}}$, where ${\overline {a}}$ is defined as the contrary of $a$.
As a consequence of defining an ABA, an argument can be represented in a tree-form. Formally, given a deductive system $\langle {\mathcal {L}},{\mathcal {R}}\rangle$ and set of assumptions ${\mathcal {A}}\subseteq {\mathcal {L}}$, an argument for claim c∈L{\textstyle c\in {\mathcal {L}}} supported by $S\subseteq {\mathcal {A}}$, is a tree with nodes labelled by sentences in ${\mathcal {L}}$ or by symbol $\tau$, such that:
* The root is labelled by $c$
* For each node $N$,
** If $N$ is a leaf node, then $N$ is labelled by either an assumption or by $\tau$
** If $N$ is not a leaf node, then there is an inference rule $l_{N}\leftarrow s_{1},...,s_{m}$, $(m\geq 0)$, where $l_{N}$ is the label of $N$ and
*** If $m=0$, then the rule shall be $l_{N}\leftarrow \tau$ (i.e. child of $N$ is $\tau$)
*** Otherwise, $N$ has $m$ children, labelled by $s_{1},...,s_{m}$
* $S$ is the set of all assumptions labeling the leave nodes
An argument with claim $c$ supported by a set of assumption $S$ can also be denoted as $S\vdash c$