incremental-propagation-is-fully-complete

IN derived (depth 3)

Incremental truth propagation reaches every node whose truth value should change — including nodes that depend via outlist entries — without requiring periodic full recomputation, because safe terminating BFS traversal operates over a dependents index that tracks both antecedent and outlist relationships.

Summary

When something changes in the system, the ripple effects are tracked completely — every downstream conclusion that needs updating gets updated, without ever needing to recalculate everything from scratch. This works because the propagation process is safe (it always finishes, never crashes mid-update) and the dependency tracking is thorough enough to follow all the ways nodes can depend on each other, including exclusion relationships.

Justifications

SL — When the outlist-tracking gap is fixed, safe terminating propagation combined with fully-specified outlist semantics should yield complete incremental consistency — making recompute_all a verification tool rather than a correctness requirement

Antecedents (all must be IN):

  • propagation-is-safe-and-terminating — Truth propagation is both lifecycle-safe and guaranteed to terminate: retracted nodes are skipped, trigger nodes are never recomputed, BFS prevents stack overflow, and stop-on-unchanged prevents oscillation — propagation respects every node state it encounters.
  • outlist-semantics-are-fully-specified — The outlist primitive has complete, well-defined semantics: multiple entries form a conjunction (all must be OUT), absent nodes are treated as OUT (permissive default), and outlist relationships survive persistence through JSON serialization with rebuilt dependent indexes.

Unless (any of these IN defeats this justification):

  • outlist-nodes-not-in-dependents-index — Outlist nodes are not tracked in the `dependents` index, so when an outlist node is retracted (goes OUT), dependent GATE beliefs are not enqueued for re-evaluation by `_propagate` — requiring manual `reasons assert` as a workaround.

Dependents

These beliefs depend on this one:

Details