Documentation

MIPRE.Foundations.LowDegree.BinaryQuotientComponents

Bounded component separation in binary polynomial quotients #

Refine the unit by a supplied family of Frobenius-fixed vectors. The component count is clipped to the quotient dimension on every iteration; the algebraic orthogonality invariant proves that clipping is inert on valid inputs.

Canonical encoding is injective for every monic quotient.

The zero row agrees with the canonical zero encoding.

The raw zero test faithfully recognizes quotient zero on canonical encodings.

Raw XOR agrees exactly with canonical encoding of quotient addition.

theorem MIPRE.LowDegree.BinaryQuotient.mulReduce_toBits (f : Polynomial (ZMod 2)) (hf : f.Monic) (p : Cost.BitStr) (hp : List.length p = f.natDegree) (hpoly : f = polyOfBits (p ++ [true])) (x y : AdjoinRoot f) :
BinaryPolynomial.mulReduce p (toBits f hf x) (toBits f hf y) = toBits f hf (x * y)

Raw modular multiplication agrees with canonical quotient multiplication.

One quotient split uses modular multiplication, XOR, and a zero test.

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

    Splitting never increases any component's coefficient width.

    theorem MIPRE.LowDegree.BinaryQuotient.splitBits_encoding (f : Polynomial (ZMod 2)) (hf : f.Monic) (p : Cost.BitStr) (hp : List.length p = f.natDegree) (hpoly : f = polyOfBits (p ++ [true])) (e b : AdjoinRoot f) :
    splitBits p (toBits f hf e) (toBits f hf b) = List.map (toBits f hf) (splitComponent e b)

    The encoded split is exactly the abstract idempotent split.

    Refine the component list and retain at most the quotient dimension.

    Equations
    Instances For

      The quotient dimension is the degree of the monic modulus.

      theorem MIPRE.LowDegree.BinaryQuotient.splitBitsCapped_encoding (f : Polynomial (ZMod 2)) (hf : f.Monic) (p : Cost.BitStr) (hp : List.length p = f.natDegree) (hpoly : f = polyOfBits (p ++ [true])) (l : List (AdjoinRoot f)) (hl : ComponentFamily l) (b : AdjoinRoot f) (hb : b * b = b) :

      The list cap is inert on a genuine family of orthogonal quotient idempotents.

      @[reducible, inline]

      Quotient modulus together with its current component list.

      Equations
      Instances For

        Refined lists retain the original coefficient-width bound.

        Every partial refinement has the original maximum component width.

        The cap bounds the number of components even for malformed inputs.

        A single raw component split as a polynomial-time ambient program.

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

          Refine a raw list with one generator and apply the dimension cap.

          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

              Uniform polynomial-time quotient component separation.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem MIPRE.LowDegree.BinaryQuotient.fold_componentStep_encoding (f : Polynomial (ZMod 2)) (hf : f.Monic) (p : Cost.BitStr) (hp : List.length p = f.natDegree) (hpoly : f = polyOfBits (p ++ [true])) (bs l : List (AdjoinRoot f)) (hl : ComponentFamily l) (hb : ∀ b ∈ bs, b * b = b) :

                The complete encoded refinement agrees with abstract component refinement.

                The Frobenius-fixed family in the program's specified deterministic order.

                Equations
                Instances For

                  The abstract component family produced by separating all fixed-space generators.

                  Equations
                  Instances For

                    Every generator in the computed fixed-space family is idempotent.

                    All quotient idempotents lie in the span of the computed family.

                    The computed abstract components are complete nonzero orthogonal idempotents.

                    Separation of the complete fixed space makes every returned component primitive.

                    Fixed-width one is the canonical encoding of the quotient unit.

                    Compute the primitive component encodings from the monic modulus alone.

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

                      The uniform program computes precisely the abstract primitive components.