You are right to think it is puzzling! I am biased but I am of the opinion there are very deep phenomena lurking under these seemingly unimportant oddities.
To the a first degree the answer mostly boils down to the assymmetry in Set, the category of sets.
Set certainly doesn’t treat limits and colimits the same, so concepts built on top of it (like limits and colimits for ordinary categories) inherit its assymmetry.
As a very concrete instance of the assymmetry in Set:
The initial object 0 in Set is the empty set, which has a unique map to any other set (the empty map).
The terminal object 1 in set is the set containing one element. Every set X has a unique map to 1.
What about the other way around? Given a set X, what about the maps 1-> X? They exactly correspond to elements x of X !
Cool! Then what about maps X → 0 ?
Ah. Not so interesting.
There are none, unless X=0 is empty.
As pointed out by tailcalled, the opposite category of Set can be described as the category of complete atomic boolean algebras, a quite interesting category unto itself… but not equivalent to Set.
Cool, that’s all very good but it doesn’t explain why Set was assymetric in the first place.
Is this intrinsic? There are certainly natural categories that are equivalent to their opposites (the category of relations is a good examples).
To really understand what’s going on here we need to dig deeper. We need to step outside the traditional framework of set theory, and re-examine the foundations of type theory. If we do, we will find that even the very notion of category itself has an underlying bias, a broken duality. To be continued...
I think exponentials and coexponentials are relevant here, since they are good at shuffling things back and forth between the sides of morphisms, which matters for limits and colimits as they are adjunctions (and a particularly nice kind of adjunction, at that).
I wonder if it is related to exponentials vs coexponentials, since categories with both exponentials and coexponentials are posetal. I don’t have any particular argument for how that’d work, though.
Do you have a reference for this statement?
I suppose it is related to Joyal’s result that a Boolean category is always a poset, preventing a naive categorical analysis of classical proof theory.
I can’t remember the entire proof, and maybe I misstated it, but IIRC part of the logic goes as follows:
With exponentials, you can prove that 0 x A ≈ 0, because any morphism 0 x A → B curries into 0 → B^A, of which by the universal property of 0, there’s only one.
Similarly, with coexponentials, you can prove that 1 + A ≈ 1, because any morphism A → B+1 cocurries into A-B → 1, of which there is only one.
So this at least proves that all the objects built out of 0, 1, x and + are trivial. I think there was something funky where you made use of the fact that A → B can be expressed as 1-(B^A) → 0 and 1 → 0^(B-A) to further prove all morphisms trivial, but I can’t remember it exactly.
First, each morphism f : A → 0 induces a unique morphism f . pr1 : A x 0 → 0. Proof: suppose f . pr1 = g . pr1. Then we have f = f . pr1 . (id, f) = g . pr1 . (id, f) = g.
Corollary: if you have exponential objects, then if you have any f : A → 0, then A ≈ 0, because there’s only one morphism 0 → 0^A.
But, if you have coexponential objects, any hom set A → B can instead be expressed as a hom set A-B → 0. This shows A-B ≈ 0, and also all homs are equal.
Do you know programming? A coexponential A−B is intuitively roughly speaking an A together with a return position where you can place a B. It’s how function calls are implemented in computers, as morphisms A−B→0, corresponding to the fact that you have the parameters A and the call stack −B.
(More formally: given a coproduct (~disjoint union) +, a coexponential − is defined based on A→B+C being equivalent to A−B→C.)
This strikes me as deeply puzzling. Why is this the case?
You are right to think it is puzzling! I am biased but I am of the opinion there are very deep phenomena lurking under these seemingly unimportant oddities.
To the a first degree the answer mostly boils down to the assymmetry in Set, the category of sets. Set certainly doesn’t treat limits and colimits the same, so concepts built on top of it (like limits and colimits for ordinary categories) inherit its assymmetry.
As a very concrete instance of the assymmetry in Set: The initial object 0 in Set is the empty set, which has a unique map to any other set (the empty map). The terminal object 1 in set is the set containing one element. Every set X has a unique map to 1.
What about the other way around? Given a set X, what about the maps 1-> X? They exactly correspond to elements x of X ! Cool! Then what about maps X → 0 ? Ah. Not so interesting. There are none, unless X=0 is empty.
As pointed out by tailcalled, the opposite category of Set can be described as the category of complete atomic boolean algebras, a quite interesting category unto itself… but not equivalent to Set.
Cool, that’s all very good but it doesn’t explain why Set was assymetric in the first place.
Is this intrinsic? There are certainly natural categories that are equivalent to their opposites (the category of relations is a good examples).
To really understand what’s going on here we need to dig deeper. We need to step outside the traditional framework of set theory, and re-examine the foundations of type theory. If we do, we will find that even the very notion of category itself has an underlying bias, a broken duality. To be continued...
This is an interesting post and I hope that you’ll continue it.
I think exponentials and coexponentials are relevant here, since they are good at shuffling things back and forth between the sides of morphisms, which matters for limits and colimits as they are adjunctions (and a particularly nice kind of adjunction, at that).
I wonder if it is related to exponentials vs coexponentials, since categories with both exponentials and coexponentials are posetal. I don’t have any particular argument for how that’d work, though.
Do you have a reference for this statement? I suppose it is related to Joyal’s result that a Boolean category is always a poset, preventing a naive categorical analysis of classical proof theory.
I can’t remember the entire proof, and maybe I misstated it, but IIRC part of the logic goes as follows:
With exponentials, you can prove that 0 x A ≈ 0, because any morphism 0 x A → B curries into 0 → B^A, of which by the universal property of 0, there’s only one.
Similarly, with coexponentials, you can prove that 1 + A ≈ 1, because any morphism A → B+1 cocurries into A-B → 1, of which there is only one.
So this at least proves that all the objects built out of 0, 1, x and + are trivial. I think there was something funky where you made use of the fact that A → B can be expressed as 1-(B^A) → 0 and 1 → 0^(B-A) to further prove all morphisms trivial, but I can’t remember it exactly.
Ahh, now I’ve got it:
First, each morphism f : A → 0 induces a unique morphism f . pr1 : A x 0 → 0. Proof: suppose f . pr1 = g . pr1. Then we have f = f . pr1 . (id, f) = g . pr1 . (id, f) = g.
Corollary: if you have exponential objects, then if you have any f : A → 0, then A ≈ 0, because there’s only one morphism 0 → 0^A.
But, if you have coexponential objects, any hom set A → B can instead be expressed as a hom set A-B → 0. This shows A-B ≈ 0, and also all homs are equal.
Not a category theorist, I only understood this post through set theory analogies, so I have no idea what you just said.
Do you know programming? A coexponential A−B is intuitively roughly speaking an A together with a return position where you can place a B. It’s how function calls are implemented in computers, as morphisms A−B→0, corresponding to the fact that you have the parameters A and the call stack −B.
(More formally: given a coproduct (~disjoint union) +, a coexponential − is defined based on A→B+C being equivalent to A−B→C.)
OK, that explanation helped me understand coexponentials a bit but I’m unsure how it’s relevant to the assymetry between the examples Alok gave.
“This” is the broken duality phenomenon?
Yeah.