**David Gajser**
### Verifying Time Complexity of Turing Machines

Download
University of Ljubljana, Ljubljana 2015

**Abstract**
The central problem in the dissertation is the following.

For a function $T:\mathbb{N}\rightarrow\mathbb{R}^+$, how hard is it to verify whether a given Turing machine runs in time at most $T(n)$? Is it even possible?

Our first main contibution is that, for all reasonable functions $T(n)=o(n\log n)$, it is possible to verify with an algorithm whether a given one-tape Turing machine runs in time at most $T(n)$. This is a tight bound on the order of growth for the function $T$ because we prove that, for $T(n)=\Omega(n\log n)$ and $T(n)\geq n+1$, there exists no algorithm that would verify whether a given one-tape Turing machine runs in time at most $T(n)$.

As opposed to one-tape Turing machines, we show that we can verify with an algorithm whether a given multi-tape Turing machine runs in time at most $T(n)$ if and only if $T(n_0)< n_0+1$ for some $n_0\in\mathbb{N}$.

Linear time bounds are the most natural algorithmically verifiable time bounds for one-tape Turing machines, because a one-tape Turing machine that runs in time $o(n\log n)$ actually runs in linear time. This motivates our second main contibution which is the analysis of complexity of the following family of problems, parameterized by integers $C\geq 2$ and $D\geq 1$:

Does a given one-tape $q$-state Turing machine run in time $Cn+D$?

Assuming a fixed tape and input alphabet, we show that these problems are co-NP-complete and we provide good lower bounds. Specifically, these problems cannot be solved in $o(q^{(C-1)/4})$ non-deterministic time by multi-tape Turing machines. We also show that the complements of these problems can be solved in $O(q^{C+2})$ non-deterministic time and not in $o(q^{(C-1)/4})$ non-deterministic time by multi-tape Turing machines.

To prove the upper bound $O(q^{C+2})$, we use the so-called compactness theorem which is our third main contribution. We need more notation to state it in full generality, but a simple corollary tells the following:
To verify whether an input one-tape Turing machine runs in time $Cn+D$, it is enough to verify this on a finite number of inputs.

**Table of Contents **
1 Introduction
2 Preliminaries
3 Turing Machines
4 Diagonalization and Relativization
5 Crossing Sequences
6 Verifying Time Complexity of Turing Machines