justification-propagation

70 beliefs (59 IN, 11 OUT)

Justification propagation is the central mechanism by which a Truth Maintenance System keeps its belief network consistent as knowledge changes. This topic covers how truth values are computed, how changes ripple through dependency chains, and what guarantees the system provides about correctness and termination. It matters because every higher-level TMS operation — retraction, challenge, supersession, dialectical reasoning — ultimately bottoms out in justification evaluation and propagation.

The foundational semantics are clean and minimal. A justification is valid when all its antecedents are IN and all its outlist nodes are OUT (justification-validity-requires-inlist-in-and-outlist-out). A node is IN when any of its justifications is valid — disjunction across justifications, conjunction within each one (sl-justification-semantics, node-in-if-any-justification-valid, network-disjunctive-justification). This means adding a justification can never cause a node to go OUT (node-truth-disjunctive). Evaluation is pure with no side effects (justification-valid-is-pure), uniform across SL and CP types which share the same validity check (cp-and-sl-evaluated-identically), and context-independent — when a justification is attached has no bearing on the result (justification-timing-is-irrelevant-to-evaluation, justification-evaluation-is-context-independent). Premise behavior emerges naturally from these rules: a node with no justifications defaults to IN, and empty antecedent lists are vacuously valid (premise-behavior-emerges-from-absence, premise-defaults-to-in, empty-antecedents-vacuously-valid). A notable asymmetry exists in how missing nodes are handled: absent antecedents fail validation conservatively, while absent outlist nodes pass permissively, enabling "believe X unless Y" patterns where Y may not yet exist (missing-nodes-have-asymmetric-fail-semantics, sl-outlist-asymmetry).

Propagation itself uses BFS through a dependents index (propagation-is-bfs), with several interlocking guarantees. It terminates deterministically because BFS prevents stack overflow, stop-on-unchanged prevents oscillation, and the cascade selectively follows only paths where truth values actually change (propagation-terminates-deterministically, propagate-cascade-stops-on-unchanged). It is lifecycle-safe, skipping retracted nodes that are pinned OUT via metadata (propagate-skips-retracted-nodes, retracted-pin-survives-recompute), and the trigger node is never recomputed by propagation itself — callers must set its value first (propagate-does-not-change-trigger). The system handles graph inconsistencies gracefully, skipping dangling references with warnings rather than crashing (propagation-is-safe-under-graph-inconsistency). When adding a justification to an existing node, propagation is multi-dimensional: truth values cascade through dependents, the reverse index is updated on both antecedent and outlist nodes, and access tags recompute transitively (add-justification-is-fully-propagating, add-justification-registers-dependents, add-justification-propagates-tags-downstream). Retraction cascades are transitive and terminating, with the system computing surgical restoration hints that target only cascade victims with surviving premises, excluding the directly retracted node (retraction-cascade-is-transitive-and-terminating, restoration-hints-are-surgical, hints-exclude-directly-retracted-node).

Several beliefs in this topic are OUT, reflecting refined understanding over time. The belief that propagation automatically cascades on all truth changes including outlist-mediated ones was retracted (propagation-automatically-cascades-on-all-truth-changes), as were several beliefs about premise identity transformation (premise-identity-is-inherently-transient, premise-identity-is-bidirectionally-transformable, premise-identity-transformation-is-architecturally-asymmetric) — suggesting that earlier claims about how premise status changes were superseded or found to be inaccurate. The retraction of propagate-assumes-dependents-exist indicates the system evolved from crashing on dangling references to handling them gracefully. Similarly, several reporting-related beliefs were retracted (removal-effects-are-fully-reported-and-recoverable, retraction-reporting-reflects-complete-cascades), likely because the completeness guarantees they claimed were found to depend on conditions not always met. The retraction of truth-evaluation-is-transformation-invariant and richer-revision-preserves-evaluation-invariance suggests that while evaluation is pure in isolation, broader claims about invariance across all structural transformations did not hold up under scrutiny.