## 5 The Labeling Algorithm for Four-Label Enumeration Stable Extension
### Four-Label Algorithm Description  
In the four-label enumeration stable extension algorithm, the algorithm first classifies the arguments in the input abstract argumentation framework based on their different properties, aiming to differentiate the arguments by priority. Then, it performs a labeling transition on the arguments according to their priority order. Finally, the algorithm collects the legal labeling sets, where the set of \(in\) arguments constitutes the stable extension. The algorithm framework is outlined below. The framework of the four-label algorithm is illustrated in Algorithm 1. Here, \(\Gamma=\langle A,R\rangle\) represents the input abstract argumentation framework, \(Lab\) denotes the mapping from arguments of the argumentation framework \(\Gamma\) to labels, \(E\) is the stable extension set, and the  
Figure 2: How the four-label algorithm (Algorithm 1) works on an AF. _blank_ label represents arguments that have not been labeled. In Algorithm 1, the algorithm first preprocesses the input abstract argumentation framework (line 7); then, it selects unlabeled arguments (i.e., ordinary arguments) for labeling transition, prioritizing the _in_ transition. If this fails, it attempts the _must_out_ transition. The process is repeated until all arguments are fully labeled, provided that the labeled arguments are legal (lines 8-14); finally, the legality of the labeling results is checked (lines 2-6). The framework of the four-label algorithm can be divided into two functional modules: the preprocessing strategy and the four-label transition strategy. The preprocessing strategy primarily performs two operations: identifying high-priority arguments and labeling them as _must_in_ and further processing the _must_in_ arguments. In the four-label transition strategy, the focus is on performing the _in_ transition and the _must_out_ transition and then checking the legality of the labels. The following sections will detail each of these modules. **Preprocessing Strategy. ** The preprocessing strategy is used to differentiate the order of argument labeling, with the main objectives of accelerating labeling propagation and reducing the number of algorithmic backtracks. In the abstract argumentation framework, since initial arguments are included in all extensions and since self-attacking arguments are not included in any extension, the algorithm can distinguish these special arguments during preprocessing based on their properties. Once these special arguments are labeled, initial arguments can be directly subjected to the labeling transition. Additionally, during the labeling transition process, the labels of some arguments can be inferred based on existing labels, and the handling of these arguments can be analogized to the initial arguments. * Why not directly label initial arguments with the _in_ label but rather with the _must_in_ label? * Why not directly label the self-attacking arguments with the _out_ label but rather with the _must_out_ label? We address these questions directly in the following paragraphs:  
* The advantage of using the _must_in_ label is as follows. Since initial arguments are included in all semantic extensions, labeling these arguments with _must_in_ allows the algorithm to focus on arguments that can be further processed, thus avoiding unnecessary argument search issues. Similarly, in the subsequent labeling transition strategy, _must_in_ labels can also be used to label arguments whose label types are determined through inference. Thus, during argument label branching decisions, the algorithm only needs to consider those arguments whose label types are not yet determined and whose label is being attempted to be set as _in_, thereby reducing the number of algorithmic backtracks. * Since self-attacking arguments do not belong to any semantic extension, their final label type is generally _out_.