Time-constructible functions #
A function T : ℕ → ℕ is time-constructible if T(n) ≥ n and the
mapping x ↦ T(|x|) can be computed by a deterministic TM in O(T(n))
time (AB Definition 1.12). The output is the binary encoding of T(|x|)
via Nat.bits (LSB-first).
Time-constructibility is the standard assumption on time bounds used in the
time hierarchy theorem and other separation results. Most "natural" time
bounds (polynomials with T(n) ≥ n, exponentials, n log n, etc.) are
time-constructible.
Main definitions #
TimeConstructible— a functionT : ℕ → ℕis time-constructible
Main results #
TimeConstructible.le_apply—T(n) ≥ nTimeConstructible.pos—T(n) > 0whenn > 0TimeConstructible.computable— extract the witnessing TM and time bound
A function T : ℕ → ℕ is time-constructible (AB Definition 1.12) if
T(n) ≥ n for all n, and the mapping x ↦ T(|x|) (encoded in binary
via Nat.bits) can be computed by a deterministic TM in O(T(n)) time.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A time-constructible function satisfies n ≤ T(n).
A time-constructible function is positive on positive inputs.