The repeated sampler #
The sampler of ComputeParrepVerifier (thm:parallel-repetition) as a CL.Sampler: on an
ℓ-level sampler S with dimension s(n) and parameters (λ, τ), the sampler of dimension
k(n) s(n), k(n) = 2^{τ(|λ| + |n|)} (MIPRE.Repetition.reps), whose CL functions are the
k(n)-fold direct sums CLFun.famSum of those of S, and whose program is the fixed core
Prog.repSampCore of MIPRE.Foundations.Repeat.Sampler, run through the self-interpreter
selfUniversal and the s-m-n construction hardcode on (S.prog, λ, τ)
(planning/repetition-verifier.md, R3(b)).
The correctness clauses reduce to those of S on the blocks of the query (Bits.lean), the
halting clause to the case analysis repSampCore_runs_any on the shape of the query, which
also carries the explicit cost used by the time bound (MIPRE.Foundations.Repeat.SamplerCost).
Halting on every query #
The block queries the core asks S̄ on the query datum d, at dimension s: for a query
(kind, w, j, u, y) of nonzero kind and s > 0, the queries (kind, w, j, blockU, blockY) on
the pairs of blocks; none otherwise.
Equations
- One or more equations did not get rendered due to their size.
- MIPRE.Repeat.blockQueries s x✝ = []
Instances For
The dimension branch on (s, λ, n, τ), s in binary: the numeral 2^{τ(|λ| + |n|)} s.
The cost of the core on a query of size D at index n, with the dimension query
answered in time td and each block query in time Tu: the sum of the branches' bounds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The core halts on every query, within anyCost, given the dimension of S̄ at n
and the answers of S̄ on the block queries.
The sampler #
The program of the repeated sampler on (S̄, λ, τ): the core, hardcoded.
Equations
- MIPRE.Repeat.repSamplerProg sp lam tau = MIPRE.Cost.hardcode MIPRE.Cost.selfUniversal.univ.repSampCore (MIPRE.Cost.encode (sp, lam, tau))
Instances For
The dimension query to S, through the universal machine.
Any block query to S, through the universal machine, halts with S's own result.
The repeated sampler halts on every input.
The universal machine on a block query, from S's answer.
The dimension query.
lockProg on well-formed blocks: with g the answer of S̄ on a pair of blocks, the
concatenation of the answers on the k pairs.
The run of the repeated sampler on a query of nonzero kind, from a run of lockProg.
The marginal query.
The blocks of a string in the image of a truncation of the direct sum are in the images of the truncations of the summands.
The linear query.
The factor query.
The repeated sampler (ComputeParrepVerifier, sampler half): k(n) independent
copies of S, k(n) = 2^{τ(|λ| + |n|)}.
Equations
- One or more equations did not get rendered due to their size.