How many natural transformations in the end $\int_{c\in C}Hom(c,c)$?

71 Views Asked by At

The end $\int_{c\in C}Hom(c,c)$ is precisely $Nat(Id_C, Id_C)$. $Nat(Id_C, Id_C)$ is a set of natural transformations. That means there are many natural transformations in this set.

But in Haskell, $Nat(Id_C, Id_C)$ is precisely a polymorphism type forall a. a -> a, and there is only one term of this type.

f :: forall a. a -> a
f x = x

So in Haskell, there is only one natural transformation in $Nat(Id_C, Id_C)$, right?

But in general (not in Haskell), there should be many natural transformations in $Nat(Id_C, Id_C)$. But I can hardly imagine other such natural transformations in $Nat(Id_C, Id_C)$...

Could anyone give me an example of this?

Thank you.

1

There are 1 best solutions below

3
On BEST ANSWER

"That means there are many natural transformations in this set." : well not necessarily, I know a set which doesn't have that many elements ($\{*\}$)

There are two things here : first of all, note that Hask is not an actual category, as has been pointed out many times.

Now, pretending that it is, I interpret your question as "are there examples of categories where $Nat(id_C,id_C)$ is 'big' ?"

The answer is yes ! Take for instance $C= $ the category of $R$-modules, for $R$ a commutative ring. Then $Nat(id_C,id_C)$ is isomorphic (as a set, and actually also as a ring) to $R$ (more generally, if $R$ is not commutative and I take left modules, the set is isomorphic to $Z(R)$, the center of $R$); with each $r\in R$ acting as $M\to M, x\mapsto rx$

Another general example would be : take $C$ any category with a terminal object $*$, and look at the category $C_*$ of pointed $C$-objects, that is, the comma category $*/C$. Then, if $C$ has at least one nontrivial pointed object (that is, an object $c$ with a non-isomorphism $*\to c$), $C_*$ has at least one nontrivial element of $Nat(id,id)$ : for any $\alpha: *\to c$, define $f_\alpha : c\to c$ by the composition $c\to * \to c$. It will clearly be natural and different from the identity. So $Nat(id,id)$ has at least two elements.