Theorem about implicit solutions of differential equations? I have a theorem in my book (in the context of separation of variables method) which I don't fully understand:

Suppose $g=g(x)$ is continuous on $(a, b)$ and $h=h(y)$ is continuous on $(c, d)$. Let $G$ be an antiderivative of $g$ on $(a, b)$ and let $H$ be an antiderivative of $h$ on $(c, d)$. Let $x_0$ be an arbitrary point in $(a, b)$, and let $y_0$ be an arbitrary point in $(c, d)$ such that $h(y_0) \not = 0$, and define
  $$
c=H(y_0)-G(x_0) \label{1}\tag{1}
$$
  Then there's a function $y=y(x)$ defined on some open interval $(a_1, b_1)$, where $a \le a_1 \lt x_0 \lt b_1 \le b$, such that $y(x_0)=y_0$ and 
  $$
H(y)=G(x)+c \label{2}\tag{2}
$$ 
  for $a_1<x<b_1$. Therefore $y$ is a solution of the initial value problem 
  \begin{align}
h(y)y'&=g(x), \\
 y(x_0) &=y_0 \label{3}\tag{3}
\end{align}
  It is convenient to say that $\eqref{2}$ with arbitrary $c$ is an implicit solution of $h(y)y'=g(x)$. If $c$ satisfies $\eqref{1}$ we'll say that $\eqref{2}$ is an implicit solution of the initial value problem $\eqref{3}$. However, keep in mind that for some choices of $c$ there may or may not be any differentiable functions that satisfy $\eqref{2}$.


I don't think I really understand what this theorem is saying. My understanding of the theorem goes like this: If you have any function $g$ differentialbe somewhere and any function $h$ differentiable somewhere, then you can transform $H$ into $G$ plus a constant simply by plugging in an appropriate $y(x)$ in to $H$, which implies that you can transform any function into any other function by choosing an appropriate input. This seems wrong, so I think my interpretation is not correct here. 
I don't even see why this theorem is really needed. The book has been solving separation of variables problems since before this theorem by finding $H(y)$ and $G(x)$ such that $H'(y)=h(y)$ and $G'(x)=g(x)$. This is my first DE class so please try to keep the answers at an appropriate level.
 A: The theorem states the following: the equation $$H(y)=G(x)+c$$ can be solved as $y=y(x)$ in a neighbourhood of $(x_0,y_0)$. This is a direct application of the Implicit Function Theorem to the map $$(x,y) \mapsto H(y)-G(x)-c.$$ Furthermore, by implicit differentiation,
$$
\frac{d}{dx} \left(H(y(x))-G(x)-c \right) = H'(y(x))y'(x)-G'(x) = h(y(x))y'(x)-g(x) =0.
$$
Concretely, this theorem ensures that you can solve the equation $h(y)y'=g(x)$ by finding an antiderivative of $G$, an antiderivative of $H$, and solving the equation $H(y)=G(x)+c$.
A: The way I see it, the theorem is about giving theoretical foundation (justification) of the method.
All it says is that formula $\eqref{2}$ defines an implicit solution for IVP $\eqref{3}$.
One important thing to realize is that functions $g(x)$ and $h(y)$ are defined on different spaces!
For example, interval $(a,b)$ may lie on $x$–axis, and $(c,d)$ on $y$–axis, but the do not lie on the same line!
Perhaps this version of the theorem would be a bit better at conveying the main idea:

Theorem 2.2.
  Let $c$ be an arbitrary constant.
  If functions $g(x)$ and $h(y)$ have antiderivatives $G(x)$ and $H(y)$, respectively, and $H(y) = G(x) + c$ implicitly defines $y$ as a function of $x$, then $H(y) = G(x) + c$ is an implicit solution to the separable equation $y′ = g(x)\mathbin{/}h(y)$.

