outlist-is-universal-defeat-mechanism
IN derived (depth 1)
The outlist primitive is the sole defeat mechanism underlying all non-monotonic features: challenges, agent kill-switches, supersession, and direct defeasible reasoning
Summary
Every way the system can defeat or override a belief — challenges, agent kill-switches, supersession, and direct defeasible reasoning — works through the same single primitive: adding a node to another node's outlist. This means there is exactly one mechanism to understand, test, and trust for all non-monotonic behavior, rather than separate ad-hoc implementations for each feature.
Justifications
SL — Four independent features all route through outlist injection rather than implementing custom defeat logic
Antecedents (all must be IN):
- outlist-enables-non-monotonic-reasoning — The `outlist` field on `Justification` allows beliefs to be retracted when a defeating node becomes IN — this is the core non-monotonic mechanism powering `supersede`, `challenge`, and default-logic patterns.
- challenge-is-outlist-injection — The challenge mechanism creates a new premise node and adds it to the target's outlist; all truth-value changes flow through normal BFS propagation, not direct mutation
- kill-switch-uses-outlist-not-antecedent — The `agent:inactive` node is placed in each imported belief's outlist (not antecedents) so that retracting `agent:active` cascades all imported beliefs to OUT, while per-belief retraction still works independently
- supersession-is-reversible — `supersede()` adds the new node's ID to the old node's outlist rather than deleting the old node; retracting the new belief automatically restores the old one through normal propagation
Dependents
These beliefs depend on this one:
- non-monotonic-system-is-single-reversible-primitive — The entire non-monotonic reasoning system — challenges, kill-switches, supersession, and dialectics — is built on a single primitive (outlist) that is inherently reversible, with no dedicated machinery for any defeat pattern.