The repeated answer-length calculator #
The answer-length calculator of the repeated tailored verifier (issue #280, P2b), on
(n, x, κ), with the input sampler S̄ and calculator L̄ and the parameters (λ, τ) stored:
- ask
S̄for the dimensions = s(n), and put it in unary; - compute
k = k(n) = Repetition.reps λ τ nin unary (dimProgon1, then to unary); - cut
xinto itskblocks ofsbits, and runL̄on(n, xᵢ, κ')for every block and both kindsκ'; - output the concatenation of the outputs at the kind
κ, whose length is the sum of the coordinates' lengths.
It runs L̄ on both kinds so that it halts only where every coordinate has both its lengths
(RepSpec.good_of_len). Every stage between the calls is a PolyTimeFun; the calls go through
Calls.mapCall.
The stages #
The stored data of the calculator: (S̄, L̄, λ, τ).
Equations
Instances For
The input of the core: the stored data and (n, d).
Instances For
The dimension query (n, dimension).
Equations
Instances For
Stage 1: the call to S̄ on the dimension query.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Stage 3: the input of dimProg computing k = 2^{τ(|λ| + |n|)} · 1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The query to L̄ at a block and a kind: (n, xᵢ, κ).
Equations
Instances For
The queries to L̄: every block at false, then every block at true.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The question and the kind read off the datum d = (x, κ).
Equations
Instances For
Equations
Instances For
Stage 4: the blocks of x and the queries to L̄; the context is (κ, k).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The output: the concatenation of the outputs at the kind κ.
Equations
Instances For
Stage 5: the output.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The program #
The core of the repeated answer-length calculator, on ((S̄, L̄, λ, τ), (n, d)).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The run #
The queries of the calculator to L̄ at (n, d), with dimension s and k coordinates.
Equations
Instances For
The cost of the core, stage by stage, with the dimension query of cost at most Td, the
calls to L̄ of cost at most T, and Z bounding the queries and results of the last loop.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The run of the core, from runs of the calls: the dimension query answered by s, and the
calls to L̄ answered by f.
Inversion of the core: when the dimension query is answered by s, a halting run ran
L̄ on every query, and output the concatenation of the results at the kind κ.
The calculator #
The program of the repeated answer-length calculator: the core with (S̄, L̄, λ, τ) stored.
Equations
- MIPRE.Tailored.RepProg.repLenProg sp lp lam tau = MIPRE.Cost.hardcode (MIPRE.Tailored.RepProg.lenCore MIPRE.Cost.selfUniversal.univ) (MIPRE.Cost.encode (sp, lp, lam, tau))
Instances For
The repeated answer-length calculator.
Equations
- MIPRE.Tailored.RepProg.repLen S L lam tau = { prog := MIPRE.Tailored.RepProg.repLenProg S.prog L.prog lam tau, closed := ⋯ }
Instances For
The output at the queries of a list of blocks: the concatenation of the results at the
kind κ.
The length of a list concatenated over the coordinates.
The queries at a question of the repeated verifier are those of its coordinates.
The dimension query, through the universal machine.
RepSpec.len_eq: at a question all of whose coordinates have their lengths, the
calculator outputs the sum of the coordinates' lengths.
RepSpec.good_of_len: the calculator halts only at questions all of whose coordinates
have their lengths.
The lengths of the repeated calculator are at most k(n) times the input's.