=Paper= {{Paper |id=Vol-2970/causalpaper4 |storemode=property |title=Establish Coherence in Logic Programs Modelling Expert Knowledge via Argumentation |pdfUrl=https://ceur-ws.org/Vol-2970/causalpaper4.pdf |volume=Vol-2970 |authors=Andre Thevapalan,Jesse Heyninck,Gabriele Kern-Isberner |dblpUrl=https://dblp.org/rec/conf/iclp/ThevapalanHK21 }} ==Establish Coherence in Logic Programs Modelling Expert Knowledge via Argumentation== https://ceur-ws.org/Vol-2970/causalpaper4.pdf
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.