IndisputableMonolith.Complexity.SAT.Backprop
Module supplies partial assignment types and backpropagation state for SAT instances mixing CNF clauses with XOR parity constraints. Researchers working on propagation invariants or completeness arguments in the Recognition Science complexity layer would cite these definitions. Content consists of type definitions for assignments and states together with basic update lemmas.
claimA partial assignment over $n$ variables is a map from indices in $Fin n$ to $Option B$, where $none$ marks an undetermined variable and $some b$ records a fixed boolean value. The backpropagation state augments this map with derived evaluations of clauses and XOR constraints.
background
The module operates inside the SAT complexity subdomain. It imports variable indexing from the CNF module, where each variable is an element of $Fin n$ for a fixed problem size, and parity constraints from the XOR module, where each constraint specifies that the parity of a chosen subset equals a target bit. Partial assignments track known versus unknown values during propagation steps. Derived operations compute clause satisfaction and XOR parity under the current partial information.
proof idea
This is a definition module, no proofs.
why it matters in Recognition Science
Supplies the state representation consumed by the Completeness module to construct fully-determined backpropagation states from total assignments. This supports the larger claim that SAT instances mixing CNF and XOR can be resolved through systematic value propagation inside the Recognition framework.
scope and limits
- Does not prove termination or completeness of backpropagation.
- Does not treat general SAT instances outside CNF and XOR.
- Does not analyze runtime or space complexity of the operations.
- Does not extend to approximate or probabilistic assignments.
used by (1)
depends on (2)
declarations in this module (31)
-
abbrev
PartialAssignment -
structure
BPState -
def
setVar -
lemma
setVar_same -
lemma
setVar_ne -
def
valueOfLit -
def
valueOfClause -
def
valueOfXOR -
def
xorMissing -
def
clauseUnit -
inductive
BPStep -
def
complete -
def
consistent -
def
compatible -
lemma
compatible_setVar -
lemma
not_isSome_eq_isNone' -
lemma
xor_comm_assoc' -
lemma
xor_comm_cancel' -
lemma
parityOf_filter_split' -
lemma
getD_of_compat_isSome' -
lemma
knownParity_eq_parityOf_known' -
lemma
list_singleton_of_length_one' -
theorem
xorMissing_correct -
lemma
not_isSome_iff_isNone' -
lemma
singleton_eq_get_zero' -
lemma
mem_zip_of_getElem' -
lemma
known_lit_false'' -
theorem
clauseUnit_correct -
lemma
bp_step_sound -
lemma
bp_step_monotone -
def
BackpropSucceeds