Documentation

MIPRE.Foundations.SAT.QuotientField

Binary fields represented in the polynomial power basis #

Unlike an arbitrary basis of a Galois field, the power basis of F₂[X]/(f) connects directly to the uniform coefficient-list programs. This is the field representation needed for the classical PCP's arithmetic. A self-dual normal representation and its change-of-basis algorithm remain separate constructions.

Equations
Instances For
    noncomputable def MIPRE.SAT.quotientBinField (f : Polynomial (ZMod 2)) (hf : f.Monic) [Fact (Irreducible f)] :

    A binary field with coefficient bits in the power basis of a monic irreducible polynomial. The basis is specified, rather than chosen by abstract finite-field existence.

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

      Every correctly sized bit string is the canonical representation of its decoded field element. In particular, raw equality tests are faithful.

      Correct-width coefficient decoding is evaluation at the quotient's root.

      Equality of correctly sized coefficient vectors is equivalent to equality of their evaluations at the irreducible quotient's root.

      A coefficient vector defining the lower part of the modulus satisfies the root equation consumed by the arithmetic programs.

      The uniform XOR program implements field addition on correctly sized inputs.

      The uniform modular-multiplication program implements field multiplication.

      Shoup's concrete quotient model, before transporting the degree equality.

      Equations
      Instances For
        noncomputable def MIPRE.SAT.shoupBinField (k : ℕ) (hk : 1 ≤ k) :

        A field of size 2^k in the polynomial basis supplied by Shoup's algorithm.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          instance MIPRE.SAT.shoupBinField_charP (k : ℕ) (hk : 1 ≤ k) :

          The degree metadata does not change the quotient carrier or its arithmetic.

          theorem MIPRE.SAT.shoupBinField_toBits_ofBits (k : ℕ) (hk : 1 ≤ k) (l : Cost.BitStr) (hl : List.length l = k) :

          Canonical decoding is unchanged by the explicit degree bookkeeping.

          noncomputable def MIPRE.SAT.shoupAdmissibleField (k : ℕ) (hk : Odd k) :

          The admissible field family with exactly the domain required by PcpDecider.fld.

          Equations
          Instances For
            noncomputable def MIPRE.SAT.shoupRoot (k : ℕ) (hk : 1 ≤ k) :

            The distinguished root in the explicit Shoup field carrier.

            Equations
            Instances For

              A canonical Shoup coefficient vector evaluates to its original field element.

              Equality at the Shoup root is faithful on the verifier's fixed-width vectors.

              Compute the modulus from unary k, then multiply the two coefficient vectors. This is one uniform ambient program, with a polynomial bound in its input size.

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

                The uniform multiplication program runs in time polynomial in k on k-bit operands, including construction of the modulus.

                Correctness of the uniform field multiplication program on k-bit operands.