Proof plan for P ≠ NP
Before I explain what went wrong, notice the following red flag:
Let $T(n)$ be some arbitrary function representing some run-time. What would not work from this &quot;proof&quot; if we replace $n^k$ by $T(n)$? From what I see, pretty much nothing. Does that mean that $SAT$ is not solveable in any run-time? of course not!

Now to the actual problem: Each $\Phi_k$ depends on $n$, so let us call it instead $\Phi_k^n$. Notice, that the size of $\Phi_k^n$ would not be $n$, since it takes a lot of &quot;space&quot; to represent this formula. In fact, its size woul most likely be way bigger than $n^k$. When you run $M$ on $\Phi_k^n$, the runtime would take $O(|\Phi_k^n|^k)\approx O((n^k)^k)$ and not $O(n^k)$, since the runtime depends on the size of the input $\Phi_k^n$. This completely nullifies your argument that this is a contradiction.

As a side note, if you do actually manage to encode $\Phi_k^n$ in some magical way with size $O(n)$, then congratulations! Your argument holds and $P\neq NP$. But clearly its not easy to encode it like that... good luck :)