A zero-dimensional sampler at the exceptional index #
The branch inspects the index in place. At zero it returns the empty answer without copying the query or reading the underlying sampler description.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.ZeroIndexSampler.emptySampler_timeBound
(ℓ n : ℕ)
:
(emptySampler ℓ).TimeBoundAt n 1 0
Equations
Instances For
theorem
MIPRE.Introspection.ZeroIndexSampler.wrap_closed
{p : Cost.Prog}
(hp : Cost.Prog.WellScoped 1 p)
:
Cost.Prog.WellScoped 1 (wrap p)
theorem
MIPRE.Introspection.ZeroIndexSampler.wrap_zero
(p : Cost.Prog)
(d : Cost.Data)
:
(wrap p).Runs ((Cost.encode 0).cons d) Cost.Data.nil 3
theorem
MIPRE.Introspection.ZeroIndexSampler.wrap_positive
{p : Cost.Prog}
(hp : Cost.Prog.WellScoped 1 p)
{n : ℕ}
(hn : n ≠ 0)
(d r : Cost.Data)
(t : ℕ)
(hr : p.Runs ((Cost.encode n).cons d) r t)
:
(wrap p).Runs ((Cost.encode n).cons d) r (((Cost.encode n).cons d).size + t + 4)
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
theorem
MIPRE.Introspection.ZeroIndexSampler.wrap_chosen
{ℓ : ℕ}
(S : CL.Sampler ℓ)
(n : ℕ)
(d r : Cost.Data)
(t : ℕ)
(h : (chosen S n).prog.Runs ((Cost.encode n).cons d) r t)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
MIPRE.Introspection.ZeroIndexSampler.atZero_dim_pos
{ℓ n : ℕ}
(S : CL.Sampler ℓ)
(hn : n ≠ 0)
:
theorem
MIPRE.Introspection.ZeroIndexSampler.atZero_cl_pos
{ℓ n : ℕ}
(S : CL.Sampler ℓ)
(hn : n ≠ 0)
(w : Player)
:
theorem
MIPRE.Introspection.ZeroIndexSampler.atZero_timeBound_zero
{ℓ : ℕ}
(S : CL.Sampler ℓ)
:
(atZero S).TimeBoundAt 0 1 2
theorem
MIPRE.Introspection.ZeroIndexSampler.atZero_timeBound_pos
{ℓ n B k : ℕ}
(S : CL.Sampler ℓ)
(hn : n ≠ 0)
(h : S.TimeBoundAt n B k)
:
(atZero S).TimeBoundAt n (B + Cost.esize n + 5) (max k 1)
The positive branch only copies the original input once before running the sampler.