In category theory, a monomorphism (also called a monic morphism or a mono) is defined to be a left-cancellative morphism. It seems that this definition generalizes the definition of injections. However, even in a concrete category, a monomorphism may not be an injection. Why could this happen? I know examples of monomorphisms which are not injections but what is the reason behind the existence of such examples? Isn't monomorphism a generalised concept of injection? Similar questions can be asked about epimorphisms and surjections.



Why the underlying function of a monomorphism may not be an injection
There are several issues here. Let $\mathcal C$ be a category.


(1) The question only makes sense when $\mathcal C$ is concrete, as otherwise "injective" has no meaning. When $\mathcal C$ is concrete, we can choose a faithful functor $\pi : \mathcal C\to Set$, and regard a morphism $f:X\to Y$ as being injective if $\pi(f)$ is injective (i.e. a monomorphism in $Set$).


(2) However, this notion of "injective" *depends* on the choice of concrete structure. Indeed, if we consider one of the simplest possible categories, which has two objects $A,B$ and one nonidentity morphism $f: A\to B$, then we can concretize this category by mapping $A,B,$ to an $n$-element set and an $m$-element set, respectively, and mapping the morphism to any function between those two sets--the faithfulness condition is essentially vacuous. But now $f$ was a monomorphism (and an epimorphism, although not an isomorphism) and its concretization will not typically be any of these things, depending on how the concretization was chosen.


(3) This counterexample highlights what can go wrong. First of all the notion of monomorphism depends solely on the category, and not on a choice of concretization, so it is a better "invariant" generalization of the notion of injection from $Set$. Furthermore, it can be discussed whether or not a concrete structure exists.
Finally, the phenomenon that a monomorphism can *fail* to be injective relative to some concrete structure is roughly attributable to a lack of "enough" morphisms and objects in the original category, so that in $Set$ one sees the map is not a monomorphism, but in the original category there are not enough objects and morphisms to find a "preimage" of any diagram exhibiting the failure of injectivity.


