Do opposite categories always exist?

The opposite category of C is defined by setting hom(x,y)=hom(y,x) for all objects x,y of C. However in a concrete category, morphisms do not always have inverses (because functions don't always have inverses). So I am wondering how it is possible to always construct a reversed arrow for a given arrow and whether or not it is always possible to construct the opposite category.

Edit: Thank you for the responses and references I think I understand the main part of the question. As I understand it, when you construct the opposite category you forget all the meaning that the objects and morphisms have and reverse the arrows only in terms of classes of objects and sets of morphisms. One question I have is this. When you say a statement about a category you get the dual statement for "free" because the proof also applies in the opposite category. Do you only get things for free when your are talking about types of categories and not specific categories. For example in the category of groups, products always exist but coproduction do not.


Solution 1:

Based on your clarification, I'm pretty sure I'm answering the right question, but do let me know if you're actually asking something different. Also, I've added a bit at the end to address the new question in your edit.

Opposite categories always exist, and their construction does not require us to ever think about what a morphism "really is", or to perform complex operations on morphisms in any way; it is an entirely formal process.

Specifically, the "reversed arrow" in an opposite category corresponding to a "starting arrow" $\alpha$ is the starting arrow $\alpha$. That is, the arrows in $C^{\rm op}$ are exactly the same as the arrows in $C$, only they "mean" the opposite thing.

For example, consider the category $\bf Set$. Objects are sets, and morphisms are functions between sets. For instance, the function $f: \{0, 1\}\rightarrow \{0\}:0\mapsto0, 1\mapsto 0$ is a morphism from $\{0, 1\}$ to $\{0\}$.

In ${\bf Set}^{\rm op}$, the very same $f$ is still a morphism - only now $f$ is a morphism from $\{0\}$ to $\{0, 1\}$.


Somewhat more formally, what's going on is the following. Roughly, a category $C$ consists of a collection $\mathcal{O}$ of objects, and - for each pair of objects $x, y\in\mathcal{O}$ - a collection ${\rm Hom}(x, y)$ of things we call "morphisms from $x$ to $y$." (We also demand that there be an appropriate composition operation, and yadda yadda.)

The point is, though, that we don't demand anything about what a morphism "really is". The collection ${\rm Hom}(x, y)$ is just that - a collection. Its members could be anything.

The opposite category construction defines a category $C^{\rm op}$ to consist of the following data:

  • The objects of $C^{\rm op}$ are exactly the objects of $C$.

  • The morphisms of $C^{\rm op}$ are defined as: ${\rm Hom}_{C^{\rm op}}(x, y)={\rm Hom}_C(y, x)$.

Note that this doesn't involve "inverting the morphisms" at all: a morphism from $x$ to $y$ in $C^{\rm op}$ is literally the same thing as a morphism from $y$ to $x$ in $C$. At no point do we "dig into" the morphisms in any way.


NEW: You asked additionally:

When you say a statement about a category you get the dual statement for "free" because the proof also applies in the opposite category. Do you only get things for free when your are talking about types of categories and not specific categories?

Yes. If $\varphi$ is a statement true of a category $\mathcal{C}$, its "dual" statement $\varphi^{op}$ is true of the category $\mathcal{C}^{op}$, but not necessarily of $\mathcal{C}$ itself.

For a silly example of this, consider a category with three objects $a, b, c$, and five arrows: the identity arrows, a single nontrivial arrow from $a$ to $b$, and a single nontrivial arrow from $a$ to $c$. This category satisfies the statement "There is an object with three arrows coming out of it." However, the opposite category does not satisfy this statement. Conversely, the opposite category satisfies "There is an object with three arrows going into it", while the original category does not.

And, as you suggest, the existence of products does not entail the existence of coproducts, and vice versa (although your example was not correct).

What you do get "for free" are theorems about general categories: if you prove that $\varphi$ holds of every category, then you also know that $\varphi^{op}$ holds of every category; this is because $\varphi^{op}$ must hold of the opposite of every category, but every category is its opposite's opposite! (That is, $(\mathcal{C}^{op})^{op}=\mathcal{C}$.)

(You can also get "for free" theorems about classes of categories which you have already proved are closed under $^{op}$: for instance, if every fleen category's opposite category is also fleen, then having proved "every fleen category has coproducts" I immediately get "every fleen category has products.")

Solution 2:

Formally a concrete category is a category $\mathcal C$ together with a faithful functor $F: \mathcal C \rightarrow \textrm{Set}$. Informally, this says that you can think of the objects of $\mathcal C$ as sets and the morphisms as functions between your sets. And as I understand your question, you want to know whether we can consider $\mathcal C^{\textrm{op}}$ in the same way.

This is true, because $\textrm{Set}^{\textrm{op}}$ itself is concrete. It can be faithfully embedded into the category $\textrm{Rel}$ of relations, which is concrete. See https://en.wikipedia.org/wiki/Concrete_category#Further_examples

I'll write out the details of why $\textrm{Set}^{\textrm{op}}$ is concrete tomorrow. As you point out, it's not feasible to identify the elements of $\textrm{Hom}_{\textrm{Set}^{\textrm{op}}}(A,B) = \textrm{Hom}_{\textrm{Set}}(B,A)$ as literal functions from $A$ to $B$, you have to do something more complicated.

Solution 3:

If $\mathcal{C}$ is a category, then the opposite category $\mathcal{C}^{op}$ is just some other category. It's not the same category as $\mathcal{C}$.

So if you have any statement $P$ you can prove for all categories, that statement will be valid for $\mathcal{C}^{op}$. In particular, the statement that $P$ is true for $\mathcal{C}^{op}$ implies the "dual version of $P$" is true for $\mathcal{C}$. This is how you can dualize theorems "for free" in category theory: if $P$ is true in all categories, then the dual of $P$ is also true in all categories (by applying $P$ to the opposite category).

However, this only works if you know $P$ is true in all categories. So for instance, in the category $\mathtt{Set}$ it is true that if $X$ is an object and there exists a map from $X$ to an initial object, then $X$ is initial. (Concretely, if there is a map from $X$ to the empty set, $X$ must be empty.) The dual statement would be that if $X$ is an object and there exists a map from a terminal object to $X$, then $X$ is terminal. This statement is not true in $\mathtt{Set}$! (Indeed, any nonempty set $X$ has a map from a terminal object.)

All that is going on here is that the statement $P$ "if $X$ is an object and there exists a map from $X$ to an initial object, then $X$ is initial" is not true in every category. So there is no reason to think that if $P$ is true in $\mathcal{C}$, it must also be true in $\mathcal{C}^{op}$. In particular, while it is true in $\mathtt{Set}$, it is not true in $\mathtt{Set}^{op}$. As a result, the dual of $P$ is not true in $\mathtt{Set}$.