Establish Coherence in Logic Programs Modelling Expert Knowledge via Argumentation Andre Thevapalan1 , Jesse Heyninck1,2 and Gabriele Kern-Isberner1 1 Technische Universitรคt Dortmund, Germany 2 University of Cape Town and CAIR, South Africa Abstract When modelling expert knowledge, default negation is very useful, but might lead to there being no stable models. Detecting the exact causes of the incoherence in the logic program manually can be- come quite cumbersome, especially in larger programs. Moreover, establishing coherence does require expertise regarding the modelled knowledge as well as technical knowledge about the program and its rules. This paper introduces a method to detect the causes of incoherence in logic programs by using argumentation graphs and proposes strategies to modify the responsible parts of the program in order to obtain a coherent program. Keywords Logic Programming, Coherence, Argumentation Graphs 1. Introduction With the availability of both strong and default negation, answer set programming offers valuable features for the usage in real-life applications. But often knowledge bases are subject to change. Adding rules to a logic program is not as straightforward as it might seem. Due to its declarative nature, adding new information can easily lead to contradictory knowledge. Such contradictions can result from rules whose conclusions are contradictory while both their premises can potentially hold simultaneously. Several approaches deal with this notion of contradictions when updating logic programs [1, 2, 3, 4, 5, 6]. However, by using default negation, another form of inconsistency can appear which is called incoherence. Incoherent answer set programs do not possess answer sets even though the cause of the incoherence generally comprises only one or more smaller parts of the program. Several approaches show how these causes can be found and which part of the programs are affected and thus have to be revised in order to restore the coherence of a program [7, 8, 9]. But to the best of our knowledge, there does not exist a method describing how to establish coherence, particularly in collaboration with an expert on the modelled knowledge. To disburden users from dealing with actual logic program rules and from coming up with a solution themselves, we therefore propose CAUSALโ€™21: Workshop on Causal Reasoning and Explanation in Logic Programming, September 20โ€“27, 2021 andre.thevapalan@tu-dortmund.de (A. Thevapalan); jesse.heyninck@tu-dortmund.de (J. Heyninck); gabriele.kern-isberner@cs.tu-dortmund.de (G. Kern-Isberner)  0000-0001-5679-6931 (A. Thevapalan); 0000-0002-3825-4052 (J. Heyninck); 0000-0001-8689-5391 (G. Kern-Isberner) Copyright ยฉ 2021 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR Workshop Proceedings http://ceur-ws.org ISSN 1613-0073 CEUR Workshop Proceedings (CEUR-WS.org) a method to compute possible solutions that reuses the coherent program parts while modifying the incoherence-causing parts as minimally invasive as possible. For that, we adapt results on coherence in argumentation graphs [9] for normal logic programs which in turn enables us to locate those parts of the program (called SCUPs) that are responsible for the incoherence. We will then present different methods how the logic program can be amended in order to obtain a coherent logic program without performing unncessary modifications. The paper is organized as follows. After providing some necessary preliminaries in Section 2 and 3, in Section 4, we introduce amendments for argumentation graphs and for normal logic programs and establish results in parallel between both types of amendments. The paper concludes by outlining how the presented approach can serve as part of a framework to interactively establish coherence in logic programs in Section 5, followed by a brief discussion of possible areas of application in Section 7. 2. Preliminaries 2.1. Normal Logic Programs In this paper, we look at non-disjunctive normal logic programs (NLPs)1 [10] under the (three- valued) stable semantics [11]. A NLP is a finite set of rules over a set ๐’œ of propositional atoms. A default-negated atom ๐ด, also called default literal, is written as โˆผ๐ด. A rule ๐‘Ÿ is of the form ๐ด0 โ† ๐ด1 , . . . , ๐ด๐‘š , โˆผ๐ด๐‘š+1 , . . . , โˆผ๐ด๐‘› ., with atoms ๐ด0 , . . . , ๐ด๐‘› and 0 โ‰ค ๐‘š โ‰ค ๐‘›. The atom ๐ด0 is the head of ๐‘Ÿ, denoted by ๐ป(๐‘Ÿ), and {๐ด1 , . . . ๐ด๐‘š , โˆผ๐ด๐‘š+1 , . . . โˆผ๐ด๐‘› } is the body of ๐‘Ÿ, denoted by ๐ต(๐‘Ÿ). Furthermore, {๐ด1 , . . . , ๐ด๐‘š } is denoted by ๐ต + (๐‘Ÿ) and {๐ด๐‘š+1 , . . . , ๐ด๐‘› } by ๐ต โˆ’ (๐‘Ÿ). A rule ๐‘Ÿ with ๐ต(๐‘Ÿ) = โˆ… is called a fact, and if ๐ป(๐‘Ÿ) = โˆ…, rule ๐‘Ÿ is called a constraint. A rule ๐‘Ÿ with ๐ต โˆ’ (๐‘Ÿ) ฬธ= โˆ… will be called a default rule. A normal logic program ๐’ซ can then be defined as a set of rules. A set ๐ผ of atoms satisfies a rule ๐‘Ÿ if ๐ป(๐‘Ÿ) โˆˆ ๐ผ whenever ๐ต + (๐‘Ÿ) โІ ๐ผ and ๐ต โˆ’ (๐‘Ÿ) โˆฉ ๐ผ = โˆ…. We say for a set of atoms ๐ผ, rule ๐‘Ÿ holds if ๐ผ satisfies ๐‘Ÿ. A three-valued interpretation is a pair of sets of atoms โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ with ๐ผ โˆฉ ๐ผ โ€ฒ = โˆ…, where ๐ผ represents the atoms which are true and ๐ผ โ€ฒ represents the atoms which are false. Thus, any atom ๐ด ฬธโˆˆ ๐ผ โˆช ๐ผ โ€ฒ is undecided. We will also say, for any atom ๐ด, โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ(๐ด) = T iff ๐ด โˆˆ ๐ผ, โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ(๐ด) = F iff ๐ด โˆˆ ๐ผ โ€ฒ , and โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ(๐ด) = U otherwise. The truth-order โชฏ๐‘ก over {T, F, U} is defined as F โ‰บ๐‘ก U โ‰บ๐‘ก T whereas the knowledge order is defined by U โ‰บ๐‘˜ T, F. A three-valued interpretation ๐ฝ satisfies a positive rule ๐‘Ÿ iff minโชฏ๐‘ก {๐ฝ(๐ด) | ๐ด โˆˆ ๐ต(๐‘Ÿ)} โชฐ๐‘ก ๐ฝ(๐ป(๐‘Ÿ)). We furthermore define a constant U s.t. for every interpretation ๐ฝ, ๐ฝ(U) = U. The three-valued โ€ฒ reduct ๐’ซ โŸจ๐ผ,๐ผ โŸฉ of a program is obtained as follows: โ€ฒ ๐’ซ โŸจ๐ผ,๐ผ โŸฉ = {๐ป(๐‘Ÿ) โ† ๐ต + (๐‘Ÿ). | ๐‘Ÿ โˆˆ ๐’ซ, ๐ต โˆ’ (๐‘Ÿ) โІ ๐ผ โ€ฒ }โˆช (1) + โˆ’ โˆ’ โ€ฒ {๐ป(๐‘Ÿ) โ† ๐ต (๐‘Ÿ), U. | ๐‘Ÿ โˆˆ ๐’ซ, ๐ต (๐‘Ÿ) โˆฉ ๐ผ = โˆ… and ๐ต (๐‘Ÿ) โˆ– ๐ผ ฬธ= โˆ…}. (2) โ€ฒ Intuitively, we add ๐ป(๐‘Ÿ) โ† ๐ต + (๐‘Ÿ) to ๐’ซ โŸจ๐ผ,๐ผ โŸฉ when all negative atoms in ๐‘Ÿ are false, whereas we add ๐ป(๐‘Ÿ) โ† ๐ต + (๐‘Ÿ), U when all negative atoms in ๐‘Ÿ are not true, and there is some negative atoms in ๐‘Ÿ that is not false. We say ๐ฝ is a stable interpretation for ๐’ซ iff ๐ฝ is the โชฏ๐‘ก -minimal 1 Albeit the presented approach aims to be used with answer set programs, for the proof of concept in this paper normal logic programs will suffice. interpretation of ๐’ซ ๐ฝ . ๐ฝ is a regular interpretation [12] if it is stable and for every stable interpretation ๐ฝ โ€ฒ , ๐ฝ โ€ฒ โชฏ๐‘˜ ๐ฝ. A set of atoms ๐ผ is an answer set of ๐’ซ if โŸจ๐ผ, ๐’œ โˆ– ๐ผโŸฉ is a stable interpretation [10]. Definition 1 (Coherence). Let ๐’ซ be an NLP. ๐’ซ is coherent if ๐’ซ has at least one answer set. Otherwise, ๐’ซ will be called incoherent. Example 1. The following NLP ๐’ซ1 will be used as a running example throughout the paper: ๐‘Ÿ1 : fever โ† highTemp, โˆผsunstroke. ๐‘Ÿ2 : fatigue โ† lowEnergy, โˆผstress, โˆผworkedOut. ๐‘Ÿ3 : highTemp โ† tempAbove37 . ๐‘Ÿ4 : sunstroke โ† highTemp, โˆผfever . ๐‘Ÿ5 : allergy โ† pollenSeason, fatigue, โˆผflu, โˆผcold . ๐‘Ÿ6 : cold โ† fatigue, soreThroat, โˆผmigraine. ๐‘Ÿ7 : flu โ† fatigue, โˆผmigraine. ๐‘Ÿ8 : migraine โ† headache, โˆผallergy. ๐‘Ÿ9 : soreThroat. ๐‘Ÿ10 : headache. ๐‘Ÿ11 : pollenSeason. ๐‘Ÿ12 : lowEnergy. ๐‘Ÿ13 : tempAbove37 . ๐’ซ1 has no answer sets and is, therefore, incoherent. It has, however, the three-valued stable inter- pretations ๐ฝ1 , ๐ฝ2 and ๐ฝ3 , where: โ„ฑ ={soreThroat, headache, pollenSeason, lowEnergy, tempAbove37 } ๐ฝ1 =โŸจโ„ฑ โˆช {fatigue}, {stress, workedOut}โŸฉ ๐ฝ2 =โŸจโ„ฑ โˆช {sunstroke, fatigue}, {fever , stress, workedOut}โŸฉ ๐ฝ3 =โŸจโ„ฑ โˆช {fever , fatigue}, {sunstroke, stress, workedOut}โŸฉ By way of illustration, we explain why ๐ฝ1 is a three-valued stable interpretation. This can be seen by first calculating ๐’ซ1๐ฝ1 : ๐‘Ÿ1โ€ฒ : fever โ† highTemp, U. ๐‘Ÿ2โ€ฒ : fatigue โ† lowEnergy. ๐‘Ÿ3โ€ฒ : highTemp โ† tempAbove37 . ๐‘Ÿ4โ€ฒ : sunstroke โ† highTemp, U. ๐‘Ÿ5โ€ฒ : allergy โ† pollenSeason, fatigue, U. ๐‘Ÿ6โ€ฒ : cold โ† fatigue, soreThroat, U. ๐‘Ÿ7โ€ฒ : flu โ† fatigue, U. ๐‘Ÿ8โ€ฒ : migraine โ† headache, U. ๐‘Ÿ9 , ๐‘Ÿ10 , ๐‘Ÿ11 , ๐‘Ÿ12 , ๐‘Ÿ13 It can be easily checked that ๐ฝ1 is the โชฏ๐‘ก minimal interpretation of ๐’ซ1๐ฝ1 . 3. Argumentation Graphs In this section, we introduce assumption-based argumentation [13] which will allow us to straightforwardly reason about incoherence and its causes in logic programs. The basic idea is the following: given a logic ๐’ซ, an argumentation graph, which is a directed graph consisting of arguments and attacks between these arguments, is constructed by considering sets of default literals as arguments. An attack between two arguments takes place if we can derive a (positive) โˆผcold , โˆผflu, โˆผfever โˆผsunstroke โˆผallergy โˆผstress, โˆผworkedOut โˆผcold โˆผstress, โˆผflu โˆผworkedOut โˆผmigraine, โˆผmigraine โˆผworkedOut, โˆผstress โˆผfatigue Figure 1: Argumentation Graph AF(๐’ซ1 ) from Example 1 atom that occurs negated in the attacked set from the attacking set of default literals. Thus, an attack between two sets of default literals occurs if there is one or more sets of rules that allow to derive, from the attacking set of default literals, a positive atom in the attacked set. In other words, the intuition is that every literal is assumed to be false, until and unless we can derive a valid counter-argument against this assumption. โ‹ƒ๏ธ€ Definition 2. Given a logic program ๐’ซ, we define ฮฉ๐’ซ = {โˆผ๐ด | ๐ด โˆˆ ๐‘Ÿโˆˆ๐’ซ ๐ต โˆ’ (๐‘Ÿ)}. For some ฮ” โІ ฮฉ๐’ซ , โŠข๐’ซ โІ โ„˜(ฮฉ๐’ซ ) ร— (๐’œ๐’ซ โˆช ฮฉ๐’ซ ) is defined inductively as follows: โ€ข ฮ” โŠข๐’ซ โˆผ๐ด iff โˆผ๐ด โˆˆ ฮ”, โ€ข ฮ” โŠข๐’ซ ๐ด iff there is some ๐‘Ÿ โˆˆ ๐’ซ s.t. ๐ด = ๐ป(๐‘Ÿ) and ฮ” โŠข๐’ซ ๐œ‘ for every ๐œ‘ โˆˆ ๐ต(๐‘Ÿ). Given ฮ˜ โˆˆ โ„˜(ฮฉ๐’ซ ), we say ฮ˜ is derivable from ฮ” by a set of rules ฮ“ โˆˆ ๐’ซ iff ฮ” โŠขฮ“ ฮ˜. Example 2 (Example 1 continued). We see that for ๐’ซ1 in Example 1, the following derivations (among others) hold: โ€ข {โˆผfever } โŠข๐’ซ1 โˆผfever (in view of the first item of Definition 2). โ€ข โˆ… โŠข๐’ซ1 tempAbove37 . and โˆ… โŠข๐’ซ1 highTemp. (in view of the second item of Definition 2 and since tempAbove37 ., highTemp โ† tempAbove37 . โˆˆ ๐’ซ1 ). โ€ข {โˆผfever } โŠข๐’ซ1 sunstroke (in view of the second item of Definition 2, the previous two items and sunstroke โ† highTemp, โˆผfever . โˆˆ ๐’ซ1 ). Definition 3. Given a logic program ๐’ซ, AF(๐’ซ) = โŸจโ„˜(ฮฉ๐’ซ ), โ†๐’ซ โŸฉ is the corresponding argumen- tation graph of ๐’ซ where โ†๐’ซ โІ โ„˜(ฮฉ๐’ซ )ร—โ„˜(ฮฉ๐’ซ ) s.t. for any ฮ”, ฮ˜ โІ ฮฉ๐’ซ , ฮ” โ†๐’ซ ฮ˜ iff ฮ” โŠข๐’ซ ๐ด for some โˆผ๐ด โˆˆ ฮ˜. We will also call โˆผ๐ด โˆˆ ฮฉ๐’ซ an assumption, and sets of assumptions arguments. Example 3 (Example 1 continued). The graphical representation of a fragment of the argumen- tation graph AF(๐’ซ1 ) can be seen in Figure 1. By way of example, we explain the attack from {โˆผfever } to {โˆผsunstroke} by pointing to the fact that {โˆผfever } โŠข๐’ซ1 sunstroke (see Example 2). Notice that we have included only the relevant fragment of the argumentation graph. To avoid clutter, attacks like {โˆผfever } โ†๐’ซ1 {โˆผsunstroke, โˆผstress} were left out of Figure 1. Assumption labellings are used to give semantics to argumentation graphs. An assumption labelling ๐ฟ : ฮฉ๐’ซ โ†’ {T, F, U} assigns to every assumption a truth-value T (true), F (false), or U (undecided). We denote, for โ€  โˆˆ {T, F, U}, โ€ (๐ฟ) = {โˆผ๐ด โˆˆ ฮฉ๐’ซ | ๐ฟ(โˆผ๐ด) = โ€ }. For a set ฮ” โІ ฮฉ๐’ซ and an assumption labelling ๐ฟ, ๐ฟ(ฮ”) = minโชฏ๐‘ก {๐ฟ(โˆผ๐ด) | โˆผ๐ด โˆˆ ฮ”}. Definition 4 ([14]). Let an argumentation graph AF(๐’ซ) = โŸจโ„˜(ฮฉ๐’ซ ), โ†๐’ซ โŸฉ and an assumption labelling ๐ฟ : ฮฉ โ†’ {T, F, U} be given. Then ๐ฟ is: โ€ข admissible iff for every โˆผ๐ด โˆˆ ฮฉ๐’ซ , it holds that (1) if ๐ฟ(โˆผ๐ด) = T then for every ฮ” โІ ฮฉ๐’ซ s.t. ฮ” โ†๐’ซ โˆผ๐ด, there is some โˆผ๐ต โˆˆ ฮ” s.t. ๐ฟ(โˆผ๐ต) = F, (2) if ๐ฟ(โˆผ๐ด) = F then there is some ฮ” โІ ฮฉ๐’ซ s.t. ฮ” โ†๐’ซ โˆผ๐ด and for every โˆผ๐ต โˆˆ ฮ”, ๐ฟ(โˆผ๐ต) = T, (3) if ๐ฟ(โˆผ๐ด) = U then for every ฮ” โІ ฮฉ๐’ซ s.t. ฮ” โ†๐’ซ โˆผ๐ด, there is some โˆผ๐ต โˆˆ ฮ” s.t. ๐ฟ(โˆผ๐ต) ฬธ= T.2 โ€ข complete if it is admissible and for every โˆผ๐ด โˆˆ ฮฉ๐’ซ , it holds that if ๐ฟ(โˆผ๐ด) = U then there is some ฮ” โІ ฮฉ๐’ซ s.t. ฮ” โ†๐’ซ โˆผ๐ด and for every โˆผ๐ต โˆˆ ฮ”, ๐ฟ(โˆผ๐ต) ฬธ= F. โ€ข preferred if it is admissible and T(๐ฟ) is โІ-maximal among all admissible labellings. โ€ข stable if it is admissible and iff U(๐ฟ) = โˆ…. Example 4 (Example 3 continued). For AF(๐’ซ1 ), there are three complete labellings, ๐ฟ1 , ๐ฟ2 and ๐ฟ3 , characterised by (to avoid clutter we leave out set-brackets): ๐ฟ1 (โˆผfever ) = U ๐ฟ2 (โˆผfever ) = T ๐ฟ3 (โˆผfever ) = F ๐ฟ1 (โˆผsunstroke) = U ๐ฟ2 (โˆผsunstroke) = F ๐ฟ3 (โˆผsunstroke) = T ๐ฟ1 (โˆผstress) = T ๐ฟ2 (โˆผstress) = T ๐ฟ3 (โˆผstress) = T ๐ฟ1 (โˆผworkedOut) = T ๐ฟ2 (โˆผworkedOut) = T ๐ฟ3 (โˆผworkedOut) = T ๐ฟ1 (โˆผfatigue) = F ๐ฟ2 (โˆผfatigue) = F ๐ฟ3 (โˆผfatigue) = F ๐ฟ1 (โˆผallergy) = U ๐ฟ2 (โˆผallergy) = U ๐ฟ3 (โˆผallergy) = U ๐ฟ1 (โˆผflu) = U ๐ฟ2 (โˆผflu) = U ๐ฟ3 (โˆผflu) = U ๐ฟ1 (โˆผcold ) = U ๐ฟ2 (โˆผcold ) = U ๐ฟ3 (โˆผcold ) = U ๐ฟ1 (โˆผmigraine) = U ๐ฟ2 (โˆผmigraine) = U ๐ฟ3 (โˆผmigraine) = U ๐ฟ2 and ๐ฟ3 are also preferred. It can be noticed that there is no stable labelling for AF(๐’ซ1 ). As shown in [15], complete labellings of the argumentation graph AF(๐’ซ) actually give an alternative characterisation of three-valued stable interpretation. To describe this characterisa- tion, the following method of moving between labellings of AF(๐’ซ) and interpretations of ๐’ซ are useful: Definition 5. Given an assumption labelling ๐ฟ, the corresponding three-valued interpretation Lab2Int(๐ฟ) is defined as Lab2Int(๐ฟ) = โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ where ๐ผ = {๐ด | ๐ฟ(โˆผ๐ด) = F} and ๐ผ โ€ฒ = {๐ด | ๐ฟ(โˆผ๐ด) = T}. Likewise, given a three-valued interpretation, โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ, the corresponding assumption labelling Int2Lab(โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ) is defined by: โŽง โ€ฒ โŽจT if ๐ด โˆˆ ๐ผ โŽช Int2Lab(โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ)(โˆผ๐ด) = F if ๐ด โˆˆ ๐ผ โŽช โŽฉ U otherwise 2 Notice that in assumption-based argumentation labellings [14], there is a third condition (3) for admissible labellings, which does not occur in abstract argumentation labellings. The authors in [15] have shown the following representation result: Proposition 1. Let a normal logic program ๐’ซ be given. Then: โ€ข โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ is a three-valued stable interpretation of ๐’ซ iff Int2Lab(โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ) is a complete la- belling of AF(๐’ซ), and vice versa: ๐ฟ is a complete labelling of AF(๐’ซ) iff Lab2Int(๐ฟ) is a three-valued stable interpretation of ๐’ซ. โ€ข โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ is a regular interpretation of ๐’ซ iff Int2Lab(โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ) is a preferred labelling of AF(๐’ซ), and vice versa: ๐ฟ is a preferred labelling of AF(๐’ซ) iff Lab2Int(๐ฟ) is a regular interpretation of ๐’ซ. โ€ข โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ is a stable interpretation of ๐’ซ iff Int2Lab(โŸจ๐ผ, ๐ผ โ€ฒ โŸฉ) is a stable labelling of AF(๐’ซ), and vice versa: ๐ฟ is a stable labelling of AF(๐’ซ) iff Lab2Int(๐ฟ) is a three-valued stable interpretation of ๐’ซ. Notice that the above proposition also implies that every preferred interpretation corresponds to a three-valued stable interpretation. The problem of incoherence in abstract argumentation has been studied in [9]. In this work, incoherence was analysed using the notion of strongly connected component (SCC) [16]. A path from a set of assumptions ฮ” to a set of assumptions ฮ˜ is a sequence of sets of assumptions ฮ”1 , . . . , ฮ”๐‘› s.t. ฮ”1 = ฮ”, ฮ˜ = ฮ”๐‘› and ฮ”๐‘– โ†๐’ซ ฮ”๐‘–+1 for every 1 โ‰ค ๐‘– < ๐‘›. Path-equivalence between two sets of assumptions ฮ” and ฮ˜ holds iff ฮ” = ฮ˜ or there is a path from ฮ” to ฮ˜ and from ฮ˜ to ฮ”. The equivalence classes of all sets of assumptions under the relation of path-equivalence are called the strongly connected components of AF(๐’ซ). An SCC ฮ” โІ โ„˜(ฮฉ๐’ซ ) is an initial SCC if there is no SCC ฮ˜ โІ โ„˜(ฮฉ๐’ซ ) s.t. ฮ” ฬธ= ฮ˜ and there is some ฮ˜ โˆˆ ฮ˜ and some ฮ” โˆˆ ฮ” s.t. ฮ˜ โ†๐’ซ ฮ”. Given a set of assumptions ฮ” โІ ฮฉ๐’ซ , the restriction of AF(๐’ซ) to ฮ” is defined as AF(๐’ซ)โ†“ฮ” = โŸจฮ”, โ†๐’ซ โˆฉ(ฮ” ร— ฮ”)โŸฉ. Definition 6. Given a labelling ๐ฟ, ฮ” โІ โ„˜(ฮฉ๐’ซ ) is a strongly connected U-part w.r.t. ๐ฟ (in short, SCUP) iff ฮ” is an initial SCC of AF(๐’ซ)โ†“U(๐ฟ) . The authors in [9] show that SCUPs can be seen as the responsible parts of incoherence: Proposition 2 (cf. [9]). There exists a SCUP w.r.t. the preferred labelling ๐ฟ iff ๐ฟ is not stable. Corollary 1 (cf. [9]). ๐’ซ is incoherent iff for every preferred labelling ๐ฟ of AF(๐’ซ) there exists a SCUP. They also established a strong connection between SCUPS and odd attack cycles between arguments, which we will exploit in this paper. In more detail, a direct consequence of the results in [9] is that every SCUP contains at least one odd-length cycle (see Appendix A.1). SCUPS are, however, a more precise indication of the โ€œcauseโ€ of incoherence, since, as we will see, incoherence can be resolved by manipulating SCUPs. Example 5 (Example 4 continued). For AF(๐’ซ1 ) (with ๐’ซ1 as in Example 1) and ๐ฟ2 as in Example 4, let ฮฉโ€  = {ฮ” โˆˆ ฮฉ๐’ซ1 | ฮ” โˆฉ {โˆผallergy, โˆผflu, โˆผcold , โˆผmigraine} ฬธ= โˆ…}. Then we see that AF(๐’ซ1 )โ†“U(๐ฟ) = โŸจฮฉโ€  , โ†๐’ซ1 โˆฉ(ฮฉโ€  ร— ฮฉโ€  )โŸฉ. It can be observed that AF(๐’ซ1 )โ†“U(๐ฟ) contains one SCC, namely: ฮ” = {ฮ”โІ ฮฉ๐’ซ1 | ฮ” โЇ {โˆผallergy} or ฮ” โЇ {โˆผflu, โˆผcold , โˆผstress, โˆผworkedOut} or ฮ” โЇ {โˆผmigraine, โˆผstress, โˆผworkedOut}}. Thus, ฮ” is the unique SCUP w.r.t. ๐ฟ2 . 4. Coherence Restoration As pointed out before, argumentation graphs provide insight into whether a logic program is coherent or not. More precisely, SCUPs of an argumentation graph point to the exact sets of attacks between assumptions that are the cause for the incoherence. For this reason, we will describe in the following how to manipulate an argumentation graph in order to obtain an argumentation graph that is free of SCUPs and which, therefore, has a stable labelling. We will specify suitable SCUP amendment operations, that are basic modifications that can be used (in combination) to resolve a SCUP and thus restore coherence. 4.1. SCUP Amendment In the remainder of this paper, we will assume as given an incoherent NLP ๐’ซ over ๐’œ, its corresponding argumentation graph AF(๐’ซ) = โŸจโ„˜(ฮฉ๐’ซ ), โ†๐’ซ โŸฉ, and the set SCUPS(๐’ซ) of all SCUPs in AF(๐’ซ) w.r.t. a preferred labelling ๐ฟ for AF(๐’ซ). Definition 7 (Informativeness). Let ๐ฟ be a labelling for AF(๐’ซ) and ๐ฟโ€ฒ a labelling for an argu- mentation graph AFโ—‹โ‹† = โŸจโ„˜(ฮฉโ—‹โ‹† ), โ†โ—‹โ‹† โŸฉ with ฮฉ๐’ซ =ฮฉโ—‹โ‹† . We say ๐ฟโ€ฒ is more informative than ๐ฟ, denoted by ๐ฟ โ‰บk ๐ฟโ€ฒ , if the following holds: T(๐ฟ) โІ T(๐ฟโ€ฒ ), F(๐ฟ) โІ F(๐ฟโ€ฒ ), and U(๐ฟโ€ฒ ) โŠŠ U(๐ฟ). Definition 8 (SCUP Amendment). Given a preferred labelling ๐ฟ for AF(๐’ซ) and a SCUP ฮ” โˆˆ SCUPS(๐’ซ), a SCUP amendment of AF(๐’ซ) w.r.t. ฮ” is AFโ—‹โ‹† = โŸจโ„˜(ฮฉโ—‹โ‹† ), โ†โ—‹โ‹† โŸฉ such that โ‹ƒ๏ธ€ โ€ข ฮ” โ†โ—‹โ‹† ฮ˜ iff ฮ” โ†๐’ซ ฮ˜, and ฮ˜ โˆฉ ฮ” = โˆ… for any ฮ”, ฮ˜โІฮฉ๐’ซ . โ€ข there exists a preferred labelling ๐ฟโ—‹โ‹† for AFโ—‹โ‹† such that โ€“ for all โˆผ๐ด โˆˆ ฮฉโ—‹โ‹† โˆ–ฮฉ: ๐ฟโ—‹โ‹† (โˆผ๐ด) = T or ๐ฟโ—‹โ‹† (โˆผ๐ด) = F, and โ€“ ๐ฟ โ‰บk ๐ฟโ—‹โ‹† . Any such preferred labelling ๐ฟโ—‹โ‹† will be called an amendment labelling of AFโ—‹โ‹† w.r.t. ๐ฟ. We explain SCUP amendments as follows: these amendments are changes to the argumenta- tion graph โŸจโ„˜(ฮฉ๐’ซ ), โ†๐’ซ โŸฉ that are induced by either adding or removing attacks on arguments within the SCUP. A minimal condition for such amendments is that the argumentation graph can only be manipulated by adding or removing attacks on arguments that have at least one assumption in common with the SCUP that is the basis of an amendment. Below, we will give specific methods that lead to SCUP amendments. The amendment should have as a result that there exists a preferred labelling which is more informative than the preferred labelling on which the amendment was based and which โ€œresolvesโ€ the SCUP in the sense that now every member of the SCUP gets assigned a definitive label (i.e. a label other than U). From the perspective of information theory, therefore, SCUP amendments reduce the undecidedness of the knowledge represented by the argumentation graph. As shown in [9], it is not guaranteed that there exists a single SCUP amendment AFโ—‹โ‹† of AF(๐’ซ) such that a corresponding amendment labelling ๐ฟโ—‹โ‹† is a stable labelling. Definition 9 (Iterated SCUP Amendment). Let AF1 be an argumentation graph with a preferred labelling ๐ฟ1 and at least one SCUP ฮ” w.r.t. ๐ฟ1 . An iterated SCUP amendment is a sequence โŸจAF1 , L1 โŸฉ, . . . , โŸจAFn , Ln โŸฉ(n > 1) such that for all ๐‘– (1 โ‰ค ๐‘– < ๐‘›), AFi+1 is a SCUP amendment of AFi w.r.t. ฮ” and ๐ฟ๐‘–+1 is an amendment labelling of AFi+1 w.r.t. ๐ฟ๐‘– . Next, we will propose different methods on how to manipulate a given argumentation graph in order to obtain a suitable SCUP amendment. 4.2. SCUP Amendment Operations Informally, a SCUP of an argumentation graph AF contains one or more interdependent odd cycles such that all preferred labellings label all assumptions of these responsible cycles as undecided. Notice the importance of the preferred labellings for restoring coherence, as they are โ€œas closeโ€ (according to โ‰ค๐‘– ) to stable labellings as possible. Thus, resolving a SCUP requires the manipulation of the graph such that there exists a preferred labelling ๐ฟโ—‹โ‹† for the modified graph that is more informative, i. e., where at least one of the arguments that is part of the cycle is labelled either true or false by ๐ฟโ—‹โ‹† . Suppose one of the responsible odd cycles contains the assumption โˆผ๐‘Ž. The most obvious way to obtain such a preferred labelling ๐ฟโ—‹โ‹† is to force an assumption of a responsible cycle to be true or false, for example to demand that ๐‘Ž is true. In argumentation graphs, such an enforcement operation can be implemented by adding an attack from the empty set to โˆผ๐‘Ž (which, since then โˆ… โŠข๐’ซ ๐‘Ž, in turn corresponds to adding a fact ๐‘Ž. in logic programs). Other ways to obtain a more informative labelling ๐ฟโ—‹โ‹† and ultimately a SCUP-free argumentation graph is to modify the responsible odd cycles and manipulate their attacks such that they contain even subcycles or break up the responsible cycles by removing one or more attacks of said cycles. These preliminary considerations lead us to the following SCUP amendment operations. Given a SCUP ฮ” โˆˆ SCUPS(๐’ซ) w.r.t. a preferred labelling ๐ฟ, the following SCUP amendment operations can be used to (eventually) resolve SCUP ฮ”: Enforcement The SCUP amendment operation (SCUP) enforcement consists of the manipu- lation of AFโ‹ƒ๏ธ€to AFโ—‹โ‹† = โŸจโ„˜(ฮฉ๐’ซ ), โ†โ—‹โ‹† โŸฉ w.r.t. ฮ” where โ†โ—‹โ‹† = โ†๐’ซ โˆช{โˆ… โ†โ—‹โ‹† ฮ” | โˆผ๐ด โˆˆ ฮ”} such that โˆผ๐ด โˆˆ ฮ”.3 Evening Up The SCUP amendment operation (SCUP) evening up consists of the manipulation of AF to AFโ—‹โ‹† โ‹ƒ๏ธ€ = โŸจโ„˜(ฮฉ๐’ซ ), โ†โ—‹โ‹† โŸฉ w.r.t. ฮ” where โ†โ—‹โ‹† = โ†๐’ซ โˆช{ฮ” โ†โ—‹โ‹† ฮ˜ | โˆผ๐ด โˆˆ ฮ˜} with ฮ” โˆˆ ฮ”, โˆผ๐ด โˆˆ ฮ” and โˆผ๐ด ฬธโˆˆ ฮ”. Pacification The SCUP amendment operation (SCUP) pacification consists of the manipulation of AF to AFโ—‹โ‹† = โŸจโ„˜(ฮฉ๐’ซ ),โ‹ƒ๏ธ€โ†โ—‹โ‹† โŸฉ w.r.t. ฮ” such that โ†โ—‹โ‹† = โ†๐’ซ โˆ–{ฮ”โ€ฒ โ†๐’ซ ฮ˜ | โˆผ๐ด โˆˆ ฮ˜, ฮ”โ€ฒ โІ ฮ”} with ฮ” โˆˆ ฮ” and โˆผ๐ด โˆˆ ฮ”. Proposition 3. There exist argumentation graphs for which: (1) A single application of a SCUP pacification operation might not always lead to a SCUP amendment; (2) no number of applications of evening up leads to a SCUP amendment of AF w.r.t. ฮ”. Proof. Ad 1: this is shown by use of the following example. Consider the following AF1 drawn in Figure 2a. This argumentation graph has a single complete extension: ๐ฟ(โˆผ๐‘Ž) = ๐ฟ(โˆผ๐‘) = ๐ฟ(โˆผ๐‘) = U. 3 A more fine-grained version of enforcement would be to allow for any attacks from arguments that are labelled T by the preferred labelling on which the SCUP amendment is based. โˆผ๐‘ โˆผ๐‘ โˆผ๐‘ โˆผ๐‘Ž โˆผ๐‘ โˆผ๐‘Ž (a) AF1 (b) AF2 Figure 2: Visualization of argumentation graphs used in proof of Proposition 3 It can be easily checked that any single application of pacification does not result in any change to the complete labellings. For example, deleting {{โˆผ๐‘Ž} โ† ฮ” | โˆผ๐‘ โˆˆ ฮ”} or {{โˆผ๐‘} โ† ฮ” | โˆผ๐‘ โˆˆ ฮ”} does not result in a more informative complete labelling. Ad 2: this is shown by use of the following example. Consider the following argumentation graph AF1 drawn in Figure 2a. If we apply evening up as much as possible, we end up with the argumentation graph AF2 drawn in Figure 2b, which has the same unique complete labelling as AF1 : ๐ฟ(โˆผ๐‘Ž) = ๐ฟ(โˆผ๐‘) = ๐ฟ(โˆผ๐‘) = U. However, one can always iterate the amendment operations of enforcement and pacification to obtain a SCUP amendment. Proposition 4. For any argumentation graph AF with a preferred labelling ๐ฟ and a SCUP w.r.t. ๐ฟ: (1) there exists a SCUP amendment of AF w.r.t. ฮ” that consists of a sequence of SCUP enforcement operations, and (2) there exists a SCUP amendment of AF w.r.t. ฮ” that consists of a sequence of SCUP pacification operations.4 For a SCUP ฮ” without self-attacking arguments, evening up is also an adequate amendment operation: Proposition 5. Let an argumentation graph AF with a preferred labelling ๐ฟ and a SCUP ฮ” w.r.t. ๐ฟ s.t. for no ฮ” โˆˆ ฮ”, ฮ” โ† ฮ”. Then there exists a SCUP amendment of AF w.r.t. ฮ” that consists of a sequence of SCUP evening up operations. Proposition 6. For any finite argumentation graph AF with a preferred labelling ๐ฟ and at least one SCUP w.r.t. ๐ฟ, there exists an iterated SCUP amendment โŸจAF, LโŸฉ, . . . , โŸจAFn , Ln โŸฉ s.t. ๐ฟ๐‘› is a stable labelling. Corollary 2. For any incoherent NLP ๐’ซ and a preferred labelling ๐ฟ of AF(๐’ซ), there exists an iterated SCUP amendment โŸจAF(๐’ซ), LโŸฉ, . . . , โŸจAFn , Ln โŸฉ s.t. any NLP ๐’ซ ๐‘› that induces AFn is coher- ent. 4 In view of spatial limitations, proofs and further details have been left out but can be found in an online appendix under http://tinyurl.com/thki2021-appndx. โˆ… โˆผcold , โˆผflu, โˆผcold , โˆผflu, โˆผcold , โˆผflu, โˆผallergy โˆผstress, โˆผallergy โˆผstress, โˆผallergy โˆผstress, โˆผworkedOut โˆผworkedOut โˆผworkedOut โˆผmigraine โˆผmigraine โˆผmigraine โˆผcold โˆผmigraine, โˆผcold โˆผmigraine, โˆผcold โˆผmigraine, โˆผworkedOut, โˆผworkedOut, โˆผworkedOut, โˆผflu โˆผstress โˆผflu โˆผstress โˆผflu โˆผstress (a) AF(๐’ซ1 ) after SCUP enforce- (b) AF(๐’ซ1 ) after SCUP evening (c) AF(๐’ซ1 ) after SCUP pacifica- ment up tion Figure 3: Visualization of SCUP amendment operations in Example 6 Example 6 (Example 4 continued). Consider the NLP ๐’ซ1 , again. AF(๐’ซ1 ) has the unique SCUP ฮ” = {ฮ”โІ โ„˜(ฮฉ๐’ซ1 ) | ฮ” โЇ {โˆผallergy} or ฮ” โЇ {โˆผflu, โˆผcold , โˆผstress, โˆผworkedOut} or ฮ” โЇ {โˆผmigraine, โˆผstress, โˆผworkedOut}}. Adding the set of attacks ฮ“1 = {โˆ… โ†โ—‹โ‹† ฮ” | โˆผmigraine โˆˆ ฮ”, ฮ” โˆˆ ฮ”} to AF(๐’ซ1 ) would constitute a SCUP enforcement operation and thus AF(๐’ซ1โ—‹โ‹† ) = โŸจโ„˜(ฮฉ๐’ซ1 ), โ†โ—‹โ‹† โŸฉ would be a SCUP amendment w.r.t. ฮ” where โ†โ—‹โ‹† = โ† โˆชฮ“1 . Similarly, adding the set of attacks ฮ“2 = {{โˆผallergy} โ†โ—‹โ‹† ฮ” | โˆผflu โˆˆ ฮ”, ฮ” โˆˆ ฮ”} to AF(๐’ซ1 ) would constitute a SCUP evening up operation. Again, AF(๐’ซ1โ—‹โ‹† ) = โŸจโ„˜(ฮฉ๐’ซ1 ), โ†โ—‹โ‹† โŸฉ would be a SCUP amendment w.r.t. ฮ” where โ†โ—‹โ‹† = โ† โˆชฮ“2 . Finally, ฮ“3 = {{โˆผcold , โˆผflu, โˆผstress, โˆผworkedOut} โ†โ—‹โ‹† ฮ˜ | โˆผallergy โˆˆ ฮ˜, ฮ˜ โˆˆ ฮ”} being removed from AF(๐’ซ1 ) constitutes a SCUP pacification operation. Here, AF(๐’ซ1โ—‹โ‹† ) = โŸจโ„˜(ฮฉ๐’ซ1 ), โ†โ—‹โ‹† โŸฉ would be a SCUP amendment w.r.t. ฮ” where โ†โ—‹โ‹† = โ† โˆ–ฮ“1 . The resulting changes in AF(๐’ซ1 ) illustrated in Figure 3. Thus, the following methodology for resolving incoherence in an NLP ๐’ซ has been introduced: first, the argumentation framework AF(๐’ซ) is constructed. An iterated SCUP amendment is then applied to this argumentation framework, which consists of a number of SCUP amendments, each of which on its turn consists of a series of applications of SCUP amendment operations of the userโ€™s choice. Thus, SCUP amendment operations can be seen as the basic building blocks in our framework for coherence restoration. In the next section, we show how these SCUP amendment operations correspond to changes of the logic program ๐’ซ. With Corollary 2, such changes to the logic program ๐’ซ can then be iterated to restore coherence of ๐’ซ. 4.3. NLP Amendments By definition, an NLP ๐’ซ induces a unique argumentation graph AF(๐’ซ), whereas AF(๐’ซ) can correspond to a vast number of logic programs. We have shown how one can modify an argumentation graph AF(๐’ซ) of an incoherent NLP ๐’ซ via iterated SCUP amendment such that the final argumentation graph AFn has a stable labelling. This means, any NLP ๐’ซ ๐‘› that induces AFn is coherent. In this section, we will show how the execution of each amendment operation in AF(๐’ซ) can be implemented in ๐’ซ accordingly. โ‹ƒ๏ธ€ Let ๐’ซฮ” denote the set of rules corresponding โ‹ƒ๏ธ€ to ฮ” โˆˆ SCUPS(๐’ซ), i. e., ๐’ซฮ” = {ฮจ | ฮ” โŠขฮจ ๐ด for some ฮ” โˆˆ ฮ” and some โˆผ๐ด โˆˆ ฮ”}, and let ๐’ซ๐œ = ๐’ซโˆ–๐’ซฮ” be the set of all other rules in ๐’ซ. Enforcement in ๐’ซ Enforcement in ๐’ซ modifies ๐’ซ = ๐’ซฮ” โˆช ๐’ซ๐œ to ๐’ซ โ—‹โ‹† = ๐’ซฮ”โ€ฒ โˆช ๐’ซ๐œ such that ๐’ซฮ”โ€ฒ = ๐’ซฮ” โˆช {๐ฟ.} and there exists a rule ๐‘Ÿ โˆˆ ๐’ซฮ” with ๐ฟ โˆˆ ๐ต โˆ’ (๐‘Ÿ). In that case we also say that ๐’ซ โ—‹โ‹† is obtained by application of the program amendment operation enforcement. Evening Up in ๐’ซ Let ๐ด be an atom such that there exists a set ฮ˜ โˆˆ ฮ” with โˆผ๐ด โˆˆ ฮ˜, and let ฮ” โˆˆ ฮ” be a set in ฮ” such that โˆผ๐ด โˆˆ / ฮ”. Evening up in ๐’ซ modifies ๐’ซ = ๐’ซฮ” โˆช ๐’ซ๐œ to ๐’ซ โ—‹โ‹† = ๐’ซฮ”โ€ฒ โˆช ๐’ซ๐œ such that ๐’ซฮ”โ€ฒ = ๐’ซฮ” โˆช {๐‘Ÿ} with ๐ป(๐‘Ÿ) = ๐ด and ๐ต(๐‘Ÿ) = ฮ”. In that case we also say that ๐’ซ โ—‹โ‹† is obtained by application of the program amendment operation evening up. Pacification in ๐’ซ Let ๐‘Ÿ โˆˆ ๐’ซฮ” be a rule in ๐’ซฮ” such that ๐ป(๐‘Ÿ) = ๐ด and โˆผ๐ด an assumption in ๐’ซฮ” . Let, furthermore, ฮ“ = {ฮ“ โІ ๐’ซฮ” | ฮ” โŠขฮ“ ๐ด} with ฮ” โˆˆ ๐’ซฮ” be the set of all possible derivations of ๐ด from some ฮ” in ๐’ซฮ” . Pacification in ๐’ซ modifies ๐’ซ = ๐’ซฮ” โˆช๐’ซ๐œ to ๐’ซ โ—‹โ‹† = ๐’ซฮ”โ€ฒ โˆช๐’ซ๐œ by removing at least one rule of every derivation ฮ“ โˆˆ ฮ“ , i. e. ๐’ซฮ”โ€ฒ = ๐’ซฮ” โˆ–๐ถ, where ๐ถ is a hitting set of ฮ“ (๐ถ contains at least one rule of every set in ฮ“).5 In that case we also say that ๐’ซ โ—‹โ‹† is obtained by application of the program amendment operation pacification. Proposition 7. Let a program ๐’ซ, a preferred labelling ๐ฟ w.r.t. AF(๐’ซ), a SCUP ฮ”w.r.t. AF(๐’ซ) and ๐ฟ be given, and let ๐’ซ โ—‹โ‹† be obtained by application of the program amendment operation enforcement, evening up or pacification w.r.t. ฮ”. Then AF(๐’ซ โ—‹โ‹† ) constitutes an application of the respective SCUP amendment operation to AF(๐’ซ) w.r.t. ฮ”. Conversely, for every application of the SCUP amendment operation enforcement, evening up or pacification to AF(๐’ซ) w.r.t. ฮ”, there exists an application of the respective program amendment operation to ๐’ซ resulting in a program ๐’ซ โ—‹โ‹† such that AFโ—‹โ‹† = AF(๐’ซ โ—‹โ‹† ), where AFโ—‹โ‹† is the argumentation graph resulting from applying the mentioned SCUP amendment operation to AF(๐’ซ). Definition 10. Given a program ๐’ซ, an iterated program amendment of ๐’ซ is a sequence of programs โŸจ๐’ซ 1 , ๐’ซ 2 , . . . , ๐’ซ ๐‘› โŸฉ s.t. ๐’ซ 1 = ๐’ซ and for every 1 โ‰ค ๐‘– < ๐‘›, ๐’ซ ๐‘–+1 is obtained by application of the program amendment operation enforcement, evening up or pacification. Corollary 3. For any incoherent NLP ๐’ซ there exists an iterated program amendment โŸจ๐’ซ, ๐’ซ 1 , . . . , ๐’ซ ๐‘› โŸฉ s.t. ๐’ซ ๐‘› is coherent. Example 7 (Example 6 continued). Consider the NLP ๐’ซ1 , again. Let ๐’ซฮ” = {๐‘Ÿ2 , ๐‘Ÿ5 , ๐‘Ÿ6 , ๐‘Ÿ7 , ๐‘Ÿ8 } be the set of rules corresponding to the unique SCUP ฮ” in ๐’ซ1 (see Example 6). Adding the fact migraine. would then constitute a program enforcement operation in ๐’ซ1 . Let โ„ฑ= {soreThroat, headache, pollenSeason, lowEnergy, tempAbove37 }. With ๐’ซ1โ—‹โ‹† = ๐’ซ1 โˆช {migraine.}, we get ๐ด๐‘†(๐’ซ1โ—‹โ‹† ) = {โ„ฑ โˆช {highTemp, fatigue, migraine, allergy, sunstroke}}. 5 A more fine-grained way to alter ๐’ซฮ” would be to subsequently replace the removed rule ๐‘Ÿ with a modified rule ๐‘Ÿโ€ฒ where ๐ป(๐‘Ÿโ€ฒ ) = ๐ป(๐‘Ÿ) and ๐ต(๐‘Ÿโ€ฒ ) ฬธ= ๐ต(๐‘Ÿ). An analysis and thorough description of the properties that a new rule ๐‘Ÿโ€ฒ should possess such that the addition of ๐‘Ÿโ€ฒ eventually leads to a SCUP amendment would be beyond the scope of this paper and will thus be examined in future work. Similarly, adding the rule ๐‘Ÿ: flu โ† tempAbove37 , โˆผallergy. to ๐’ซ1 constitutes a program evening up operation in ๐’ซ1 . With ๐’ซ1โ—‹โ‹† โ€ฒ = ๐’ซ1 โˆช {๐‘Ÿ}, we get ๐ด๐‘†(๐’ซ1โ—‹โ‹† โ€ฒ ) = {โ„ฑ โˆช {highTemp, fatigue, fever , flu, migraine}, โ„ฑ โˆช {highTemp, fatigue, sunstroke, flu, migraine}}. Now, let ๐’ซ1โ—‹โ‹† โ€ฒโ€ฒ = ๐’ซ1 โˆ–{๐‘Ÿ5 } be the program ๐’ซ1 without rule ๐‘Ÿ5 . This constitutes a program pacification in ๐’ซ1 . We get ๐ด๐‘†(๐’ซ1โ—‹โ‹† โ€ฒโ€ฒ ) = {โ„ฑ โˆช {highTemp, fatigue, migraine, fever }, โ„ฑ โˆช { highTemp, fatigue, migraine, sunstroke}}. In contrast to the program amendment operations pacification and enforcement, evening up was only defined in a purely declarative way. It is easy to see, that given incoherent NLP ๐’ซ, there can exist a vast amount of ways to apply evening up in ๐’ซ in order to obtain a coherent program ๐’ซ โ—‹โ‹† . In order to illustrate the principle behind the evening up operation, we now propose the constructive definition of one possible evening up implementation. Evening Up by Contraposition The contraposition of a default rule ๐‘Ÿ is a rule ๐‘Ÿโ€ฒ where ๐ป(๐‘Ÿโ€ฒ ) = ๐ด such that โˆผ๐ด โˆˆ ๐ต(๐‘Ÿ), and ๐ต(๐‘Ÿโ€ฒ ) = ๐ต(๐‘Ÿ) โˆ– {โˆผ๐ด} โˆช {โˆผ๐ต} such that ๐ป(๐‘Ÿ) = ๐ต. Evening up by contraposition consists of adding such a contrapositional rule ๐‘Ÿโ€ฒ of a rule ๐‘Ÿ โˆˆ ๐’ซฮ” to ๐’ซฮ” . Example 8 (Example 6 continued). For ๐’ซ1 , the rule ๐‘Ÿ8โ€ฒ : allergy โ†headache, โˆผmigraine. would be a possible contrapositional rule for ๐‘Ÿ8 and adding ๐‘Ÿ8โ€ฒ to ๐’ซฮ” would be a SCUP amendment that would lead to a coherent program. 5. Using Amendments in Applications Given an incoherent program ๐’ซ, the presented approach can lead to a vast amount of possible solutions to obtain a coherent program ๐’ซ โ—‹โ‹† . As mentioned before, deciding which solution is the most adequate for a given application context requires expert knowledge. We, therefore, propose that the SCUP resolution approach is implemented as part of an interactive framework similar to the framework for conflict resolution in [17]. Such a framework can then be used to resolve all SCUPs in ๐’ซ in interaction with an expert on the knowledge that is modelled in the given program. This expert does not necessarily have to be familiar with logic programming and with coherence in logic programs in particular. Thus, the implementation of such a framework has to perform two main functions: On the one hand, it has to be able to explain the exact causes of the incoherence to the expert in a way that is understandable without the technical knowledge surrounding the concept of coherence in logic programs. On the other hand, the framework has to gradually assess in interaction with the expert what part of the knowledge was initially modelled wrongly or insufficiently respectively in order to choose the most suitable solution. The interactive aspect of the framework should consist of asking the user the right questions such that they can make the most informed decision. For this, we propose the usage of argumentative dialogue theory (see e.g. [18, 19, 20]). Both the causes and possible solutions for incoherence can be explained in an interactive way using argumentative dialogue theory. In these proof theories, the label of an argument can be explained in a dialogue held between the computer and the human-user, where the human-user can ask questions about the status of an argument (e.g. โ€œwhy is fatigue not rejectedโ€?) which the computer then answers by pointing to a counter-argument (e.g. โ€œsince we can derive fatigue in view of ๐‘Ÿ2 ). Formally, these dialogue games consist of a proponent (the computer) and an opponent (the human-user) exchanging arguments and counter-arguments based on the argumentation graph AF(๐’ซ). One possible implementation would be to generate not only the possible solutions regarding the SCUP resolution but also a corresponding dialogue tree where each path represents a possible dialogue between the framework and the expert and eventually leads to a coherent program. 6. Related Work The presented approach is similar to methods developed and investigated in the area of ASP debugging. Essentially, debugging approaches in [21, 22, 23] aim to modify knowledge bases of any (not necessarily inconsistent) logic programs such that they represent the intended expert knowledge, i. e., they intend to remedy a mismatch between the actual semantics of the program and the semantics intended by the modeller. Generally, the ability to identify the errors in a given program and to compute suggestions crucially depends on information by the expert that is given on top of the original input program. Our approach, however, focuses on a specific class of inconsistent programs and exploits the properties of incoherence. Here, the original program is by itself sufficient to identify the problem causes and to generate suitable solution suggestions. Once possible solutions are available, both, the presented method as well as debugging approaches like those based on the meta-programming [21] technique can be used to successively obtain the most suitable solution in interaction with the user. 7. Discussion We have shown how argumentation theory can be used to establish coherence in an NLP. The presented approach shows different options regarding how the responsible parts of the program can be modified in order to gradually obtain a coherent program. Such an approach is not only useful to analyze the different properties of the possible solutions that resolve the incoherent parts of the program. It can also serve as a motivation to consider using logic programs in real-life applications in numerous areas where not only complex decision processes take place but where the required knowledge is often subject to changes and updates. Embedding the presented approach in a suitable framework as discussed in Section 5 would, therefore, provide a useful extension for decision support systems that are based on logic programs [24], but it also opens up the possibility to use logic program in areas where one is faced with highly contrained problems and continously evolving knowledge like logistics or the medical sector. References [1] T. Eiter, M. Fink, G. Sabbatini, H. Tompits, On properties of update sequences based on causal rejection, Theory Pract. Log. Program. 2 (2002) 711โ€“767. [2] F. Buccafurri, W. Faber, N. Leone, Disjunctive logic programs with inheritance, in: D. D. Schreye (Ed.), Logic Programming: The 1999 International Conference, Las Cruces, New Mexico, USA, November 29 - December 4, 1999, MIT Press, 1999, pp. 79โ€“93. [3] J. A. Leite, L. M. Pereira, Generalizing updates: From models to programs, in: J. Dix, L. M. Pereira, T. C. Przymusinski (Eds.), Logic Programming and Knowledge Representation, Third International Workshop, LPKR โ€™97, Port Jefferson, New York, USA, October 17, 1997, Selected Papers, volume 1471 of Lecture Notes in Computer Science, Springer, 1997, pp. 224โ€“246. [4] V. W. Marek, M. Truszczynski, Revision programming, Theor. Comput. Sci. 190 (1998) 241โ€“277. [5] C. Sakama, K. Inoue, Updating extended logic programs through abduction, in: M. Gelfond, N. Leone, G. Pfeifer (Eds.), Logic Programming and Nonmonotonic Reasoning, 5th Inter- national Conference, LPNMRโ€™99, El Paso, Texas, USA, December 2-4, 1999, Proceedings, volume 1730 of Lecture Notes in Computer Science, Springer, 1999, pp. 147โ€“161. [6] Y. Zhang, N. Y. Foo, Updating logic programs, in: H. Prade (Ed.), 13th European Conference on Artificial Intelligence, Brighton, UK, August 23-28 1998, Proceedings., John Wiley and Sons, 1998, pp. 403โ€“407. [7] S. Costantini, B. Intrigila, A. Provetti, Coherence of updates in answer set programming, in: In Proc. of the IJCAI-2003 Workshop on Nonmonotonic Reasoning, Action and Change, 2003, pp. 66โ€“72. [8] S. Costantini, On the existence of stable models of non-stratified logic programs, Theory Pract. Log. Program. 6 (2006) 169โ€“212. [9] C. Schulz, F. Toni, On the responsibility for undecisiveness in preferred and stable labellings in abstract argumentation, Artif. Intell. 262 (2018) 301โ€“335. [10] M. Gelfond, V. Lifschitz, Classical negation in logic programs and disjunctive databases, New Gener. Comput. 9 (1991) 365โ€“386. [11] T. C. Przymusinski, The well-founded semantics coincides with the three-valued stable semantics, Fundam. Inform. 13 (1990) 445โ€“463. [12] J.-H. You, L. Y. Yuan, Three-valued formalization of logic programming: is it needed?, in: Proceedings of the ninth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems, 1990, pp. 172โ€“182. [13] P. M. Dung, R. A. Kowalski, F. Toni, Assumption-based argumentation, in: Argumentation in artificial intelligence, Springer, 2009, pp. 199โ€“218. [14] C. Schulz, F. Toni, Labellings for assumption-based and abstract argumentation, Interna- tional Journal of Approximate Reasoning 84 (2017) 110โ€“149. [15] M. Caminada, C. Schulz, On the equivalence between assumption-based argumentation and logic programming, Journal of Artificial Intelligence Research 60 (2017) 779โ€“825. [16] P. Baroni, M. Giacomin, On the role of strongly connected components in argumentation, in: Proceedings of the 10th International Conference on Information Processing and Management of Uncertainty inKnowledge-Based Systems (IPMU 2004), Perugia, Italy, 2004, p. 1887โ€“1894. [17] A. Thevapalan, G. Kern-Isberner, Towards interactive conflict resolution in asp programs, in: M. Martinez, I. Varcinczak (Eds.), Proceedings of the 18th International Workshop on Non-Monotonic Reasoning, NMR 2020, 2020, pp. 29โ€“36. [18] S. Modgil, M. Caminada, Proof theories and algorithms for abstract argumentation frame- works, in: Argumentation in artificial intelligence, Springer, 2009, pp. 105โ€“129. [19] M. Caminada, Argumentation semantics as formal discussion, Journal of Applied Logics 4 (2017) 2457โ€“2492. [20] D. Walton, E. C. Krabbe, Commitment in dialogue: Basic concepts of interpersonal reason- ing, SUNY press, 1995. [21] M. Gebser, J. Pรผhrer, T. Schaub, H. Tompits, A meta-programming technique for debugging answer-set programs, in: D. Fox, C. P. Gomes (Eds.), Proceedings of the Twenty-Third AAAI Conference on Artificial Intelligence, AAAI 2008, Chicago, Illinois, USA, July 13-17, 2008, AAAI Press, 2008, pp. 448โ€“453. [22] J. Oetsch, J. Pรผhrer, H. Tompits, Stepping through an answer-set program, in: J. P. Delgrande, W. Faber (Eds.), Logic Programming and Nonmonotonic Reasoning - 11th International Conference, LPNMR 2011, Vancouver, Canada, May 16-19, 2011. Proceedings, volume 6645 of Lecture Notes in Computer Science, Springer, 2011, pp. 134โ€“147. [23] K. M. Shchekotykhin, Interactive query-based debugging of ASP programs, in: B. Bonet, S. Koenig (Eds.), Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelli- gence, January 25-30, 2015, Austin, Texas, USA, AAAI Press, 2015, pp. 1597โ€“1603. [24] A. Thevapalan, G. Kern-Isberner, D. Howey, C. Beierle, R. G. Meyer, M. Nietzke, Decision support core system for cancer therapies using ASP-HEX, in: K. Brawner, V. Rus (Eds.), Proceedings of the Thirty-First International Florida Artificial Intelligence Research Society Conference, FLAIRS 2018, Melbourne, Florida, USA. May 21-23 2018, AAAI Press, 2018, pp. 531โ€“536.