Documentation

MIPRE.Foundations.Introspection.SeedSelectorProg

The executable seed enumeration for Pauli sampling #

Field elements are numbered by their canonical little-endian bit strings. For m = 2^j and a field of size 2^k, the selector keeps the highest j bits. This is the paper's equal-block selector for this explicit enumeration; it does not identify the enumeration with Fintype.equivFin.

A genuine field enumeration, with forward direction given by canonical binary rank. Only its inverse uses finite choice.

Equations
Instances For
    def MIPRE.Introspection.SeedProgram.selector {k : ℕ} (E : SAT.BinField k) (j : ℕ) (hj : j ≤ k) (a : E.carrier) :
    Fin (2 ^ j)
    Equations
    Instances For
      theorem MIPRE.Introspection.SeedProgram.selector_eq_bits {k : ℕ} (E : SAT.BinField k) (j : ℕ) (hj : j ≤ k) (a : E.carrier) :
      ↑(selector E j hj a) = Cost.bitsVal (List.drop (k - j) (E.toBits a))

      The exact connection between the equal-block selector and its bit scan.

      theorem MIPRE.Introspection.SeedProgram.seedCoordinates_fst {k : ℕ} (E : SAT.BinField k) (j : ℕ) (hj : j ≤ k) (a : E.carrier) :
      ((seedCoordinates E j hj) a).1 = selector E j hj a
      theorem MIPRE.Introspection.SeedProgram.card_selector_fiber {k : ℕ} (E : SAT.BinField k) (j : ℕ) (hj : j ≤ k) (i : Fin (2 ^ j)) :
      Fintype.card { a : E.carrier // selector E j hj a = i } = 2 ^ (k - j)

      Every direction index occurs exactly 2^(k-j) times.

      k, j, and the raw seed are supplied explicitly. The computation never constructs a unary representation of the field size.

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