A functor $F: \mathcal{C} \to \mathcal{D}$ between two categories consists of the following data:
- A mapping $Ob \mathcal{C} \to Ob\mathcal{D}: A \mapsto F(A)$
- For each pair of objects $A,B \in Ob\mathcal{C}$, a mapping $Hom_\mathcal{C}(A,B) \to Hom_\mathcal{D}(F(A),F(B)): f \mapsto F(f)$,
subject to the following conditions:
- For every $A \in Ob \mathcal{C}$ we have $F(1_A) = 1_{F(A)}$
- For every $f \in Hom_\mathcal{C}(A,B), g \in Hom_\mathcal{C}(B,C)$, we have
$$F(g \circ f) = F(g) \circ F(f)$$
When defining a functor in examples, we always say what it does to a morphism $f: A \to B$. But what if there are no morphisms $A \to B$, i.e. $Hom_\mathcal{C}(A,B) = \emptyset$? Then we simply define the mapping $Hom_\mathcal{C}(A,B) \to Hom_\mathcal{D}(F(A),F(B)): f \mapsto F(f)$ to be the empty map?
The reason one never writes that down is because it is the only possibility and because there is nothing to check anyway?
Basically, my question boils down to:
Is it sufficient to define functors on objects and non-empty morphism sets?
If $Hom_\mathcal{C}(A,B) = \emptyset$, there is only one possibility for the mapping $Hom_\mathcal{C}(A,B) \to Hom_\mathcal{D}(F(A),F(B))$, namely the empty function (the function $\emptyset : Hom_\mathcal{C}(A,B) \to Hom_\mathcal{D}(F(A),F(B))$ is the function whose graph is empty).
This meets the second requirement because this requirement is vacuously true.