The program of the repeated sampler #
The sampler of ComputeParrepVerifier (thm:parallel-repetition;
planning/repetition-verifier.md, R3(b)) as a program of the ambient model. It is one fixed
program repSampCore univ — univ a universal machine — run through the s-m-n construction
hardcode on the datum (S̄, λ, τ): its input is then ((S̄, λ, τ), (n, q)), with S̄ the
input sampler's program, λ, τ in binary and q a query. It
- asks
S̄for its dimensions = s(n), throughuniv; - on the dimension query (
kind = 0, i.e.nil) runsdimProg: the numeral2^m swithm = τ (|λ| + |n|), written asmzero bits in front of the bits ofs(powBody); - on any other query
(kind, w, j, u, y)runslockProg:sin unary, then the block loopmapBodyoveruandyin blocks ofs, and the concatenation of the answers.
Every input of the form ((S̄, λ, τ), (n, d)) halts: the missing components of a malformed
d are nil, on which each elim stops with nil. The costs are explicit throughout, for
the time bound of the repeated verifier (MIPRE.Foundations.Repeat.SamplerCost).
The dimension branch #
On (s, λ, n, τ) — s in binary and nonzero, λ, n bit lists, τ in binary — the bits
of 2^{τ (|λ| + |n|)} s; nil when s is nil.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cost of dimProg with exponent tau, lists of lengths L and sizes Λ + N, and a
numeral of size Ssz.
Equations
- MIPRE.Cost.Prog.dimCost tau L Λ N Ssz = MIPRE.Cost.Prog.toUnaryCost tau + MIPRE.Cost.esize tau + MIPRE.Cost.Prog.powCost tau L (Λ + N + Ssz) + 2 * tau + Λ + N + Ssz + 20
Instances For
The block branch #
On (S̄, n, s, kind, w, j, u, y) — s in binary — the concatenation of the answers of
S̄ on the blocks of u and y, through univ; nil when s = 0.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cost of lockProg at dimension s, context pieces of total size C, vectors of
sizes U, Y, and a bound Z on the sizes in the loop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
lockProg on a nonzero dimension: the block loop, then the reversal.
The core program #
The core of the repeated sampler, before the s-m-n construction: on
((S̄, λ, τ), (n, q)), the dimension of S̄ at n through univ, then the dispatch.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The hardcoded datum (S̄, λ, τ).
Equations
- MIPRE.Cost.Prog.sampParams sD lD tD = sD.cons (lD.cons tD)
Instances For
The size of the encoded dimension query.
The environment of the dispatch: the dimension sz, the dimension query, n, the query
d, λ, τ, S̄, and the input's spine.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The common prefix of the core: the input taken apart and the dimension query answered, then the dispatch.
The dispatch on an empty query: nil.