Polynomial compilation of CNF parity tests over ๐ฝโ #
For a propositional clause c : Clause V, its violation bit !c.eval ฯ on an assignment
ฯ : V โ Bool expands over ๐ฝโ = ZMod 2 into a multilinear sum of monomials
(Cslib.Logic.PL.Clause.falsifyMonomials): a tautological clause expands to โ
(0), the empty
clause expands to {โ
} (1), and a nontautological clause with positive variables P and
negative variables N expands to {S โช N | S โ P}, using the identity
โ_{v โ P} (1 + x_v) โ_{v โ N} x_v = โ_{S โ P} โ_{v โ S โช N} x_v over ZMod 2. Repeated literals
within c collapse automatically, so every monomial has support in (c.map Prod.fst).toFinset
and degree at most c.length, and there are at most 2 ^ c.length monomials.
Given a formula ฯ : CNF V with m = ฯ.length clauses and a binary parity-check row
r : Fin ฯ.length โ Bool, equation (6.1) of [OAI26c] specifies the ๐ฝโ polynomial equation
P_r(ฯ) = โ_{e : r e = true} v_e(ฯ) = 0. Retaining the monomials that occur in an odd number of
active clauses (Cslib.Logic.PL.CNF.parityRowMonomials) cancels duplicate monomials modulo 2:
adding rows in the Boolean ring corresponds to taking the symmetric difference of their monomial
sets (Cslib.Logic.PL.CNF.parityRowMonomials_add), evaluating the compiled monomial sum agrees
with the parity check โ e, r e * ฯ.violations ฯ e (Cslib.Logic.PL.CNF.sum_parityRowMonomials),
and when every clause has length at most k, each retained monomial has degree at most k and
there are at most weight r * 2 ^ k monomials (โค P * 2 ^ k for r = testRow ฮณ of length P).
On a finite variable type V, the common zeros of {ฯ.parityRowMonomials r | r โ rows} are
therefore the assignments accepted by PassesTests ฯ.violations rows, decomposing as
numPassing ฯ.violations rows = ฯ.modelCountOn Finset.univ + D(rows) where D(rows) counts
accepted nonsatisfying assignments, and equaling ฯ.modelCountOn Finset.univ after the
3 * Fintype.card V greedy rounds of CNF.numPassing_greedy [OpenAI2026ETH, Lemma 6.2, ยง6.3].
Main definitions #
Cslib.Logic.PL.Clause.falsifyMonomials: canonical๐ฝโmultilinear monomial set of!c.eval.Cslib.Logic.PL.CNF.parityRowMonomials: mod-2cancelled๐ฝโmonomial set of a parity row on clause violations.
Main results #
Cslib.Logic.PL.Clause.sum_falsifyMonomials: semantic agreement ofClause.falsifyMonomialswithbitVal (ZMod 2) (!c.eval ฯ).Cslib.Logic.PL.Clause.subset_vars_of_mem_falsifyMonomials,Cslib.Logic.PL.Clause.card_le_length_of_mem_falsifyMonomials,Cslib.Logic.PL.Clause.card_falsifyMonomials_le: support, degree, and2 ^ c.lengthsparsity bounds for one clause.Cslib.Logic.PL.CNF.sum_parityRowMonomials,Cslib.Logic.PL.CNF.sum_parityRowMonomials_eq_zero_iff: semantic agreement of a compiled parity row withโ e, r e * ฯ.violations ฯ e.Cslib.Logic.PL.CNF.parityRowMonomials_add: mod-2symmetric-difference cancellation across added parity rows.Cslib.Logic.PL.CNF.card_parityRowMonomials_le,Cslib.Logic.PL.CNF.card_parityRowMonomials_testRow_le: sparsity boundsweight r * 2 ^ kandP * 2 ^ k.Cslib.Logic.PL.CNF.commonZero_parityRowMonomials_iff_passesTests,Cslib.Logic.PL.CNF.numPassing_violations_eq_modelCountOn_add,Cslib.Logic.PL.CNF.card_commonZeros_greedy,Cslib.Logic.PL.CNF.greedy_system_bounds: common-zero equivalence,N(A) = #F + D(A)decomposition, exactCNF.modelCountOn Finset.univrecovery after3 ngreedy rounds, and candidate-system size, degree, and sparsity bounds.
References #
- OpenAI, The Exponential Time Hypothesis is False, ยง6 (eq. 6.1), ยง6.2 (Lemma 6.2), and ยง6.3, pp. 39โ40, 42โ43
The canonical multilinear ๐ฝโ monomials whose sum evaluates to !c.eval ฯ over ZMod 2.
If some variable occurs both positively and negatively in c, the clause is tautological and the
set is empty; otherwise it consists of S โช neg as S ranges over subsets of the positive
variables pos of c, expanding โ_{v โ pos} (1 + x_v) โ_{v โ neg} x_v modulo 2.
Instances For
The empty clause is always falsified, so its falsification polynomial is the constant 1
({โ
}).
Every monomial in c.falsifyMonomials uses only variables occurring in c.
Every monomial in c.falsifyMonomials has degree at most the number of distinct variables in
c.
Every monomial in c.falsifyMonomials has degree at most c.length.
A clause on d distinct variables expands to at most 2 ^ d falsification monomials.
A clause c expands to at most 2 ^ c.length falsification monomials.
Clause-falsification polynomial identity over ๐ฝโ [OpenAI2026ETH, ยง6]. For every clause
c and truth assignment ฯ, the sum over c.falsifyMonomials in ZMod 2 equals the violation
bit !c.eval ฯ read in ZMod 2.
The falsification polynomial of c vanishes at ฯ over ZMod 2 if and only if ฯ satisfies
c.
The falsification polynomial of c has multilinear degree at most c.length over ZMod 2.
Parity-check row compilation and mod-2 cancellation #
The canonical ๐ฝโ monomial set of the linear parity-check equation (6.1) for row
r : Fin ฯ.length โ Bool on ฯ : CNF V: a monomial M is retained precisely when it belongs to
(ฯ.get e).falsifyMonomials for an odd number of active clauses e (r e = true), cancelling
duplicate monomials modulo 2.
Instances For
A monomial belongs to ฯ.parityRowMonomials r if and only if it appears in an odd number of
active clauses e with r e = true.
The zero parity row compiles to the empty monomial set.
A unit parity row selecting only clause e compiles to (ฯ.get e).falsifyMonomials.
Mod-2 monomial cancellation across rows. Adding two parity-check rows in the Boolean ring
takes the symmetric difference of their compiled monomial sets.
Every monomial in ฯ.parityRowMonomials r is supported on the variables of ฯ.
When every clause of ฯ has length at most k, every monomial in ฯ.parityRowMonomials r has
degree at most k.
When every clause of ฯ has length at most k, the compiled polynomial of row r has
multilinear degree at most k over ZMod 2.
Sparsity of a compiled parity row [OpenAI2026ETH, ยง6.2]. When every clause of ฯ has
length at most k, ฯ.parityRowMonomials r contains at most weight r * 2 ^ k monomials.
Sparsity of a compiled test-list row [OpenAI2026ETH, Lemma 6.2]. For any test list
ฮณ : Fin P โ Fin ฯ.length ร Bool on a k-CNF formula ฯ, ฯ.parityRowMonomials (testRow ฮณ)
contains at most P * 2 ^ k monomials.
Compiled parity-row evaluation identity [OpenAI2026ETH, eq. (6.1)]. Evaluating the sum of
ฯ.parityRowMonomials r at ฯ over ZMod 2 equals the parity โ e, r e * ฯ.violations ฯ e read
in ZMod 2.
Parity-row zero criterion [OpenAI2026ETH, eq. (6.1)]. An assignment ฯ is a zero of the
compiled ZMod 2 polynomial of row r if and only if the violation parity
โ e, r e * ฯ.violations ฯ e is false.
Dot-product form of CNF.sum_parityRowMonomials_eq_zero_iff.
For a test list ฮณ, the compiled ZMod 2 polynomial of testRow ฮณ vanishes at ฯ if and
only if testParity ฮณ (ฯ.violations ฯ) = false.
Common-zero characterization. An assignment ฯ vanishes on every compiled equation in
rows if and only if PassesTests ฯ.violations rows ฯ.
Common-zero characterization phrased over the compiled equation list
rows.map ฯ.parityRowMonomials.
Common-zero counts and exact bridge to CNF.modelCountOn #
On a finite variable type V, ฯ.modelCountOn Finset.univ counts all satisfying assignments
ฯ : V โ Bool.
The number of common zeros of {ฯ.parityRowMonomials r | r โ rows} on V โ Bool equals
numPassing ฯ.violations rows.
N(A) = #F + D(A) decomposition [OpenAI2026ETH, ยง6, p. 40]. The number of assignments
passing rows equals ฯ.modelCountOn Finset.univ plus the number of nonsatisfying assignments
still accepted by rows.
N(P_A) = #F + D(A) for compiled ๐ฝโ equations [OpenAI2026ETH, ยง6, p. 40].
Exact common-zero count after 3 n greedy parity-test rounds
[OpenAI2026ETH, Lemma 6.2 & ยง6.3]. Under the hypotheses of CNF.numPassing_greedy, the common
zeros of the compiled ๐ฝโ polynomial system A (3 * Fintype.card V) number exactly
ฯ.modelCountOn Finset.univ (#F).
Quantitative bounds on compiled greedy systems [OpenAI2026ETH, Lemma 6.2, p. 42]. If every
clause of ฯ has length at most k, the initial matrix A 0 has at most 3 n rows each of
weight at most Dโ, and each round appends testRow (ฮณ i) of list length P, then at any stage
i โค 3 n the compiled system (A i).map ฯ.parityRowMonomials has at most 3 n + i (โค 6 n)
equations, each of degree at most k, supported on ฯ.vars.toFinset, and containing at most
max Dโ P * 2 ^ k monomials.