Documentation

MIPRE.Foundations.LowDegree.BinaryQuotientOrbit

Polynomial products with coefficients in an explicit binary quotient #

Multiply by a linear factor, with an extra constant coefficient carried in.

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

    The carried linear multiplication preserves correct coefficient widths.

    Linear multiplication has exactly the expected polynomial semantics.

    Multiplication by a linear factor is correct in any represented binary algebra.

    Scalar multiplication of all coefficient vectors by a supplied quotient element.

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

      A uniform linear-factor multiplication program on arbitrary nested lists.

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

        Polynomial-time multiplication by one encoded monic linear factor.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem MIPRE.LowDegree.BinaryQuotient.linearMulCarry_width_le (p a carry : Cost.BitStr) (cs : List Cost.BitStr) (N : ℕ) (hc : List.length carry ≤ N) (hs : ∀ c ∈ cs, List.length c ≤ N) (c : Cost.BitStr) :
          c ∈ linearMulCarry p a carry cs → List.length c ≤ N

          Malformed coefficient arithmetic cannot increase a retained coefficient width.

          @[reducible, inline]

          Modulus and accumulated coefficient list for a product of linear factors.

          Equations
          Instances For

            Multiply the accumulated polynomial by the next supplied linear factor.

            Equations
            Instances For

              The product loop retains its modulus and adds one coefficient per iteration.

              Every coefficient width remains bounded independently of the number of factors.

              Valid fixed-width coefficients remain valid through the product loop.

              The accumulated coefficient polynomial is the product of all supplied factors.

              The encoded product has the expected polynomial semantics.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MIPRE.LowDegree.BinaryQuotient.esize_coefficients_le (cs : List Cost.BitStr) (N : ℕ) (hs : ∀ c ∈ cs, List.length c ≤ N) :
                Cost.esize cs ≤ cs.length * (4 * N + 2) + 1

                Nested coefficient-list encoded size is polynomial in count and width.

                One globally polynomial-time program for a product of encoded linear factors.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  @[reducible, inline]

                  State for successive Frobenius powers, retaining the modulus.

                  Equations
                  Instances For

                    One repeated-squaring step in a supplied binary quotient.

                    Equations
                    Instances For

                      Squaring cannot increase the width even on malformed inputs.

                      Repeated squaring preserves the fixed-width representation.

                      Repeated squaring computes the corresponding Frobenius power.

                      @[simp]

                      The orbit list has exactly its unary budget of elements.

                      Every orbit element has the supplied modulus width.

                      The orbit encodes exactly the specified list of Frobenius powers.

                      A polynomial-time orbit printer, valid on every raw input.

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

                        A uniform polynomial-time Frobenius-orbit product program.

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

                          The printed product equals the product of the Frobenius conjugate linear factors.

                          Every printed coefficient has the prescribed quotient width.

                          @[simp]

                          The orbit product has exactly one more coefficient than its orbit length.