pith. sign in
abbrev

PartialAssignment

definition
show as:
module
IndisputableMonolith.Complexity.SAT.Backprop
domain
Complexity
line
10 · github
papers citing
none yet

plain-language theorem explainer

PartialAssignment n is the function type from variable indices Fin n to Option Bool, encoding partial truth assignments where none marks undetermined bits. Researchers modeling unit propagation in SAT solvers with XOR clauses cite this type when building backpropagation states. The declaration is a direct type abbreviation with no computational body.

Claim. Let $V_n = Fin n$. A partial assignment over $n$ variables is any function $σ : V_n → Option(ℬ)$, where $Option(ℬ)$ distinguishes determined truth values from undetermined ones.

background

The module works inside the SAT backpropagation setting over CNF instances that may contain XOR clauses. CNF is the structure whose clauses field holds a list of clauses; each clause is a list of literals over variables. Var n is the abbreviation Fin n, supplying the finite index set for the $n$ variables of a given instance.

proof idea

The declaration is a direct type abbreviation equating PartialAssignment n to the function type Var n → Option Bool.

why it matters

BPState stores an instance of this type in its assign field; clauseUnit, compatible, and clauseUnit_correct all take PartialAssignment arguments to implement propagation and consistency. It supplies the state representation required for the backpropagation algorithm in the module's SAT solver. No open scaffolding is closed here.

Switch to Lean above to see the machine-checked source, dependencies, and usage graph.