<figure><img src="image_1.png" /></figure>

HAL
open science

# Computing the Labellings of Higher-Order Abstract Argumentation Frameworks

Sylvie Doutre, Marie-Christine Lagasquie-Schiex

► To cite this version:

Sylvie Doutre, Marie-Christine Lagasquie-Schiex. Computing the Labellings of Higher-Order Abstract Argumentation Frameworks. 4th International Workshop on Systems and Algorithms for Formal Argumentation (SAFA 2022), Sep 2022, Cardiff, United Kingdom. pp.45-58. hal-03812167

HAL Id: hal-03812167

https://ut3-toulouseinp.hal.science/hal-03812167

Submitted on 12 Oct 2022

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_2.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Computing the Labellings of Higher-Order Abstract Argumentation Frameworks

Sylvie Doutre<fnref n="1" />, Marie-Christine Lagasquie-Schiex<fnref n="2" />,**

**Abstract**

The topic of this work is related to a computational issue concerning an enriched abstract argumentation framework called RAF ("Recursive Argumentation Framework"). A RAF is composed of a set of arguments and a binary relation modelling the attacks as in Dung's framework. The main difference between Dung's framework and a RAF is the fact that a RAF is able to take into account *higher-order* interactions (i.e. an attack can target an attack and not only an argument). Since this kind of framework is relatively recent, the efficient computation of the main semantics remains an open question. In this paper, we propose one of the first algorithms dedicated to this issue. We prove the soundness and completeness of this algorithm.

**Keywords**

Abstract Argumentation, Higher-Order Interactions, Algorithms

## 1. Motivation

Argumentation, by considering arguments and their interactions, is a way of reasoning that has proven successful in many contexts, multi-agent applications for instance (e.g. [1]). Considering a formal representation of this reasoning model, argumentation frameworks with higher-order attacks (e.g. [2, 3, 4, 5, 6]) are a rich extension of the classical Argumentation Framework (AF) by [7]: not only they consider arguments and attacks between arguments, but also attacks on attacks (see for instance [5, 6]). Among these frameworks, the Recursive Argumentation Framework (RAF) by [8] proposes a direct approach regarding acceptability, which outputs sets of arguments and/or attacks (defined under the notion of structure), keeping the full expressiveness of higher-order attacks. A correspondence between Dung's extension-based semantics for AFs and structure-based semantics of RAFs without any attack on attacks has been shown in [8], proving that RAFs are a conservative generalisation of AFs. This characteristic makes RAFs particularly interesting to consider.

The computation of semantics of RAFs has not been addressed so far but a simple way to do so can be to extend what is done for AFs: some of the most efficient algorithms for computing AF semantics are based on a cutting of the AF and then on a distributed and parallel

SAFA'22: Fourth International Workshop on Systems and Algorithms for Formal Argumentation 2022, September 13, 2022, Cardiff, Wales, United Kingdom

<figure><img src="image_3.png" /></figure>

doutre@irit.fr (S. Doutre); lagasq@irit.fr (M. Lagasquie-Schiex)

<figure><img src="image_4.png" /></figure>

© 2022 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0).

<figure><img src="image_5.png" /></figure>

CEUR Workshop Proceedings (CEUR-WS.org)

<footnote n="1">¹IRIT, Toulouse 1 University, France</footnote>

<footnote n="2">²IRIT, Toulouse 3 University, France</footnote>

<footnote>**Corresponding author.</footnote>
computation (see [9, 10, 11, 12]) using the notion of AF labellings (e.g. [13, 14])<fnref n="1" /> and the fact that such semantics are decomposable (see [16]). Indeed, RAF labellings already exist and classical decision problems for AFs were also adapted to RAFs with an interesting result (see [17]): even if the expressive power of the frameworks with higher-order attacks is higher, the complexity of their decision problems remains the same as in an AF. Moreover, it has been proven in [18] that RAF semantics, as AF semantics, are decomposable. Thus, following the line of the *AF Divider* algorithm designed for AFs [12], all the mandatory elements are now present for the definition of some efficient algorithms for computing RAF labellings using a distributed and parallel method; this is the topic of the present paper.

The paper is organised as follows: Recursive Argumentation Frameworks (RAFs) and their semantics are recalled in Section 2. Section 3 gives some additional definitions mandatory before the presentation of the algorithm itself in Sections 4 and 5. An example of a clustering method is provided in Section 6. Section 7 draws conclusions and opens future perspectives. The proofs of the soundness and completeness of the approach can be found in [19].

## 2. Background on Recursive Argumentation Frameworks

Higher-order attacks (that is, possibly targeting attacks as well as arguments) have been introduced in [2] then developed in several papers among which one can cite the AFRA (Argumentation Framework with Recursive Attacks) approach described in [6] and the RAF (Recursive Argumentation Framework) approach introduced in [8]. RAF and AFRA differ on the way in which these attacks are handled despite the fact that there is no difference in the structure of the graph. This paper is concerned with the RAF approach. This section recalls its main definitions: basics, labellings and decomposability of the semantics.

**Definition 1.** A Recursive Argumentation Framework (RAF) $\mathcal{RAF} = \langle A, K, s, t \rangle$ is a quadruple where A and K are (possibly infinite) disjoint sets respectively representing arguments and attack names, and where $s: K \to A$ and $t: K \to A \cup K$ are functions respectively mapping each attack name to its source and to its target.

Figure 1 shows an example of a RAF. There are two different possibilities for defining the semantics of a RAF: either by selecting some specific structures (a pair composed of a set of arguments and a set of attacks) [8] or by using labellings [17].<fnref n="2" /> Here we only present the latter approach.<fnref n="3" />

**Definition 2.** Let $\mathcal{RAF} = \langle A, K, s, t \rangle$ be a recursive argumentation framework. A RAF labelling is a total function $\mathcal{L}: A \cup K \to \{\text{in}, \text{out}, \text{und}\}$. We define $\text{in}(\mathcal{L})$ (resp. $\text{out}(\mathcal{L})$, und($\mathcal{L}$)) as the set $\{x \in A \cup K | \mathcal{L}(x) = \text{in} (\text{resp. out, und})\}$.

$\mathcal{L}$ is a complete RAF labelling *iff it satisfies:* $\forall x \in (A \cup K)$,

<footnote n="1">¹Whereas an extension assigns to its elements an accepted or a rejected status, a labelling considers a third status, undecided, which applies to arguments which are neither accepted, nor rejected. This enrichment has proven useful for the computation of acceptance statuses in AFs (see [15] for a survey).</footnote>

<footnote n="2">²Relations between labelling-based semantics and structure-based semantics have been exhibited in [17].</footnote>

<footnote n="3">³These labellings were called “structure labellings” in [17] and defined as a pair of sets (the labellings for arguments, the labellings for attacks). Here the definition and the name are simplified.</footnote>
<figure><img src="image_6.png" /><figcaption>**Figure 1:** Running example: a RAF with argument names given in a circle and attack names in a square box</figcaption></figure>

$$ \bullet \quad (\mathcal{L}(x) = \text{out}) \iff (\exists \alpha \in K \text{ s.t. } t(\alpha) = x, \mathcal{L}(\alpha) = \text{in} \text{ and } \mathcal{L}(s(\alpha)) = \text{in}) $$

$$ \bullet \quad (\mathcal{L}(x) = \text{in}) \iff (\forall \alpha \in K \text{ s.t. } t(\alpha) = x, \mathcal{L}(\alpha) = \text{out} \text{ or } \mathcal{L}(s(\alpha)) = \text{out}) $$

Let $x \in A \cup K$ be an element of $\mathcal{RAF}$. $x$ is said to be legally labelled in $\mathcal{L}$ iff $\mathcal{L}$ is a complete labelling and $x \in \text{und}(\mathcal{L})$ iff $((\nexists \alpha \in K \text{ s.t. } t(\alpha) = x, \mathcal{L}(\alpha) = \text{in} \text{ and } \mathcal{L}(s(\alpha)) = \text{in}) \text{ and } (\exists \alpha \in K \text{ s.t. } t(\alpha) = x, \mathcal{L}(\alpha) \neq \text{out} \text{ and } \mathcal{L}(s(\alpha)) \neq \text{out}))$. $\mathcal{L}$ is said to be a valid RAF labelling if all its elements are legally labelled. A preferred (resp. grounded) labelling is a complete labelling that maximises (resp. minimises) the in elements. A stable labelling is a complete labelling for which there are no und elements.

Regarding the RAF of Figure 1, Example 1 shows its grounded labelling.

**Example 1.** The grounded labelling of the RAF illustrated in Figure 1 is:

$$ \mathcal{L}_{gr} = \left\{ \begin{array}{l} (a, \text{und}), (b, \text{und}), (c, \text{und}), (d, \text{und}), (e, \text{in}), (f, \text{in}), (g, \text{out}), (h, \text{und}), (i, \text{und}), \\ (k, \text{und}), (l, \text{und}), (m, \text{und})(\alpha, \text{in}), (\beta, \text{in}), (\gamma, \text{in}), (\delta, \text{in}), (\varepsilon, \text{out}), (\zeta, \text{in}), (\eta, \text{in}), \\ (\theta, \text{in}), (\iota, \text{in}), (\kappa, \text{in}), (\lambda, \text{und}), (\xi, \text{und}), (\text{o}, \text{und}), (\pi, \text{in}), (\rho, \text{in}), (\psi, \text{in}) \end{array} \right\} $$

In order to define an algorithm able to answer the enumeration problem<fnref n="4" /> in the case of a RAF, similarly to the one given for an AF (AF Divider [12]), we must be able to split a RAF. Based on the notion introduced in [16], any AF can be split into several sub-frameworks by simply ignoring some attacks (that are always valid). Nevertheless, it is not the case for RAFs. Attacks, as arguments, can be labelled *in*, *out* or *und*. As a consequence, we cannot just ignore attacks to split a RAF. So, if we do not suppress attacks while splitting RAFs, we will have attacks without targets or without sources. Thus, the result of such a split does not produce a RAF but a *partial RAF*.

<footnote n="4">⁴The enumeration problem consists in enumerating all the solutions under a given semantics of a framework; see [20] for more details on this problem.</footnote>
**Definition 3.** Let RAF = ⟨A, K, s, t⟩ be a RAF. A partial RAF $\widetilde{\text{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ of RAF is a tuple where $\tilde{A} \subseteq A$ (resp. $\tilde{K} \subseteq K$) is a set representing arguments (resp. attacks) and:

• $\tilde{s} : \tilde{K} \to \{\text{true, false}\} \text{ s.t. } \forall \alpha \in \tilde{K}, \tilde{s}(\alpha) = \text{true if } s(\alpha) \in \tilde{A} \text{ otherwise false}$

• $\tilde{t} : \tilde{K} \to \{\text{true, false}\} \text{ s.t. } \forall \alpha \in \tilde{K}, \tilde{t}(\alpha) = \text{true if } t(\alpha) \in \tilde{A} \cup \tilde{K} \text{ otherwise false}$

Then, using the notion of partial RAF, a partition of a RAF can be defined:

**Definition 4.** Let RAF = ⟨A, K, s, t⟩ be a RAF. Let Ω = {ω₁, ..., ωₙ} be a partition<fnref n="5" /> of (A ∪ K). A RAF partition of RAF is a set of partial RAFs {\widetilde{RAF}₁, ..., \widetilde{RAF}ₙ} s.t.: ∀i, \widetilde{RAF}i = ⟨\tilde{A}i, \tilde{K}i, \tilde{s}i, \tilde{t}i, s, t⟩ with \tilde{A}i = ωi ∩ A and \tilde{K}i = ωi ∩ K.

Considering a partial RAF implies to consider also its “inputs” (the elements that do not belong to the partial RAF but that can impact its labellings) and their labellings:

**Definition 5.** Let RAF = ⟨A, K, s, t⟩ be a RAF and $\widetilde{\text{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ be a partial RAF of RAF. The input J of $\widetilde{\text{RAF}}$ is a tuple ⟨S<sup>inp</sup>, Q<sup>inp</sup>⟩ where: S<sup>inp</sup> = {s(α) ∈ (A \ A)|α ∈ K and t(α) ∈ (A ∪ K)} and Q<sup>inp</sup> = {α ∈ (K \ K)|t(α) ∈ (A ∪ K)}. The tuple ⟨\widetilde{\text{RAF}}, J, L<sup>inp</sup>⟩ is called a partial RAF with input, where L<sup>inp</sup> is a labelling of J.

Note that several partial RAFs with input can be built from a given partial RAF since several labellings can exist for its inputs.

The local function associates any partial RAF with input with a set of labellings:

**Definition 6.** Let $\sigma$ be a semantics. A local function $\mathcal{F}_{\sigma}^{\text{raf}}$ assigns to any partial RAF with input $\langle \widetilde{\text{RAF}}, J, \mathcal{L}^{\text{inp}} \rangle$ a (possibly empty) set of labellings of $\widetilde{\text{RAF}}$ under $\sigma$, i.e. $\mathcal{F}_{\sigma}^{\text{raf}}(\widetilde{\text{RAF}}, J, \mathcal{L}^{\text{inp}}) \in \mathcal{L}\{\mathcal{L} | \mathcal{L} \text{ being any labelling over } \widetilde{\text{RAF}}\}$.

The notion of semantics decomposability is thus as follows:

**Definition 7.** A semantics $\sigma$ is full decomposable iff there is a local function $\mathcal{F}_{\sigma}^{\text{raf}}$ s.t., for any RAF RAF = ⟨A, K, s, t⟩ and any partition {\widetilde{RAF}₁, ..., \widetilde{RAF}ₙ} of RAF, the set of all possible labellings under the semantics $\sigma$ of RAF, denoted by $\mathcal{L}_{\sigma}(\widetilde{\text{RAF}})$, satisfies: $\mathcal{L}_{\sigma}(\widetilde{\text{RAF}}) = \{\mathcal{L}_1 \cup \dots \cup \mathcal{L}_n | \forall i \in \{1, \dots, n\}, \mathcal{L}_i \in \mathcal{F}_{\sigma}^{\text{raf}}(\widetilde{\text{RAF}}_i, J_i, \mathcal{L}_i^{\text{inp}})\}$ with $\mathcal{L}_i^{\text{inp}} = (\bigcup_{j \in \{1, \dots, n\} \text{ s.t. } j \neq i} \mathcal{L}_j) \downarrow_{J_i}^6$

A semantics $\sigma$ is said to be top-down (resp. bottom-up) decomposable iff:

$$ \mathcal{L}_{\sigma}(\widetilde{\text{RAF}}) \subseteq (\text{resp. } \supseteq) \{\mathcal{L}_1 \cup \dots \cup \mathcal{L}_n | \forall i \in \{1, \dots, n\}, \mathcal{L}_i \in \mathcal{F}_{\sigma}^{\text{raf}}(\widetilde{\text{RAF}}_i, J_i, \mathcal{L}_i^{\text{inp}})\} $$

In [18], a specific RAF partition selector has been defined that produces a partition respecting the strongly connected components (SCC) of a RAF:<fnref n="7" />

<footnote n="5">⁵So the following property holds for $\Omega$: $\forall (i, j) \in \{1, ..., n\} \text{ s.t. } i \neq j, \omega_i \cap \omega_j = \emptyset$ and $\bigcup_{i=1}^{n} \omega_i = A \cup K$.</footnote>

<footnote n="6">⁶$\downarrow$ is the classical generic operator of restriction that allows the selection of a sub-part of a given “object” wrt to a given set of “elements”. Here for instance, it produces the sub-part of the labellings concerning only the elements belonging to $J_i$.</footnote>

<footnote n="7">⁷See in [18] the details about the method for defining the SCC of a RAF.</footnote>
**Definition 8.** Let RAF be a RAF. Let $\mathcal{S}_{raf-USCC}$ be the RAF partition selector s.t.: $\mathcal{S}_{raf-USCC}(\mathcal{RAF}) = \{\Omega | \Omega \text{ is a partition of RAF and } \forall S \in \text{SCCS}_{raf}(\mathcal{RAF}), \exists \omega_i \in \Omega \text{ s.t. } S \subseteq \omega_i\}$. Let $S \subseteq A \cup K$ s.t. $S \in \mathcal{S}_{raf-USCC}(\mathcal{RAF})$, S is called an “USCC$_{raf}$”.

Then, in [18], the following proposition has been proven:

**Proposition 1.** Let RAF = $\langle A, K, s, t \rangle$ be any RAF. The semantics properties in Table 1 hold.

<table><thead><tr><th rowspan="2"></th><th colspan="4">RAF semantics</th></tr><tr><th>complete</th><th>grounded</th><th>preferred</th><th>stable</th></tr></thead><tbody><tr><td>Full decomposability</td><td>✓</td><td>x</td><td>x</td><td>✓</td></tr><tr><td>Top-down decomposability</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr><tr><td>Bottom-up decomposability</td><td>✓</td><td>x</td><td>x</td><td>✓</td></tr><tr><td>Full decomposability w.r.t. <i>S</i><sub>raf-USCC</sub><br>(so Top-down and Bottom-up decomposability)</td><td>✓</td><td>✓</td><td>✓</td><td>✓</td></tr></tbody></table>

“✓” (resp. “x”) means that the semantics on the column has (resp. does not have) the property on the row.

<caption>**Table 1**

RAF Semantics decomposability properties</caption>

## 3. Some Preliminary Definitions

Before explaining our algorithm, some additional definitions are needed. First, Definition 9 gives an adaptation of the notion of *walk* and *path* to the case of partial RAF, then Definition 10 defines the notion of *connected elements* in a partial RAF.

**Definition 9.** Let $\tilde{\mathcal{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ be a partial RAF and $e_1, e_n \in (\tilde{A} \cup \tilde{K})$ be elements of $\tilde{\mathcal{RAF}}$. A non-directed partial-RAF-walk is a sequence $(e_1, ..., e_n)$ with $n \in \mathbb{N}^*$ and $\forall i, e_i \in (A \cup K)$ s.t.:

* If $n > 1$, $\forall i \in \{1, ..., n-1\}$, $e_i \in A \implies e_{i+1} \in K$ and $(\tilde{s}(e_{i+1}) = \text{true and } e_i = s(e_{i+1})$ or $(\tilde{t}(e_{i+1}) = \text{true and } e_i = t(e_{i+1}))$)

* If $n > 1$, $\forall i \in \{1, ..., n-1\}$, $e_i \in K \implies (e_{i+1} \in A$ and $((\tilde{s}(e_i) = \text{true and } s(e_i) = e_{i+1})$ or $(\tilde{t}(e_i) = \text{true and } t(e_i) = e_{i+1}))$ or $(e_{i+1} \in K$ and $((\tilde{t}(e_{i+1}) = \text{true and } e_i = t(e_{i+1})$ or $(\tilde{t}(e_i) = \text{true and } t(e_i) = e_{i+1}))$)

A non-directed partial-RAF-path is a non-directed partial-RAF-walk in which all the elements are distinct.

Considering the RAF given in Figure 1, $(f, \varepsilon, \delta, d)$ is an example of a non-directed partial-RAF-path.
**Definition 10.** Let $\tilde{\mathcal{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ be a partial RAF. $\tilde{\mathcal{RAF}}$ is a connected partial RAF if, for all distinct elements $x_i \in \tilde{A} \cup \tilde{K}$ and $x_j \in \tilde{A} \cup \tilde{K}$, there exists a non-directed partial-RAF-path $p$ in $\tilde{\mathcal{RAF}}$ s.t. $x_i$ is the first element of $p$ and $x_j$ is the last element of $p$. Otherwise the partial RAF is disconnected.

Considering the partial RAF obtained from the RAF given in Figure 1 by the removal of $\xi$, this partial RAF is disconnected since, for instance, none non-directed partial-RAF-path exists between $f$ and $k$.

The very classical operator of restriction, denoted by $\downarrow$, can also be applied to partial RAF giving the partial RAF that is the restriction of a given partial RAF to a given set of elements (arguments and/or attacks). Then, using this operator, we can define the notion of “Partial RAF Connected Component”:

**Definition 11.** Let $\tilde{\mathcal{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ be a partial RAF. Let $S \subseteq \tilde{A} \cup \tilde{K}$ be a set of elements. The partial RAF $\tilde{\mathcal{RAF}} \downarrow_S$ is a connected component of $\tilde{\mathcal{RAF}}$ iff: $\tilde{\mathcal{RAF}} \downarrow_S$ is connected and there exists no set $S' \subseteq \tilde{A} \cup \tilde{K}$ s.t. $S \subset S'$ and $\tilde{\mathcal{RAF}} \downarrow_{S'}$ is connected.

## 4. A Generic Algorithm for computing RAF semantics: Presentation by Example

The RAF Divider algorithm we propose in this paper is an adaptation of the AF Divider algorithm proposed in [12]. Similarly to AF Divider, it addresses the enumeration problem for the complete, stable and preferred semantics (finding all the possible solutions of a given semantics for a given RAF). It follows the same four major steps (see Figure 2):

1. A preprocessing on RAF removes “trivial” parts of it.

2. Clusters in RAF are identified.

3. The labellings under semantics $\sigma$ in each cluster are computed in parallel.

4. The results of each cluster are reunified to get the labellings of RAF.

<figure><img src="image_7.png" /><figcaption>**Figure 2:** RAF Divider operating diagram</figcaption></figure>

Before giving the formal definition of the algorithm, we describe its desired behaviour on a running example.
## 4.1. Preprocessing: Removing the Trivial Part

The first step is to identify the *trivial* part to remove. Similarly to an AF, it is built using the *in* and *out* elements produced by the *grounded* semantics. In the case of an AF, these elements are all removed. However, for a RAF, this complete removal is not possible. Consider for instance the grounded labelling given in Example 1. If we remove all elements that are not labelled *und* as it was done in the case of an AF, the resultant partial RAF would not capture the initial relations between the elements (for instance, the relation between the arguments *a* and *b* is expressed by the attack *α* labelled *in*, so the removal of *α* is not possible). This leads to the following definition of the RAF trivial part:

**Definition 12.** Let $ RAF = \langle A, K, s, t \rangle $ be a RAF and let $ \mathcal{L}_{gr} $ be the grounded labelling of RAF. The “trivial part” of RAF is the structure of RAF, denoted by $ \mathcal{U}_{triv} = \langle S_{triv}, Q_{triv} \rangle $, with $ S_{triv} = \{a \in A | a \notin \text{und}(\mathcal{L}_{gr})\} $ and $ Q_{triv} = \{\alpha \in K | \alpha \in \text{out}(\mathcal{L}_{gr}) \text{ or } (\alpha \in \text{in}(\mathcal{L}_{gr}) \text{ and } s(\alpha) \notin \text{und}(\mathcal{L}_{gr}))\} $

**Example 2.** Following Example 1, the trivial part of RAF is: $ \mathcal{U}_{triv} = \{\{e, f, g\}, \{\epsilon, \zeta, \eta, \theta\}\} $.

Then the *partial hard RAF* and *partial hard RAF with input* are defined as follows:

**Definition 13.** Let $ RAF = \langle A, K, s, t \rangle $ be a RAF and let $ \mathcal{U}_{triv} = \langle S_{triv}, Q_{triv} \rangle $ be the RAF trivial part of RAF. The partial hard RAF of RAF, denoted by $ \widetilde{RAF}_{hard} $, is defined as $ \widetilde{RAF}_{hard} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s_h, t_h \rangle $ with $ \tilde{A} = A \setminus S_{triv}, \tilde{K} = K \setminus Q_{triv}, s_h : \tilde{K} \to A \text{ s.t. } \forall \alpha \in \tilde{K}, s_h(\alpha) = s(\alpha) \text{ and } t_h : \tilde{K} \to (A \cup K) \text{ s.t. } \forall \alpha \in \tilde{K}, t_h(\alpha) = t(\alpha) \text{ (}\tilde{s} \text{ and } \tilde{t} \text{ are defined as in Definition 3).} $ 

The partial hard RAF with input is $ \langle \widetilde{RAF}_{hard}, \mathcal{J} = \langle S^{\text{inp}}, Q^{\text{inp}} \rangle, \mathcal{L}^{\text{inp}} \rangle $, where $ S^{\text{inp}} = \{s(\alpha) \in (A \setminus \tilde{A}) | \alpha \in \tilde{K}\}, Q^{\text{inp}} = \emptyset \text{ and } \mathcal{L}^{\text{inp}} \text{ is the grounded labelling of the elements in } \mathcal{J} \text{.} $

Although a partial hard RAF is a partial RAF, we only consider the input labelling that coincides with the *grounded* labelling of the initial RAF. So the corresponding partial hard RAF with input is trivially *unique*, the labelling of its inputs being unique.

**Example 3.** Figure 3 illustrates $ \widetilde{RAF}_{hard} $, the partial hard RAF corresponding to the RAF shown in Figure 1. In this partial hard RAF, two attacks have no source ($\lambda$ and $\xi$). This partial hard RAF has one input; so $ \mathcal{J} = \{\{f\}, \emptyset\} $ and $ \mathcal{L}^{\text{inp}} = \{(f, \text{in})\} $.

<figure><img src="image_8.png" /><figcaption>**Figure 3:** Partial Hard RAF (the attacks $\lambda$ and $\xi$ have no source)</figcaption></figure>

For each input element, several cases have to be considered and this can be very time consuming. In order to avoid this cost for elements that are in the “trivial part”, we simply cut that part from the
RAF and, only after that, look for clusters. So, given a RAF $\mathcal{RAF} = \langle A, K, s, t \rangle$, the RAF erhder algorithm starts by computing $\mathcal{L}_{gr}$, the grounded labelling of $\mathcal{RAF}$ and $U_{triv}$ the trivial part corresponding to it. Once the trivial part has been computed, the algorithm removes it from $\mathcal{RAF}$ to produce $\tilde{\mathcal{RAF}}_{hard}$ the partial hard RAF of $\mathcal{RAF}$, as well as $\tilde{\mathcal{RAF}}_{hard}$ input elements $\mathcal{J}$ with their labelling issued from $\mathcal{L}_{gr}$. Then, if possible, $\tilde{\mathcal{RAF}}_{hard}$ is split into several connected components (see Definition 10), producing the set $\mathcal{CCSet}$. $\mathcal{CCSet}$ is a set of partial hard RAFs (with input).

<figure><img src="image_9.png" /><figcaption>Figure 4: The connected components of $\tilde{\mathcal{RAF}}_{hard}$ with their inputs ($\tilde{\mathcal{RAF}}_1$ has no input; $\tilde{\mathcal{RAF}}_2$ has one input $f$)</figcaption></figure>

**Example 4.** Figure 4 illustrates the two connected components of $\tilde{\mathcal{RAF}}_{hard}$, the partial hard RAF illustrated in Figure 3. The $\mathcal{CCSet}$ will then contain these two partial RAFs.

## 4.2. Identifying Clusters

For each connected component, a clustering can be performed using any clustering method partitioning the partial RAF (even a random partition method). See in Section 6 such a method that returns the set of clusters identified, that is, a set of partial RAFs.

**Example 5.** Following Example 4, let us consider that the chosen clustering method produces only one cluster for component 1. Let $\tilde{\mathcal{RAF}}_2$ be the other component and let the following partition be the one produced by the chosen clustering method:

$$ \Omega = \{ \omega_1 = \{h, i, m, l, \kappa, \lambda, \rho, \psi\}, \omega_2 = \{k, l, \xi, o, \pi\} \} $$

Figure 5 illustrates the partial RAFs corresponding to the partitioning of $\tilde{\mathcal{RAF}}_2$, that is $\tilde{\mathcal{RAF}}_2 \downarrow \omega_1$ (also denoted by $\tilde{\mathcal{RAF}}_{2,1}$) and $\tilde{\mathcal{RAF}}_2 \downarrow \omega_2$ (also denoted by $\tilde{\mathcal{RAF}}_{2,2}$).

Note that, following this clustering, $m$ and $\psi$ also become inputs for $\tilde{\mathcal{RAF}}_{2,2}$. Note also that this clustering must also take into account attacks and not only arguments (as it is the case for AF erhder). See in Section 6 an example of such a clustering.

## 4.3. Computing the Labellings

The next step is the computation of the component labellings in a distributed way relying on the clustering made. The $\sigma$-labellings of each cluster are computed simultaneously. Unlike the case

<footnote>$^8 \tilde{\mathcal{RAF}}_2 \downarrow \omega_1$ produces a partial RAF built from $\tilde{\mathcal{RAF}}_2$ keeping only the elements of $\omega_1$.</footnote>
<figure><img src="image_10.png" /><figcaption>**Figure 5:** Clusters of $\tilde{raf}_2$ (the inputs $m$ and $\psi$ for $\tilde{raf}_{2,2}$ are given in blue since their labellings are unknown at this time; whereas $f$ is in green since its labelling is known: following $\mathcal{L}_{gr}$, $f$ must be in $\mathcal{I}$)</figcaption></figure>

of connected components, the partial RAF corresponding to the computed clusters may admit
several input labellings. In order to compute all the possible $\sigma$-labellings of a given cluster, every
possible case concerning its input elements has to be considered. We call “context” a particular
input labelling of a partial RAF:<fnref n="9" />

**Definition 14.** Let $\tilde{\mathcal{RAF}} = \langle \tilde{A}, \tilde{K}, \tilde{s}, \tilde{t}, s, t \rangle$ be a partial RAF and $\mathcal{I} = \langle S^{\text{inp}}, Q^{\text{inp}} \rangle$ be the input of $\tilde{\mathcal{RAF}}$. A context $\mu$ of a partial RAF is a labelling of $\mathcal{I}$.

**Example 6.** Following Figure 5, in the worst case, there exist 27 contexts of $\tilde{raf}_{2,2}$ (3 inputs with 3 possible values, so $3^3 = 27$). Nevertheless, some of these 27 contexts are not compatible with the labelling $\mathcal{L}_{gr}$ ($f$ must be labelled in). So only 9 contexts are compatible.

As one can notice from Example 6, it may be useless to consider some cluster contexts. So
three optimizations can enhance the computation time:

*   **First optimization:** Given a cluster, if one of its input elements is also an input element of the partial hard RAF then this element should only be labelled as in the *grounded* labelling $\mathcal{L}_{gr}$ (see Example 6).

*   **Second optimization:** If an input attack is unattacked (a so-called valid attack) in the initial RAF, then this attack will always be labelled *in* following all semantics we are interested in.

**Example 7.** The attack $\psi$ is an input of $\tilde{raf}_{2,2}$ and a valid one in $\mathcal{RAF}$ and in $\tilde{\mathcal{RAF}}_{\text{hard}}$. Hence, it is useless to consider contexts where $\psi$ is not labelled *in*.

*   **Third optimization:** Some contexts can lead to the same labellings. For instance, let us consider an inward attack $y$, the context putting $y$ to *out*, or the context putting $s(y)$ to *outgive* exactly the same labellings for $t(y)$. This can be used in order to decrease the number of contexts to consider (see [19] for more details).

<footnote n="9">⁹Obviously, each context of a partial RAF will induce a specific set of labellings of this partial RAF.</footnote>
**Example 8.** Applying the previous optimizations on the running example leads to 3 (resp. 3, 6) complete labellings for $raf_1$ (resp. $raf_{2,1}$, $raf_{2,2}$) with 1 (resp. 1, 3) context. For instance, among the 3 (resp. 6) labellings for $raf_{2,1}$ (resp. $raf_{2,2}$), we have $\mathcal{L}_{2,1,1} = \{(i, out), (h, out), (m, in), (t, in), (\kappa, in), (\lambda, in), (\rho, in), (\psi, in)\}$ (resp. $\mathcal{L}_{2,2,1} = \{(k, in), (l, out), (\xi, out), (o, in), (\pi, in)\}$).

## 4.4. Reunifying the Results

The labelling reunifying process is made in two steps: first, the reunification of the component labellings (i.e. the reunification of their cluster labellings together) and second, the reunification of the whole RAF labellings (i.e. the reunification of its component labellings together).

For the component labelling reunification, a CSP (Constraint Satisfaction Problem) is created. The aim is to identify the compatibility between the labellings of the elements that are in the “interface” of clusters in the same component (see our technical report [19] for details).

**Example 9.** The reunification of the 3 labellings of $raf_{2,1}$ with the 6 labellings of $raf_{2,2}$ produces 6 labellings for the component $raf_2$. And $\mathcal{L}_{2,1} = \{(i, out), (h, out), (m, in), (k, in), (l, out), (t, in), (\kappa, in), (\lambda, in), (\rho, in), (\psi, in), (\xi, out), (o, in), (\pi, in)\}$ is one of them (built from the labellings given in Example 8: $\mathcal{L}_{2,1,1}$ for $raf_{2,1}$ and $\mathcal{L}_{2,2,1}$ for $raf_{2,2}$).

A special step has to be carried out for the preferred semantics as this reunifying process does not ensure the maximality (w.r.t. $\sqsubseteq$) of the set of in-labelled elements. Indeed, the preferred semantics is not bottom-up decomposable (see [16]). A maximality check must be done in order to keep only the wanted labellings. Moreover, when computing the stable semantics, the set of labellings $\mathcal{L}_\sigma$ returned by the algorithm may be empty. It happens when one of the component clusters has no stable labelling.

Now that all the component labellings are built, we can reunify the labellings of the whole RAF. Indeed, given that the trivial part is a fixed part of all $\sigma$-labellings of RAF and that each connected component has a unique context (these contexts being compatible with each other), the $\sigma$-labellings of the whole RAF are built by performing a simple cartesian product between the labellings of all the components and the trivial part labelling. If one of the components has no labelling then the whole RAF has no labelling (so $\mathcal{L}_\sigma = \emptyset$).

**Example 10.** The complete semantics produces 18 labellings for the running example, with for instance the following labelling:

$$ \left\{ \begin{array}{l} (e, in), (f, in), (g, out), (\epsilon, out), (\zeta, in), (\eta, in), (\theta, in), \\ (a, in), (b, out), (c, in), (d, out), (\alpha, in), (\beta, in), (\gamma, in), (\delta, in), \\ (i, out), (h, out), (m, in), (k, in), (l, out), \\ (t, in), (\kappa, in), (\lambda, in), (\rho, in), (\psi, in), (\xi, out), (o, in), (\pi, in) \end{array} \right\} $$

(in this labelling, the first line corresponds to the grounded labelling for the trivial part, the second one is for $raf_1$ and the two last lines are the labelling $\mathcal{L}_{2,1}$ given in Example 9 for $raf_2$)
# 5. RAF Divider: Algorithms and Properties

Algorithms 1 and 2 give the formal definition of the RAF Divider algorithm. Similarly to AFDivider, they are said to be generic algorithms in the sense that any clustering method can be used to split the framework and any sound and complete procedure that computes the semantics $\sigma$, can be used to compute the labellings of the different clusters.

<caption>**Algorithm 1:** RAF Divider algorithm.</caption>

**Input:** Let $\mathcal{RAF} = \langle A, K, s, t \rangle$ be a RAF and $\sigma$ be a semantics
**Result:** $\mathcal{L}_{\sigma} \in 2^{\mathcal{L}(\mathcal{RAF})}$: the set of the $\sigma$-labellings of $\mathcal{RAF}$
1 &nbsp;&nbsp;&nbsp;&nbsp;$U_{triv}, \mathcal{L}_{gr} \leftarrow \text{ComputeRAFTrivialPart}(\mathcal{RAF})$
2 &nbsp;&nbsp;&nbsp;&nbsp;$\widetilde{\mathcal{RAF}}_{hard}, \mathcal{J} \leftarrow \text{RemoveRAFTrivialPart}(\mathcal{RAF}, U_{triv})$
3 &nbsp;&nbsp;&nbsp;&nbsp;CCSet $\leftarrow \text{SplitPartialRAFConnectedComponents}(\widetilde{\mathcal{RAF}}_{hard})$
4 &nbsp;&nbsp;&nbsp;&nbsp;**for all** $\widetilde{\mathbf{raf}}_i \in \text{CCSet}$ **do in parallel**
5 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PartRAFSet $\leftarrow \text{ComputePartRAFs}(\widetilde{\mathbf{raf}}_i)$ // clustering
6 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{L}_{\sigma}(\widetilde{\mathbf{raf}}_i) \leftarrow \text{ComputeRAFCompLabs}(\sigma, PartRAFSet, \mathcal{J}, \mathcal{L}_{gr})$
7 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{L}_{\sigma} \leftarrow \{\mathcal{L}_{gr} \downarrow U_{triv}\} \times \prod_{\widetilde{\mathbf{raf}}_i \in \text{CCSet}} \mathcal{L}_{\sigma}(\widetilde{\mathbf{raf}}_i)$
8 &nbsp;&nbsp;&nbsp;&nbsp;**return** $\mathcal{L}_{\sigma}$

<caption>**Algorithm 2:** ComputeRAFCompLabs algorithm.</caption>

**Input:** Let $\sigma$ be a semantics, PartRAFSet be a set of clusters (partial RAFs) for a component $\widetilde{\mathbf{raf}}_i$, J be the input of the partial hard RAF and $\mathcal{L}_{gr}$ be the grounded labelling of the initial RAF
**Result:** $\mathcal{L}_{\sigma} \in 2^{\mathcal{L}(\widetilde{\mathbf{raf}}_i)}$: the set of the $\sigma$-labellings of $\widetilde{\mathbf{raf}}_i$
1 &nbsp;&nbsp;&nbsp;&nbsp;**for all** $\widetilde{\mathbf{raf}}_{i,j} \in \text{PartRAFSet}$ **do in parallel**
2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{L}_{\sigma}^{\widetilde{\mathbf{raf}}_{i,j}} \leftarrow \text{ComputePartRAFLabs}(\sigma, \widetilde{\mathbf{raf}}_{i,j}, J, \mathcal{L}_{gr})$ // external solver call
3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\mathcal{L}_{\sigma} \leftarrow \text{ReunifyComp}(\{\mathcal{L}_{\sigma}^{\widetilde{\mathbf{raf}}_{i,j}} | \widetilde{\mathbf{raf}}_{i,j} \in \text{PartRAFSet}\})$ // using a CSP solver
4 &nbsp;&nbsp;&nbsp;&nbsp;**if** $\sigma = \text{pr}$ **then** $\mathcal{L}_{\sigma} \leftarrow \{\mathcal{L} | \mathcal{L} \in \mathcal{L}_{\sigma} \text{ s.t. } \nexists \mathcal{L}' \in \mathcal{L}_{\sigma} \text{ s.t. } \text{in}(\mathcal{L}) \sqsubseteq \text{in}(\mathcal{L}')\}$
5 &nbsp;&nbsp;&nbsp;&nbsp;**return** $\mathcal{L}_{\sigma}$

Before giving the properties of these algorithms, let us focus on two key elements of Algorithm 2:

* **ComputePartRAFLabs**: this function contains the call to an external solver able to compute the labellings of a given RAF. Such a trivial solver could be defined in three steps: (1) translation of any RAF into an AF using the flattening proposed in [18] then (2) computation of the labellings of this AF using any solver defined for AF (as the ones used for the ICCMA competition [21]) and finally (3) computation of the RAF labellings from these AF labellings using the properties that give the links between these AF labellings and the labellings of the initial RAF (see [18]). Another kind of solver could be built in two steps: (1) direct translation of a RAF into a logical base then (2) computation of the RAF semantics using the logical models of this base (see [22, 23]).
* ReunifyComp: this function is in charge of aggregating the labellings obtained for each cluster in order to obtain the labellings of the component containing these clusters (see Section 4.4). This aggregation, called reunification, must respect the compatibility of the resulting labellings; this is done in two steps: (1) creation of a CSP, then (2) resolution of this CSP using any CSP solver. The precise definition of this CSP is given in [19].<fnref n="10" />

The *RAF Divider* algorithm gives all the expected labellings (so it is complete) and only good labellings (it is sound) for the *complete, stable* and *preferred* semantics. The proof of the following proposition is given in [19]. It is very similar to the proofs given for *AF Divider* in [18].

**Proposition 2.** *Algorithms 2 and 1 are complete and sound for the stable, complete and preferred semantics.*

# 6. A Clustering Method

The main idea of the clustering presented in this section is to ensure that the Strongly Connected Components (SCC)<fnref n="11" /> are not split into different clusters. The following method is inspired by those proposed in [12, 18] for testing the *AF Divider* algorithms. Given a RAF, the so-called “*USCC-clustering*” forms clusters as follows (each cluster being an *USCC*<sub>raf</sub>, see Definition 8). First, the set of SCC is computed. Then neighbour SCC singletons are joined together in order to form a cluster using the following definition of neighbourhood:

**Definition 15.** Let $\mathcal{RAF} = \langle A, K, s, t \rangle$. Let $x$ and $y$ be two elements of $\mathcal{RAF}$. $x$ and $y$ are considered as neighbour iff: either $[x \in K \text{ and } (y = s(x) \text{ or } y = t(x))]$ or $[x \in A \text{ and } y \in K \text{ and } (s(y) = x \text{ or } t(y) = x)]$.

In the third step, each SCC that is not a singleton is joined with its neighbour SCC singletons (those that are neighbours with at least an element in the non-singleton SCC) producing a cluster. This merging must respect the following constraint (the idea is to put the attacks and their source in the same cluster in order to have all the necessary elements for identifying the status of the target):

**Definition 16.** Let $USCC_{raf}$ be a cluster. Let $x$ be a singleton SCC that is a neighbour of $USCC_{raf}$. $x$ will be joined with $USCC_{raf}$ if either $x \in K$ and $s(x) \in USCC_{raf}$ or $x \in A$ and $\exists y \in USCC_{raf}$ s.t. $s(y) = x$.

The last step is to join clusters together so that there are not too many clusters of little size. This is done in an iterative way. The smallest group is merged to its smallest neighbour group, and that continues until there is no group of less than a certain number of arguments. Some experiments would be necessary in order to identify this threshold wrt the RAF that we take into account.

Using this method, we can retrieve the clustering proposed in Section 4.2 for the component $\tilde{raf}_2$ (two clusters: $\{\lambda, i, \iota, m, \rho, h, \kappa, \psi\}$ and $\{k, \pi, l, o, \xi\}$, see Figure 5).

<footnote n="10">¹⁰Note that this CSP contains two types of variables: one variable for each cluster and one variable for each input of these clusters. The domains of these variables correspond to their possible labellings. The constraints express the links between the labellings of the clusters and the labellings of their inputs.</footnote>

<footnote n="11">¹¹See in [18] the details about the definition of the SCCs for a RAF.</footnote>
# 7. Conclusion and Future Works

This paper presents *RAF Divider*, one of the first algorithms for the enumeration of acceptable sets in a Recursive Argumentation Framework (RAF), an argumentation framework enriched with higher-order attacks. This algorithm, proven sound and complete, is based on a cutting of the framework which allows a distributed and parallel computation, technique successfully used for the enumeration of acceptable sets in an AF by *AF Divider*. An example of a clustering method, USCC-clustering, which can be used with this algorithm, is provided. An implementation of *RAF Divider* is to come with an experimental evaluation of such algorithms.

The extension of the algorithmic approach to other kinds of enriched argumentation frameworks may be investigated: argumentation frameworks which consider support interactions in addition to attacks, notably (see [24] for an overview of such enrichments).

To go further, such algorithms for argumentation frameworks with higher-order attacks may encourage the extension to RAFs of the reasoning tasks proposed for AFs at the International Competition on Computational Models of Argumentation (ICCMA) [21]. It would be the opportunity to define some benchmarks adapted to the higher-order frameworks that could be taken into account in the experimental evaluation previously mentioned.

# Acknowledgments

The authors wish to thank Mickaël Lafages, the work of this article being mostly based on his PhD Thesis.

# References

[1] Á. Carrera, C. A. Iglesias, A systematic review of argumentation techniques for multi-agent systems research, Artificial Intelligence Review 44 (2015) 509-535.

[2] H. Barringer, D. Gabbay, J. Woods, Temporal dynamics of support and attack networks: From argumentation to zoology, in: Mechanizing Mathematical Reasoning, Essays in Honor of Jörg H. Siekmann on the Occasion of His 60th Birthday. LNAI 2605, Springer Verlag, 2005, pp. 59-98.

[3] S. Modgil, An abstract theory of argumentation that accommodates defeasible reasoning about preferences, in: Proc. of ECSQARU, 2007, pp. 648-659.

[4] S. Modgil, Reasoning about preferences in argumentation frameworks, Artificial Intelligence 173 (2009) 901-934.

[5] P. Baroni, F. Cerutti, P. E. Dunne, M. Giacomin, Computing with infinite argumentation frameworks: The case of AFRAs, in: Proc. of TAFA, Revised Selected Papers, 2011, pp. 197-214.

[6] P. Baroni, F. Cerutti, M. Giacomin, G. Guida, AFRA: Argumentation framework with recursive attacks, Intl. Journal of Approximate Reasoning 52 (2011) 19-37.

[7] P. Dung, On the acceptability of arguments and its fundamental role in nonmonotonic reasoning, logic programming and *n*-person games, Artificial Intelligence 77 (1995) 321-357.
[8] C. Cayrol, J. Fandinno, L. Fariñas del Cerro, M.-C. Lagasquie-Schiex, Valid attacks in argumentation frameworks with recursive attacks, AMAI Journal 89 (2020) 53–101.

[9] F. Cerutti, M. Giacomin, M. Vallati, M. Zanella, An SCC recursive meta-algorithm for computing preferred labellings in abstract argumentation, in: Proc. of KR, AAAI Press, 2014, pp. 42–51.

[10] W. Dvořák, R. Pichler, S. Woltran, Towards fixed-parameter tractable algorithms for abstract argumentation, Artificial Intelligence 186 (2012) 1–37.

[11] B. Liao, Toward incremental computation of argumentation semantics: A decomposition-based approach, Annals of Mathematics and Artificial Intelligence 67 (2013) 319–358.

[12] S. Doutre, M. Lafages, M.-C. Lagasquie-Schiex, A distributed and clustering-based algorithm for the enumeration problem in abstract argumentation, in: Proc. of PRIMA, Springer, 2019, pp. 87–105.

[13] M. Caminada, On the issue of reinstatement in argumentation, in: JELIA, 2006, pp. 111–123.

[14] P. Baroni, M. Caminada, M. Giacomin, An introduction to argumentation semantics, Knowledge Eng. Review 26 (2011) 365–410.

[15] G. Charwat, W. Dvořák, S. A. Gaggl, J. P. Wallner, S. Woltran, Methods for solving reasoning problems in abstract argumentation — A survey, Artificial Intelligence 220 (2015) 28–63.

[16] P. Baroni, G. Boella, F. Cerutti, M. Giacomin, L. Van Der Torre, S. Villata, On the input/output behavior of argumentation frameworks, Artificial Intelligence 217 (2014) 144–197.

[17] S. Doutre, M. Lafages, M.-C. Lagasquie-Schiex, Argumentation Frameworks with Higher-Order Attacks: Labellings and Complexity, in: M. Alamaniotis, S. Pan (Eds.), Proc. of ICTAI, IEEE, 2020, pp. 1210–1217.

[18] M. Lafages, Algorithms for Enriched Abstract Argumentation Frameworks for Large-scale Cases, PhD thesis, Toulouse University, Toulouse, France, 2021. URL: https://tel.archives-ouvertes.fr/tel-03664752.

[19] S. Doutre, M.-C. Lagasquie-Schiex, RAF Divider, Research Report IRIT/RR-2022-07-FR, IRIT - Institut de recherche en informatique de Toulouse, 2022.

[20] W. Dvorak, P. E. Dunne, Computational problems in formal argumentation and their complexity, in: Handbook of formal argumentation, College publication, 2018, pp. 631–688.

[21] ICCMA, International Competition on Computational Models of Argumentation, 2021. URL: http://argumentationcompetition.org.

[22] P. Besnard, C. Cayrol, M.-C. Lagasquie-Schiex, Logical theories and abstract argumentation: A survey of existing works, Argument and Computation 11 (2020) 41–102.

[23] C. Cayrol, M.-C. Lagasquie-Schiex, Logical Encoding of Argumentation Frameworks with Higher-order Attacks and Evidential Supports, International Journal on Artificial Intelligence Tools 29 (2020) 2060003. URL: https://hal.archives-ouvertes.fr/hal-02874146.

[24] C. Cayrol, A. Cohen, M. Lagasquie-Schiex, Higher-order interactions (bipolar or not) in abstract argumentation: A state of the art, in: Handbook of Formal Argumentation, Volume 2, College Publications, 2021, pp. 3–118.