The executable typed introspection sampler router #
Dimension queries and Pauli queries call the supplied sampler once. Auxiliary queries write the zero vector or the appropriate factor indicator, using the length of the supplied vector. This total router needs no decoding of the ambient dimension and does not depend on the number of hiding types.
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
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.SamplerProgram.route_dimension
{P : Type u_1}
[Cost.SizedEncoding P]
(n : ℕ)
:
theorem
MIPRE.Introspection.SamplerProgram.route_pauli
{P : Type u_1}
[Cost.SizedEncoding P]
(ℓ n : ℕ)
(p : P)
(q : CL.Sampler.Query)
:
theorem
MIPRE.Introspection.SamplerProgram.route_aux
{P : Type u_1}
[Cost.SizedEncoding P]
{ℓ : ℕ}
(n : ℕ)
(t : AuxType ℓ)
(role : Bool)
(q : CL.Sampler.Query)
:
Instances For
noncomputable def
MIPRE.Introspection.SamplerProgram.prog
{P : Type u_1}
[Cost.SizedEncoding P]
(S : CL.TypedSampler 3 P)
:
Equations
Instances For
theorem
MIPRE.Introspection.SamplerProgram.prog_closed
{P : Type u_1}
[Cost.SizedEncoding P]
(S : CL.TypedSampler 3 P)
:
Cost.Prog.WellScoped 1 (prog S)
theorem
MIPRE.Introspection.SamplerProgram.prog_halts
{P : Type u_1}
[Cost.SizedEncoding P]
(S : CL.TypedSampler 3 P)
(n : ℕ)
(d : Cost.Data)
:
Cost.Halts (prog S) ((Cost.encode n).cons d)
theorem
MIPRE.Introspection.SamplerProgram.prog_run_call
{P : Type u_1}
[Cost.SizedEncoding P]
(S : CL.TypedSampler 3 P)
(x a r : Cost.Data)
(time : ℕ)
(h : route.toFun x = CL.Detyping.Program.callResult a Cost.Data.nil)
(hr : S.prog.Runs a r time)
:
theorem
MIPRE.Introspection.SamplerProgram.prog_run_direct
{P : Type u_1}
[Cost.SizedEncoding P]
(S : CL.TypedSampler 3 P)
(x : Cost.Data)
(out : Cost.BitStr)
(h : route.toFun x = CL.Detyping.Program.directResult out)
:
∃ (t : ℕ), (prog S).Runs x (Cost.encode out) t