OAI/Combinatorics/LowSpaceSubsetSum/Counting/SamplerExecution.lean
36 declarations, 0 contain sorry, 0 declared as axioms
Counter-carrying execution of finite sampler compositions
The value fields agree with the bounded samplers. A dependent bind does not execute its second sampler after first-stage exhaustion. Counts are retained on every branch, including failure; ideal backup values do not add candidate reads to the bounded execution.
- structure
OAI.LowSpaceSubsetSum.SamplerExecution.Traceline 23 - structure
OAI.LowSpaceSubsetSum.SamplerExecution.Executionline 28 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.Execution.ideal_eq_of_someline 32 - def
OAI.LowSpaceSubsetSum.SamplerExecution.Execution.Boundedline 40 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.Execution.Bounded.monoline 44 - def
OAI.LowSpaceSubsetSum.SamplerExecution.castline 49 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.cast_boundedline 52 - def
OAI.LowSpaceSubsetSum.SamplerExecution.pureline 60 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.pure_boundedline 64 - def
OAI.LowSpaceSubsetSum.SamplerExecution.mapline 66 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.map_boundedline 71 - def
OAI.LowSpaceSubsetSum.SamplerExecution.bindline 74 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.bind_run_someline 92Source documentation
On acceptance, the dependent second stage is exactly the stage indexed by the value actually returned by the first stage. The cast changes only its type, so no ideal backup value is needed to choose a runtime branch.
theorem bind_run_some {S : SamplerCoupling α} (X : Execution S) (B : α → Type) [∀ a, Fintype (B a)] (T : ∀ a, SamplerCoupling (B a)) (Y : ∀ a, Execution (T a)) (s : S.Seed) (a : α) (h : (X.run s).value = some a) (t : (T (S.ideal s)).Seed) : let ha := X.ideal_eq_of_some s a h …Mentions: OAI.LowSpaceSubsetSum.SamplerCoupling, OAI.LowSpaceSubsetSum.SamplerExecution.Execution
- theorem
OAI.LowSpaceSubsetSum.SamplerExecution.bind_boundedline 106 - def
OAI.LowSpaceSubsetSum.SamplerExecution.prodline 119 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.prod_boundedline 123 - def
OAI.LowSpaceSubsetSum.SamplerExecution.piline 129 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.pi_boundedline 137 - def
OAI.LowSpaceSubsetSum.SamplerExecution.certifyline 156 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.certify_firstAcceptline 163 - def
OAI.LowSpaceSubsetSum.SamplerExecution.testline 172 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.test_boundedline 190 - def
OAI.LowSpaceSubsetSum.SamplerExecution.rangeline 198 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.range_boundedline 205 - def
OAI.LowSpaceSubsetSum.SamplerExecution.primeline 216 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.prime_boundedline 223 - def
OAI.LowSpaceSubsetSum.SamplerExecution.finline 234 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.fin_boundedline 239 - def
OAI.LowSpaceSubsetSum.SamplerExecution.permutationline 246 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.permutation_boundedline 250 - def
OAI.LowSpaceSubsetSum.SamplerExecution.finiteChoiceline 260 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.finiteChoice_boundedline 264 - def
OAI.LowSpaceSubsetSum.SamplerExecution.finitePermutationline 267 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.finitePermutation_boundedline 271 - def
OAI.LowSpaceSubsetSum.SamplerExecution.coloringline 275 - theorem
OAI.LowSpaceSubsetSum.SamplerExecution.coloring_boundedline 280