How should I start this proof? "Let $\ f: A\to B$ and $\ g:B\to C$ be functions. Prove that if $g\circ f$ is surjective and $g$ is injective, then $f$ is surjective."
 A: First of all: write down the definitions. This question is just about definitons. You want to show: for every $b\in B$ there is $a\in A$ with $f(a)=b$. Then  write down explicitly what the other statements mean.
A: Very often the quickest way to find a proof is by contradiction, but after you've found it, you can rearrange it into a simpler and easier-to-understand proof that's not by contradiction.
So by contradiction:
Suppose $f$ is not surjective.
Then for some $b\in B$, there is no $a\in A$ for which $f(a)=b$.
Since $g$ is injective and $b\notin f[A]=\{f(a):a\in A\}$, $f(b)$ differs from the image under $g$ of every member of $f[A]$.  Hence $g(b)$ is not in the image of $g\circ f$.  That means $g\circ f$ is not surjective.  That is a contradiction.
A: Let $b \in B$, and consider $g(b)$. We have $g(b) \in C$, so call it $c = g(b)$, and since $(g\circ f)$ is onto, there exists an $a \in A$ such that $(g\circ f)(a) = c$, and rewrite this as $g(f(a)) = c = g(b)$, and since $g$ is one-to-one, $b = f(a)$, so $f$ is onto.
