Documentation

AlgebraicComplexity.Formulas

inductive AlgebraicComplexity.Formulas.Formula (α : Type u) (Idx : Type v) :
Type (max u v)
Instances For
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        instance AlgebraicComplexity.Formulas.zero {α : Type u} {Idx : Type v} [Ring α] :
        Zero (Formula α Idx)
        Equations
        instance AlgebraicComplexity.Formulas.one {α : Type u} {Idx : Type v} [Ring α] :
        One (Formula α Idx)
        Equations
        instance AlgebraicComplexity.Formulas.sub {α : Type u} {Idx : Type v} :
        Sub (Formula α Idx)
        Equations
        theorem AlgebraicComplexity.Formulas.size_zero_const_or_var {α : Type u} {Idx : Type v} (f : Formula α Idx) :
        size f = 0(∃ (x : Idx), f = Formula.CVar x) ∃ (c : α), f = C[c]
        instance AlgebraicComplexity.Formulas.instCoeFormula {α : Type u} {Idx₁ : Type u_1} {Idx₂ : Type u_2} [Coe Idx₁ Idx₂] :
        Coe (Formula α Idx₁) (Formula α Idx₂)

        This is the Coe typeclass instance for the above coercion. T

        Equations
        theorem AlgebraicComplexity.Formulas.coeFormula_composes_rename {α : Type u} {Idx₁ : Type u_1} {Idx₂ : Type u_2} [CommRing α] [instCoe : Coe Idx₁ Idx₂] (f : Formula α Idx₁) (p : MvPolynomial Idx₁ α) (heval : evalToPolynomial f = p) :
        def AlgebraicComplexity.Formulas.FormulaComplexityUpperBound {α : Type u} {ID : Type u_1} [CommRing α] (p : MvPolynomial ID α) (size_bound : ) :

        The complexity of a polynomial p, denoted L p is the size of the smallest formula that evaluates to it

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def AlgebraicComplexity.Formulas.FormulaComplexityLowerBound {α : Type u} {ID : Type u_1} [CommRing α] (p : MvPolynomial ID α) (size_bound : ) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem AlgebraicComplexity.Formulas.complexity_UB_monomial {α : Type u} {ID : Type u_1} [CommRing α] [Nontrivial α] (deg : ) :
            have my_monomial := fun (x : ID) => MvPolynomial.X x ^ deg; ∀ (x : ID), FormulaComplexityUpperBound (my_monomial x) (2 * deg + 1)