Documentation

Complexitylib.Algebraic.LowerBound.Fusion.Arithmetic.Progress.Separated

Separated-monomial progress measures #

Schnorr's additive-complexity measure is the largest size, minus one, of a set of target monomials separated inside the entire polynomial support. A set is separated when no support monomial other than the chosen pair divides the product of two chosen monomials.

This file separates the finite combinatorics from polynomial substitution. Pullback is the exact interface needed from one enrichment step: a separated set after substitution can be pulled back to a separated set before substitution, losing at most loss elements. SubstitutionPullbacks then turns addition pullbacks of loss one and multiplication pullbacks of loss zero into the generic reverse-substitution Progress.Measure.

@[reducible, inline]

Exponent vectors for monomials over an arbitrary variable type.

Equations
Instances For
    def Algebraic.Fusion.Arithmetic.Progress.Separated.IsSeparated {Variable : Type u_1} (ambient selected : Finset (Exponent Variable)) :

    selected is separated inside ambient: whenever an ambient monomial divides the product of two selected monomials, it is one of that pair.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Algebraic.Fusion.Arithmetic.Progress.Separated.IsSeparated.subset {Variable : Type u_1} {ambient selected : Finset (Exponent Variable)} (separated : IsSeparated ambient selected) :
      selected ⊆ ambient
      noncomputable def Algebraic.Fusion.Arithmetic.Progress.Separated.separationNumber {Variable : Type u_1} (ambient : Finset (Exponent Variable)) :

      Schnorr's separation number for a finite monomial support.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem Algebraic.Fusion.Arithmetic.Progress.Separated.candidate_card_sub_one_le {Variable : Type u_1} {ambient selected : Finset (Exponent Variable)} (separated : IsSeparated ambient selected) :
        selected.card - 1 ≤ separationNumber ambient

        Every separated candidate supplies a lower bound on the separation number.

        The separation number never exceeds support cardinality minus one.

        theorem Algebraic.Fusion.Arithmetic.Progress.Separated.separationNumber_eq_card_sub_one {Variable : Type u_1} {ambient : Finset (Exponent Variable)} (separated : IsSeparated ambient ambient) :
        separationNumber ambient = ambient.card - 1

        If the entire support is separated, its separation number is exactly its cardinality minus one.

        theorem Algebraic.Fusion.Arithmetic.Progress.Separated.isSeparated_singleton {Variable : Type u_1} (exponent : Exponent Variable) :
        IsSeparated {exponent} {exponent}

        A singleton support is separated.

        noncomputable def Algebraic.Fusion.Arithmetic.Progress.Separated.polynomialValue {variableCount : ℕ} (polynomial : MvPolynomial (Fin variableCount) ℕ) :

        Separation number of a natural-coefficient polynomial. Coefficients are irrelevant; only exact support matters.

        Equations
        Instances For
          @[simp]
          theorem Algebraic.Fusion.Arithmetic.Progress.Separated.polynomialValue_X {variableCount : ℕ} (coordinate : Fin variableCount) :
          structure Algebraic.Fusion.Arithmetic.Progress.Separated.Pullback {SourceVar : Type u_1} {TargetVar : Type u_2} (source : Finset (Exponent SourceVar)) (target : Finset (Exponent TargetVar)) (loss : ℕ) :

          A certificate that separated sets can be pulled back across one support transformation with a bounded loss in cardinality.

          Instances For
            theorem Algebraic.Fusion.Arithmetic.Progress.Separated.Pullback.separationNumber_le {SourceVar : Type u_1} {TargetVar : Type u_2} {source : Finset (Exponent SourceVar)} {target : Finset (Exponent TargetVar)} {loss : ℕ} (pullback : Pullback source target loss) :

            A pullback certificate implies the corresponding separation-number inequality.

            Exact support pullbacks required for the two reverse substitutions. This is the polynomial-specific seam in Schnorr's argument; the circuit telescope does not depend on how these certificates are established.

            Instances For

              The separated-monomial measure obtained from exact enrichment pullbacks. Addition costs one and multiplication is free.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Schnorr's separation number lower-bounds the number of additions once the two exact support-pullback lemmas have been supplied.

                theorem Algebraic.Fusion.Arithmetic.Progress.Separated.circuit_addition_lowerBound_of_isSeparated {n : ℕ} (pullbacks : SubstitutionPullbacks) (target : MvPolynomial (Fin n) ℕ) (targetSeparated : IsSeparated target.support target.support) (circuit : Circuit (Arithmetic.signature PEmpty.{u_1 + 1}) n 1) (constructs : { inputCount := n, inputs := MvPolynomial.X, target := target }.Constructs circuit (polynomialInterpretation (Fin n))) :

                If the entire target support is separated, all but one target monomials must be paid for by additions.