The answer-length calculator of the introspection verifier #
Issue #281 (Phase 3 of planning/aldous-lyons-track.md): the answer-length calculator
L^intro_λ of the tailored presentation of Introspection.seven. It depends on λ only, not on
the input verifier: the lengths of the presented game at a question are those of the label its
graph view decodes to (TypedData.detype), and the typed lengths (Typed.lenR, Typed.len) are
functions of the parameters k = fieldBits c λ n, j = selectorBits c λ n and
R = (2^n)^λ alone.
On (n, x, κ), for λ ≥ 1 and n ≥ 1, the program
- computes the binary pair
(Q, R)(SourceCompiler.boundsProg) and puts it in unary; - computes the unary parameters
(k, j, m = 2^j)(PauliSamplerParameters.prog); - reads the graph view of
x(its firstgraphDim Labelbits), decodes it to a label by a finite table (finiteFunction, the router's own device), together withκ, into the five coefficients of the length as a combination ofk,m k,Q,Rand1(coef), zero when the view does not decode; - outputs the combination in unary (
linF).
At λ = 0 it is the empty program, and at n = 0 it inspects the index in place and outputs
nil: both output length 0 within constant time, which the budget Introspection.budget,
constant in the index there, requires.
lenIntroC c λ,lenIntroProgC c: the calculator and its program fromλ, in polynomial time.lenIntroC_lenIs: what it outputs on every bit string;lenIntroC_lenIs_question: at a detyped question of the reference verifier, the presented lengths (introLenR,introLenL).lenIntroC_budget: one constantCwith the calculator within2^{(λn + 1)^C}at degreeCon every input, malformed included, and its lengths at most2^{(λn + 1)^C}: the cost is a polynomial in2^{(2c + 2)(λn + 2)} + |d|(costF), the parameters being at most the former (params_le_scale).lenIntroC_lenTotal: it halts everywhere.lenIntro,lenIntroProg,lenIntro_lenIs,lenIntro_budget: the same atsevenConstant, the fieldslen,lenProg,lenProg_eq,len_totaland thelenparts ofwithinofTailoredIntrospection.
The labels of the introspection verifier's detyping.
Instances For
The type graph of the introspection verifier's detyping.
Instances For
The lengths #
The field width k = fieldBits c λ n.
Equations
Instances For
The selector width j = selectorBits c λ n.
Equations
Instances For
The readable length of a label at (c, λ, n): Typed.lenR at k = fieldBits c λ n,
j = selectorBits c λ n, R = (2^n)^λ.
Equations
- MIPRE.Tailored.Intro.LenIntro.introLenR c lam n = MIPRE.Tailored.Intro.Typed.lenR (MIPRE.Tailored.Intro.LenIntro.kOf c lam n) (MIPRE.Tailored.Intro.LenIntro.jOf c lam n) ((2 ^ n) ^ lam)
Instances For
The linear length of a label at (c, λ, n): Typed.len - Typed.lenR.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The length of kind κ: readable for false, linear for true.
Equations
- MIPRE.Tailored.Intro.LenIntro.introLen c lam n κ = if κ = true then MIPRE.Tailored.Intro.LenIntro.introLenL c lam n else MIPRE.Tailored.Intro.LenIntro.introLenR c lam n
Instances For
The lengths as combinations of the parameters #
The coefficients of the length of kind κ at a label.
Equations
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.pauli MIPRE.QLD.Bas.Z)) false = (0, 0, 1, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl val) false = (0, 0, 0, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr (MIPRE.Introspection.AuxType.hide k, snd)) false = (0, 0, 1, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr val) false = (0, 0, 1, 1, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.pauli MIPRE.QLD.Bas.Z)) true = (0, 0, 0, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.pauli MIPRE.QLD.Bas.X)) true = (0, 0, 1, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.point W)) true = (1, 0, 0, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.aline W)) true = (2, 0, 0, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.dline W)) true = (1, 1, 0, 0, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.pairB W)) true = (0, 0, 0, 0, 1)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.var j)) true = (0, 0, 0, 0, 1)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl MIPRE.QLD.Ty.pair) true = (0, 0, 0, 0, 2)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inl (MIPRE.QLD.Ty.con i)) true = (0, 0, 0, 0, 3)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr (MIPRE.Introspection.AuxType.introspect, snd)) true = (0, 0, 0, 1, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr (MIPRE.Introspection.AuxType.sample, snd)) true = (0, 0, 0, 1, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr (MIPRE.Introspection.AuxType.read, snd)) true = (0, 0, 1, 1, 0)
- MIPRE.Tailored.Intro.LenIntro.coef (Sum.inr (MIPRE.Introspection.AuxType.hide k, snd)) true = (0, 0, 2, 0, 0)
Instances For
The decoding of a question #
The number of bits of a graph view.
Equations
Instances For
The coefficients at a graph view and a kind: those of the label it decodes to, zero when it does not decode.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coefficients in unary.
Equations
Instances For
A coefficient vector in unary.
Equations
- MIPRE.Tailored.Intro.LenIntro.ucoef v = (MIPRE.Cost.unary v.1, MIPRE.Cost.unary v.2.1, MIPRE.Cost.unary v.2.2.1, MIPRE.Cost.unary v.2.2.2.1, MIPRE.Cost.unary v.2.2.2.2)
Instances For
The finite table: from the bits of a graph view and a kind, the coefficients.
Equations
Instances For
The combination of unary coefficients with the unary parameters (k, m, Q, R).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The stages #
The input of the core: (λ, n, d).
Equations
Instances For
Stage 4: keep (d, (Q, R)) in unary, and pass (λ, n) to the parameters program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The question bits read off d = (x, κ).
Equations
Instances For
The kind read off d = (x, κ).
Equations
Instances For
Stage 6, the output: (d, (Q, R)) and (k, j, m) in unary give the length in unary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The core of the calculator, on (λ, n, d).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The output of the core at (λ, n, d).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cost of the core at (λ, n, d), stage by stage.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The run of the core.
The calculator #
Inspect the index in place: at n = 0 (and on malformed inputs) output nil, otherwise run
p on the input.
Equations
Instances For
The program of the calculator at λ: empty at λ = 0, otherwise the core with λ stored,
behind the index test.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The answer-length calculator of the introspection verifier at the constant c and
level λ.
Equations
- MIPRE.Tailored.Intro.LenIntro.lenIntroC c lam = { prog := MIPRE.Tailored.Intro.LenIntro.lenProg c lam, closed := ⋯ }
Instances For
The wrapper, as a polynomial-time map on descriptions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The calculator's program from λ, in polynomial time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The run of the calculator at positive λ and n.
What the calculator outputs #
The length the calculator outputs on (n, x, κ): 0 at λ = 0 or n = 0, otherwise the
combination of the coefficients of the label x's graph view decodes to.
Equations
- One or more equations did not get rendered due to their size.
Instances For
What the calculator outputs, on every bit string and every n, λ.
At positive λ and n, the output is the length of the label the graph view decodes to,
0 when it does not decode.
The calculator at a detyped question: at positive λ and n, on the bits of a detyped
question q (numbered as the reference verifier numbers them, vectorEquiv), it outputs the
readable (κ = false) or linear (κ = true) length of the label q decodes to, 0 when it
does not decode — the lengths of the presented game, TypedData.detype.
The same, read on a detyped tailored game whose typed lengths are introLenR,
introLenL.
The costs #
The parameters at positive λ and n are at most the scale.
A majorant of the cost of the calculator at positive λ and n, in z = scale + |d|.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The costs of the calculator, in the shape of Introspection.budget: a constant C with
the calculator within 2^{(λn + 1)^C} at degree C on every input, and its lengths at most
2^{(λn + 1)^C}.
The calculator halts at every question, of every dimension.
At the constant of Introspection.seven #
The answer-length calculator L^intro_λ of the tailored presentation of
Introspection.seven.
Equations
Instances For
Its program from λ, in polynomial time.
Equations
Instances For
Correctness: at positive λ and n, at every detyped question, the presented lengths
of the label the question decodes to (0 when it does not decode).
At λ = 0 or n = 0, the calculator outputs 0 everywhere.
The costs, in the shape of Introspection.budget.
The calculator halts at every question.