Having trouble proving a language is NP-complete I'm asked to prove that, if P=NP, that 0*1* is NP-complete, but I'm having trouble going about doing it. I know it's fairly easy to prove it's NP by creating a TM to verify an input (which can be done in O(n) time, and that's polynomial). 

But then I now have to reduce an NP-complete problem to 0*1* in order to prove that 0*1* is NP-complete. I'm thinking reducing SAT to it, but I have no idea how to do that, since in SAT all you can use is and, or, and negate, and there's no way to tell if a 1 came before a 0 in an input by doing that (at least, as far as I can tell).

Thanks
Here is a more technical answer.  The "trick" is to put all the
work in the reduction function.

Assume $NP = P$, $L \in P$ and let $x_0, x_1$ be two instances, such
that $x_1 \in L$ and $x_0 \not\in L$.  We have to show that some
$NP$-complete problem $Q$ is poly-time reducible to $L$.  By
assumption, there is an algorithm $M$ deciding $Q$ in polynomial
time. 

Define a function
$$
f(x) =
\begin{cases}
  x_1 &amp; \mbox{if $M(x) = 1$} \\
  x_0 &amp; \mbox{else}
\end{cases}\mbox{ ,}
$$
for all instances $x$ of $Q$.  Then clearly $f \in FP$ and $x \in Q
\Leftrightarrow f(x) \in L$.