How to prove transitivity in small-o of asymptotic analysis?
Comment on your proof:
You write
"Let $c = {c_1}^2$." Strictly speaking, this doesn't make sense, since you haven't set $c_1$ to any value yet at this point. To be formally correct, you need to start with some given $c$, and then set $c_1$ to $\sqrt{c}$ and proceed from there (which is what I've done below where $\epsilon = c$).



To show that $f(n) \in o(h(n))$, you need to show that $\lim_{n\rightarrow\infty}\frac{f(n)}{h(n)}=0$. Or, in other words, for any constant $\epsilon$, there exists $N&gt;0$ such that
$$
\forall n \geq N\colon |f(n)| \leq \epsilon|h(n)|. \qquad \text{(A)}
$$
Before proving (A), let's write out our assumptions explicitly:
Since we have assumed $f(n) \in o(g(n))$, we know that for any $\epsilon$, there exists an $N_f$ such that
$$\forall n \geq N_f\colon |f(n)| \leq \epsilon |g(n)|. \qquad\text{(1)}$$ 
Analogously, by $g(n) \in o(h(n))$, we know that there is $N_g$ such that 
$$
\forall n \geq N_g\colon |g(n)| \leq \epsilon |h(n)|, \quad\text{(2)}
$$
for any given $\epsilon$.

Proof of (A): Suppose we are given some $\epsilon$. Let $$N = \max\left(N_f(\sqrt{\epsilon}),N_g(\sqrt{\epsilon})\right),$$
where $N_f(\sqrt{\epsilon})$ and $N_g(\sqrt{\epsilon})$ are constants that make (1) and (2) true for $\sqrt{\epsilon}$.
It follows that
$$
\sqrt{\epsilon} &gt; \frac{|g(n)|}{|h(n)|} &gt; \frac{(1/\sqrt{\epsilon})|f(n)|}{|h(n)|},
$$
and therefore $|f(n)| \leq \epsilon |h(n)|$, as required.