The paper's class is contained in the computable one: tabulation #
Blueprint lem:mipstar-poly-sub: MIPStar L → MIPStarComputable L, hence MIPStar L → IsRE L
through MIPStarComputable.isRE. A polynomial-time verifier is in particular a computable map from
strings to explicit games: on the input z, run the sampler on every seed of length B z and
the decider on every tuple of strings of length at most B z, each under the budget the
efficiency clause supplies, and write the result down as a GameData.
Two things about the table, both inherited from Halting/Tabulate.lean:
- The questions are doubled. A
GameDatais read as a synchronous game, where unequal answers to equal questions lose by fiat, andG_zis a general bipartite game; tagging Alice's questions withfalseand Bob's withtrueputs no weight on the diagonal andquantumValue_doubledsays the value is unchanged (Foundations/GameDouble.lean). - Budgeted runs decide everything.
Machine.runForDunder the bound ofPolyVerifier.Efficientreturns the sampler's pair and the decider's verdict (Machine.runForD_eq_some_iff), so the table is primitive recursive inzand, on an efficient verifier, correct (quantumValue_tab).
The indexing: questions and answers are both indexed among the strings of length at most B z
(Data.bitStrsLE), a tagged question (tg, x) at idxOf x + N · tg with N the number of
such strings (qIdx, qEquiv), an answer at idxOf a (aEquiv).
Indexing the tagged strings of length at most T #
The number of strings of length at most T.
Equations
Instances For
The index of the tagged question (tg, x).
Equations
- MIPRE.PolyVerifier.qIdx T tg x = List.idxOf x (MIPRE.Cost.Data.bitStrsLE T) + MIPRE.PolyVerifier.N T * if tg = true then 1 else 0
Instances For
The tagged question alphabet, indexed.
Equations
Instances For
The answer alphabet, indexed among the strings of length at most T.
Equations
Instances For
The table #
The sampler's pair on (z, r) under the budget T, read off a budgeted run; ([], [])
if the run does not finish or its result is not a pair of strings.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The decider's verdict on (z, x, y, a, b) under the budget P(|z| + |x| + |y| + |a| + |b|).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The acceptance table over four copies of the strings of length at most T.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The four-fold product of the enumeration, as one flat list.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table of G_z, from the two programs and the polynomial: doubled questions indexed
by qIdx, one unit of weight per seed, and the acceptance table by budgeted runs.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table is primitive recursive in the input #
The table of a verifier, and its correctness on an efficient input #
The table of G_z.
Equations
- V.tab z = MIPRE.PolyVerifier.tabOf (MIPRE.Cost.encode V.sampler) (MIPRE.Cost.encode V.decider) V.bound z
Instances For
The question relabeling.
Instances For
The answer relabeling.
Instances For
The budgeted sample is the question pair, on an efficient input and a seed of the right length.
The budgeted verdict is acceptance, on an efficient input.
The μ clause, doubled: the tabulated distribution is μ_z on the block
(false, ·) × (true, ·) and zero elsewhere.
The acceptance table read back, doubled.
The table has the value of G_z, on an efficient input.
lem:mipstar-poly-sub: the paper's class is contained in the computable one.
The paper's class is contained in RE.