A Boolean assignment to $n$ variables.
Instances For
The clause $C$ is satisfied by the assignment $\sigma$ if at least one of its literals evaluates to true.
Instances For
A $k$-CNF formula is satisfiable if some assignment satisfies every one of its clauses.
Instances For
Resample function used by Moser's algorithm: given a list vars of variable indices and fresh random bits b, replace the values of $\sigma$ on the listed variables by the corresponding bits and leave the others unchanged.
Instances For
The state of the resampling process after $t$ steps, starting from $\sigma_0$, where step $t$ resamples the variables vars_seq t using the random bits bits t.
Instances For
Reversibility of the Moser resampling step: if two runs of the algorithm agree on the post-state after step $t$ and on the violating clause values at every step, then they must already agree on the state at time $t$. This underlies the entropy-compression argument.
Bundle produced by the entropy-compression argument: a set of "failing" random strings of size at most $2^n \cdot 2^{\ell(k-1)+1}$, together with a proof that any string outside this set witnesses satisfiability of $\varphi$.
- success_implies_sat (x : Fin (2 ^ (k * ℓ))) : x ∉ self.failingStrings → φ.satisfiable
Instances For
Existence of the entropy-compression bundle (Lemmas 6.6.7–6.6.8): for any $k$-CNF formula with $k \ge 3$ and bounded degree $2^{k-3}$, and any $\ell \ge 1$, the set of $\ell$-step random-bit strings for which Moser's algorithm fails has cardinality at most $2^n \cdot 2^{\ell(k-1)+1}$, and every successful string yields a satisfying assignment.
Instances For
Moser's correctness theorem (Theorem 6.6.6): every $k$-CNF formula with $k \ge 3$ in which each clause shares a variable with at most $2^{k-3}$ other clauses is satisfiable. The proof uses an entropy-compression / pigeonhole argument on $\ell = n+2$ random-bit blocks.