Proof that Grothendieck category has enough injectives : about the functor $ \mathbf{M} $

513 Views Asked by At

I've been following the proof in the stacks project, theorem 19.11.7, that a Grothendieck category has enough injectives. However, it is not clear to me why the map $ M \rightarrow \mathbf{M}(M) $ is injective. Let me restate the construction :

Let $ U $ be a generator of $ \mathcal{A} $, and $ M $ an object. The morphism $ M \rightarrow \mathbf{M}(M) $ is defined by the pushout

$$ \require{AMScd} \begin{CD} \bigoplus_{N \subset U} \bigoplus_{\phi \in \operatorname{Hom}(N, M)}N @>>>M\\ @VVV & @VVV\\ \bigoplus_{N \subset U} \bigoplus_{\phi \in \operatorname{Hom}(N, M)}U @>>> \mathbf{M}(M) \end{CD} $$

I only know that the left vertical morphism is mono by AB3), however pushouts don't respect monomorphisms, and I've had no luck using the properties of that particular pushout.

Also, since that proof is adapted from the one on modules, at section 19.2, it is also stated that $ M \mapsto (M\rightarrow\mathbf{M}(M)) $ is functorial, however I cannot grasp why.