Expand description
Certified resolution-width lower bounds — the third proof system of the separations atlas, with the same zero-trust certificate discipline as the Nullstellensatz dual witnesses.
Width-w resolution keeps every clause in the derivation to ≤ w literals; Ben-Sasson–Wigderson
made width the master resolution complexity measure (short proofs imply narrow proofs). At a fixed
budget w the derivable set is a finite least fixpoint: saturate pairwise resolution, keeping
resolvents of width ≤ w. That fixpoint is the lower-bound certificate: a clause set S that
(i) contains the admissible inputs, (ii) is closed under width-≤ w resolution, and (iii) lacks
the empty clause proves — by induction over any purported derivation — that no width-w
resolution refutation exists. The certificate is re-checked by check_res_width_lower_bound
with zero trust in the producer, mirroring polycalc::check_ns_lower_bound.
Two width conventions live in the literature, and they genuinely differ on wide-axiom families
like pigeonhole (pigeon clauses have width m−1):
WidthConvention::Strict counts axioms against the budget (the census’s
hypercube::min_resolution_width convention); WidthConvention::WideAxioms admits every axiom
and bounds only derived clauses — the convention under which PHP’s width question is non-trivial.
Tautologies are dropped throughout: a resolvent with a second clashing variable is tautological
(mirrored from Subcube::resolve, which requires a single clean pivot), and tautological axioms
only ever produce subsumed or tautological resolvents.
Enums§
- Width
Convention - Which clauses the width budget
wapplies to.
Functions§
- check_
res_ width_ lower_ bound - Re-check a resolution-width lower-bound certificate (zero trust in the producer).
closedcertifies “no width-wresolution refutation ofclausesunderconvention” iff: (i) it contains every admissible axiom, (ii) it is tautology-free, (iii) it is closed under width-≤ wresolution, and (iv) it lacks the empty clause. Soundness is an induction over any purported width-wderivation: its every clause lies inclosed, and⊥ ∉ closed. A padded (superset) certificate still certifies — extra clauses only weaken the producer, never the bound. - mask_
clause - The bitmask form of a clause (duplicates collapse; ≤ 63 variables).
- mask_
width - The width of a mask clause — its literal count.
- min_
res_ width_ clauses - The minimum resolution-refutation width under a convention: the least
wwhose closure derives the empty clause.Noneiff the formula is satisfiable (resolution is complete atw = num_vars). - resolution_
width_ closure - The width-
wresolution closure — the least fixpoint of pairwise resolution over the admissible axioms, keeping every resolvent of width≤ w. This set contains every clause any width-wresolution derivation (under the convention) can produce, so it decides width-wrefutability ((0,0)present ⟺ refutable) and, when the empty clause is absent, the set itself is the re-checkable lower-bound certificate (check_res_width_lower_bound). - resolve_
masks - Resolve two mask clauses on their single clashing variable.
Some(resolvent)iff exactly one variable appears positively in one and negatively in the other (a second clash would make every resolvent a tautology — the same single-pivot rule asSubcube::resolve). The resolvent is automatically tautology-free. - width_
refutes - Does a width-
wresolution refutation exist under the convention? Decided by the closure.
Type Aliases§
- Mask
Clause - A clause as a signed bitmask pair
(pos, neg)over ≤ 63 variables —posthe positive literals’ variable set,negthe negative ones’. The empty clause is(0, 0); a tautology haspos & neg ≠ 0. This is theSubcubeblocker seen from the clause side (care = pos|neg,value = neg).