Is there a functor between $\mathbf{Set}$ and $\mathbf{Set}/C$?

75 Views Asked by At

In my PhD thesis, I'm interpreting some of my code in Category Theory. I ended up modeling some stuff as a slice category $\mathbf{Set}/C$, and ended up with the question whether I could define a functor $F$ from $\mathbf{Set}$ to $\mathbf{Set}/C$. To my surprise, it seems that this would not be possible... Am I correct in this assertion? I mean, the functor $F$ takes each set $A$ to $FA = (A, f_A)$, where $f_A:A\to C$. Now, the problem seems to be on morphisms. For example, a function $g:A \to B$ would have to have $Fg: FA \to FB$, where $FA = (A,f_A)$ and $FB = (B, f_B)$. The problem is that I don't have guarantees that $Hom_{\mathbf{Set}/C}(FA, FB)$ would not be empty. For example, if $A$ is a singleton set and $f_A(a) = c_1$, and $B$ also a singleton set with $f_B(b) = c_2$, then there is no $\phi \in Hom_{\mathbf{Set}/C}(FA, FB)$ such that the slice category property is satisfied, i.e. that $f_B \circ \phi = f_A$...

Is this all correct? Is there a way to define a functor between these categories?

The comments suggests the existence of some trivial functors. I was wondering if there is something with a bit more structure. For example, suppose we have a natural transformation $\phi:Id \Rightarrow \Delta_C$, such that $FA = (A, \phi_A)$. Is there a way to guarantee the existence for some property of $\phi$?

Just to be clear, here is a motivation. In Haskell, we can define a type class:

class F a where
   phi :: (F a) => a -> C

An instance of $F$ would be similar to $(A,\phi_A)$. I was trying to explain this category in terms of the slice category. I figured that I could explain as a subcategory of $\mathbf{Set}/C$. Hence, I was trying to seem how I could construct such subcategory using functors... But this seems not to be possible.