Documentation

MIPRE.Foundations.LowDegree.BinaryQuotientPolynomial

Polynomial arithmetic with supplied binary-quotient coefficient vectors #

theorem MIPRE.LowDegree.BinaryQuotient.addCoeffLists_width (as bs : List Cost.BitStr) (n : ℕ) (ha : ∀ a ∈ as, List.length a = n) (hb : ∀ b ∈ bs, List.length b = n) (c : Cost.BitStr) :
c ∈ addCoeffLists as bs → List.length c = n

Addition keeps all correctly sized coefficients correctly sized.

theorem MIPRE.LowDegree.BinaryQuotient.addCoeffLists_width_le (as bs : List Cost.BitStr) (n : ℕ) (ha : ∀ a ∈ as, List.length a ≤ n) (hb : ∀ b ∈ bs, List.length b ≤ n) (c : Cost.BitStr) :

Addition cannot exceed a common bound on the input coefficient widths.

theorem MIPRE.LowDegree.BinaryQuotient.coeffPolynomial_addCoeffLists {R : Type u_1} [CommRing R] [CharP R 2] (z : R) (as bs : List Cost.BitStr) (n : ℕ) (ha : ∀ a ∈ as, List.length a = n) (hb : ∀ b ∈ bs, List.length b = n) :

Coefficient-list addition implements addition of the interpreted polynomials.

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

    One globally polynomial-time coefficient addition program.

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

      Horner multiplication of two polynomial coefficient lists.

      Equations
      Instances For

        Each multiplication output has at most the sum of the input coefficient counts.

        Multiplication preserves valid quotient coefficient widths.

        Scalar multiplication has the expected polynomial interpretation.

        Horner multiplication agrees with multiplication of the interpreted polynomials.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem MIPRE.LowDegree.BinaryQuotient.fold_mulStep_width (pre : List Cost.BitStr) (p : Cost.BitStr) (bs cs : List Cost.BitStr) (N : ℕ) (hp : List.length p ≤ N) (ha : ∀ a ∈ pre, List.length a ≤ N) (hc : ∀ c ∈ cs, List.length c ≤ N) (c : Cost.BitStr) :
          c ∈ (List.foldl mulStep (p, bs, cs) pre).2.2 → List.length c ≤ N
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For

            A globally polynomial-time product of two supplied-quotient coefficient lists.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem MIPRE.LowDegree.BinaryQuotient.mulCoeffLists_width_le (p : Cost.BitStr) (as bs : List Cost.BitStr) (N : ℕ) (hp : List.length p ≤ N) (ha : ∀ a ∈ as, List.length a ≤ N) (c : Cost.BitStr) :
              c ∈ mulCoeffLists p as bs → List.length c ≤ N

              A common width bound for the left coefficients and modulus bounds every product coefficient.