Logics and Computational Argumentation
Covers official course Module 4 (“Argument-based Reasoning and Argumentation Semantics”: Dung’s abstract frameworks, conflict-free/admissible/grounded/preferred/stable semantics, the argument-based reasoning pipeline, rebut/undermine/undercut, dialogue/dispute trees) plus ASPIC+ (Module 8, kept by request). Module 5 (proof systems: Fitch/INDO/Resolution) is deliberately excluded. Originally cropped from full_02.md Section 6; the reasoning-pipeline, attack-type, and dialogue-tree subsections were added later from the Module 4 lecture PDF to close gaps. Companion file: arg_propositions_nl.md covers “Arguments and Propositions in Natural Language” (Modules 2-3).
Section 1: Computational Argumentation Frameworks (Dung, Semantics, Dialogue Trees, & ASPIC+)
Detailed Theory & Concepts to Read First
This section builds every definition up from scratch, with a small toy graph worked step by step for each concept. Read it top to bottom; each definition reuses the vocabulary from the one before it.
0. Setup: what a framework is
An abstract argumentation framework is a directed graph :
- = the set of arguments (think of them as opaque boxes — you don’t care what’s inside them, only who attacks whom).
- = the attack relation. reads ” attacks ”, drawn as an arrow .
Running example (used for every definition below): , — a directed 3-cycle: .
A ----------> B
^ |
\ /
\-- C <---/
This is exactly how the “opaque box” arguments of the running 3-cycle example got their attack relation in the first place: each is really a mini-argument like – above, and records which one’s conclusion contradicts which other one’s premise or reasoning step.
0.5. Where do and actually come from? The argument-based reasoning process
Section 0 treats and as given, but in practice they are built from a knowledge base in seven steps:
- Start from a knowledge base — a set of premises (natural language or formal, possibly conflicting).
- Construct arguments from using inference rules. An argument is written , where reason is a set of premises and/or sub-arguments.
- Identify attacks between the constructed arguments .
- Abstract away the internal structure, keeping only the attack relation .
- Pick a semantics (e.g. admissible, grounded, preferred — Sections 3–6 below).
- Evaluate acceptability: means is acceptable under .
- Extract conclusions: if is acceptable, its conclusion is an acceptable claim.
Worked example (steps 1–2, sub-arguments and intermediate conclusions): where : “if a person wears a ring, they are usually married”, : “a married person is not a bachelor”, : “John wears a ring”.
- — built straight from a premise.
- — is a sub-argument of ; “John wears a ring” is an intermediate conclusion of ; “John is married” is ‘s final conclusion.
- — built on top of the same way.
0.6. Three ways one argument attacks another: rebut, undermine, undercut
Given two arguments and , can attack in three distinct ways:
- Rebut — ‘s conclusion contradicts ‘s conclusion (direct rebut, usually symmetric) or contradicts an intermediate conclusion of (indirect rebut).
- Undermine (premise-attack) — contradicts a premise used inside ‘s reason .
- Undercut — contradicts the validity of an inference step used inside , not a premise or the conclusion itself.
A useful fact: a deductive argument can only be rebutted or undermined, never undercut — by definition every inference step in a deductive argument is watertight, so there is nothing “in between” to undercut.
Example 1 — Rebut: conclusion vs. conclusion
A: "the car will stop" <---- contradicts ----> B: "the car will NOT stop"
(rebut is symmetric: A rebuts B, and B rebuts A, right at the conclusion)
and reach directly contradictory final conclusions, and each conclusion was reached by ordinary (defeasible) reasoning — nothing about the premises or the inference steps is in dispute, only the bottom-line claim. This is a direct rebut, and it is symmetric: rebuts exactly as much as rebuts . (An indirect rebut looks the same but lands on an intermediate conclusion of the target instead of its final one — e.g. if some argument concluded “the driver is NOT running late,” would indirectly rebut by attacking the sub-conclusion is built on, even though never mentions “the car will stop” at all.)
Example 2 — Undermine: conclusion vs. a premise
premise "John wears a ring" ----[used inside]----> A: "John is married"
^
|
C's conclusion attacks THIS PREMISE, not A's final conclusion
undermines : ‘s conclusion contradicts the standing of the premise “John wears a ring [as evidence of marriage]” that relies on — it does not dispute the inference rule (“ring-wearers are usually married” could still be a fine rule in general) and it does not directly assert “John is not married” either. Contrast this with , which rebuts (its conclusion “John is not married” directly contradicts ‘s final conclusion “John is married”) without touching any of ‘s premises at all. Undermining only makes sense against a defeasible premise (an assumption, not an unquestionable axiom) — you cannot undermine a premise that is stipulated as certain.
Example 3 — Undercut: conclusion vs. the inference step itself
"normally birds fly" + "Twitty is a bird" --[defeasible step, valid only if Twitty is a NORMAL bird]--> "Twitty flies"
^
|
B's conclusion ("Twitty is not a normal bird") knocks out
the licence for this step, without asserting "Twitty doesn't fly"
undercuts : ‘s conclusion (“Twitty is not a normal bird”) contradicts the hidden condition that makes ‘s inference step licensed (“Twitty is a normal bird”), rather than contradicting ‘s conclusion directly — never says “Twitty does not fly.” does not attack at all — reaches the same final conclusion (“Twitty flies”) via a completely different, unrelated route (it does not go through the “normal bird” step at all), so there is nothing in for to contradict.
Side-by-side summary of the three examples:
| Attack | What contradicts what | Example pair | Target survives if… |
|---|---|---|---|
| Rebut | conclusion vs. conclusion (or intermediate conclusion) | vs. (car), vs. (ring) | …the two conclusions turn out compatible after all |
| Undermine | conclusion vs. a premise used inside the target | vs. (ring) | …that premise is re-confirmed by other evidence |
| Undercut | conclusion vs. the licence for an inference step (no premise or conclusion is touched) | vs. (Twitty) | …the step’s licensing condition is re-confirmed |
Three argumentation-framework variants built on this attack relation: an Abstract framework (AA) is the pair used throughout this section; a Bipolar framework (BAF) adds a second relation for support; a Generalized framework (GAF) allows any number of dialectical relations beyond just attack.
1. Conflict-free — “no infighting inside the set”
A set is conflict-free iff no member of attacks another member of : Plain-English check: pick every pair of arguments inside (including a member against itself); if any pair has an arrow between them, fails.
Worked example on the 3-cycle:
- : is ? Yes. Not conflict-free.
- : is ? Yes. Not conflict-free.
- : no pair to check (only one element, and ). Conflict-free.
- : already fails via . Not conflict-free.
- : vacuously true (no pairs exist). Conflict-free.
So the full list of conflict-free subsets of the 3-cycle is — every singleton survives, but no pair does, because the graph is a complete cycle where every argument attacks exactly one other.
2. Defense — “does the set fight back for its members?”
defends an argument iff, for every attacker of , some member of attacks back: Plain-English check: list every arrow pointing into . For each one, does contain something that shoots back at the attacker? If has zero attackers, defends it automatically (vacuous truth — nothing to defend against).
Worked example: Does defend ?
- ’s only attacker is (since ).
- Does attack ? Yes, .
- So does defend .
Does defend itself?
- ’s only attacker is .
- Does attack ? No — only attacks .
- So does not defend .
This “defends itself” check is exactly what the next definition needs.
Characteristic function . Package “everything defends” into one function: Worked example: (from above; does not defend or — check : its attacker is , and does not attack itself, so is undefended by ).
3. Admissible extension — “conflict-free, and defends everyone inside it”
Plain-English recipe for checking a candidate :
- Conflict-free check (Section 1).
- For every , find ‘s attackers and confirm some member of attacks each attacker back (Section 2). If both hold, is admissible.
Worked example: is admissible on the 3-cycle?
- Conflict-free: yes (single element, no self-attack).
- Does defend ? ’s attacker is . Does attack ? No — only attacks . is not defended. So fails step 2 — not admissible. By the exact same argument, and also fail (each one’s sole attacker is the other cycle member, which it does not itself attack — you can check against above: , so ). Only survives ( is trivially conflict-free and vacuously defends nothing), so the only admissible extension of the 3-cycle is .
A second example where an admissible set is non-trivial: , (a chain, not a cycle: attacks , attacks , nothing attacks ).
X ----------> Y ----------> Z
(unattacked)
- Try . Conflict-free? and , so yes.
- Does defend ? has no attackers, so yes (vacuous).
- Does defend ? ’s attacker is . Does attack ? Yes, . So is defended.
- Both members defended, conflict-free ⇒ is admissible.
This is the standard pattern: an unattacked argument () defends the argument two steps downstream () by attacking the thing attacking it () — “the enemy of my enemy is defended by me.”
4. Admissibly accepted — “wins under at least one admissible reading”
An argument is admissibly accepted iff it belongs to at least one admissible extension (any one is enough — you don’t need agreement across all of them).
Worked example (chain above): admissible extensions are (check alone: conflict-free, defends vacuously — admissible too, just not maximal). and are both admissibly accepted (they appear in ). never appears in any admissible extension (its only possible defender against would have to attack , and nothing does) — is not admissibly accepted.
On the 3-cycle: the only admissible extension is , so no argument is admissibly accepted — every argument in a pure cycle is “unresolved.”
5. Grounded extension () — the unique, most cautious verdict
Theorem (existence and uniqueness). For any framework , the characteristic function is monotonic (if then — defending is easier to keep, never lost, as grows). By the Knaster–Tarski fixed-point theorem, a monotonic function on the powerset lattice has a unique least fixed point. That least fixed point is defined to be the grounded extension , and it is always admissible (proved in Example 6.3 below).
Step-by-step algorithm to compute (iterate from the bottom): In plain terms: start from nothing defended (). At each round, add every argument that the current set defends. Repeat until the set stops growing (a fixed point) — that final set is . Intuition: round 0 always captures the arguments with zero attackers (they are trivially defended by anything, including ); round 1 adds arguments whose only attackers are already defeated by round-0 arguments; and so on, one “layer” of the graph at a time.
Fully worked example — a 4-argument layered graph. , (a chain , has no attackers).
D ----------> C ----------> B ----------> A
(unattacked)
[in GE] [not in GE] [in GE] [not in GE]
( enters at round 1 since it has no attackers. enters at round 2 since defeats ‘s attacker . never enters: its sole attacker survives (nothing defeats ), so stays legitimately attacked. never enters either: its sole attacker is never itself defeated from inside the growing set, since nothing in attacks .)
| Round | Reasoning for each new member | |
|---|---|---|
| 0 | starting point by definition | |
| 1 | has no attackers ⇒ defended vacuously by | |
| 2 | ’s only attacker is ; is attacked by ? Yes, ⇒ now defended. ( itself is not added: ‘s attacker is , and nothing in attacks .) | |
| 3 | check : its attacker is ; is attacked by ? No — nothing attacks from inside (only attacks , and ). No new members. |
Round 3 equals round 2 ⇒ fixed point reached ⇒ . Reading it off the chain: unattacked arguments () are always in ; the argument two steps away () is defended by ; the arguments in between/downstream of a defended attacker (, ) are excluded because their sole attacker is never itself defeated by .
Worked example on the 3-cycle: . : does defend ? ’s attacker is ; attacks nothing, so no. Same for by symmetry. So — already a fixed point. . (This matches Section 3: the only admissible set was , and is always itself admissible, so with only one admissible candidate available, has to be it.)
Groundedly accepted: is groundedly accepted iff . Since is unique, this is a single, unambiguous, “skeptical” verdict — unlike admissible acceptance, there’s no “accepted under one reading but not another.”
6. Preferred extension — the maximal, most credulous verdicts
Theorem (existence). Every admissible set is contained in some maximal admissible set — i.e. preferred extensions always exist (proof sketch: the union of a chain of admissible sets is itself admissible, so Zorn’s lemma applies; in the small finite graphs seen in this course you can just enumerate). A framework can have one, many, or (in infinite frameworks) infinitely many preferred extensions.
Step-by-step procedure to find them by hand (finite graphs):
- List all conflict-free subsets of .
- Filter to the admissible ones (defends every member — Section 3’s checklist).
- Keep only the admissible sets that are not a strict subset of another admissible set — those maximal ones are the preferred extensions.
Worked example — mutual attack (the case where grounded and preferred diverge): , .
A <==========> B
(mutual attack)
- Conflict-free subsets: ( fails, both arrows present).
- Admissible check: — ‘s attacker is ; does attack ? Yes ⇒ defended ⇒ admissible. is admissible by the mirror argument. is trivially admissible.
- Maximal ones: and are each maximal (neither is a subset of the other, and itself isn’t even conflict-free so it’s not a candidate).
Preferred extensions: and — two different “credulous” resolutions, each internally consistent, each picking a side. Meanwhile (round 0: neither nor has zero attackers, so nothing enters at round 1) — the “skeptical” grounded semantics refuses to commit to either side, while preferred semantics offers both possible commitments separately. This is the core conceptual difference: grounded = the unique cautious core; preferred = every maximal credulous stance, and there can be more than one.
Relationship to the running 3-cycle: the only admissible set was , and it’s trivially the only maximal one too, so the 3-cycle has exactly one preferred extension, , same as its grounded extension. (Odd cycles are a case where preferred and grounded coincide, both empty; even cycles behave like the mutual-attack example, splitting into multiple preferred extensions — see the 4-node self-loop and 2-cycle cases worked in Example 6.1–6.2 and 6.4 below.)
7. Stable extension — recap
A conflict-free set is stable iff it attacks every argument outside it: Every stable extension is preferred (and hence admissible), but not every preferred extension is stable — the 3-cycle example above has a preferred extension that is not stable, since attacks nothing while all remain outside it unattacked. (Odd cycles are the textbook case of “no stable extension exists.”)
8. Acceptance status — summary table
| Status | Definition | On the mutual-attack example |
|---|---|---|
| Admissibly accepted | in some admissible extension | : yes (in ). : yes (in ). |
| Groundedly accepted | in the (unique) | : no. : no. () |
| Credulously accepted (preferred) | in some preferred extension | same as admissible here: yes, yes |
| Skeptically accepted (preferred) | in every preferred extension | : no. : no. (each preferred extension picks only one of them) |
Reading the table: admissible/credulous acceptance is the loosest test (“could this argument win under some consistent stance?”), grounded/skeptical acceptance is the strictest (“does every reasonable stance agree on this?“).
9. Structured Argumentation (ASPIC+)
Unlike abstract frameworks where arguments are atomic black boxes, structured argumentation systems (like ASPIC+) build arguments from:
- Premises / Axioms: Facts (ordinary premises that can be attacked) and (axioms that cannot be attacked).
- Defeasible Rules (): Rules that create presumptive conclusions subject to defeat.
- Strict Rules (): Deductive inference rules that cannot be defeated.
- Three Modes of Attack:
- Undermining: Attacking an ordinary defeasible premise.
- Rebutting: Attacking the defeasible conclusion of another argument by deriving its contrary.
- Undercutting: Attacking the applicability of a defeasible rule itself by asserting that the rule’s inference is invalid in this case.
Worked example (adapted from the course’s TOAST demo: “is Alex married?“)
Step 1: the knowledge base. Axiom (unattackable fact): student(alex). Defeasible rules (natural language, from the Module 4 slides):
- : a student normally is not married.
- : a student is normally a young adult.
- (strict, always true): a student is always an adult.
- : an adult is often married.
- Contrariness:
married(alex)andnotMarried(alex)are contradictory conclusions.
Step 2: build the arguments (each one chains off a premise or an earlier argument, exactly as in the seven-step pipeline of §0.5):
| Argument | Built from | Rule used | Conclusion |
|---|---|---|---|
student(alex) | (axiom) | student(alex) | |
| (defeasible) | notMarried(alex) | ||
| (strict) | adult(alex) | ||
| (defeasible) | youngAdult(alex) | ||
| (defeasible) | married(alex) |
Step 3: identify attacks. concludes notMarried(alex); concludes married(alex). These are contradictory, and both conclusions were reached via a defeasible rule ( and respectively) — so this is a rebut, and it is mutual: . (Note is built with the strict rule , so itself can never be rebutted — only , its premise, could in principle be undermined, but is an axiom and axioms cannot be undermined either. This is why the only attack in the whole framework is the one rebut between and .)
Step 4: evaluate under the semantics from §1-§6. , — a single mutual-attack pair sitting alongside three untouched arguments.
- have no attackers at all, so they are in every admissible/preferred/grounded extension automatically.
- is conflict-free and defends itself (it attacks its only attacker ) — so is admissible, and
married(alex)is admissibly accepted. Symmetrically is also admissible, givingnotMarried(alex)too. - The grounded extension only keeps what is defended from the unattacked base (§5’s fixed-point ): (the only arguments with zero attackers), and adds nothing more, because neither nor is defended (each one’s only attacker is the other, and neither is in the set yet — a mutual-attack pair can never bootstrap itself into the grounded extension). So : grounded semantics stays agnostic on whether Alex is married, even though some admissible extension commits one way or the other. This is exactly the “cautious vs. credulous” gap Theorem 8 (§10 below) explains via dialogue trees.
Step 5: illustrate the other two attack types on the same knowledge base (not in the original example, added for contrast).
- Undermine: suppose a new fact
youngAdult(alex)is asserted as a defeasible premise rather than derived by , and a separate argument . would undermine by attacking that defeasible premise directly, without ever engaging ‘s validity or ‘s conclusion. - Undercut: suppose a new argument A_7 = \langle\{\text{``Alex is a monk, and student-monks never marry regardless of general trends''}\}, \text{``rule r_4 does not apply to Alex''}\rangle. would undercut : it does not dispute that Alex is an adult (‘s conclusion, a premise of ) and it does not directly assert
notMarried(alex)either — it specifically knocks out the licence to apply to Alex.
10. Dialogue trees (dispute trees) — computing acceptance as a two-player game
Instead of computing round by round over the whole framework, acceptance can be checked by playing a game between Proponent (defends the topic argument ) and Opponent (tries to defeat it). A dialogue is a sequence of moves where each move is Player : X and each attacks the argument moved by the other player just before it. Proponent opens with the topic argument; Proponent wins if Opponent eventually runs out of attacking moves.
Worked example: (the same chain-style framework used for grounded-extension Example 5 above, where ).
Pro: A
Opp: B
Pro: C
Proponent moves ; Opponent attacks with (the only attacker of ); Proponent counter-attacks with (the only attacker of ); Opponent has no argument attacking , so Proponent wins — matching found earlier by the fixed-point computation.
Definition (dialogue tree for topic argument ):
- Every node is labelled by an argument and is either a proponent node or an opponent node (never both); a child’s status is the opposite of its parent’s, and the argument labelling a child attacks the argument labelling its parent.
- The root is a proponent node labelled .
- Every proponent node (labelled ) gets one child for every argument attacking — Proponent must answer all of Opponent’s possible attacks.
- Every opponent node (labelled ) gets exactly one child labelled by some argument attacking — Opponent only needs to try one attack per move.
- No other nodes exist.
Rule 3 in plain terms: proponent nodes branch on EVERY attacker
Rule 3 says: if has attackers , the proponent node labelled must have exactly children, one labelled , one labelled , …, one labelled — no fewer.
Example (rule followed correctly). Suppose is attacked by both and . A correct proponent node for looks like:
Pro: B
/ \
Opp: C Opp: E
Both children are present, because Proponent must be ready to answer whichever attack Opponent actually chooses to raise — leaving either one out would let Proponent dodge a real attack it cannot actually answer.
Counter-example (rule violated). This is not a legal dialogue tree, even though it “looks like” progress:
Pro: B
|
Opp: C ✗ illegal: E also attacks B, but no Opp:E
child was created for it — the tree is
silently ignoring one of Opponent's options
If also attacks but the tree only ever shows the branch, the tree is not testing whether Proponent can survive an attack via — it is an incomplete, invalid dialogue tree, and any acceptance conclusion drawn from it would be unsound.
Rule 4 in plain terms: opponent nodes get just ONE child (not all of them)
Rule 4 says: if has attackers , the opponent node labelled gets exactly one child, labelled by whichever single is used to counter — the tree does not have to (and must not) show every possible counter at once.
Who actually picks , and does the pick matter? By rule 1, a child’s argument attacks its parent’s argument, and a child’s status is the opposite of its parent’s. The parent here is an opponent node (), so the child is a proponent node — i.e. this child is Proponent’s move, attacking back. So it is Proponent (or, more precisely, whoever is searching for a winning dialogue tree on Proponent’s behalf) who picks which attacker of to use, not Opponent.
Example (rule followed correctly). Suppose is attacked by both and (same situation as above, but now is an opponent node instead of a proponent node), and suppose itself has no attacker (so playing ends the branch in a win) while does have a further attacker that turns out to defeat any reply (so playing instead would lose). A correct opponent node for picks the one that works:
Opp: B
|
Pro: C (picked C, because C has no attacker of its own —
this branch now ends in a win for Proponent;
picking E instead would have opened up a losing
line through E's own attacker F)
This is exactly the situation you’re pointing at: yes, picking vs. changes whether this particular tree wins or loses. That is not a flaw or an ambiguity in the definition — it is the entire point of Theorem 7 saying “iff there exists an admissible dialogue tree.” Acceptability is not “does every possible tree win,” it is “can at least one legal tree be built that wins.” So when you (or an algorithm) are trying to determine whether is admissibly acceptable, you are allowed to search over these choices at every opponent node and keep only the ones that lead to success — exactly like an OR-node in a game tree, where you only need one good move, not all of them. Concretely: if some choice at some opponent node makes the whole tree fail, that just means that one candidate tree fails to prove acceptability; it does not mean is unacceptable, because a different choice (like over here) might still build a fully winning, admissible tree. Only if every possible choice, at every opponent node, eventually leads to failure would genuinely be not admissibly acceptable.
Contrast this with rule 3’s proponent nodes, where the children are Opponent’s possible attacks on Proponent’s own argument — there, Proponent has no say in which attacker Opponent throws next, so the tree must be ready for all of them (that asymmetry — Proponent needs “for all”, the search for Proponent’s replies needs only “there exists” — is exactly why rules 3 and 4 look different).
Counter-example (rule violated). This is not a legal dialogue tree, because it turns the opponent node into a proponent-style branching node:
Opp: B
/ \
Pro: C Pro: E ✗ illegal: an opponent node may only ever
have ONE child, never two — showing both
C and E at once breaks the alternating
proponent/opponent asymmetry that makes
this a game rather than a plain search tree
If opponent nodes were also allowed to branch on every attacker, the “game” would collapse into just exhaustively exploring the whole attack graph at once, and the Proponent/Opponent asymmetry that rules 3 and 4 are built to create (Proponent must survive all of Opponent’s attacks, but only needs to find one good counter-attack of its own) would be lost.
The set of arguments labelling proponent nodes is ‘s defense set. A branch that ends (Proponent’s argument has no attackers left) is a won dispute; an infinite branch is also a win for Proponent (Opponent never runs out of new attacks to try, but never succeeds either).
Definition (admissible dialogue tree): is admissible iff no argument labels both a proponent node and an opponent node anywhere in the tree (Proponent’s own defense set must stay internally consistent).
Example and counter-example for “admissible dialogue tree”
Example (admissible). Chain framework , tree for topic :
Pro: A
└─ Opp: B
└─ Pro: C
labels only the root (always proponent-status), labels only one node (always opponent-status), labels only one node (always proponent-status). No argument ever switches status, so this tree is admissible.
Counter-example (not admissible). 3-cycle framework , tree for topic (from the loop discussion below):
Pro: A ← A as proponent
└─ Opp: C
└─ Pro: B
└─ Opp: A ← A again, now as opponent — SAME argument, opposite status
labels the root as a proponent node and, four moves later, labels another node as an opponent node. That single clash is enough to make the whole tree not admissible — it does not matter that the rest of the tree structure otherwise follows rules 1-5 correctly. (Note the subtlety: the definition only forbids an argument switching status. An argument reappearing twice with the same status, e.g. two different proponent nodes both labelled in some larger tree, would not by itself break this particular definition — only a proponent/opponent clash does.)
Theorem 7 (admissible ⟺ admissible dialogue tree). is an admissible dialogue tree for its defense set is (a subset of) an admissible extension containing . So searching for admissible dialogue trees is a game-tree way of computing the admissible semantics.
Example and counter-example for Theorem 7
Example (theorem’s “if” direction: admissible tree exists ⟹ admissible extension exists). Reuse the chain-framework tree just above: defense set (the proponent-labelled nodes). Check directly against the Section-1/2 definitions: is conflict-free? contains neither nor — yes. Does it defend ? ’s only attacker is ; does attack ? Yes, — defended. Does it defend ? has no attacker — vacuously defended. So is admissible, exactly as Theorem 7 guarantees from the tree’s existence.
Counter-example (the “only if” direction, and why the tree must be admissible to count). Take from the branching example below, where the -branch is an unanswerable dead end. No admissible dialogue tree for can be built there (every candidate tree either fails on the branch, or — if you tried to patch it by reusing an argument with the wrong status — fails the admissibility definition instead). Theorem 7 then correctly predicts has no admissible extension containing it in , which matches the direct fixed-point check done there ( cannot defend against ). This also shows why the non-admissible looping tree built for the 3-cycle above is worthless as a proof: even though that tree technically “never loses” in the raw win/loss sense, because it is not admissible, Theorem 7 makes no promise about it at all — you cannot read off an admissible extension from a non-admissible tree.
Theorem 8 (grounded ⟺ finite-depth dialogue tree). is groundedly acceptable there exists a dialogue tree for that is finite in depth (every branch terminates — Proponent always has the last word, no unresolved infinite back-and-forth). This is why is called the “cautious” semantics: only arguments Proponent can finitely defend end up in it, while admissible/preferred semantics also accept arguments defended only by infinitely-repeating (but never-losing) dialogues.
Example and counter-example for Theorem 8
Example (finite tree ⟹ grounded). The same chain-framework tree, , terminates after depth 2 — every branch ends (the branch has no attacker to answer). Compute the grounded extension directly to confirm: ( is the only argument with zero attackers); — does defend ? ’s attacker is , and attacks , so yes, add : ; — does defend ? ’s attacker is , and nothing in attacks , so no — fixed point reached, . This is exactly the finite tree’s defense set, confirming Theorem 8.
Counter-example (admissible but NOT grounded, because every tree is infinite). Take the exact infinite backward chain from mt5 Q12 of practice_extracted.md: , — i.e. attacks , attacks , attacks , and so on forever, arrows always pointing from a higher index back to the one just below it.
First, compute directly — it is , not “every other argument”. = arguments defended by nothing, i.e. arguments with zero attackers. But every single (including ) has an attacker () — nobody is ever attacker-free. So , and the fixed point stalls immediately: . No argument in this framework is groundedly acceptable at all, not , not any “odd” or “even” one.
Second, the preferred extensions are the two “parity” sets, not a single . From Q12’s admissible sets , check maximality: nothing can be added to because every argument outside it is odd-indexed and odd-indexed always attacks the even-indexed — so is maximal, i.e. preferred. By the same argument is also maximal/preferred. Every other () is a proper subset of or (whichever parity it matches), so it is admissible but not maximal, hence not preferred. So there are exactly two preferred extensions: the “evens” and the “odds” — never a mix of the two, and neither is picked out as more “correct” than the other (this is the classic case of preferred semantics being genuinely multi-valued).
Third, try to actually build the finite tree — and watch it refuse to terminate. Attempt a dialogue tree for topic argument :
Pro: A0
└─ Opp: A1 (A0's only attacker is A1)
└─ Pro: A2 (A1's only attacker is A2 — forced, no other choice)
└─ Opp: A3
└─ Pro: A4
└─ Opp: A5
└─ ... (this never bottoms out: every Ai has
exactly one attacker, A(i+1), so there
is always one more forced move)
Because every has exactly one attacker and that attacker itself has exactly one attacker, and so on without end, there is no branching choice anywhere (rule 4’s “pick one” is not even a real choice here — always forced) and no way to make this terminate. This single infinite branch is exactly the defense set from above — it is a perfectly legitimate admissible dialogue tree (no argument ever repeats, so the admissibility definition from earlier is never violated) proving sits inside the preferred extension . But it is not finite, so by Theorem 8 it proves nothing about grounded acceptance — consistent with computed above. This is the sharpest illustration of why grounded is the “cautious” semantics: admissible/preferred only need a tree that never loses, but grounded specifically needs one that finishes, and in a framework where every argument’s regress genuinely never ends, nothing finishes — so collapses all the way to .
Contrast: a “rooted” infinite chain, where GE is infinite but non-empty
Flip the direction of attack in the chain above: , — i.e. attacks , attacks , attacks , and so on forward forever. The crucial structural difference from the previous example: argument has no attacker at all (nothing points into it) — this chain has a root, whereas the earlier backward chain did not.
Step 1: seed the fixed point from the root. — is the only argument with zero attackers, so it is defended by vacuously; every other argument has attacker , so it is not yet defended.
Step 2: climb outward, one odd number per stage. : does defend ? ’s attacker is ; does attack ? Yes — so is defended: . : does it defend ? ’s attacker is ; does attack ? Yes — add : . This repeats forever, each stage finite, and the infinite union converges to — infinite, but non-empty, unlike the unrooted case.
Step 3: every individual member still has its own finite tree — this is the resolution to “how can an infinite come from finite trees at all.” Topic argument : , and has no attacker, so the tree terminates at depth 2. Topic argument has a tree of depth — always finite, just longer as grows. There is no single tree proving all of at once; there are infinitely many individually-finite trees, one per member, each one eventually bottoming out at the root argument .
Step 4: this framework has a unique extension, not two. Since has no attacker, any maximal admissible set must contain (nothing can ever conflict with adding it). That forces out (attacked by , now in the set); with out, nothing blocks adding , and is defended (its attacker is itself attacked by the set) — so maximality forces in. This repeats forever: every odd number is forced in, every even number is forced out. So is the only admissible set that cannot be extended — grounded = preferred = stable = , all coinciding, with no second “phase” the way the unrooted chain had two symmetric preferred extensions (evens/odds).
The one-line takeaway: whether an infinite chain’s is empty or infinite-but-nonempty depends entirely on whether the chain has an attacker-free root to seed — no root (like the backward Q12 chain) collapses to with two competing preferred extensions; a root (like this forward chain) lets climb outward forever and coincide with a single, unique preferred/stable extension.
A taxonomy of infinite argumentation frameworks
Two independent design choices produce different infinite behaviour, and it’s easy to conflate them:
- Extent — which end(s) of a chain, if any, go on forever: right-infinite only (a leftmost/finite element exists), left-infinite only (a rightmost/finite element exists), or both-infinite (no finite endpoint anywhere, indexed by all of ).
- Direction of attack relative to the finite end — if a finite endpoint exists, does the chain attack into it (leaving it exposed, no root) or away from it (leaving it a root)?
Cases 1–2 below are the two already covered above; cases 3–6 are new.
Case 1 — right-infinite, unrooted (the Q12 chain, already covered): , — every element, including the finite end , has an attacker. Result: , exactly two preferred extensions (evens/odds).
Case 2 — right-infinite, rooted (the “Contrast” section just above): , — the finite end has no attacker. Result: , unique, coincides with the unique preferred/stable extension.
Case 3 — left-infinite (no left end), either variant: mirror image of Case 1 or Case 2 with the index direction reversed ( instead of ). Nothing new happens — relabel and the same two results apply, just with “leftmost” replaced by “rightmost.” Worth stating explicitly only because it confirms the result depends on root existence, not on which side is drawn as “the end.”
Case 4 — both-infinite (no left end, no right end): , .
Every integer attacks , forever in both directions — no argument is ever attacker-free (argument is always attacked by ).
- Fixed point: since nothing is attacker-free, and forces to stay at at every stage. So .
- Admissible sets: and . Conflict-free: any two elements of differ by an even number , never by exactly , so no internal attacks — same for . Defended: for , its attacker is (odd); is attacked by something in ? Yes, attacks . So every element is defended.
- Maximal: any odd number adjacent to some even number already in can’t be added without conflict, so is maximal — likewise .
- Result: , exactly two preferred extensions (), no stable extension conflict issue here since both and are stable (every excluded argument is attacked: each odd number is attacked by the even number just below it, and vice versa) — so stable = preferred = , just grounded is empty.
So having no finite endpoint at all behaves exactly like having a finite endpoint that’s unrooted (Case 1): what matters for is the absence of a root, not the presence or absence of ends.
Case 5 — a poisoned chain (self-attack): , .
Same as Case 2’s rooted chain, except also attacks itself.
- Conflict-free check: no conflict-free set can ever contain , since attacks itself. So for any admissible .
- Cascade: with excluded, still attacks (self-attack doesn’t cancel ‘s outgoing attacks) — so needs ‘s attack countered by something in attacking . Only attacks , and (can’t defend using an excluded argument as if it were in ) — actually re-check: defense means some member of attacks every attacker of . ’s only attacker is . Does anything in attack ? Only itself attacks , and . So can never be defended, hence either.
- Cascade continues: ‘s only attacker is . For , must attack — but nothing attacks at all (only attacks … wait, only has ; nothing attacks except , and , so this reasoning actually shows is simply never attacked by , meaning is never defended either). By induction every is permanently undefendable, and is permanently excluded by self-attack.
- Result: the only admissible set is . Hence grounded = preferred = , and there is no stable extension — doesn’t attack (needed for stability), so is neither in nor attacked by it.
One self-attacking argument at the root of an otherwise well-behaved rooted chain destroys the entire chain’s admissibility, not just that one argument.
Case 6 — “jump” attacks that decompose into independent chains: , (each argument attacks the one two steps ahead, skipping its immediate neighbour).
Check who attacks whom: , , , Odd-indexed and even-indexed arguments never attack each other (attack always preserves parity), so this framework is really two completely separate rooted forward chains glued together with no attacks between them: (root , since nothing attacks ) and (root , since nothing attacks ).
- General principle (useful beyond this example): if never crosses between two disjoint subsets of , the framework is a disjoint union of independent sub-frameworks, and every extension of the whole is just an independent combination of an extension from each part — in particular .
- Apply Case 2’s result to each part by relabelling ( and ): each part’s grounded/preferred/stable extension keeps every other element starting from its own root.
- Odd chain : relabelled root is itself, so its extension keeps (indices ).
- Even chain : relabelled root is , so its extension keeps (indices ).
- Result: unique preferred stable .
Case 7 — non-chain infinite topology (pointer, not re-derived here): the infinite “star” framework already worked out in practice_extracted.md (mt6 Q6) — , (infinitely many arguments all mutually attacking each other and all attacking a common hub , which in turn attacks ). There, but there are infinitely many preferred extensions (one per choice of ), unlike every chain case above which has at most two. Included here to show that “infinitely many preferred extensions” is also a possible outcome once the topology isn’t a simple chain.
Summary table:
| Case | Topology | # preferred extensions | Stable exists? | |
|---|---|---|---|---|
| 1 | right-infinite, unrooted (Q12) | 2 (evens/odds) | yes, both preferred sets are stable | |
| 2 | right-infinite, rooted | infinite, unique | 1 | yes, = the unique preferred set |
| 3 | left-infinite | mirror of 1 or 2 | mirror of 1 or 2 | mirror of 1 or 2 |
| 4 | both-infinite () | 2 (evens/odds) | yes, both preferred sets are stable | |
| 5 | rooted chain + self-attack at the root | (only admissible set) | 1 (the empty set) | no |
| 6 | ”jump” attacks (skip-one), decomposes into 2 rooted chains | infinite, unique | 1 | yes |
| 7 | infinite mutual-attack star/hub | infinitely many | no (checked in mt6 Q6) |
Worked example with real branching (both rule 3 and rule 4 together)
Extend the chain framework used above by giving a second, independent attacker that nothing else touches: .
Pro: A
/ \
Opp: B Opp: D
| (no attacker of D exists —
Pro: C Opponent's move D cannot be
| countered: dead end, this
(no attacker of C — branch is a LOSS for Proponent)
branch ends, Proponent
wins this branch)
Rule 3 forces the root (attacked by both and ) to branch into two children: and . The left branch resolves in Proponent’s favour exactly as in the first worked example ( has no attacker, so Proponent has the last word). But the right branch is stuck: has no attacker at all, so there is no argument Proponent can bring in to answer Opponent’s move — that branch is a loss. Because Proponent must win every branch spawned by rule 3 (not just some of them), the whole dialogue tree fails, and no admissible dialogue tree for exists in . This matches the fixed-point check directly: does defend ? ’s attackers are ; is attacked by anything? No — so is undefended against , and is not admissibly acceptable.
What happens if the dialogue loops? (cyclic vs. genuinely infinite frameworks)
Take the running 3-cycle framework from §0: , , and try to build a dialogue tree for topic argument .
Pro: A (root, proponent)
└─ Opp: C (A's only attacker is C)
└─ Pro: B (C's only attacker is B)
└─ Opp: A ← argument A appears again, now as an OPPONENT node
└─ Pro: C ← C appears again, now as a PROPONENT node
└─ Opp: B ← B appears again, now as an OPPONENT node
└─ Pro: A ← and around again, forever: A,C,B,A,C,B,...
Every argument in this cycle has exactly one attacker, so rule 4 leaves no alternative move to pick at any opponent node — the tree is forced to keep unwinding the cycle forever, never terminating. Two separate things go wrong here, and it is worth telling them apart:
- By the raw win/loss rule alone, this branch is not a loss. An infinite branch means Opponent never runs out of attacking moves, but Opponent also never traps Proponent (every opponent move gets answered), so nothing in the basic definition declares Proponent defeated.
- But the tree fails the stronger admissibility requirement anyway. now labels both a proponent node (the root) and an opponent node (four moves later) in the same tree — and symmetrically so do and as the loop continues. The admissible-dialogue-tree definition explicitly forbids this (“no argument labels both a proponent node and an opponent node”). So this looping tree is not admissible, and since every dialogue tree for in this framework is forced into the same loop (no branching choices exist anywhere, per rule 4), no admissible dialogue tree for exists at all — by Theorem 7, is not admissibly acceptable, matching the earlier finding in §1 that the only conflict-free sets in this 3-cycle are and the three singletons, none of which defend themselves.
- It is also, separately, not finite in depth — so by Theorem 8 it could never certify grounded acceptance either, even if the admissibility problem were somehow not there.
Practical takeaway for an implementation (why engines don’t hang forever): a real dispute-tree procedure tracks the set of arguments already used along the current branch and stops expanding — reports “failure along this branch” — the moment a move would repeat an argument already on that branch, rather than actually building the infinite tree. This “no-repeats” check is exactly what the admissibility condition above is doing on paper.
Contrast this with a genuinely infinite framework, such as the infinite backward chain / infinite “star” framework already used in mt5 Q9-Q12 and mt6 Q6/mt7 Q7 of practice_extracted.md, where itself is infinite and every argument along a branch is distinct (nothing ever repeats). There, an infinite branch is a legitimate, non-repeating dialogue: it violates no admissibility condition, so it can still correspond to an admissible (even preferred) extension — it simply can never be finite, so by Theorem 8 the topic argument is admissibly but not groundedly acceptable. The 3-cycle case above is different precisely because its infinitude comes from revisiting the same finitely many arguments, which is what admissibility rules out; the infinite-star case is different because its infinitude comes from an endless supply of new arguments, which admissibility has nothing to say against.
Why this matters for explanation: since is literally “Proponent wins a dialogue about ”, a won dialogue tree is a human-readable justification for why is accepted — this is the basis of using argumentation frameworks to explain the output of other reasoning systems (recent explainable-AI research plugs argumentation frameworks in as the “surrogate model” being explained, in the same role that a linear regression plays in the more familiar LIME method).
Worked Examples with In-Depth Explanations
Example 6.1: Step-by-Step Graph Computations
6.1.1: 3-Cycle Framework
Let and .
A1 ----------> A2
^ |
\ /
\-- A3 <--/
- Step 1: Conflict-free sets:
- Singletons: are conflict-free.
- Pairs: has conflict. Similarly, and have conflicts.
- is conflict-free.
- List: .
- Step 2: Check admissibility for singletons:
- For : Attacked by . To defend against , must contain an argument that attacks . The only attacker of is , but . Hence, cannot defend itself.
- By symmetry, and also fail to defend themselves.
- For : Defends all its elements vacuously.
- All Admissible Extensions: .
- Step 3: Compute :
- : Arguments with zero attackers. Every node has an incoming attack edge.
- .
- Step 4: Acceptance Status:
- Admissibly accepted: None.
- Groundedly accepted: None.
6.1.2: Asymmetric 4-Node Graph with Self-Loop
Let and .
(A2 self-loop)
|
v
A1 ----------> A3 A4 (isolated)
- Step 1: Evaluate Isolated Node : has no incoming and no outgoing attacks. It is completely unconstrained.
- Step 2: Evaluate : . attacks itself, so can never belong to any conflict-free or admissible set.
- Step 3: Evaluate : is attacked by . Can any conflict-free set defend ? The only attacker of is itself. But cannot be in any conflict-free set. Thus, no conflict-free set can ever defend against . Therefore, can never belong to any admissible extension!
- Step 4: Evaluate : is attacked by . Can be defended? To defend , a set must contain an attacker of , which is . Since cannot be in any conflict-free set, no conflict-free set can defend . Thus, can never belong to any admissible extension.
- Step 5: Admissible Extensions: Since can never be defended by an admissible set, only remains. has no attackers, so it defends itself vacuously. Admissible extensions:
- Step 6: Number of Admissibly Accepted Arguments: Only belongs to an admissible extension. Answer: Exactly 1 argument ().
Example 6.2: Infinite Frameworks and Counting Admissible Sets
Problem Statement:
Let be an infinite framework where:
... ------> A4 ------> A3 ------> A2 ------> A1 ------> A0
Determine how many admissible extensions has.
Step-by-Step Analysis:
- Understand Attacks: Each is attacked by . There are no base nodes (every node has an incoming attack from the next higher index).
- Examine Finite Sets:
- Consider any non-empty finite set .
- Let be the argument in with the maximum index .
- is attacked by .
- To defend , must contain an argument that attacks .
- The only argument that attacks is .
- But , which contradicts the assumption that was the maximum index in !
- Therefore, no non-empty finite set can ever be admissible.
- Examine Infinite Sets:
- Can an infinite set defend itself?
- To defend , we must include (attacks ).
- To defend , we must include (attacks ).
- By induction, the infinite set of all even indices is:
- Is conflict-free? Yes, because , which requires one even and one odd index. Since contains only even numbers, no two elements can attack each other.
- Does defend all its elements? For every , its sole attacker is . The argument directly attacks . Therefore, defends every element it contains!
- Thus, is an admissible extension.
- What about odd indices?
- Consider .
- Every is attacked by , which in turn is attacked by .
- is conflict-free and defends all its elements.
- Thus, is also an admissible extension!
- What about shifted infinite sets?
- Notice that for any fixed , the set: is conflict-free and defends all its elements.
- For each starting integer , we get an admissible set (with and , , etc.).
- Since there are infinitely many such subsets (and ), the framework has infinitely many admissible extensions.
- Exam Multiple Choice Conclusion: Select “None of the above” (if the given choices are 1, 2, 3, 4).
Example 6.3: Formal Mathematical Proof of the Grounded Soundness Lemma
Theorem:
In any abstract argumentation framework , if is attacked by the grounded extension , then cannot belong to any admissible extension.
Complete Inductive Proof:
Let , where and .
Core Lemma: If is an admissible extension, then for all integers , does not attack any argument in (i.e., there do not exist and such that ).
-
Proof of Lemma by Mathematical Induction on :
- Base Case (): . Since contains no elements, cannot attack any argument in . The claim holds vacuously.
- Inductive Hypothesis (): Assume that does not attack any argument in .
- Inductive Step ():
We must show that does not attack any argument in .
Suppose for contradiction that does attack some argument .
- This means there exists some such that .
- Recall that . By definition of the characteristic function , the set defends against all incoming attacks.
- Because , must defend against .
- Therefore, there must exist some argument such that (i.e., attacks ).
- Now look at : is an admissible extension, and .
- By definition of admissibility, must defend all of its elements against all attacks.
- Since attacks , must attack .
- But ! This implies that attacks an argument in .
- This directly contradicts the Induction Hypothesis that does not attack any argument in .
- Hence, the assumption that attacks an argument in must be false. By mathematical induction, the Lemma is proven for all .
-
Completing the Main Theorem:
- Suppose an argument is attacked by some argument .
- Because , there exists a finite integer such that .
- Now suppose for contradiction that belongs to an admissible extension ().
- Since attacks , and is an admissible extension, must defend against .
- Defending against requires that attack .
- But , which means attacks an argument in .
- This contradicts our proven Lemma!
- Therefore, cannot belong to any admissible extension.
Example 6.4: The Barber Paradox as an Argumentation Framework
Problem Setup:
In a town, the barber shaves all persons, and only those persons, who do not shave themselves.
- Argument A: Assume the barber shaves himself. The rule says the barber shaves only those who do not shave themselves the barber does not shave himself.
- Argument B: Assume the barber does not shave himself. The rule says the barber shaves all those who do not shave themselves the barber shaves himself.
Formal Analysis:
- Standard Form Translation:
- Argument A:
- Premise 1: If person shaves himself, the barber does not shave .
- Premise 2 (Assumption): The barber shaves himself.
- Conclusion: The barber does not shave himself.
- Argument B:
- Premise 1: If person does not shave himself, the barber shaves .
- Premise 2 (Assumption): The barber does not shave himself.
- Conclusion: The barber shaves himself.
- Argument A:
- Identification of Attacks:
- Rebutting Attacks:
- The conclusion of (“The barber does not shave himself”) directly contradicts the conclusion of (“The barber shaves himself”).
- Hence, and mutually rebut each other: and .
- Undermining Attacks:
- The conclusion of (“The barber does not shave himself”) directly contradicts Premise 2 of itself (“The barber shaves himself”).
- Thus, contradicts its own starting premise undermines itself ().
- The conclusion of (“The barber shaves himself”) directly contradicts Premise 2 of itself (“The barber does not shave himself”).
- Thus, undermines itself ().
- Rebutting Attacks:
- Resulting Argumentation Framework:
- Semantics Evaluation:
- Neither nor can belong to any conflict-free set because both are self-attacking.
- The only conflict-free set is .
- Admissible extensions: .
- Grounded extension: .
- Preferred extensions: .
- Stable extensions: None ( does not attack or ).
Verification Checklist (Computational Argumentation)
- Dung Semantics:
- Is every admissible set strictly conflict-free?
- Does the grounded extension contain only arguments defended from the base of unattacked nodes?