Julio wrote:

> Second, since now we are in \\(\mathcal{C}\\) (which is any category), if we forget about the hom-functor temporarily and only think about \\(\mathcal{C}\\), there may well exist various independently defined arrows \\(d \to d'\\), for \\(d\\) and \\(d'\\) are merely two random objects after all. But once we put on the hom-functor spectacles, we are taken into a different (and more restricted) scenery, where the possibly independently existing \\(d \to d'\\) arrows are no longer important (or even visible), because the hom-functor – which must map/preserve morphisms – needs to establish an _100% secure input-output relation_ in the \\(\mathbf{Set}\\)-perspective between \\(\mathrm{hom}(c,c')\\) and \\(\mathrm{hom}(d,d')\\), hence @John's words in the lecture:

>This function should take any morphism \\(h \in \mathrm{hom}(c,c')\\) and give a morphism in \\(\mathrm{hom}(d,d')\\).

> Thus, the question is *not* whether there might be \\(d \to d'\\) arrows in \\(\mathcal{C}\\) or not (which is a valid question for its own sake but simply uninteresting in our hom-functor discourse), but more restrictively given any \\(c \to c'\\) arrow as input (together with the relevant morphisms \\(f, g\\)), whether or not we can _confidently guarantee_ at least _one_ such arrow as output.

Right! Well put. You've got it now.

We are looking for a systematic recipe to build a function that takes morphisms in \\(h \in \mathrm{hom}(c,c')\\) and gives morphisms in \\(\mathrm{hom}(d,d')\\). We easily get such a recipe if we know morphisms \\(f: d \to c\\) and \\(g: c' \to d'\\), and that recipe is what the hom-functor exploits. We don't get such a recipe if we only know morphisms \\(f : c \to d\\) and \\(g: c' \to d'\\). So, we need the "op" in

\[ \text{hom} : \mathcal{C}^\text{op} \times \mathcal{C} \to \mathbf{Set} . \]

("Systematic recipe" is vague talk for "functor"; proving that the hom-functor is really a functor, as some students have done above, imposes some constraints that are well-nigh impossible to meet if one isn't systematic.)

> Second, since now we are in \\(\mathcal{C}\\) (which is any category), if we forget about the hom-functor temporarily and only think about \\(\mathcal{C}\\), there may well exist various independently defined arrows \\(d \to d'\\), for \\(d\\) and \\(d'\\) are merely two random objects after all. But once we put on the hom-functor spectacles, we are taken into a different (and more restricted) scenery, where the possibly independently existing \\(d \to d'\\) arrows are no longer important (or even visible), because the hom-functor – which must map/preserve morphisms – needs to establish an _100% secure input-output relation_ in the \\(\mathbf{Set}\\)-perspective between \\(\mathrm{hom}(c,c')\\) and \\(\mathrm{hom}(d,d')\\), hence @John's words in the lecture:

>This function should take any morphism \\(h \in \mathrm{hom}(c,c')\\) and give a morphism in \\(\mathrm{hom}(d,d')\\).

> Thus, the question is *not* whether there might be \\(d \to d'\\) arrows in \\(\mathcal{C}\\) or not (which is a valid question for its own sake but simply uninteresting in our hom-functor discourse), but more restrictively given any \\(c \to c'\\) arrow as input (together with the relevant morphisms \\(f, g\\)), whether or not we can _confidently guarantee_ at least _one_ such arrow as output.

Right! Well put. You've got it now.

We are looking for a systematic recipe to build a function that takes morphisms in \\(h \in \mathrm{hom}(c,c')\\) and gives morphisms in \\(\mathrm{hom}(d,d')\\). We easily get such a recipe if we know morphisms \\(f: d \to c\\) and \\(g: c' \to d'\\), and that recipe is what the hom-functor exploits. We don't get such a recipe if we only know morphisms \\(f : c \to d\\) and \\(g: c' \to d'\\). So, we need the "op" in

\[ \text{hom} : \mathcal{C}^\text{op} \times \mathcal{C} \to \mathbf{Set} . \]

("Systematic recipe" is vague talk for "functor"; proving that the hom-functor is really a functor, as some students have done above, imposes some constraints that are well-nigh impossible to meet if one isn't systematic.)