Factoring morphisms in abelian categories I am reading the appendix of Charles Weibel's Homological Algebra and have the following question.
It is mentioned that every morphism $f: B \to C $ in an abelian category factors as $B \to im(f) \to C$ where $im(f)\equiv ker(coker(f))$ and the morphism $B \to im(f)$ is epi and $im(f) \to C$ is mono. I am able to prove the other parts of the problem but not able to show that the morphism $B \to im(f)$ is epi. Please help. Thanks.
 A: A crucial property of Abelian categories (mostly part of the definition) is that the canonically arising morphism ${\rm coim}(f)\to {\rm im}(f)$ is iso for all morphisms $f$. 
Using this, you're done, because, by dual argument you have $B\to{\rm coim}(f)$ is epi.

From the assumptions that every mono is kernel and every epi is cokernel, one way to prove $v:B\to{\rm im}(f)$ is epi (or, equivalently, $u:{\rm coim}(f)\to{\rm im}(f)$ is epi) is as follows: Suppose $t\circ v= 0$ and consider the pushout of ${\rm im}(f)\to C$ and $\,t$:

$B \overset{f}\longrightarrow C \to {\rm coker}(f) \\
v\searrow \, \nearrow \  \searrow t_1 \\
\ \ \ \, {\rm im}(f)\quad\ \ \ \cdot \\
\ \ \ \ \ \ t \searrow \ \nearrow i_1
$

Here $t_1\circ f=0$, so $t_1$ goes through ${\rm coker}(f)$, but then $i_1\circ t$ also becomes $0$.
Now the following lemma ensures that $i_1$ is mono, so $t=0$.
Dually one can prove that ${\rm coim}(f)\to{\rm im}(f)$ is also mono, thus, is a kernel and epi, hence iso.
Lemma: In an Abelian category the pushout of a monomorphism is monomorphism, i.e. if $i:A\hookrightarrow B$ and $f:A\to C$ then the arising arrow $i_1:C\to P$ in the pushout diagram is mono.

$\ \phantom{f} A\overset{i}\hookrightarrow\, B \\
f\downarrow\ \ \ \ \ \downarrow \\
\ \phantom{f} C \underset{i_1}\to P $

Hint: Write the pushout as $P={\rm coker}\left(A\overset{[i,-f]}\longrightarrow B\oplus C\right)$ and observe that $[i,-f]:A\to B\oplus C$ is mono (because of $i$), so you can use the condition that $[i,-f]=\ker(B\oplus C\to P)$.
