$Set$, $Set^{op}$, categorical properties, and proving why these categories aren't isomorphic. This is going to be a bit of a long post, so fair warning.


So from what I could gather from some research, on the first link below, it goes that the category $Set$ is not isomorphic to its opposite, $Set^{op}$. My issues concern proving why.

One of the answers seems to make use of properties regarding the empty set. Namely, that, for all objects $X \in Set$, the arrow $X \rightarrow \emptyset$ exists if and only if $X = \emptyset$. This arrow would be isomorphic, clearly. There also exists an arrow $\emptyset \rightarrow X$ for all objects $X \in Set$.

So in $Set^{op}$, the dual idea reverses these arrows, i.e. for all $X$ we have an arrow $X \rightarrow \emptyset$. Apparently from what I could find at the second link below, this isn't an inherent violation ... for some technical reasons that I don't really understand. But I guess I'm basically mean to take the "reversing all arrows" part of the definition of opposite category very literally, and that it doesn't inherently break any rules by itself.

So my question is, then, how exactly do these become relevant to proving $Set$ is not isomorphic to its opposite? Because if we don't really have these violations, it seems trivial to define a functor $T$ such that


Object function: $X \mapsto T(X)$ as according to the below
Arrow function: $(f : A \rightarrow B) \mapsto (T(f) : T(A) \rightarrow T(B))$, where $T(A) = B$ and $T(B) = A$.


But obviously that's not right since it doesn't really invoke any assumptions about $Set$ and could be generalized to prove $\mathscr{C} \cong \mathscr{C}^{op}$ for any category $\mathscr{C}$.

Supposedly, according to a third post, this has something to do with the notion of "categorical properties." Namely, that - whatever these properties are, that term hasn't come up in my course at all - these are preserved by functors - which wasn't even mentioned when we covered functors.

So I'm trying to rationalize my way through this, but I can't be sure because ... well, I can't really figure out what a categorical property is, and how that applies in this case.

Does anyone have any nudges in the right direction for me?



Link 1 - Why is every category not isomorphic to its opposite?

Link 2 - What is the opposite category of $Set$?

Link 3 - Proof that $ \textbf{Set}\ $ is not isomorphic to its dual
Let me flesh out Andreas Blass's answer at one of the questions you linked to which you seem to be misunderstanding.


  Perhaps the easiest way to see that the category of sets isn't isomorphic to its dual is to observe that there is an object, namely the empty set, such that all morphisms into it are isomorphisms, but there is no object such that all morphisms out of it are isomorphisms.


What this is saying is that in $Set$ there exists an object $A$ (namely $\emptyset$) with the property that for every object $B$ and every morphism $f:B\to A$, $f$ is an isomorphism.  The claim is that this is a categorical property (preserved by isomorphisms of categories*): if a category $\mathcal{C}$ has such an object $A$ and $F:\mathcal{C}\to\mathcal{D}$ is an isomorphism of categories, then $\mathcal{D}$ also has such an object.

The proof is pretty trivial: just observe that $F(A)$ will have the same property in $\mathcal{D}$.  Indeed, suppose $B$ is an object of $\mathcal{D}$ and $f:B\to F(A)$ is a morphism.  Then $F^{-1}(f):F^{-1}(B)\to A$ is a morphism, so by the assumed property of $A$ it is an isomorphism.  Thus $f=F(F^{-1}(f))$ is also an isomorphism, as desired.

What's going on here is that we can freely "translate" between $\mathcal{C}$ and $\mathcal{D}$ by applying $F$ and its inverse, so any reasonable property of an object $A$ in $\mathcal{C}$ will also be true of the object $F(A)$ in $\mathcal{D}$.

OK, now let's get back to our story of $Set$.  In the category $Set$, there is an object $A$ with the property stated above (namely $A=\emptyset$).  If $Set$ and $Set^{op}$ were isomorphic, then there would exist some object $A'$ with the same property in $Set^{op}$.  Let's unravel what this means.  We have an object $A'$ of $Set^{op}$ (i.e., a set) such that for any object $B$ of $Set^{op}$ (i.e., a set) and any morphism $f:B\to A'$ (i.e., a function $f:A'\to B$), $f$ is an isomorphism (i.e., $f$ is a bijection).  Translating this back into ordinary statements about sets as indicated in parentheses, we have a set $A'$ such that for any set $B$, every function $f:A'\to B$ is a bijection.  However, no such set exists: for instance, if $A'$ is any set and $x$ is not an element of $A'$, then $B=A'\cup\{x\}$ is a set and the inclusion map $f:A'\to B$ is not a bijection.

So, no such object $A'$ of $Set^{op}$ exists, and so $Set^{op}$ is not isomorphic to $Set$.

*Actually, usually when people talk about "categorical properties", they really mean properties that are preserved by equivalences of categories, not just isomorphisms.  That is a more subtle story that I won't get into here, since your question is just about isomorphisms.
Part of this depends on how you define $\mathrm{Set}$ unfortunately.
A constructive $\mathrm{Set}$ has a dual interpretation as a programming language. Traditionally $\mathrm{Set}$ has been defined to be easy to use and give semantics to.
Pretty much most definitions of $\mathrm{Set}$ want the empty object $\emptyset$ to be a strict initial object. What is the programmatic interpretation of a map $X \rightarrow \emptyset$? If a map $1 \rightarrow X$ is a variable then what is its opposite? These maps are &quot;labels&quot; that handle control flow.
Under these sort of constructive interpretations a category with strict initial objects lacks exceptional control flow beyond the identity. For technical reasons combining control flow with exponential objects (or even a distributive category) cannot be given a constructive interpretation. Formal systems handling control flow usually use some kind of substructural logic.
There is nothing wrong with defining a category that has &quot;labels&quot;. These categories have perfectly reasonable constructive interpretations. But these categories don't really resemble common definitions of $\mathrm{Set}$.
Reworking the foundations of math in some kind of substructural logic sounds very fun and interesting to me. But for technical reasons you can't combine many useful features of $\mathrm{Set}$ with control flow. And without &quot;control flow&quot; there must only be one map $X \rightarrow \emptyset$. So as fun and interesting $\mathrm{Set}^\mathrm{op}$ might be it can't be isomorphic with $\mathrm{Set}$.