Expand description
Bipolar semantics: compute Dung extensions on the flattened framework and filter them for support closure under necessary-support semantics.
An extension E is support-closed iff for every a ∈ E, every
direct necessary supporter of a is also in E. Nouioua & Risch 2011
proves this captures necessary-support acceptability exactly when
applied on top of Dung extensions of the closed attack relation.
§Emptiness caveat
The Dung-preferred-then-filter pipeline means that if every Dung-
preferred extension fails support-closure, the public
bipolar_preferred_extensions returns an empty Vec, even when
strictly smaller support-closed admissible sets exist. This is a
deliberate scoping choice for v0.1 — a future release may add a
companion function that relaxes Dung-preferredness in favour of
maximal support-closed admissibility. Consumers that need a
guaranteed non-empty result on any framework should either:
- Use
bipolar_grounded_extension(always single and non-empty in the trivial sense), or - Check
is_empty()on the result and fall back to grounded.
Functions§
- bipolar_
complete_ extensions - All bipolar complete extensions under necessary-support semantics.
- bipolar_
grounded_ extension - The bipolar grounded extension.
- bipolar_
preferred_ extensions - All bipolar preferred extensions under necessary-support semantics.
- bipolar_
stable_ extensions - All bipolar stable extensions.
- is_
support_ closed - Check whether a candidate extension is support-closed in a bipolar framework: every argument in the extension has all its direct necessary supporters in the extension too.