The output indicator, as a program #
The triangulated output indicator L* (Definition defn:decider-read, II:8381) of
MIPRE.Tailored.AnsRed.Indicator, written as a program of the ambient model: the four runs of
the answer-length calculator and the run of the processor of the canonical decider
(MIPRE.Tailored.canonProg, whose input builders it reuses), followed by a polynomial-time check
that decides LstarOK at the parameters prm n of the index.
- The check's pieces: unary ranges (
rangeU), the positions of the ones of a window (onesU), the purified equation with its variables in unary (pureEqnU), the triangulation in unary (triangleU), and the table loop by loop (tableU), each with the program computing it and its reading (toEqn_pureEqnU,map_toTri_triangleU,tableU_eq). lstarCore: the check, parameter-free, reading(ℓ, ◇)in unary beside its input (lstarCore_apply);lstarRaw prmruns it on the parametersprm nof the index, the one place where the parameter program enters.lstarFinal prm: the check, decidingLstarOK (2^ℓ) (2^◇)with(ℓ, ◇) = prm nin unary (lstarFinal_apply, throughlstarCheck_eq): the powers of two are capped by the input, so the check is polynomial-time.lstarProg prm L LP: the output indicator of a tailored verifier with answer-length calculatorLand processorLP;lstarProg_accepts: it accepts exactly when the five runs halt andLstarOKholds of their outputs.
Helpers #
Map over a list computed from the input, the input as the context.
Equations
- MIPRE.Tailored.AnsRed.mapR F l = F.mapWith.comp (l.pair (MIPRE.Cost.PolyTimeFun.id ι))
Instances For
flatMap over a list computed from the input, the input as the context.
Equations
Instances For
&&.
Equations
Instances For
||.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exclusive or.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Some element of the list is true.
Equations
Instances For
The bit of a string at a unary position, false past the end.
Equations
Instances For
A unary list is the unary numeral of its length.
The unary numerals below the length of u.
Equations
Instances For
The purified equation, in unary #
The positions j < k, in unary, at which c has a one at o + j: onesFrom in unary.
Equations
- MIPRE.Tailored.AnsRed.onesU c o k = List.flatMap (fun (j : MIPRE.Cost.Unary) => if List.getD c (o + List.length j) false = true then [j] else []) (List.map MIPRE.Cost.unary (List.range k))
Instances For
The purified equation (pureEqn) with its variables in unary and its right-hand side a bit:
the positions of the ones of the two linear windows, those of y shifted by N, and the parity
of the affine coordinate and the two readable inner products.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An equation with its variables in unary, read.
Equations
- MIPRE.Tailored.AnsRed.toEqn e = { vars := List.map List.length e.1, rhs := MIPRE.LowDegree.ofBool e.2 }
Instances For
The inner product of a window of c with v, as a sum, when the window lies in c.
The rows the indicator decouples, in unary.
Equations
- MIPRE.Tailored.AnsRed.rowsU N lRx lLx lRy lLy aR bR cs = List.map (MIPRE.Tailored.AnsRed.pureEqnU lRx lLx lRy lLy N aR bR) cs
Instances For
The triangulation, in unary #
A triangulated equation with its variables in unary, and its coefficients as the signature
word [0, 0, a₁, a₂, a₃, b] with which the table compares its signs.
Equations
Instances For
A triangulated equation in unary, read.
Equations
- One or more equations did not get rendered due to their size.
Instances For
yv N r i = N + r N + i, in unary.
Equations
- MIPRE.Tailored.AnsRed.yvU N r i = N ++ (MIPRE.Cost.unary (List.length r * List.length N) ++ i)
Instances For
The triangulation of one row in unary (triRow), the row's index r in unary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The triangulation in unary (triangle).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table, in unary #
The six signs held by the last coordinate s, as a word [ε_A, ε_B, ε₁, ε₂, ε₃, ε₀].
Equations
Instances For
The 64 sign words, in the order of the last coordinate.
Instances For
A triangulated equation matches the signs w and the three copy coordinates.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The indicator at given coordinates and signs, in unary: decInd inside the loops, whose
ranges make its range conditions true.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table, loop by loop, in unary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The indicator in unary is decInd inside the loops.
The table in unary is the table, on well-formed equations.
The programs of the pieces #
onesU, as a program on (c, o, k).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The context of a purified equation: the four lengths, the table size, the readable answers.
Equations
Instances For
The program computing pureEqnU on a constraint and its context.
Equations
- One or more equations did not get rendered due to their size.
Instances For
pureEqnU, as a program on a constraint and its context.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The rows, as a program on the constraints and the context.
Instances For
yvU, as a program on (N, r, i).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The program computing triRowU on (e, r, N).
Equations
- One or more equations did not get rendered due to their size.
Instances For
triRowU, as a program on (e, r, N).
Equations
- One or more equations did not get rendered due to their size.
Instances For
triangleU, as a program on (rows, N).
Equations
- One or more equations did not get rendered due to their size.
Instances For
triMatch, as a program on (t, u₁, u₂, u₃, w).
Equations
- One or more equations did not get rendered due to their size.
Instances For
triMatch, as a program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The input of the indicator in the loops: the five coordinates, the signs, N, D and the
triangulated equations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
decIndU, as a program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
decIndU, as a program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The table program, loop by loop, on (N, D, tris).
Equations
- One or more equations did not get rendered due to their size.
Instances For
tableU, as a program.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Powers of two, capped #
The step of pow2CapF: double the accumulator, capped at the length of the cap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
min(2^k, m) in unary, on (k, m): never more than m, so polynomial in the input.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The number of indices of the table, tableSize, in unary.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The check #
The input of the check: the output of the processor, the four lengths ((n, y, true)
first) and the decider's input (n, x, y, a, b), as the canonical decider stacks them.
Equations
Instances For
The input of the parameter-free check: the input of the check and the parameters (ℓ, ◇)
in unary.
Equations
Instances For
The check, parameter-free: on the input of the check and parameters (ℓ, ◇) in unary,
it decides LstarOK (2^ℓ) (2^◇) (lstarCore_apply). The parameter program enters the check
only through lstarRaw.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The index n of the input of the check.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The program of the check, at the parameter program prm of the index: the parameter-free
check lstarCore, on the input and the parameters prm n of its index.
Equations
Instances For
The check of the output indicator, as a program: it decides LstarOK at the table size
2^ℓ and the copy size 2^◇ that prm gives the index (lstarFinal_apply).
Equations
- One or more equations did not get rendered due to their size.
Instances For
The output indicator #
After the fourth run of the answer-length calculator: run the processor, then check.
Equations
Instances For
After the third run.
Equations
Instances For
After the second run.
Equations
Instances For
After the first run.
Equations
Instances For
The output indicator L* of a tailored verifier with answer-length calculator L and
processor P (Definition defn:decider-read), at the parameter program prm: on
encode (n, x, y, a, b), the four runs of L and the run of P of the canonical decider, then
the check.
Equations
Instances For
The output indicator accepts exactly when the five runs halt and the check passes.
The output indicator of a tailored verifier, at the parameter program prm, as a decider
on (n, x, y, a, b).
Equations
- MIPRE.Tailored.AnsRed.lstar prm V = { prog := MIPRE.Tailored.AnsRed.lstarProg prm V.len.prog V.lp.prog, closed := ⋯ }
Instances For
What the output indicator accepts (claim:properties_of_L*): (n, x, y, a, b) such that
the answer-length calculator gives the four lengths, the processor gives the constraints cs on
the readable answers cut at the readable lengths, and the check passes at the parameters of the
index.