What's wrong with the following argument that $NP \subset coNP$?
let $L \in NP$; then there exists an NTM $N$ that decides $L$ in $f(n)$ time where $f(n) = O(n^k)$ for some natural number $k$.
Define $H = $ on input $z$:
- run $z$ on $N$ for at most $f(|z|)$ steps.
- if $N$ accepted, reject. If hasn't accepted, accept.
Then if $z \in \bar{L}$ then $N$ will not have accepted $z$ after any number of steps, so $z \in L(H)$.
If $z \in L(H)$ then $N$ hasn't accepted $z$ after $f(|z|)$ steps. If $z \in L$ then $N$ would have accepted it after $f(|z|)$ steps.
Is the problem here that computing $f(|z|)$ may not take polynomial time, in $|z|$? It seems like it should.