Understanding the formal proof for the surjectivity of $x^2$ and $x^3$ over all reals The functions here are 
$f: \mathbb{R} \to \mathbb{R}: x \mapsto x^2$
$g: \mathbb{R} \to \mathbb{R}: x \mapsto x^3$
Informally, I understand that $x^2$ is not surjective, as $x^n$ will always yield a positive output where n is even and positive; excluding $0^n$ which equals $0$. Since the output can never be a negative and the codomain contains all the reals, the function is not surjective.
Informally, I understand that $x^3$ is surjective, as $x^n$ will always yield an output with the same sign as the input where n is odd and positive; excluding $0^n$ which equals $0$. Therefore, all the reals are covered within the codomain and the function is surjective
My question here is quite fundamental: if $y = f(x)$ the process for formally proving if the function is surjective is to express $x$ in terms of $y$, then verifying that $y = f(x)$ via the rearranged algebraic expression for $x$. This process feels redundant and I'm having trouble understanding why this proves the function is surjective. 
Furthermore, using this method on $f$ (erroneously) proves that $f$ is surjective:
$y = x^2 \Rightarrow x = \sqrt{y} \Rightarrow f(\sqrt{y}) = \sqrt{y}^2 \Rightarrow y$ 
The same process could be used to verify $g$ is surjective, I presume, so what exactly am I doing wrong or conceptually misunderstanding?
Thanks!
 A: Your particular argument is false, as $y = x^2$ does not imply that $x = \sqrt{y}$ but only $|x|= \sqrt{y}$. 
It is true that if for each (fixed) $y_0 \in \mathbb{R}$ one can show that the equation $y_0 = f(x)$  admits at least one solution by 'solving' the equation, then the function is surjective. This is not redundant, yet it needs to be done correctly. (However,  often it is just not viable.) Moreover, you are right that there is a certain risk to run into redundancies. (See below for more details.)
Fortunately, there are other ways to prove that a function is surjective. In particular for the reals the Mean Value Theorem can be used to this end. 

The reason why this is a valid method of proof is basically the definition of surjective. A function $f: \mathbb{R} \to \mathbb{R}$ is called surjective if for each $y \in \mathbb{R}$ there exists some $x \in \mathbb{R}$ such that $f(x)=y$.  
'Solving' $f(x)= y_0$ for some $y_0$ amounts to exhibiting an explicit $x_0$ such that $f(x_0)= y_0$. If we can do this for each $y_0$, this shows surjectivity. One could say the proof of existence is carried out by giving an example. 
For example if I want to show $f: \mathbb{R} \to \mathbb{R}$ where  $x\mapsto 3x- 7$ is surjective. Then I could say: Let $y_0 \in \mathbb{R}$ (fixed but arbitrary). We note $f(x)= y_0$ is equivalent to $3x -7 = y_0$. This admits a real solution namely $(y_0+7)/3$. Thus for $x_0 =(y_0+7)/3 $ we have $f(x_0)= y_0$. 
For the example with $x \mapsto x^3$ one could legitimately see a problem with redundancy in that we use a third-root to solve the equation. Yet the existence of a third-root function in a way needs/presupposes the surjectivity of $x \mapsto x^3$.  
For another non-redundant example, we could consider $x \mapsto x|x|$ where we assume known the existence of a squareroot function in the non-negative reals.  Then we can argue like this: if $y_0\ge 0$, then take $x_0 = \sqrt{y_0}$. We have $f(x_0) = x_0|x_0| = |x_0|^2 = y_0$; 
if $y_0 < 0$, then $x_0 = -\sqrt{|y_0|}$. We have $f(x_0) = x_0|x_0| = -|x_0|^2 = y_0$.
