convert-to-premise-preserves-dependents-invariant
IN derived (depth 1)
Converting a derived node to a premise correctly maintains the dependents index by removing the node from former antecedents' dependents sets — the same invariant maintained by every other network mutation.
Summary
The convert-to-premise operation keeps the internal dependency tracking consistent by cleaning up reverse pointers from old antecedents, which is the same consistency guarantee upheld by every other operation that modifies the belief network. This means converting a derived node to a premise won't leave behind stale references that could cause incorrect propagation of truth values.
Justifications
SL — Premise conversion honors the universal dependents-index maintenance contract
Antecedents (all must be IN):
- convert-to-premise-removes-dependents — When a derived node is converted to a premise via `convert_to_premise`, it is removed from its former antecedents' `dependents` sets because the old justification edges are deleted.
- every-network-mutation-maintains-dependents — After any public mutation method on `Network` (`add_node`, `retract`, `assert_node`, `add_justification`, `supersede`, `challenge`, `defend`, `convert_to_premise`, `add_nogood`, `summarize`), `verify_dependents()` returns an empty list.
Dependents
These beliefs depend on this one:
- premise-identity-is-bidirectionally-transformable — Premise identity can be both destroyed (via dialectical challenge adding justifications) and created (via convert-to-premise removing them), with both directions preserving the dependents invariant — making premise/derived status a fully reversible structural property of the network.