Reduction on the agreement set #
For each product of low monomials, choose a block with enough unused degree, if one exists. On the agreement set, the majority in this block can be eliminated using the polynomial and strictly smaller modified degree.
noncomputable def
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.pivot
{k m : ℕ}
(d : ℕ)
(a : Term k m)
:
A block in which the low monomial has at least d degrees to spare.
Equations
Instances For
def
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.Allowed
{k m : ℕ}
(d : ℕ)
(a : Term k m)
:
The retained generators omit the majority in the chosen block.
Equations
- Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.Allowed d a = ∀ (i : Fin k), Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.pivot d a = some i → (a i).2 = false
Instances For
def
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.setFlag
{k m : ℕ}
(a : Term k m)
(i : Fin k)
(b : Bool)
:
Term k m
Change only the majority flag in a block.
Equations
- Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.setFlag a i b = Function.update a i ((a i).1, b)
Instances For
def
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.restrictTo
{α : Type u_1}
(E : Set α)
:
Restriction of a function to a subset of its inputs.
Equations
- Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.restrictTo E = { toFun := fun (f : α → ZMod 2) (x : ↑E) => f ↑x, map_add' := ⋯, map_smul' := ⋯ }
Instances For
theorem
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.agreement_span
{k m d : ℕ}
(p : MvPolynomial (Fin k × Fin (2 * m + 1)) (ZMod 2))
(hp : p.totalDegree ≤ d)
(E : Set (BlockCube k m))
(hE : ∀ x ∈ E, polynomialEval p x = xorMajority x)
:
The retained generators span all functions on any agreement set.
theorem
Complexity.BooleanAnalysis.PolynomialCorrelation.Internal.agreement_card_le
{k m d : ℕ}
(p : MvPolynomial (Fin k × Fin (2 * m + 1)) (ZMod 2))
(hp : p.totalDegree ≤ d)
(E : Set (BlockCube k m))
(hE : ∀ x ∈ E, polynomialEval p x = xorMajority x)
:
The agreement set has at most as many points as retained generators.