nogood-resolution-maintains-consistent-ids

IN derived (depth 1)

Nogood recording and resolution produces a consistent, referenceable history of contradictions

Summary

When contradictions are found, the system both resolves them intelligently (by retracting the least important contributing premise) and keeps a permanent record of every contradiction encountered. This means you can always look back and see what conflicted with what, even after the conflict has been resolved, giving you a traceable audit trail of how the system's knowledge evolved.

Justifications

SL — The append-only ID scheme means any nogood deletion would cause ID collisions, corrupting the contradiction history

Antecedents (all must be IN):

  • backtracking-retracts-least-entrenched — `add_nogood` resolves contradictions via dependency-directed backtracking: `find_culprits` traces to premises, scores by `_entrenchment`, and retracts the least-entrenched premise to minimize disruption.
  • add-nogood-always-records — `add_nogood` appends a `Nogood` record unconditionally before checking whether the contradiction is active, so nogoods are preserved even when not all member nodes are currently IN

Unless (any of these IN defeats this justification):

  • 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:

Details