Now, we will consider the analogous idea of hierarchies and constructibility for time.
A function $f : \mathbb N \to \mathbb N$, where $f(n) \geq O(n \log n)$ is time constructible if the function that maps the string $1^n$ to the binary represenation of $f(n)$ is computable in time $O(f(n))$.
According to the definition, we only consider functions that are at least $n \log n$. We observe that the definition for time constructibility differs from space constructibility. We could consider arbitrary increases to separate complexity classes for space constructible functions, we require an increase of at least $\log n$ in order to separate complexity classes for time constructible functions.
For example, to see that $n \sqrt n$ is time constructible, we first count the number of $1$s in binary, which requires $O(n \log n)$ time since $O(\log n)$ steps are required for each of $n$ positions. Then, compute $\lfloor n \sqrt n \rfloor$ in binary via the binary representation of $n$. This is possible in $O(n \log n)$ time since the length of the numbers is $O(\log n)$.
Theorem. For any time constructible function $f:\mathbb N \to \mathbb N$, a language $A$ exists that is decidable in $O(f(n))$ time but not in $o \left( \frac{f(n)}{\log f(n)} \right)$ time.
Proof. We describe the algorithm, called $D$, which decides the language $A$ in $O(f(n))$ time but is not decidable in $o\left(\frac{f(n)}{\log n}\right)$ time.
It isn't difficult to see that Steps 1-3 can be performed in $O(f(n))$ time.
For Step 4, whenever $D$ simulates one step of $M$, it needs to look at the current state of $M$ and the location of its tape head in order to make a transition. The location of these items on the tape matters and so we need to discuss how $D$ stores its data on the tape.
We conceptually consider the tape of $D$ to be made of separate tracks. In implementation, this is done either by reserving a consecutive block of $k$ cells for $k$ tracks or by expanding the alphabet to be $k$-tuples of tracks. Either way, this only adds a constant overhead factor in time as long as we fix the number of tracks $k$.
The machine $D$ will use three tracks. One track contains the contents of the tape for $M$. A second tape contains the current state of $M$ and the transition function of $M$. Every time the head position of $M$ moves, $D$ shifts the contents of the second track to keep it near the head. Note that the size of the contents of the second track depends only on $M$ and not the length of the input, so shifting the contents adds only a constant factor to time. If $M$ runs in $g(n)$ time, this allows $D$ to simulate $M$ in $O(g(n))$ time.
The third track contains the step counter. Just like the contents of the second track, we can shift the step counter as well. However, this counter does depend on the size of the input. Since it begins with a value of approximately $\frac{f(n)}{\log f(n)}$, it is of size $\log\left(\frac{f(n)}{\log f(n)}\right)$, which is $O(\log f(n))$. Then updating and shifting the counter requires a factor of $O(\log f(n))$ time and the Step can be done in $O(f(n))$ time altogether and therefore $A$ is decidable in $O(f(n))$ time.
Now, to show that $A$ cannot be decided in time $o\left(\frac{f(n)}{\log f(n)}\right)$, we use a similar diagonalization argument as in the space hierarchy theorem. Suppose for a contradiction that $A$ is decidable by a TM $M$ in time $g(n) = o(\left(\frac{f(n)}{\log f(n)}\right)$. Then $D$ can simulate $M$ in time $d \cdot g(n)$ for constant $d$ and will finish the simulation if the total time to simulate the run is at most $\frac{f(n)}{\log f(n)}$.
Since we have $g(n) = o(\left(\frac{f(n)}{\log f(n)}\right)$, there is a constant $n_0$ such that $d \cdot g(n) \leq \frac{f(n)}{\log f(n)}$ for all $n \geq n_0$, so we run $D$ on the input $\langle M \rangle 10^{n_0}$ to have an input of sufficient length. By our definition of $D$, the simulation of $M$ will finish and $D$ will output the opposite of whatever $M$ outputs, which gives us our contradiction. $$\tag*{$\Box$}$$
Corollary. For any two functions $f_1,f_2:\mathbb N \to \mathbb N$, where $f_1(n)$ is $o \left( \frac{f_2(n)}{\log f_2(n)} \right)$ and $f_2$ is time constructible, $\mathbf{TIME}(f_1(n)) \subsetneq \mathbf{TIME}(f_2(n))$.
Corollary. For any two real numbers $0 \leq \varepsilon_1 < \varepsilon_2$, $$\mathbf{TIME}(n^{\varepsilon_1}) \subsetneq \mathbf{TIME}(n^{\varepsilon_2}).$$
Corollary. $\mathbf{P} \subsetneq \mathbf{EXPTIME}$.
Theorem. (Ladner) Suppose that $\mathbf P \neq \mathbf{NP}$. Then there exists a laguage $L \in \mathbf{NP} \setminus \mathbf P$ that is not $\mathbf{NP}$-complete.
While it's possible to show the existence of such a problem assuming that $\mathbf P \neq \mathbf{NP}$, the examples that we've come up with are considered artificial. What would be rather interesting and important is showing the existence of a natural problem (i.e. something we'd actually want to solve) that works. Obviously, we can't show that such problems definitively exist (otherwise, we'd be able to solve $\mathbf P \neq \mathbf{NP}$) but there are very few that we think will work out. Two examples are $\mathrm{FACTORING}$ and $\text{GRAPH-ISOMORPHISM}$. Both problems are important and both have not been shown to be in $\mathbf P$ or $\mathbf{NP}$-complete.