The enumerator's bounds, in the input's length #
⚠️ Unreviewed by Bolton
Every quantity the enumerator's contracts and windows are stated in terms of — the width of a pair, the number of digits in a counter, the running time of a stage — is bounded by a polynomial in the input's length. This file collects those bounds.
Main results #
PolyExists.dropTop_length_le,PolyExists.pair_length_le— the witness and the pair it goes into are no wider than the horizon's exponent allowsPolyExists.bits_length_le— a counter below the horizon has that many digitsPolyExists.tally_le— a tally never exceeds its count
A polynomial with natural coefficients is monotone.
The bounds themselves #
The width of the pair the matrix machine reads.
Equations
- Complexity.PolyExists.bP lx m = 2 * lx + 2 + m
Instances For
The window the matrix machine needs.
Equations
- Complexity.PolyExists.bHb lx m sb = Complexity.PolyExists.bP lx m + sb + 2
Instances For
The wipe height.
Equations
- Complexity.PolyExists.bH lx m sb = Complexity.PolyExists.bHb lx m sb + 1
Instances For
The uniform bound on every head of every intermediate state.
Equations
- Complexity.PolyExists.bG lx m sb = Complexity.PolyExists.bHb lx m sb + 1 + Complexity.PolyExists.bB lx m + (Complexity.PolyExists.bP lx m + 1)
Instances For
The window the whole machine runs in: the uniform head bound plus one summand for every stage's own budget. Sums, not maxima, so that the whole thing is visibly a polynomial in the input's length.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The bounds as polynomials #
The width of the pair, as a polynomial in the input's length.
Equations
Instances For
The matrix machine's window, as a polynomial.
Equations
Instances For
The wipe height, as a polynomial.
Equations
Instances For
The rewind bound, as a polynomial.
Equations
- Complexity.PolyExists.bBPoly p = Polynomial.X + 1 + (Polynomial.C 2 * Polynomial.X + p + Polynomial.C 4) + (p + Polynomial.C 4)
Instances For
The uniform head bound, as a polynomial.
Equations
Instances For
The Horner cap, as a polynomial.
Equations
- Complexity.PolyExists.capPoly p = Polynomial.C ((Complexity.TM.polyCoeffs p).sum + 1) * (Polynomial.X + 1) ^ (Complexity.TM.polyCoeffs p).length
Instances For
The register machine's per-operation budget, as a polynomial.
Equations
Instances For
Its per-layer budget.
Equations
Instances For
The prologue's running time, dominated by a polynomial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The epilogue's running time, dominated by a polynomial.
Equations
- Complexity.PolyExists.epiPoly p = Polynomial.C 6 * p + Polynomial.C 50
Instances For
The enumerator's space bound, as a polynomial.
Equations
- One or more equations did not get rendered due to their size.
Instances For
What the machine computes is membership in the bounded existential.
The enumerator, instantiated #
Every hypothesis the enumerator's contract and window need, at one input.
The enumerator decides the bounded existential.
The enumerator keeps a polynomial window.