Note on the conflation of relabeling with opposite

This note isolates a small ambiguity that occurs when one moves between covariant and contravariant functors indexed by a category, which can be harmful pedagogically because it hides the difference between two distinct operations — op and {\rm dup}.

The opposite operation “op” reverses arrows while the relabeling makes a fresh copy of a category, preserving its structure but changing its name or identity inside a chosen ambient category. Conflating these two operations seemingly is the root of a common beginner’s mistake: treating a relabeling of P^{op} as though it were an ordinary opposite operation internal to P.

The relabeling construction {\bf dup}:{\bf Cat}\to {\bf Cat} is mathematically void in the precise sense that no invariant construction detects the difference, and for this very reason, experts usually ignore it, which itself remains the source of perceptual trap.

The basic variance problem and relabeling

Let P be a category. A covariant functor M\colon P\to \mathcal C assigns to each p\in P an object M(p)\in\mathcal C, and to each morphism p\to q a morphism M(p)\to M(q).

A presheaf on P is instead a contravariant functor F\colon P^{op}\to \mathcal C where the variance distinction is encoded in the source category in our convention. The category P^{op} has the same objects as P, but its arrows are reversed: \operatorname{Hom}_{P^{op}}(p,q)=\operatorname{Hom}_{P}(q,p).

In general P^{op} encodes (often a strict) extra structure relative to the original P, whose existence is determined a posteriori by the structure of P and the choice of pair of objects.

Suppose we want to treat presheaves on P as covariant functors. A simple way is to relabel it as Q := P^{op}, then we have the notion of copresheaf, the literal dual of presheaf under the identification of the hom objects:

    \[\operatorname{Fun}(P^{op},\mathcal C)\cong \operatorname{Fun}(Q,\mathcal C).\]

But this identification contains two conceptually different components:

  1. First, one forms P^{op}, reversing arrows formally, without any assertion that there is any morphisms in the reversed direction of codomain to domain, in terms of original arrow;
  2. Secondaly, one regards the resulting category as a new indexing category Q.

The first operation changes variance, while the second does presentation without reversing anything: it only gives a fresh name to the already reversed category.

Although this distinction seems mathematically vacuous, it comes out erroneous once one recklessly interprets, or even worse, writes P = P^{op} by violating notation, hiding the first operation inside the second, which may suggest that P itself carries a canonical arrow-reversing symmetry.

A formal ambient category with relabeling

To separate the two steps explicitly, we introduce a relabeling (duplication) operation, which produces a fresh isomorphic copy of a category.

Define a relabeling endofunctor {\rm dup}\colon \mathbf{Cat}\to\mathbf{Cat} by tagging:

    \[{\rm dup} X=\left\{(x,\ast_X):x\in\operatorname{Ob}(X)\right\}.\]

This needs a bit of elaboration.

The label \ast_X can be defined dependently of each object by denoting \ast_x, which may, depending on the convention, collapse to the unique object depending only on the category X, displayed in the isomorphism {\rm dup} X\cong X\times\mathbf{1}, where \mathbf{1} is the terminal category.

More explicitly, if we assume X small, we observe that the isomorphism {\rm dup} X\cong \mathcal{Y}\downarrow \Delta \{\ast\} to the category of elements induces the unique natural transformation \ast_x\to \ast_y depending only on x\to y under

    \[(x,\ast_x:{\bf Set}(-,x)\Rightarrow \Delta  \{\ast\}) \to (y,\ast_y:{\bf Set}(-,y)\Rightarrow \Delta  \{\ast\}).\]

Then we must admit that the relabeling is a mathematically void 2-functor in a sense that the following natural isomorphism displays:

    \[\eta\colon \mathrm{Id}_{\mathbf{Cat}} \xRightarrow{\ \cong\ } {\rm dup},\qquad \eta_X\colon X\xrightarrow{\sim} {\rm dup}X.\]

The isomorphism P^{op}\xrightarrow{\rm dup} {\rm dup}P^{op}= Q is precisely the component \eta_{P^{op}} and {\rm dup} is a genuine, strict 2-functor, distinct from \mathrm{Id} on the nose — {\rm dup}X\neq X as objects — different underlying sets yet naturally isomorphic to \mathrm{Id}.

Clean decomposition

The relabeled category is the composite Q = ({\rm dup}\circ op)(P), where op supplies the arrow reversal (the variance change) determined a posteriori from P and {\rm dup} supplies the new name a priori. The two contributions we’re trying to separate here are literally separate in the composite.

And this is exactly where the worst-case abusive notion of P=P^{op} sits: it is the false assertion that {\rm dup}\circ op=\mathrm{Id} on the nose — equivalently, smuggling in op\cong\mathrm{Id}.

The correct conclusive statement is then

    \[{\rm dup}\circ op\cong op\neq\mathrm{Id}\cong {\rm dup}.\]