Documentation

HexPolyFp.Enumeration

All coefficient lists of length d, with entries ranging over ZMod64 p.

Equations
Instances For
    @[simp]

    There is exactly one coefficient list of length 0: the empty list. Base case of coeffLists.

    @[simp]
    theorem Hex.FpPoly.Enumeration.coeffLists_succ {p : Nat} [ZMod64.Bounds p] (d : Nat) :
    coeffLists p (d + 1) = List.flatMap (fun (c : ZMod64 p) => List.map (fun (coeffs : List (ZMod64 p)) => c :: coeffs) (coeffLists p d)) (ZMod64.values p)

    Coefficient lists of length d + 1 prepend each ZMod64 p value to every length-d list. Recursive step of coeffLists.

    theorem Hex.FpPoly.Enumeration.length_of_mem_coeffLists {p : Nat} [ZMod64.Bounds p] {d : Nat} {coeffs : List (ZMod64 p)} (hmem : coeffs coeffLists p d) :
    coeffs.length = d

    Every list produced by coeffLists p d has length exactly d.

    theorem Hex.FpPoly.Enumeration.mem_coeffLists_iff {p : Nat} [ZMod64.Bounds p] {d : Nat} {coeffs : List (ZMod64 p)} :
    coeffs coeffLists p d coeffs.length = d ∀ (c : ZMod64 p), c coeffsc ZMod64.values p

    Membership in coeffLists is exactly fixed length plus residue membership.

    @[simp]

    The coefficient-list enumeration has exactly p ^ d entries.

    The fixed-length coefficient-list enumeration has no duplicate lists.

    Turn a fixed coefficient list into an FpPoly.

    Equations
    Instances For

      All FpPoly p values whose degree is below d, represented by length-d coefficient lists.

      Equations
      Instances For

        The polynomial built from its first d coefficients is the original polynomial when the original degree is below d.

        Every polynomial with degree below d appears in the bounded-degree list.

        Every polynomial in the bounded-degree enumeration has degree below the bound, provided the bound is positive.

        Membership in the bounded-degree enumeration is exactly degree below the positive bound.

        @[simp]

        Successor-bound membership in the bounded-degree enumeration.

        The bounded-degree polynomial enumeration has no duplicate polynomial values.

        @[simp]

        There are exactly p ^ d entries in the bounded-degree polynomial enumeration.