[FOM] Mirror versus opposite in categories

Lengyel, Florian FLENGYEL at gc.cuny.edu
Mon Nov 24 15:36:05 EST 2003

Certain apparently overlooked type errors recur in the literature on
categories. Sorting 
this out requires distinct notation for certain notions (even Mac Lane
conflates what I 
claim can be considered a natural transformation and a functor,
the opposite and the mirror functor [CWM, 2nd ed., page 33]). Sorting this
out seems to 
lead to foundational trouble: an infinite egress of ever larger
There always seems to be an adjunction, using a functor and (implicitly) a
natural transformation used to express all other adjunctions, which can only
be expressed 
at the next higher level of "meta-categories". I will attempt to be more

In definitions of adjoint relations between functors (and categories), 
authors such as Higgins, Lambek and Scott, Herrlich and Strecher, and
(in an exercise), write, given functors F:A->B and U:B->A, 
that F -| U (F is left-adjoint to U) if there is a natural isomorphism 
B(F(-),-) ->A(-,U(-)). 

This has a type error: the domain of B(-,-) is B^op x B, but F has codomain
not B^op [Lambek and Scott refer to an "adjointness" between categories, not

functors, but the same type error is present]. Writing B(F(-), -) by
what it does to objects and morphisms has the effect of silently introducing

a new notation, since it isn't a valid composition. Perhaps one could be
more explicit.
On page 33 of CWM, second edition, Mac Lane defines the opposite category. 
Further along that page, the same notation for the opposite arrow is used
for what 
I will call, in an attempt to be more precise, the mirror functor: 
if F:A->B is a functor, then the "mirror" of F, F^op:A^op->B^op, is  given
by  F^op(g^op)=(F(f^op))^op. 

But I claim this conflates what can be considered a natural transformation
a functor, appropriately defined; to sort out what to do with the type
it will help to keep them separate.
Suppose that F is an arrow in Cat, the category of small categories. Then
one would 
think that F^op would denote the arrow F^op:B->A in Cat^op, not an arrow
A^op -> B^op. 
Let's use the notation F* for the mirror functor; further, let's adopt the
that arrows of opposite categories will always be denoted with an explicit
So F*(g^op) = (F(g))^op. I've been accused of dyslexia on account of wanting
to be 
explicit about opposite arrows, but I believe there is more going on than an
to distinguish left from right. A less ad hominem attitude to adopt is that
we want our notation 
to do more of the work.
This would mean that the adjunction F -| U above would be properly
written as a natural isomorphism B(F*(-),-) ->A(-,U(-)). There is the
question of whether * and op are "only notation," or whether these refer to
operations on some large ambient category. 

To get rid of the * everywhere, I can introduce what I call the mirror
convention, but 
to do this I will consider what might happen if op and * were admitted as
with some definite domain. I need a large enough ambient category to do
naive category 
theory on which these operations make sense; I will include * and op as
operations in the "signature" of my naive category theory, rather than just
free-floating syntax that can be freely applied to any category or any
functor. Mac Lane suggests that "op" can be freely 
applied to any category. Are there formalizations of category theory in
which these operations
are formally defined? 

Let CAT± denote the meta-category of categories and co- and contra- variant
functors (if 
this is too big, substitute the category Cat± of small categories for CAT±).
the mirror involution * can be thought of as a "meta-"functor *:CAT±
-> CAT±, and one has a "meta-" natural transformation op:1_CAT± -> * from
the identity on CAT± to the mirror involution *. Its components are
contravariant functors op_A :A ->A^op. This is the 
reason we need to include contravariant functors in CAT±: the components of
op cannot be eliminated following the usual procedure of rewriting a
contravariant functor A ->B as a covariant functor A^op ->B, since this
implicitly uses the component op_A. We need an 
arrow of type A -> A^op, not some other type, despite the often heard
suggestion that 
a contravariant functor A -> B is "the same thing" as a covariant functor
A^op -> B.

So, the meta-category CAT± comes equipped with two operations, * and op,
as follows: 

op is a natural transformation: given a functor F:A->B and an arrow g of A,
op_B(F(g)) = F(op_A(g)). This will motivate a notational convention to get
of the *'s in the above adjunctions. But it will mean that I have to be
about showing opposite arrows as such.
Now I can state the mirror convention, by which the same name is used to
a functor and its mirror.

a) explicitly write arrows of opposite categories. There is a point to
There seems to be a type error, related to the common error occurring in
statements of adjunctions, in published definitions of the hom functor 
A(-,-):A*xA->Set (for a locally small category A).  Some authors, including
and Lambek and Scott, write an equation related to the type error in the
statement of adjointness relations: A(f,h)(g) = hgf, in which f means both f
and the opposite of f. 
One should write A(op(f),h)(g) = hgf (at least for now). 
b) Given categories A and B in CAT± and a functor F:A->B, I abuse notation
by writing F(op(g)) = op(F(g)).
(End of mirror convention)
Now, we have operations "*" and "op" on CAT±, which enable one to express
adjunction between functors of CAT± as a natural isomorphism between
and a syntactical convention to express this more or less the way category
write it, without type errors. 
However, there are still apparently "natural" adjunctions that cannot be
it seems "clear" that the mirror functor * is self-adjoint: * -| *. Writing
this seems to require "defining" a meta-meta category meta-CAT±, which
contains CAT± and CAT±^op (we need both!) along with a meta-* and a meta-op.
If we avoid hom-classes, we still need meta-CAT± in which to define the
meta-unit and meta-counit of the meta-adjunction * -| *. 
An argument of Steve Simpson shows that there is no category containing an
copy of every category, so an attempt to express some version of the
adjunction * -| * "internal" to CAT± by such a device cannot work...it seems
as though there is an 
endless egress of meta-categories...

Any comments and criticism would be appreciated.


More information about the FOM mailing list