[Jonathan wrote](https://forum.azimuthproject.org/profile/2316/Jonathan%20Castello):

> Given arrows \\(F(f) : F(X) \to F(Y)\\) and \\(F(g) : F(Y) \to F(Z)\\), we want to show that \\(F(g) \circ F(f)\\) is well-defined and is in the range of \\(F\\). Note that there might be multiple \\(f\\) and \\(g\\) giving the same arrows; for now, pick any representatives. If \\(F\\) is injective on objects, then we know that the codomain of \\(f\\) and the domain of \\(g\\) are the same; so the two are compatible. So \\(g \circ f\\) exists, and \\(F(g) \circ F(f) = F(g \circ f)\\) is in the range of \\(F\\).

>

> Now consider \\(f', g'\\) distinct from \\(f, g\\) such that \\(F(f) = F(f')\\) and \\(F(g) = F(g')\\). Then \\(g \circ f\\) and \\(g' \circ f'\\) exist, but need not be the same. Nonetheless, \\(F(g' \circ f') = F(g') \circ F(f') = F(g) \circ F(f) = F(g \circ f)\\).

>

> This would seem to imply that no matter which representatives \\(f, g\\) we pick, their composition gives the same image under \\(F\\). So the range of \\(F\\) is closed under a well-defined composition.

>

> What am I missing?

In a category, if you have a set of morphisms \\(\mathbf{Mor}(\mathcal{C})\\), then you need if \\(f: A \to B,g: B \to C \in \mathbf{Mor}(\mathcal{C})\\) then there must be some \\(h : A \to C \in \mathbf{Mor}(\mathcal{C})\\) such that \\(g \circ f = h\\).

Unfortunately, the image of a functor might not be closed under composition like that.

Ryan linked to this stackexchange question about this: https://math.stackexchange.com/questions/413138/can-it-happen-that-the-image-of-a-functor-is-not-a-category

I have tried to make a picture of the example in that link below.

![](https://svgshare.com/i/72W.svg)

Above on the left is the original category \\(\mathcal{C}\\), and on the right is the category \\(\mathcal{D}\\) that the functor \\(F : \mathcal{C} \to \mathcal{D}\\) maps to.

As you can see, if we look at the morphisms in the image of \\(F\\) we have \\(\mathbf{Mor}(F(\mathcal{C})) = \lbrace F(f): X \to Y, F(g): Y \to Z, F(id_A): X \to X, F(id_B): Y \to Y, F(id_C): Y \to Y, F(id_D): Z \to Z \rbrace\\).

I have also drawn the missing morphism \\(? : X \to Z\\), where \\(? = F(g) \circ F(f)\\).

If \\(F(\mathcal{C})\\) was a category then we would have \\(? \in \mathbf{Mor}(F(\mathcal{C}))\\), but it is not.

Does this help clarify what is going on?

> Given arrows \\(F(f) : F(X) \to F(Y)\\) and \\(F(g) : F(Y) \to F(Z)\\), we want to show that \\(F(g) \circ F(f)\\) is well-defined and is in the range of \\(F\\). Note that there might be multiple \\(f\\) and \\(g\\) giving the same arrows; for now, pick any representatives. If \\(F\\) is injective on objects, then we know that the codomain of \\(f\\) and the domain of \\(g\\) are the same; so the two are compatible. So \\(g \circ f\\) exists, and \\(F(g) \circ F(f) = F(g \circ f)\\) is in the range of \\(F\\).

>

> Now consider \\(f', g'\\) distinct from \\(f, g\\) such that \\(F(f) = F(f')\\) and \\(F(g) = F(g')\\). Then \\(g \circ f\\) and \\(g' \circ f'\\) exist, but need not be the same. Nonetheless, \\(F(g' \circ f') = F(g') \circ F(f') = F(g) \circ F(f) = F(g \circ f)\\).

>

> This would seem to imply that no matter which representatives \\(f, g\\) we pick, their composition gives the same image under \\(F\\). So the range of \\(F\\) is closed under a well-defined composition.

>

> What am I missing?

In a category, if you have a set of morphisms \\(\mathbf{Mor}(\mathcal{C})\\), then you need if \\(f: A \to B,g: B \to C \in \mathbf{Mor}(\mathcal{C})\\) then there must be some \\(h : A \to C \in \mathbf{Mor}(\mathcal{C})\\) such that \\(g \circ f = h\\).

Unfortunately, the image of a functor might not be closed under composition like that.

Ryan linked to this stackexchange question about this: https://math.stackexchange.com/questions/413138/can-it-happen-that-the-image-of-a-functor-is-not-a-category

I have tried to make a picture of the example in that link below.

Above on the left is the original category \\(\mathcal{C}\\), and on the right is the category \\(\mathcal{D}\\) that the functor \\(F : \mathcal{C} \to \mathcal{D}\\) maps to.

As you can see, if we look at the morphisms in the image of \\(F\\) we have \\(\mathbf{Mor}(F(\mathcal{C})) = \lbrace F(f): X \to Y, F(g): Y \to Z, F(id_A): X \to X, F(id_B): Y \to Y, F(id_C): Y \to Y, F(id_D): Z \to Z \rbrace\\).

I have also drawn the missing morphism \\(? : X \to Z\\), where \\(? = F(g) \circ F(f)\\).

If \\(F(\mathcal{C})\\) was a category then we would have \\(? \in \mathbf{Mor}(F(\mathcal{C}))\\), but it is not.

Does this help clarify what is going on?