pub fn affine_reduce(num_vars: usize, clauses: &[Vec<Lit>]) -> AffineOutcomeExpand description
The affine GF(2) break. Recover the formula’s linear substructure and Gauss-eliminate it
(gf2::solve_gf2): an inconsistent core AffineOutcome::Refuteds outright; otherwise the
elimination’s gf2::SolutionSpace exposes which variables are forced (the kernel never moves them
⇒ a unit) and which are locked together (the kernel moves them in lockstep ⇒ an equivalence), and we
return those consequences as new clauses (AffineOutcome::Forced) — the linear inferences the
permutation breaker structurally cannot make.