Prove that $f(x) = x^a$ is an injective function when a is a real number except 0. The teacher said there's a mistake in my proof:
Let me start by the definition : $f$ would be an injective function if for any $x,y$ with $x\neq y$, $f(x) \neq f(y)$. $x$ and $y$ are in the domain of the function.
Let $x$ and $y$ be two real numbers where  $x \neq y$ and let's show that $x^a \neq y^a$ .
Suppose that $x^a=y^a$.
$\ln(x^a)=\ln(y^a)$
$a\ln(x)=a\ln(y)$.
This means that $x=y$.
End of proof
 A: Hint, not a complete answer.
If that's the end of the proof, then the proof would be correct for $a = 0$. But is the assertion true for $a = 0$? Why or why not? What did you forget?
Post-comment remarks
If a proof of a statement doesn't use the fact that $a \ne 0$, then the proof also proves the statement in the case where $a = 0$. (The proof leads from a set of assumptions to a conclusion; the only thing needed to justify the conclusion is the set of assumptions.)
But your proof goes from
$$
a \ln x = a \ln y
$$
(presumably, although it's omitted) to
$$
\ln x = \ln y
$$
presumably by "dividing through by $a$"; that operation is really "multiplying through by $a^{-1}$, which is valid only if $a^{-1}$ exists, which is true only for $a \ne 0$.
Anyhow, you've now added that assumption, so you can legitimately get to
$$
\ln x = \ln y.
$$
Now the question becomes "How, from knowing this, do you know that $x = y$?" You didn't provide any justification for that step, so your proof is incomplete.
There's an even earlier problem, which is that $x^a$ may not be well-defined when $x < 0$ and $a < 1$. What, for instance, is $(-1)^\frac12$?
And then (assuming that your teacher really meant to ask you this only for $a \ge 1$), there's the further problem that $\ln x$ isn't defined for $x \le 0$, so the very first step, where you take log of both sides...that's not valid either.
Writing complete proofs can be hard work. I strongly recommend two-column proof format until you get really good; it helps to keep you honest.

I suggest that you consider the following claim:
For $a \ne 0$, let
$$
f_a : \Bbb R^{+} \to \Bbb R^{+} : x \mapsto x^a.
$$
Then $f_a$ is injective as a function on the positive real numbers.
That claim is actually true, and a proof very similar to what you wrote will actually prove it.
