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:

Details