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.

  • 1
    $\begingroup$ See here. $\endgroup$
    – Mark
    Jan 11 '17 at 4:36
  • $\begingroup$ See also math.stackexchange.com/questions/438694/…. $\endgroup$ Jan 11 '17 at 4:40
  • $\begingroup$ It's a very formal notion and you shouldn't be trying to think of the arrows in any concrete way. $\endgroup$ Jan 11 '17 at 4:41
  • 1
    $\begingroup$ This is a really good question $\endgroup$
    – D_S
    Jan 11 '17 at 5:02
  • 4
    $\begingroup$ By the way, coproducts actually do always exist in the category of groups. $\endgroup$ Jan 11 '17 at 22:23

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.")

  • $\begingroup$ How can "the very same $f$" be a morphism in $\mathbf{Set}^{\text{op}}$? Going back to the definition of functions, $f = \{ (0,0), (1,0) \}$ in $\mathbf{Set}$. Given that domain and codomain are to be swapped, I presume $f = \{ (0,0), (0,1) \}$ in $\mathbf{Set}^{\text{op}}$; otherwise it seems wrong to call it a morphism from $\{0\}$ to $\{0,1\}$. However, this last relation/function is not functional/well-defined, as $0$ is mapped to more than one element. Are morphisms of $\mathbf{Set}^\text{op}$ not required to be functions? $\endgroup$
    – steve
    Aug 16 '21 at 23:43
  • 1
    $\begingroup$ @steve "I presume $f=\{(0,0),(0,1)\}$ in ${\bf Set}^{op}$; otherwise it seems wrong to call it a morphism from $\{0\}$ to $\{0,1\}$." No, that's incorrect: $f$ doesn't change, but its "meaning" does when we move from ${\bf Set}$ to ${\bf Set}^{op}$. This is the whole point of my answer: essentially, there is no connection necessary between what a morphism is "ontologically" (e.g. a set of ordered pairs) and what it is "in the category" (e.g. what its domain/codomain are, and how it composes with the other morphisms). $\endgroup$ Aug 17 '21 at 0:01
  • $\begingroup$ That makes sense, thank you for clarifying! $\endgroup$
    – steve
    Aug 17 '21 at 1:36

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.

  • 1
    $\begingroup$ It looks like the reference to concrete categories in the question was indeed a red herring. I do think the question I thought it was was good, so I recommend that you post that question and self-answer it. $\endgroup$ Jan 11 '17 at 18:40

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}$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.