The running time of the answer-reduced linear-constraints processor #
Slice P4h of planning/aldous-lyons-track.md, for the complexity clause of
TailoredAnswerReduction. The processor's nine stages (ArRoutine.lpCore) are, in cost: the
parameter program (ArRoutine.ParTime); four calls to the input sampler through the universal
machine, each on a marginal query of a constant-size header and a question's seed bits, at most
linear in the input (AnswerReduction.size_margQuery_le), so that one call costs
(λn + 1)^μ (c W X)^μ (margCallX_pdom); two runs of the circuit function and two of the proof
check, polynomial-time functions run on encodings (argCircL_eq, argPrfL_eq: the stages'
arguments are encodings on every input, the input sampler's questions and the readable answers
read as bit strings); and the last stage, a polynomial-time function of the context. So the
processor's time on (n, d) is dominated by (C (W + 1)^M X^E)^{μ + 1} with X = |d| + 1
(lpD_time), for every W above (λn + 1)^μ + σ + λ + n, when |𝒱| ≤ σ and the input sampler
runs within (λn + 1)^μ (|d| + 1)^μ. Neither the input's calculator nor its processor is ever run:
they enter the circuit function's input as data.
The stages' arguments are encodings #
A circuit stage's argument is the encoding of the circuit function's input, as soon as the hardcoded data, the index and the parameters are encodings.
A proof stage's argument is the encoding of the proof check's input, as soon as the parameters and the circuit are encodings.
Sizes #
A question's seed bits are no longer than its field.
The hardcoded data (V.progs, λ, μ, σ), at K = μ.
One marginal call through the universal machine, before the machine's overhead: the input
sampler's program, the query, and the input sampler's time on it, for a query linear in X.
The running time of the linear-constraints processor, on every input (n, d): dominated
by (C (W + 1)^M X^E)^{μ + 1} for X > |d| and W ≥ (λn + 1)^μ + σ + λ + n, when |𝒱| ≤ σ
and the input sampler runs within (λn + 1)^μ (|d| + 1)^μ.