Separating time classes

A student of mine recently ask the following question:

Assume $$DTIME(f(n)) \subsetneq DTIME(g(n)).$$ Must there exist an $h(n)$ such that $$DTIME(f(n)) \subsetneq DTIME(h(n)) \subsetneq DTIME(g(n))?$$

This could probably be shown true by constructing an $h(n)$ if $f,g$ are time-constructible. But in general, I feel that this should be false similar to $DSPACE(o(\log(\log(n)))) = DSPACE(1)$.

• This might depend on the precise model. ​ ​ – user6973 Feb 27 '17 at 8:23
• Borodin's gap theorem mentioned here may be relevant: cstheory.stackexchange.com/questions/8583/… – Michael Wehar Feb 27 '17 at 15:10
• Do you allow $f(n),g(n)=O(1)$? Because then some example must exist for some functions that are zero everywhere, except the first place. Anyhow, doesn't this question make sense if $f\equiv g$ everywhere except one $n$? – domotorp Feb 27 '17 at 20:18
• Im sorry I dont quite follow the issue with $f(n),g(n) = O(1)$ as by definition $DTIME(f(n))=DTIME(g(n))$? – S. Pek Feb 28 '17 at 2:55
• Sorry about that, I misread the question and my earlier comment didn't make much sense. I removed it. Thank you. – Michael Wehar Feb 28 '17 at 6:34

If $DTIME(f(n))$ is defined as the class of all languages decidable in $O(f(n))$ time by a two tape Turing machine, then I suspect that the answer is no. In other words, I think that there does not always exist a strictly intermediate time complexity class.

Note: This answer might not be exactly what you are looking for because I'm considering non-computable functions and I don't include every detail of the argument. But, I felt that it is a good start. Please feel free to ask any questions. Maybe I can fill in these details further at some point or maybe this will lead to a better answer from an interested reader.

Consider functions of the form $f : \mathbb{N} \rightarrow \mathbb{N}$. We refer to these functions as natural number functions.

Claim 1: I claim that we can construct a very slow growing non-decreasing natural number (non-computable) function $\varepsilon(n)$ such that:

(1) $\varepsilon(n)$ is non-decreasing

(2) $\varepsilon(n) = \omega(1)$

(3) For all unbounded computable $f: \mathbb{N} \rightarrow \mathbb{N}$, the set $\{ n \; \vert \; \varepsilon(n) \leq f(n) \}$ is infinite.

We construct $\varepsilon(n)$ as a slow growing non-decreasing step function. Let us enumerate all unbounded computable functions $\{ f_i \}_{i \in \mathbb{N}}$. We want to construct $\varepsilon(n)$ in such a way that for every $i$ and every $j \leq i$, $min\{ k \; \vert \; \varepsilon(k) \geq i\} \geq min\{ k \; \vert \; f_{j}(k) \geq i \}$. In other words, we wait to map $\varepsilon(n)$ to $i$ until the first $i$ functions in the enumeration have mapped to a value greater than or equal to $i$ at least once. Then, $\varepsilon(n)$ continues to map to $i$ until the first $i+1$ functions in the enumeration have mapped to a value greater than or equal to $i+1$ at least once and at this point it starts mapping to $i+1$. If we continue this iterative process for constructing $\varepsilon(n)$, then for any given unbounded computable function, although $\varepsilon(n)$ might not always be smaller, it will infinitely often be at least as small.

Note: I just provided some intuition behind claim 1, I did not provide a detailed proof. Please feel free to join in on discussion below.

Because $\varepsilon(n)$ is such a slow growing function, we have the following:

Claim 2: For all computable natural number functions $f(n)$ and $h(n)$, if $h(n) = \Omega(\frac{f(n)}{\varepsilon(n)})$ and $h(n) = O(f(n))$, then $h(n) = \Theta(f(n))$.

For claim 2, if there existed a computable function $h(n)$ between $\frac{f(n)}{\varepsilon(n)}$ and $f(n)$ such that $h(n) \neq \Theta(f(n))$, then we would be able to compute an unbounded natural number function that grows more slowely than $\varepsilon(n)$ which isn't possible.

Let me explain some relevant details. Suppose for sake of contradiction that such a function $h(n)$ existed. Then, $\lfloor \frac{f(n)}{h(n)} \rfloor$ is unbounded.

Note: The preceding function is computable because $f(n)$ and $h(n)$ are computable.

Since $h(n) = \Omega(\frac{f(n)}{\varepsilon(n)})$, we have $\lfloor \frac{f(n)}{h(n)} \rfloor = O(\varepsilon(n))$. It follows that there is some constant $\alpha$ such that for all $n$ sufficiently large, $\lfloor \alpha \frac{f(n)}{h(n)} \rfloor < \varepsilon(n)$. Since this function is unbounded and computable we may apply Claim 1 to get that $\varepsilon(n) \leq \lfloor \alpha \frac{f(n)}{h(n)} \rfloor$ infinitely often which contradicts the previous statement.

Claim 3: For a time constructible function $f(n)$, we have that $DTIME(\frac{f(n)}{\varepsilon(n)}) \subsetneq DTIME(f(n))$, yet there does not exist $h(n)$ such that $\frac{f(n)}{\varepsilon(n)} \leq h(n) \leq f(n)$ and $DTIME(\frac{f(n)}{\varepsilon(n)}) \subsetneq DTIME(h(n)) \subsetneq DTIME(f(n))$.

In order to just show that, $DTIME(\frac{f(n)}{\varepsilon(n)}) \subsetneq DTIME(f(n))$ we need to use a stronger time hierarchy theorem and this is where we use the assumption that the number of tapes is fixed (we said two tapes above). See "The tight deterministic time hierarchy" by Martin Furer.

Since there are no computable natural number functions between $\frac{f(n)}{\varepsilon(n)}$ and $f(n)$ other than those that are $\Theta(f(n))$, we have that for every function $h(n)$ such that $\frac{f(n)}{\varepsilon(n)} \leq h(n) \leq f(n)$ and $h(n) \neq \Theta(f(n))$, $DTIME(\frac{f(n)}{\varepsilon(n)}) = DTIME(h(n))$.

• Yes, this is exactly what I had in mind too, but then got confused somewhere along the way. I just want to note, that $\epsilon(n)$ needn't be small at all; a similar argument shows that the lower function $\frac{f(n)}{\epsilon(n)}$ can be replaced with a function that is always either $f(n)$ or $0$, and the upper function $f(n)\epsilon(n)$ can be replaced with a function that is always either $f(n)$ or $\infty$. – domotorp Feb 28 '17 at 10:08
• (3) needs to restrict to unbounded functions $\hspace{.04 in}f$. ​ ​ – user6973 Feb 28 '17 at 10:51
• @RickyDemer Yes, you are right! Thank you very much for catching that. I edited my answer to add the word unbounded. :) – Michael Wehar Feb 28 '17 at 15:11
• Im not entirely convinced about Claim 1. Consider $f_i(n) = 1$ if $n \leq i$, $n-i$ otherwise. Considering this enumeration, is $\epsilon(n) = \Theta(1)$? – S. Pek Mar 1 '17 at 2:50
• I have two more concerns of this proof: 1) In claim 2 you said that the contradiction arises from the fact that there cannot exist a computable $\epsilon(n)$ as it equals $|h(n)-f(n)|$. I believe this to be a typographical error, as it should say there exist a $k'$ such that $\epsilon(n) = |h(n) - k'\cdot f(n)|$. But note that $k'$ need not be computable, so the argument need not hold. 2) You used the result by Furer in Claim 3. However, the result only holds for time-constructable functions, but $\frac{f(n)}{\epsilon(n)}$ need not be time-constructable. – S. Pek Mar 3 '17 at 15:51

If this result is true, it would strengthen the best-known deterministic time hierarchy theorem. [This is more of a comment than an answer, but too long for a comment. It leaves open the direct construction of a counterexample.] Recall that the best Deterministic Time Hierarchy Theorem we currently have is that if $f(n), g(n)$ are time-constructible, and $g(n) \leq o( f(n) / \log f(n) )$, then $\mathsf{DTIME}(g(n)) \subsetneq \mathsf{DTIME}(f(n))$.

Now suppose your desired result is true, and let $g(n)$ be a time-constructible function that is close to, but still little-oh of, $f(n) / \log(f(n))$, say, $g(n) = f(n) / (\log f(n))^{3/2}$. (This $g$ may not be time-constructible for arbitrary time-constructible $f$, but surely for many time-constructible $f$ this $g$ is also time-constructible.) Now, your desired result produces an $h$ such that $\mathsf{DTIME}(g(n)) \subsetneq \mathsf{DTIME}(h(n)) \subsetneq \mathsf{DTIME}(f(n))$. In order to avoid improving the current-best time hierarchy theorem, we would need both $g(n) = o( h(n) / \log(h(n)) )$ and $h(n) = o(f(n) / \log(f(n))$. These two together imply that $g(n) \leq o( f(n) / (\log(f(n)) \log(h(n)))$. Since $h(n) \geq g(n)$, we have $g(n) \leq o( \frac{f(n)}{\log(f(n)) \log(g(n))})$, or equivalently $g(n) \log g(n) \leq o(f(n) / \log(f(n)))$. But $g(n) \log(g(n)) = f(n) / (\log(f(n))^{3/2} [\log(f(n)) - (3/2) \log \log(f(n)] \sim f(n) / \sqrt{\log(f(n))}$, which is not $o(f(n) / \log(f(n))$.

• Cool! Also, note that there is a better time hierarchy theorem if the number of tapes is fixed. See "The tight deterministic time hierarchy" by Martin Furer. – Michael Wehar Feb 28 '17 at 8:02
• @MichaelWehar: Thanks for the pointer! Indeed, when one gets so tight as to only require $g(n) = o(f(n))$, as Furer shows when the number of tapes is fixed, then my argument goes away. (And for basically the same reason, my argument goes away if this question were about space hierarchy instead of time: for space we have a perfectly tight hierarchy theorem even if # tapes isn't fixed.) – Joshua Grochow Feb 28 '17 at 8:27

I think such a behaviour is true for 1-Tape-DTMs. On the one hand, we have $\mathrm{DTIME}_1(O(n)) = \mathrm{DTIME}_1(o(n \log n))$. Unfortunately, the only reference I know is in German: R. Reischuk, Einführung in die Komplexitätstheorie, Teubner, 1990, Theorem 3.1.8.

On the other hand, it should be possible to separate $\mathrm{DTIME}_1(O(n))$ and $\mathrm{DTIME}_1(O(n \log n))$ by the language $\{ x \#^{2^{|x|}} x \mid x \in \{0,1\}^* \}$ using a standard crossing sequence argument.