A total clocked full-register sampling check #
The program reads (level, role, n, Q, R, s, left, right) with binary
parameters. Both answers contain Q-bit registers; only the Introspect
register must vanish past s. The Sample seed is freely supported on the
full register. The actual source marginal query receives its first s bits
at index 2^n. A timeout or malformed source result rejects.
@[reducible, inline]
Equations
Instances For
Instances For
Equations
Instances For
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[instance_reducible]
noncomputable instance
MIPRE.Introspection.AuxiliaryProgram.instDecidableSamplingReady
(x : SamplingInput)
:
Equations
- One or more equations did not get rendered due to their size.
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
@[instance_reducible]
noncomputable instance
MIPRE.Introspection.AuxiliaryProgram.instDecidableSamplingRawReady
(x : Cost.Data)
:
Equations
- One or more equations did not get rendered due to their size.
The marginal query contains the original seed length, not the padded length.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.AuxiliaryProgram.samplingCall_apply
(x : SamplingInput)
:
samplingCall.toFun x = Cost.encode
(SourceCompiler.inputIndex.toFun x.2.2, CL.Sampler.Query.marginal (Player.ofBool x.2.1) x.1
(List.take (SourceCompiler.inputDim.toFun x.2.2) (SourceCompiler.rightParts.toFun x.2.2).1))
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.AuxiliaryProgram.samplingExpected_apply
(x : SamplingInput)
:
samplingExpected.toFun x = (Cost.encode true).cons
(Cost.encode (List.take (SourceCompiler.inputDim.toFun x.2.2) (SourceCompiler.leftParts.toFun x.2.2).1))
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.AuxiliaryProgram.samplingPost_apply
(x r : Cost.Data)
:
samplingPost.toFun (x, r) = Cost.encode (decide (r = samplingExpected.toFun (readSamplingInput.toFun x)))
noncomputable def
MIPRE.Introspection.AuxiliaryProgram.samplingProg
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(S : Cost.Prog)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
MIPRE.Introspection.AuxiliaryProgram.samplingResult
(k lam : ℕ)
(S : Cost.Prog)
(x : SamplingInput)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
MIPRE.Introspection.AuxiliaryProgram.samplingProg_run
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(S : Cost.Prog)
(x : Cost.Data)
:
∃ (t : ℕ),
(samplingProg k lam U S).Runs x
(if SamplingRawReady x then
Cost.encode
(decide
(samplingResult k lam S (readSamplingInput.toFun x) = samplingExpected.toFun (readSamplingInput.toFun x)))
else Cost.encode false)
t
theorem
MIPRE.Introspection.AuxiliaryProgram.samplingProg_accepts_iff
(k lam : ℕ)
(U : Cost.ClockedUniversalMachine)
(S : Cost.Prog)
(x : Cost.Data)
:
(∃ (t : ℕ), (samplingProg k lam U S).Runs x (Cost.encode true) t) ↔ SamplingRawReady x ∧ samplingResult k lam S (readSamplingInput.toFun x) = samplingExpected.toFun (readSamplingInput.toFun x)