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.
Equations
Instances For
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)
:
Equations
- MIPRE.Introspection.SeedProgram.selector E j hj a = ⟨↑(MIPRE.Introspection.SeedProgram.fieldIndex E a) / 2 ^ (k - j), ⋯⟩
Instances For
theorem
MIPRE.Introspection.SeedProgram.selector_eq_bits
{k : ℕ}
(E : SAT.BinField k)
(j : ℕ)
(hj : j ≤ k)
(a : E.carrier)
:
The exact connection between the equal-block selector and its bit scan.
noncomputable def
MIPRE.Introspection.SeedProgram.seedCoordinates
{k : ℕ}
(E : SAT.BinField k)
(j : ℕ)
(hj : j ≤ k)
:
Equations
Instances For
theorem
MIPRE.Introspection.SeedProgram.seedCoordinates_fst
{k : ℕ}
(E : SAT.BinField k)
(j : ℕ)
(hj : j ≤ k)
(a : E.carrier)
:
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
theorem
MIPRE.Introspection.SeedProgram.selectorProg_correct
{k : ℕ}
(E : SAT.BinField k)
(j : ℕ)
(hj : j ≤ k)
(a : E.carrier)
:
theorem
MIPRE.Introspection.SeedProgram.selectorProg_runs
(x : Cost.Unary × Cost.Unary × Cost.BitStr)
:
∃ r ≤ Polynomial.eval (Cost.esize x) selectorProg.timeBound,
selectorProg.code.Runs (Cost.encode x) (Cost.encode (selectorProg.toFun x)) r