Polynomial time for linear finite-certificate verification #
The concrete compiler overhead and its finite verifier-time maximum have a uniform explicit polynomial bound, without assuming verifier-time monotonicity.
theorem
Complexity.WitnessTM.Verifier.time_linear_polynomial_bound
{T : ℕ → ℕ}
{c : ℕ}
(hT : BigO T fun (x : ℕ) => x ^ c)
:
∃ (q : Polynomial ℕ), ∀ (n : ℕ), time WitnessBoundSetup.linear T n ≤ Polynomial.eval n q
A natural polynomial bound for the verifier induces an explicit polynomial
bound for the whole linear-witness compiler, without monotonicity of T.