belief-revision-is-fully-reliable
IN derived (depth 3)
The complete belief revision pipeline — outlist-based defeat for proactive retraction plus dependency-directed backtracking for reactive contradiction resolution — produces correct, consistent, auditable results with deterministic propagation settling all consequences.
Summary
The system's ability to revise what it holds true works correctly end to end. When something needs to be retracted, changes ripple out predictably and completely; when a contradiction is discovered, the system resolves it by removing as little as possible. This matters because it means the reasoning network can be trusted to stay consistent and traceable as beliefs change over time, without hidden errors or runaway loops.
Justifications
SL — depth-3, gated — dangling dependents could crash propagation mid-cascade (violating the determinism guarantee), and append-only nogood IDs could collide if nogoods are ever deleted (corrupting the contradiction audit trail)
Antecedents (all must be IN):
- 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.
- contradiction-resolution-is-minimal-disruption — The nogood resolution system minimizes network disruption through layered heuristics: the primary path traces justification chains back to premises and selects the least-entrenched for retraction, the fallback uses dependent count when no traceable chain exists, and all contradictions are unconditionally recorded regardless of resolution outcome.
- propagation-terminates-deterministically — Truth propagation is guaranteed to terminate: BFS prevents stack overflow, stop-on-unchanged prevents oscillation, and fixpoint iteration bounds the outer loop
Unless (any of these IN defeats this justification):
- propagate-assumes-dependents-exist — Every ID in `node.dependents` is accessed via `self.nodes[dep_id]` without a membership check; a dangling dependent reference will raise `KeyError` — this is intentional (broken invariant = bug)
- nogood-ids-assume-append-only — Nogood IDs are derived from `len(self.nogoods) + 1`, so deleting a nogood from the list would cause ID collisions on subsequent calls
Dependents
These beliefs depend on this one:
- contradiction-management-is-complete-and-traceable — The system provides complete contradiction management: the revision pipeline reliably resolves contradictions through outlist defeat and dependency-directed backtracking with guaranteed termination, while nogood resolution maintains a consistent referenceable history of all detected contradictions — enabling both automated resolution and post-hoc forensic analysis of belief conflicts.