0% found this document useful (0 votes)
9 views151 pages

Category Theory Lecture Notes MAT434

These lecture notes are designed for students of the Category Theory course (MAT434) at BRAC University, prepared under the supervision of Dr. Syed Hasibul Hassan Chowdhury. The document includes a structured outline of topics covered in the course, such as definitions of categories, functors, monoids, and various constructions and properties related to category theory. It also provides references for further reading on the subject.

Uploaded by

Nafisa Nazlee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views151 pages

Category Theory Lecture Notes MAT434

These lecture notes are designed for students of the Category Theory course (MAT434) at BRAC University, prepared under the supervision of Dr. Syed Hasibul Hassan Chowdhury. The document includes a structured outline of topics covered in the course, such as definitions of categories, functors, monoids, and various constructions and properties related to category theory. It also provides references for further reading on the subject.

Uploaded by

Nafisa Nazlee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Category Theory (MAT434)

Lecture Notes
Preface
This series of lecture notes has been prepared for aiding students who took the BRAC University
course Category Theory (MAT434) in Summer 2023 semester. These notes were typeset under
the supervision of mathematician Dr. Syed Hasibul Hassan Chowdhury. The main goal of this
typeset is to have an organized digital version of the notes, which is easier to share and handle. If you
see any mistakes or typos, please send me an email at atonuroychowdhury@[Link]

Atonu Roy Chowdhury

References:
• Category Theory, by Steve Awodey.

• Category Theory for Scientists, by David Spivak.

• Categories for the Working Mathematician, by Saunders Mac Lane.

• Basic Category Theory, by Tom Leinster.

ii
Contents

Preface ii

1 Categories 5
1.1 Definition of a Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Examples of Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Functor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Monoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Construction on Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Free Categories 15
2.1 Free Monoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Free Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

3 Abstract Characterizations 21
3.1 Epis and Monos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.2 Sections and Retractions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.3 Initial and Terminal Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.4 Generalized Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.5 Products . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.6 Hom-sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.7 Associativity of Product . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.8 Product and Terminal Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4 Duality 54
4.1 Duality Principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.2 Coproducts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.3 Equalizers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4.4 Coequalizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.5 Product and Coproduct of an Arbitrary Family of Objects . . . . . . . . . . . . . . . . . 72

5 Groups and Categories 75


5.1 Groups in a Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 Monoidal Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.3 The Category of Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4 Groups as Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

6 Subobjects and Pullbacks 90


6.1 Subobjects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Pullback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

7 Limits and Colimits 112


7.1 Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
7.2 Preservation of Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
7.3 Colimits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

8 Exponentials 132
8.1 Exponential in a Category . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.2 Cartesian Closed Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

9 Naturality 139
9.1 The Category of Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

3
Contents 4

9.2 Naturality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141


9.3 Exponentials of Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

4
1 Categories
§1.1 Definition of a Category
Category theory arises from the idea of a system of “functions” among some objects.
f
A B
g
g◦f
C
A category consists of objects A, B, C, . . . and arrows f : A → B, g : B → C, . . . that are closed
under composition and satisfy certain conditions typical of composition of functions. Before formally
defining what a category is, let us begin our discussion with the setting where the objects are sets and
arrows are functions between sets.
Let f be a function from a set A to another set B. This is mathematically expressed as f : A → B.
Explicitly, it refers to the fact that f is defined for all of A, and all the values of f are contained in B.
In other words, range (f ) ⊆ B.
Now suppose we have another function g : B → C. Then there is a unique function g ◦ f : A → C,
given by
(g ◦ f ) (a) = g (f (a)) , for a ∈ A. (1.1)
This unique function is called the composite of g and f , or g after f .
f
A B
g
g◦f
C
Now, this operation ◦ of composition of functions is associative. In other words, the two arrows
from A to D in the following diagram are the same:
(h ◦ g) ◦ f

h◦g

f g h
A B C D
g◦f

h ◦ (g ◦ f )

Given f : A → B, g : B → C and h : C → D, one has unique compositions h ◦ g : B → D and


g ◦ f : A → C. These two composed functions can be further composed with f (from the left) and
with h (from the right), respectively, to yield a unique function

(h ◦ g) ◦ f = h ◦ (g ◦ f ) , (1.2)

from A to D as demanded by the associativity law. Using the definition of composition of functions,
one verifies that this is indeed the case:
((h ◦ g) ◦ f ) (a) = (h ◦ g) (f (a)) = h (g (f (a))) ,
(h ◦ (g ◦ f )) (a) = h ((g ◦ f ) (a)) = h (g (f (a))) .

Therefore, (h ◦ g) ◦ f = h ◦ (g ◦ f ).

5
1 Categories 6

Finally, note that for every set A, there is an identity function 1A : A → A given by

1A (a) = a. (1.3)

These identity functions act as units for composition, i.e. given f : A → B, we have

(f ◦ 1A ) (a) = f (1A (a)) = f (a) ,


(1B ◦f ) (a) = 1B (f (a)) = f (a) ,

for each a ∈ A. Therefore,


f ◦ 1A = 1B ◦f = f. (1.4)
The equality above is equivalent to the following commutative diagram:
1A
A A
1B ◦f
f
f ◦1A
B 1B
B

We have the following abstract version of sets and functions between sets called a category.

Definition 1.1 (Category). A category C consists of the following data:

• Objects: A, B, C, . . .. The collection of objects of C is denoted by Ob (C).

• Arrows: f, g, h, . . .. Given two objects A and B, the set of arrows from A to B is denoted
by HomC (A, B).

• For each arrow f , there are given objects dom (f ) , cod (f ) called the domain and codomain
of f . We write f : A → B to indicate that A = dom (f ) and B = cod (f ).

• Given arrows f : A → B and g : B → C, i.e. with cod (f ) = dom (g), there is a unique
arrow g ◦ f : A → C, i.e. g ◦ f ∈ HomC (A, C) called the composite of f and g. This fact
can be rephrased as the following: given A, B, C ∈ Ob (C), there is a function

◦ : HomC (B, C) × HomC (A, B) → HomC (A, C) , (1.5)

with (g, f ) 7→ g ◦ f . The well-definedness of ◦ is synonymous to claiming that g ◦ f ∈


HomC (A, C) is unique for given g ∈ HomC (B, C) and f ∈ HomC (A, B).

• For each A ∈ Ob (C), there exists an unique arrow 1A ∈ HomC (A, A).

The above data are required to satisfy the following laws:

• Associativity: For any f ∈ HomC (A, B), g ∈ HomC (B, C), h ∈ HomC (C, D) with
A, B, C, D ∈ Ob (C),
(h ◦ g) ◦ f = h ◦ (g ◦ f ) , (1.6)

• Unit: For any f ∈ HomC (A, B) with A, B ∈ Ob (C),

f ◦ 1A = 1B ◦f = f. (1.7)

6
1 Categories 7

Remark 1.1. Suppose we have the following commutative diagram:


f
A B
g
h
h◦f =h◦g
C
Commutativity of this diagram doesn’t violate the uniqueness of the composition ◦. It just means
that the map ◦ in (1.5) is a many-to-one function.

§1.2 Examples of Categories


• Sets and functions between sets. This category is called Sets.

• Groups and group homomorphisms

• Vector spaces and linear mappings between them

• Graphs and graph isomorphisms

• The set of real numbers R as an object, and continuous functions f : R → R as arrows

• Open subsets U ⊆ R and continuous functions f : U → V ⊆ R defined on them

• Differentiable manifolds and smooth (C ∞ ) mappings

• Posets and monotone functions.

Let us discuss the last category at length.

Definition 1.2. A partially ordered set or poset is a set A equipped with a binary relation (a
subset of A × A) a ≤A b (in other words, (a, b) ∈ R ⊂ A × A) such that the following conditions
hold for all a, b, c ∈ A:

(i) Reflexivity: a ≤A a.

(ii) Transitivity: if a ≤A b and b ≤A c, then a ≤A c.

(iii) Antisymmetry: if a ≤A b and b ≤A a, then a = b.

Remark 1.2. The antisymmetry condition tells us that if both a ≤A b and b ≤A a hold, then a
and b cannot be distinct. Contrapositively, for distinct a and b in A, not both a ≤A b and b ≤A a
hold true. Also, note that if (A, ≤A ) is a partially ordered set, there can be elements a, b ∈ A
such that neither (a, b) nor (b, a) is in R. If it happens that given any a, b ∈ A, either (a, b) or
(b, a) is in R, i.e. either a ≤A b or b ≤A a, then we call A a totally ordered set.

Example 1.1. (R, ≤), the set of real numbers with the usual ordering ≤ is a totally ordered set.

Now we define an arrow from a poset (A, ≤A ) to another poset (B, ≤B ) to be a function m : A → B
that is monotone, in the sense that for all a, a0 ∈ A,

whenever a ≤A a0 , one has m (a) ≤B m a0 .

We need to verify that under this definition of arrows, we have a category. First of all, we must have
1A : A → A, defined by 1A (a) = a for each a ∈ A, to be monotone. Indeed, if a ≤ a0 in A, then we
automatically have 1A (a) ≤ 1A (a0 ). Therefore, 1A is monotone.

7
1 Categories 8

Given monotone functions f : A → B bewteen posets (A, ≤A ) and (B, ≤B ), and g : B → C bewteen
posets (B, ≤B ) and (C, ≤C ), we need to verify that the composition g ◦ f : A → C is also monotone.
Indeed, given a ≤A a0 , since f is monotone, we have

f (a) ≤B f a0 . (1.8)
Since g is monotone, this gives us 
g (f (a)) ≤C g f a0 . (1.9)
In other words, (g ◦ f ) (a) ≤C (g ◦ f ) (a0 )
given a ≤A a0 .
Therefore, g ◦ f : A → C is monotone.
The category thus formed is called the category of posets and monotone functions, and is denoted
by Pos.

Finite Categories
A finite category consists of finitely many objects and finitely many arrows between them.
• The category 1 looks as follows:

It has one object ∗ and its identity arrow.


• The category 2 looks as follows:

? ∗

It has two objects ? and ∗, their identity arrows, and exactly one arrow ? → ∗.
• The category 3 looks as follows:

? ∗

It has three objects ?, ∗, •, their respective identity arrows, and the other arrows are ? → ∗,
∗ → •, and ? → • (which is the composition of the previous two arrows).
• The category 0 looks as follows:

It has no objects or arrows.

§1.3 Functor
Definition 1.3 (Functor). A functor F : C → D between categories C and D is an assignment of
Ob (C) to Ob (D) and a mapping of arrows in C to arrows in D, i.e. for any A, B ∈ Ob (C), a
mapping
HomC (A, B) → HomD (F (A) , F (B)) ,
where F (A) , F (B) ∈ Ob (D) are the assigned objects of D under F . In other words, for given
A, B ∈ Ob (C) and an arrow f : A → B, one has F (A) , F (B) ∈ Ob (D) and an arrow F (f ) :
F (A) → F (B) such that the following hold:

(a) F (1A ) = 1F (A) .

(b) F (g ◦ f ) = F (g) ◦ F (f ).

8
1 Categories 9

In other words, F preserves domains and codomains, identity arrows and composition.

f
C A B
g
g◦f
F C

F (f )
D F (A) F (B)
F (g)
F (g◦f )=F (g)◦F (f )
F (C)

Now, one can see that functors compose in the expected way and that every category C has a distin-
guished functor called the identity functor 1C : C → C. Thus we have a category, namely Cat, the
category of all categories and functors between them.

Preorder
A preorder is a set P equipped with a binary relation ≤ that is both reflexive and transitive: a ≤ a;
and if a ≤ b and b ≤ c, then a ≤ c for any a, b, c ∈ P . Any preorder (P, ≤) can be regarded as a
category by taking the objects of the category to be the elements of P and taking a unique arrow

a → b if and only if a ≤ b in (P, ≤) . (1.10)

Remark 1.3. Reflexivity and transitivity property ensures that the preorder (P, ≤) is indeed a
category. Note that the above condition implies that there is at most one arrow from an object of
(P, ≤) to another. In the other direction, any category with at most one arrow from an object to
another determines a preorder simply by defininig a binary relation ≤ on the objects by (1.10).

Remark 1.4 (On the similarities between a poset and a preorder). A poset (P, ≤) is evidently
a preorder with the additional condition of antisymmetry. Hence, a poset is also a category.
Examples of poset include the power set P (X) of a given set X under the usual subset relation:
U ⊆ V between the subsets U, V of X.
There can be preorders that are not posets. For instance, (Z, |) is a preorder on the set of
integers, where “|” is the usual divides binary relation: given a, b ∈ Z, we have a | b (read a
divides b) if and only if b = ca for some c ∈ Z. It is clearly reflexive and transitive. Note that
a | b and b | a imply a = ±b which is not the same as a = b. Hence, “|” is not antisymmetric.
Therefore, (Z, |) is a preorder that is not a poset.

§1.4 Monoid
Definition 1.4 (Monoid). A monoid is a set M equipped with a binary operation · : M ×M → M
and a distinguished “unit” element u ∈ M such that for each x, y, z ∈ M ,

x · (y · z) = (x · y) · z and u · x = x · u = x. (1.11)

Equivalently, a monoid is a category with just one object. The arrows of the category are the elements
of the monoid. In particular, the identity arrow on the object is the unit element u. Composition of
arrows is the binary operation x · y of the monoid.

9
1 Categories 10

For example, N (we are adopting the convention that 0 ∈ N), Q, R with addition and 0 as the unit
element. Also, N, Q, R with multiplication and 1 as unit are monoids. For any set X, the set of
functions from X to itself, written as
HomSets (X, X) ,
is a monoid under the operation of composition. Here Sets is the category of sets and functions
between sets. More generally, for any object C ∈ Ob (C) in a category C, the set of arrows from C to
itself, written as
HomC (C, C) ,
is a monoid under the composition of arrows in C.
Since monoids are structured sets (sets equipped with a binary operation fulfilling associativity, uni-
tality etc.), there is a category Mon whose objects are monoids and arrows are functions that preserve
the monoid structure, namely monoid homomorphisms. In detail, a monoid homomorphism from
a monoid (M, ·M ) to a monoid (N, ·N ) is a function f : M → N such that for all m, n ∈ M ,

h (m ·M n) = h (m) ·N h (n) and h (uM ) = uN . (1.12)

Here uM and uN are unit elements of M and N , respectively.

§1.4.i Isomorphisms
Definition 1.5. In any category C, an arrow f : A → B is called an isomorphism if there is an
arrow g : B → A such that
g ◦ f = 1A and f ◦ g = 1B . (1.13)

Suppose there is another arrow ge : B → A with

ge ◦ f = 1A and f ◦ ge = 1B . (1.14)

Then we have
g = g ◦ 1B = g ◦ (f ◦ ge) = (g ◦ f ) ◦ ge = 1A ◦ge = ge. (1.15)
Hence, if an arrow g : B → A exists satisfying (1.13), then it is unique. Such unique arrow g : B → A
is called the inverse of f : A → B, and we write g = f −1 . When such an arrow f : A → B exists, we
say that A is isomorphic to B, written A =∼ B.

Definition 1.6 (Group). A group G is a monoid with an inverse g −1 for every element g ∈ G.
Thus G is a category with one object in which every arrow is an isomorphism.

The natural numbers N do not form a group either under addition or multiplication. But the integers
Z form a group under addition. So do the positive rationals Q+ under multiplication. For any set X,
we have the group Aut (X) of all the automorphisms of X, i.e. isomorphisms f : X → X. A group
of permutations is a subgroup G ⊆ Aut (X) for some X. Thus the set G must satisfy the following:

1. The identity function 1X on X is in G.

2. If g, g 0 ∈ G, then g ◦ g 0 ∈ G.

3. If g ∈ G, g −1 ∈ G.

We now have the following theorem due to Arthur Cayley.

Theorem 1.1 (Cayley’s theorem)


Every group G is isomorphic to a group of permutations.

10
1 Categories 11

Sketch of proof. First, define the Cayley representation G of G to be the following group of permuta-
tions on a set: the set is G itself, and for each g ∈ G, one has the permutation g : G → G defined
as
g (h) = g · h for each h ∈ G. (1.16)
Indeed, g has an inverse g −1 = g −1 :
g −1 (h) = g −1 h. (1.17)
One, thus, verifies that g : G → G is indeed an isomorphism, and hence a permutation on G.
Now define homomorphisms i : G → G by i (g) = g, and j : G → G by j (g) = g (u) = g, with u
being the identity element of the group G.
Observe that i ◦ j = 1G and j ◦ i = 1G . Indeed, for g ∈ G and g ∈ G,
(j ◦ i) (g) = j (i (g)) = j (g) = g,
(i ◦ j) (g) = i (j (g)) = i (g) = g,
establishing that i : G → G is an isomorphism. ■

Remark 1.5. There are two different types of isomorphisms involved in this proof. For each
g ∈ G, one defines an isomorphism g : G → G. This is an isomorphism in the category Sets.
Later, we defined an isomorphism i : G → G, which is an isomorphism in the categorty Groups
of groups and group homomorphisms.

Remark 1.6. The group G is the group of permutations (automorphisms) on the group G which
is a subgroup of the automorphism group on G itself. This subgroup has the same unit element
of that of the automorphism group on G, i.e. 1G , the identity function on the group G. Note
that this is also the unit of the group G which is not the same as 1G . This identity function 1G
on G was used to establish the required isomorphism in Cayleys theorem.

Cayley’s theorem can be generalized to prove that any category not “too big” (which has the collection
of objects to be a set) is isomorphic to a category in which the objects are sets and the arrows are
functions between those sets. In other words, any not “too big” category is isomorphic to a subcategory
of Sets.

Theorem 1.2 (Generalized Cayley’s Theorem)


Every category C with a set of arrows is isomorphic to one in which the objects are sets and the
arrows are functions.

Sketch of proof. Define the Cayley representation C of C to be the following concrete category (i.e. a
category where objects are sets and arrows are functions between them):
• Objects: objects are sets of the form
C = {f : X → C} = {f ∈ HomC (X, C) | X ∈ Ob (C)} . (1.18)
In other words, the object C is the set of functions whose codomains are C.
• Arrows: arrows are functions
g:C→D (1.19)
for g : C → D in C, defined for any f : X → C in C by g (f ) = g ◦ f .
X
g(f )=g◦f
f

C g D

11
1 Categories 12
 
Then we define a functor F : C → C that takes the object C ∈ Ob (C) to the object C ∈ Ob C , and
takes the arrow g : C → D in C to the arrow g : C → D in C. In other words,

F (C) = C and F (g) = g. (1.20)

This is a functor since F (1C ) = 1C and F (g ◦ h) = F (g) ◦ F (h) for composable arrows g, h in C.
  functor G : C → C that takes the object C to the codomains
We then define another  of the functions
that are in C, i.e. G C = C, and takes the arrow g : C → D to the arrow g 1G (C ) = g (1C ) =
g ◦ 1C = g : C → D in C. In other words,
 
G C = C and G (g) = g. (1.21)
    
This is a functor since G 1C = 1C and G g ◦ h = G (g) ◦ G h for composable arrows g, h in C.
Then one can verify that
G ◦ F = 1C and F ◦ G = 1C . (1.22)
Therefore, C and C are isomorphic. ■

§1.5 Construction on Categories


[Link] product of 2 categories C and D, written as C × D has objects of the form (C, D) for C ∈ Ob (C)
and D ∈ Ob (D), and arrows of the form

(f, g) : (C, D) → C 0 , D0 ,

with C, C 0 ∈ Ob (C), D, D0 ∈ Ob (D), f ∈ HomC (C, C 0 ) and g ∈ HomD (D, D0 ).


Composition and units are defined componentwise, i.e.
 
f 0 , g 0 ◦ (f, g) = f 0 ◦ f, g 0 ◦ g and 1(C,D) = (1C , 1D ) , (1.23)

with C, C 0 , C 00 ∈ Ob (C) and D, D0 , D00 ∈ Ob (D) and


1D

f f0 g g0
1C C C0 C 00 D D0 D00

f 0 ◦f g 0 ◦g

Then in C × D, we have

(f,g) (f 0 ,g 0 )
1(C,D) =(1C ,1D ) (C, D) (C 0 , D0 ) (C 00 , D00 )

(f 0 ,g 0 )◦(f,g)=(f 0 ◦f,g 0 ◦g)

Then there are two projection functors:


π1 π2
C C×D D
Given (C, D) ∈ Ob (C × D) and (f, g) : (C, D) → (C 0 , D, ),

π1 (C, D) = C, π1 (f, g) = f. (1.24)

Similarly,
π2 (C, D) = D, π2 (f, g) = g. (1.25)

12
1 Categories 13

[Link] opposite category C op has objects that are in a one-to-one correspondence with the objects of C.
Let C ∗ ∈ Ob (C op ) be the object in C op that corresponds to C ∈ Ob (C). Then an arrow f : C → D
in C corresponds to an arrow f ∗ : D∗ → C ∗ . With this notation, one can define composition and
units in C op in terms of the corresponding operations in C, namely
1C ∗ = (1C )∗ . (1.26)
For f : C → D, g : D → E in C, we have f ∗ : D∗ → C ∗ and g ∗ : E ∗ → D∗ in C op . Then their
composition is defined as
f ∗ ◦ g ∗ = (g ◦ f )∗ . (1.27)
1C ∗ =(1C )∗

f g Duality f∗ g∗
1C C D E C∗ D∗ E∗
g◦f f ∗ ◦g ∗ =(g◦f )∗

[Link] slice category C/C of a category C over an object C ∈ Ob (C) has


•Objects: all arrows f in C such that cod (f ) = C. In other words, all arrows f ∈ HomC (X, C)
with some X ∈ Ob (C).
•Arrows: an arrow a from f : X → C to f 0 : X 0 → C is precisely an arrow in HomC (X, X 0 )
such that f 0 ◦ a = f . In othe words, the following diagram commutes:
X a
X0

f f0
C
Now suppose f, g, h ∈ Ob C/C and a ∈ HomC/C (f, g), b ∈ HomC/C (g, h). Then there are objects
X, X 0 , X 00 ∈ Ob (C) such that the two triangles in the following diagram commute:
b◦a

X a X0 b
X 00
g
f h
C
In other words, g ◦ a = f and h ◦ b = g, so that one obtains
f = g ◦ a = (h ◦ b) ◦ a = h ◦ (b ◦ a) . (1.28)
Therefore, we have the following commutative diagram:
X b◦a
X 00

f h
C
Hence, b ◦ a ∈ HomC/C (f, h), using the definition of arrows in C/C. For a given f ∈ Ob (C/C), 1f
is precisely the identity arrow on dom (f ) in the category C, which is evident from the following
commutative diagram:
1dom(f )
dom (f ) dom (f )

f f
C
If g : C → D is any arrow in C, then there is a functor called the composition functor:
g∗ : C/C → C/D,
defined on Ob (C/C) as
g∗ (f ) = g ◦ f. (1.29)

13
1 Categories 14

X
g◦f
f

C g D
Commutativity of the above diagram dictates that g ◦ f ∈ Ob (C/D). Now suppose f, f 0 ∈ Ob (C/C),
and consider a ∈ HomC/C (f, f 0 ) so that the following diagram commutes:
X a
X0
f0 g◦f 0
f
g◦f

C g D
 0
g ◦ f = g ◦ f0 ◦ a = g ◦ f ◦ a, (1.30)
so the diagram indeed commutes. So we have the following commutative diagram:
X a
X0

g◦f g◦f 0
D
The commutativity of this diagram dictates that g∗ (a) = a. In fact, the whole construction above
is a functor C/(−) : C → Cat.
C Cat
C/(−)
g g∗
C D C/C C/D

[Link] coslice category C/C of a category C under an object C ∈ Ob (C) has as objects all arrows f
of C such that dom (f ) = C. An arrow in HomC/C (f, f 0 ) is an arrow h ∈ HomC (X, X 0 ) (where
X = cod (X) and X 0 = cod (f 0 )) such that the diagram below commutes:
C
f f0

X h
X0
In other words,
h ◦ f = f 0. (1.31)
Question. How can the coslice category be defined in terms of the slice category and the opposite
construction?
Example 1.2. The category Sets∗ of pointed sets consists of sets A with a distinguished element
a ∈ A, and arrows f : (A, a) → (B, b) are functions f : A → B that preserves the distinguished
elements f (a) = b. Now, Sets∗ is isomorphic to the coslice categroy 1/Sets of sets under any
singleton 1 = {?}.
Sets∗ ∼
= 1/Sets. (1.32)
Indeed, functions a : 1 → A are uniquely determined by a (?) = a ∈ A, and are objects in 1/Sets.
Now we define a functor F : Sets∗ → 1/Sets by
F (A, a) = a and F (f ) = f. (1.33)
Then we define G : 1/Sets → Sets∗ by
G (a) = (A, a (∗)) and G (f ) = f. (1.34)
One can easily verify that G and F are functors, and
G ◦ F = 1Sets∗ and F ◦ G = 11/Sets . (1.35)
Therefore, 1/Sets and Sets∗ are isomorphic categories.

14
2 Free Categories
§2.1 Free Monoid
Start with an “alphabet” A of “letters” a, b, c, . . ., i.e. a set

A = {a, b, c, . . . } . (2.1)

A word over A is a finite sequence of letters:

thisword, categoriesarefun, asdfghjkl, . . .

We write “-” for empty word. The Kleene closure of A is defined to be the set

A∗ = {words over A} . (2.2)

Define a binary operation ∗ on A∗ by w ∗ w0 = ww0 for words w, w0 ∈ A∗ . Thus, the binary operation
∗ on A∗ is just concatenation. The operation can easily be seen to be associative, and the empty word
“-” is a unit. Therefore, A∗ is a monoid– called the free monoid on the set A.
The number of letters in a word is called its length. The elements a ∈ A can be regarded as
words of length 1. One has a function i : A → A∗ defined by i (a) = a, and called the “ insertion
of generators”. The elements of A generate the free monoid, in the sense that every w ∈ A∗ can be
written as a ∗ products of elements of A, i.e.,

w = a1 ∗ a2 ∗ · · · ∗ an ,

for some a1 , . . . , an ∈ A.
A monoid M is freely generated by a subset A of M , if the following conditions hold:

(a) Every element m ∈ M can be written as a product of elements of A:

m = a1 ·M a2 ·M · · · ·M an , where ai ∈ A.

(b) No “nontrivial” relations hold in M . In other words, if

a1 ·M · · · ·M an = a01 ·M · · · ·M a0k ,

for ai , a0j ∈ A, then this is required by the axioms of monoids.

The second condition of the definition of a free monoid is made more precise in the following way:
First, every monoid N has an underlying set |N |, and every monoid homomorphism f : N → M
has an underlying function |f | : |N | → |M |. This way, one has a functor Mon → Sets. This functor
is called the forgetful functor.
The free monoid M (A) on a set A is by definition “the” monoid with the following universal mapping
property or UMP:

Universal mapping property (UMP) of M (A):


There is a function i : A → |M (A)|; and given any monoid N and any function f : A → |N |,
there is a unique monoid homomorphism f : M (A) → N such that f ◦ i = f , as indicated in
the following diagram:

15
2 Free Categories 16

f
in Mon : M (A) N

|f |
in Sets : |M (A)| |N |

i
f

A
i is called the insertion of generators.

Proposition 2.1
A∗ has the UMP of the free monoid on A.

Proof. Given any monoid N and any function f : A → |N |, define f : A∗ → N by f (-) = uN , and

f (a1 a2 · · · an ) = f (a1 ∗ a2 ∗ · · · ∗ an ) := f (a1 ) ·N · · · ·N f (an ) . (2.3)

f : A∗ → N is clearly a monoid homomorphism, with f (a) = f (a), so that


 
f ◦ i (a) = f (a) . (2.4)

Therefore, the following diagram commutes:


|f |
|A∗ | |N |

i
f

A
This proves the existence of f : A∗ → N with the required universal mapping property. Let us
now prove the uniqueness. Suppose there is another monoid homomorphism g : A∗ → N so that
g (a) = f (a), which in turn will give us the commutative diagram exhibiting UMP. Therefore, for all
a1 , . . . , an ∈ A,

g (a1 a2 · · · an ) = g (a1 ∗ a2 ∗ · · · ∗ an )
= g (a1 ) ·N · · · ·N g (an )
= f (a1 ) ·N · · · ·N f (an )
= f (a1 a2 · · · an ) .

Therefore, g = f , proving the uniqueness of f : A∗ → N . ■

Remark 2.1. Existence of a monoid homomorphism f : M (A) → N implies that if there is an


additional equality (sometimes referred to as “noise”) besides the ones imposed by associativity
law and unitality law in M (A), then the additional equality is transported to the monoid N . But
N is any monoid to which the free monoid M (A) is supposed to be mapped to via the monoid
homomorphism f : M (A) → N . Hence, the existence of monoid homomorphism f : M (A) → N
is equivalent to the second condition of absense of any “noise” in M (A).

Proposition 2.2
Given monoids M and N with functions i : A → |M | and j : A → |N |, each with the UMP of the

16
2 Free Categories 17


=
free monoid on A, there is a unique monoid isomorphism h : M −
→ N such that

|h| ◦ i = j and h−1 ◦ j = i.

Proof. From j : A → |N | and the UMP of M , one has j : M → N with j ◦ i = j.


j
in Mon : M N

|j |
in Sets : |M | |N |
i
j
A
From i : A → |M | and the UMP of N , one has i : N → M with i ◦ j = i.
i
in Mon : N M

|i|
in Sets : |N | |M |
j
i
A
Combining these two, we get the following commutative diagram:
i◦j

in Mon : M N M
j i

|j | |i|
in Sets : |M | |N | |M |
j
i i
A
From i : A → |M | and the UMP of M , we have the existence of a unique homomorphism f : M → M
such that |f | ◦ i = i. From the above commutative diagram, we get that f = i ◦ j satisfies |f | ◦ i = i.
Furthermore, f = 1M : M → M also satisfies |f | ◦ i = i. Therefore,

i ◦ j = 1M . (2.5)

Similarly, exchanging M and N , we get


j ◦ i = 1N . (2.6)
Now, j : M → N is the required monoid isomorphism h, i.e. j = h and i = h−1 , so that we have
|h| ◦ i = j and h−1 ◦ j = i. ■

In light of Proposition 2.1 and Proposition 2.2, we can say that if M (A) has the UMP of a free monoid
on A, then M (A) is isomorphic to A∗ .

§2.2 Free Category


Just as a monoid has an underlying set, a category has an underlying graph. A directed graph consists
of vertices and edges, each of which has a “source” and a “target” vertex. Figure 2.1 is an example of
a graph.

17
2 Free Categories 18

z
A B
x y
u
C D

Figure 2.1: A graph

Definition 2.1. A (directed) graph consists of two sets: a set E of edges, and a set V of vertices,
and two functions s : E → V (called source) adn t : E → V (called target). We denote a directed
graph G by a quadruple (V, E, s, t). A path in a graph G is a finite sequence of edges e1 , . . . , en
such that t (ei ) = s (ei+1 ) for each i = 1, . . . , n − 1.

Suppose we have a path e1 , . . . , en in G.


e1 e2 e3 en
v0 v1 v2 ··· vn

Put dom (en · · · e1 ) = s (e1 ) and cod (en · · · e1 ) = t (en ), and define composition by concatenation:

en · · · e1 ◦ e0m · · · e01 = en · · · e1 e0m · · · e01 , (2.7)

where dom (en · · · e1 ) = cod (e0m · · · e01 ).


For each vertex v, we have an “empty path” denoted by 1v which is to be the identity arrow at v.
With all of these terminologies at our disposal, we see that every graph G generates a category C (G)
called the free category on G. It is defined by taking vertices of G as objects and paths in G as
arrows. For example, take the graph given in Figure 2.1 with 4 vertices A, B, C, D. The corresponding
free category on G is given by:
z
G: A B
x y
u
C D

z◦x
y◦u
x y
C(G) C A z B D
y◦u◦x u
u◦x

Definition 2.2 (Graph Homomorphism). Let G ≡ (V, E, s, t) and G0 ≡ (V 0 , E 0 , s0 , t0 ) be two graphs.


A graph homomorphism f from G to G0 , denoted by f : G → G0 consists of two functions
f0 : V → V 0 and f1 : E → E 0 such that the following diagrams commute:
f1 f1
E E0 E E0
s s0 t t0

V f0
V0 V f0
V0

Remark 2.2. Note that if G has only one vertex, then C (G) is just the free monoid on the set of
edges of G. If, on the other hand, G has only vertices with no edges, then C (G) is the discrete
category on the set of vertices of G.

18
2 Free Categories 19

Let us now see that C (G) has a UMP (universal mapping property). Define a “forgetful functor”
U : Cat → Graphs in the following way: the underlying graph of a (small) category has the collection
of arrows as the set of edges E and the collection of objects as the set of vertices V , with s = dom
and t = cod.
Also, observe that we can describe a category C with a diagram as below:
cod

C2 C1 i C0 ,
dom

where C0 is the collection of objects of C1 , C1 is the collection of arrows, i is the identity arrow
operation, and C2 is the collection

C2 = {(f, g) ∈ C1 × C1 | cod f = dom g} .

Then a functor F : C → D from C to another category D (with D2 , D1 , D0 as given above) is a pair of


assignments F0 : C0 → D0 and F1 : C1 → D1 such that each similarly labeled square in the following
diagram commutes:
cod

C2 C1 i C0
dom

F2 F1 F0

cod

D2 D1 i D0 ,
dom

where F2 (f, g) = (F1 (f ) , F1 (g)). Commutativity of the first square tells us that

F1 (g ◦ f ) = F1 (g) ◦ F1 (f ) . (2.8)

Commutativity of the second square is reminiscent of graph homomorphism if one removes the identity
arrow operation. Note that the underlying graph of a category C can be depicted as
cod
C1 C0 .
dom

Therefore, at the level of objects, the forgetful functor

U : Cat → Graphs (2.9)

sends the category (object of Cat)


cod

C2 C1 i C0
dom

to the underlying graph (objecr of Graphs)


cod
C1 C0 .
dom

And functors (arrows of Cat) under U are sent to graph homomorphisms (arrows of Graphs), i.e.
cod

C2 C1 i C0
dom

F2 F1 F0

cod

D2 D1 i D0 ,
dom

is sent to

19
2 Free Categories 20

cod
C1 C0
dom

F1 F0

cod
D1 D0
dom

under U. Given a category C, its underlying graph is denoted by |C| = U (C), where U is the forgetful
functor U : Cat → Graphs. The free category C (G) on a graph G has the following universal
mapping property (UMP).

Universal mapping property (UMP) of C (G):


There is a graph homomorphism i : G → |C (G)|; and given any category D and any graph
homomorphism h : G → |D|, there is a unique functor h : C (G) → D such that h ◦ i = h, as
indicated in the following diagram:

h
in Cat : C (G) D

|h|
in Graphs : |C (G)| |D|

i
h

The free category on a graph with just one vertex is just a free monoid on the set oof edges. The free
category on a graph with two vertices and one edge between them is the finite category 2. On the
other hand, the free category on a graph of the form
e
A B
f

has (in addition to the identity arrows) the infinitely many arrows:

e, f, ef, f e, ef e, f ef, ef ef, f ef e, . . . . (2.10)

20
3 Abstract Characterizations
§3.1 Epis and Monos
In Sets, a function f : A → B is called

• injective if f (a) = f (a0 ) implies a = a0 for all a, a0 ∈ A,

• surjective if for each b ∈ B, there exists a ∈ A such that f (a) = b.

We have the following abstract characterizations of these properties:

Definition 3.1 (Monomorphism and Epimorphism). In any category C, an arrow f : A → B is called


a monomorphism if given any g, h : C → A, f ◦ g = f ◦ h implies g = h.
g f
C A B
h

An arrow f : A → B is called an epimorphism if given any i, j : B → D, i ◦ f = j ◦ f implies


i = j.
f i
A B D
j

We often write f : A ↣ B if f is a monomorphism and f : A ↠ B if f is an epimorphism.

Proposition 3.1
A function f : A → B between sets is a monomorphism if and only if it is injective.

Proof. (⇒) Suppose f : A ↣ B. We need to show that f is injective. Suppose f (a) = f (a0 ) for some
a, a0 ∈ A. Consider functions g, h : {∗} → A as g (∗) = a and h (∗) = a0 . Then

(f ◦ g) (∗) = f (g (∗)) = f (a) = f a0 = f (h (∗)) = (f ◦ h) (∗) . (3.1)

So f ◦ g = f ◦ h. Since f is a monomorphism, we must have g = h. Therefore, a = a0 , proving the


injectivity of f .
(⇐) Conversely, let f : A → B be injective. Let g, h : C → A such that f ◦ g = f ◦ h. Then for any
c ∈ C,
f (g (c)) = (f ◦ g) (c) = (f ◦ h) (c) = f (h (c)) . (3.2)
So f (g (c)) = f (h (c)). Since f is injective, this implies g (c) = h (c). This is true for any c ∈ C.
Therefore, g = h. In other words, f ◦ g = f ◦ h implies g = h. Hence, f is a monomorphism. ■

Proposition 3.2
A function f : A → B between sets is an epimorphism if and only if it is surjective.

Proof. (⇒) Suppose f : A ↠ B. We need to show that f is surjective. We construct two functions
g1 , g2 : B → {0, 1} as follows:
(
0 if b ∈ im f
g1 (b) = 0 and g2 (b) = (3.3)
1 otherwise.

21
3 Abstract Characterizations 22

f g1
A B {0, 1}
g2

Then for each a ∈ A, g1 (f (a)) = g2 (f (a)) = 0. So g1 ◦ f = g2 ◦ f . Since f is an epimorphism, this


gives us g1 = g2 . In other words,
g2 (b) = 0 for each b ∈ B. (3.4)
Therefore, all b ∈ B are in im f , proving the surjectivity of f .
(⇐) Conversely, let f : A → B be surjective. Let g1 , g2 : B → C such that g1 ◦ f = g2 ◦ f .
f g1
A B {0, 1}
g2

Since f is surjective, for any b ∈ B, there exists a ∈ A such that f (a) = b. Then we have

g1 (b) = g1 (f (a)) = (g1 ◦ f ) (a) = (g2 ◦ f ) (a) = g2 (f (a)) = g2 (b) . (3.5)

So g1 (b) = g2 (b), and this is true for any b ∈ B. Therefore, g1 = g2 and hence f is an epimorphism. ■

Monomorphisms are often obbreviated as monos or monic, epimorphisms are often obbreviated as epis
or epic.

Proposition 3.3
A monoid homomorphism h : M → N is monic if and only if the underlying function |h| : |M | →
|N | is monic (i.e. injective by Proposition 3.1).

Proof. (⇒) Suppose h is monic. We need to show that |h| is injective. Let |h| (m1 ) = |h| (m2 ) for
m1 , m2 ∈ |M |. Take two functions x, y : 1 → |M |, where 1 = {∗} is any singleton set, defined by
x (∗) = m1 and y (∗) = m2 . Let M (1) be the free monoid generated by 1. By the UMP of a free
monoid, there are unique monoid homomorphisms x : M (1) → M and y : M (1) → M such that the
following diagrams commute:
|x| |y|
|M (1)| |M | |M (1)| |M |

i x i y
1 1
In other words, |x| ◦ i = x and |y| ◦ i = y. Furthermore, by the UMP of M (1) for the functions
|h| ◦ x, |h| ◦ y : 1 → N , there are unique monoid homomorphisms f : M (1) → N and g : M (1) → N
such that the following diagrams commute:
|f | |g|
|M (1)| |N | |M (1)| |N |

i |h|◦x i |h|◦y
1 1
But since the following diagrams commute,
|h|◦|x|=|h◦x| |h|◦|y|=|h◦y|

|M (1)| |M | |N | |M (1)| |M | |N |
|x| |h| |y| |h|

i x i y
1 |h|◦x
1 |h|◦y

22
3 Abstract Characterizations 23

the uniqueness of f and g guarantees that

f = h ◦ x and g = h ◦ y. (3.6)

However, |h| ◦ x and |h| ◦ y are equal, since

(|h| ◦ x) (∗) = |h| (m1 ) = |h| (m2 ) = (|h| ◦ y) (∗) . (3.7)

Therefore, f = g, and hence,


h ◦ x = h ◦ y. (3.8)
Since h is monic, x = y. Then we have

x = |x| ◦ i = |y| ◦ i = y. (3.9)

Hence, m1 = x (∗) = y (∗) = m2 , and thus |h| is injective.


(⇐) Conversely, suppose |h| : |M | → |N | is monic. Let f, g : X → M be monoid homomorphisms
such that h ◦ f = h ◦ g.
g
h
X M N.
f

In Sets, we then have |h| ◦ |f | = |h| ◦ |g|.


|g| |h|
|X| |M | |N | .
|f |

Since |h| is monic, we must have |f | = |g|. Therefore, f = g, and hence h : M → N is monic. ■

Example 3.1. In the category Mon of monoids and monoid homomorphisms, there is a monic
homomorphism N ↣ Z, where N = (N, +, 0) is the additive monoid of natural numbers, and Z =
(Z, +, 0) is the additive monoid of integers. This map given by the inclusion N ⊂ Z of sets is monic in
Mon, by Proposition 3.3, since it is an injective homomorphism. We shall now show that this is also
epic in Mon.
f
i
N Z M
g

Given any monoid M = (M, ∗, u), with the underlying set M , let f, g : Z → M be monoid homomor-
phisms such that f ◦ i = g ◦ i. To prove that i is epic, we need to show that f = g.
Since i : N → Z is the inclusion, f ◦ i = g ◦ i gives us that f N = g N , i.e. f (n) = g (n) for each
n ∈ N. We need to show that f (−n) = g (−n).

f (−n) = f (−n) ∗ u = f (−n) ∗ g (0) = f (−n) ∗ g (n + (−n))


= f (−n) ∗ [g (n) ∗ g (−n)] = [f (−n) ∗ g (n)] ∗ g (−n)
= [f (−n) ∗ f (n)] ∗ g (−n) = f (−n + n) ∗ g (−n)
= u ∗ g (−n) = g (−n) . (3.10)

Therefore, f = g, and hence i is epic.

Proposition 3.4
Every isomorphism is both monic and epic.

Proof. Let m : B → C be an isomorphism. Then there exists e : C → B such that m ◦ e = 1C and


e ◦ m = 1B . So the two triangles in the following diagram commute:

23
3 Abstract Characterizations 24

x m
A B C
y
m◦e=1C
e
e◦m=1B f
B m C C
g

Given any arrows x, y : A → B such that m ◦ x = m ◦ y, we have


m ◦ x = m ◦ y =⇒ e ◦ (m ◦ x) = e ◦ (m ◦ y)
=⇒ (e ◦ m) ◦ x = (e ◦ m) ◦ y
=⇒ 1B ◦x = 1B ◦y
=⇒ x = y. (3.11)
Therefore, m is monic. Now, given arrows f, g : C → D with f ◦ m = g ◦ m, we have
f ◦ m = g ◦ m =⇒ (f ◦ m) ◦ e = (g ◦ m) ◦ e
=⇒ f ◦ (m ◦ e) = g ◦ (m ◦ e)
=⇒ f ◦ 1C = g ◦ 1C
=⇒ f = g. (3.12)
Therefore, m is epic. ■

Remark 3.1. In Sets, the converse of Proposition 3.4 also holds: every monic and epic is an
isomorphism. But this is not true, in general. The counterexample is provided in the context of
the category Mon in Example 3.1. There we saw that the inclusion homomorphism i : (N, +, 0) →
(Z, +, 0) is both monic and epic. But this arrow in Mon is not an iso, i.e. its inverse does not
exist. In particular, there does not exist an arrow j : Z → N such that i ◦ j = 1Z and j ◦ i = 1N .

Proposition 3.5
With regard to a commutative triangle,
f
A B

g
h

C
in any category C,

(a) if f and g are isos (resp. monos, resp. epis), so is h;

(b) if h is monic, so is f ;

(c) if h is epic, so is g;

Proof. (a) Suppose f and g are isos. Then there are arrows f −1 : B → A and g −1 : C → B such that
f ◦ f −1 = 1A , f −1 ◦ f = 1B , g ◦ g −1 = 1C , g −1 ◦ g = 1B . Since the triangle above is commutative,
h = g ◦ f . We define k : C → A as k = f −1 ◦ g −1 . Then
 
h ◦ k = (g ◦ f ) ◦ f −1 ◦ g −1 = g ◦ 1A ◦g −1 = 1C . (3.13)
 
k ◦ h = f −1 ◦ g −1 ◦ (g ◦ f ) = f −1 ◦ 1B ◦f = 1A . (3.14)
Therefore, h is an isomorphism, and k = h−1 .
Suppose f and g are monos. We want to show that h : A → C is monic. Suppose there are arrows
x, y : X ⇒ A such that h ◦ x = h ◦ y.

24
3 Abstract Characterizations 25

B
f g

x
X A h=g◦f
C
y

h ◦ x = h ◦ y =⇒ (g ◦ f ) ◦ x = (g ◦ f ) ◦ y =⇒ g ◦ (f ◦ x) = g ◦ (f ◦ y) . (3.15)
Since g is monic, we must have f ◦ x = f ◦ y. Again, since f is monic, we must have x = y. So
h ◦ x = h ◦ y implies x = y. Therefore, h is monic.
Suppose f and g are epis. We want to show that h : A → C is epic. Suppose there are arrows
x, y : C ⇒ Y such that x ◦ h = y ◦ h.
B
f g

x
A h=g◦f
C Y
y

x ◦ h = y ◦ h =⇒ x ◦ (g ◦ f ) = y ◦ x ◦ (g ◦ f ) =⇒ (x ◦ g) ◦ f = (y ◦ g) ◦ f. (3.16)
Since f is epic, we must have x ◦ g = y ◦ g. Again, since g is epic, we must have x = y. So
x ◦ h = y ◦ h implies x = y. Therefore, h is epic.

(b) We need to show that f : A → B is monic. Suppose there are arrows x, y : X ⇒ A such that
f ◦ x = f ◦ y.
B
f g

x
X A h=g◦f
C
y

f ◦ x = f ◦ y =⇒ g ◦ f ◦ x = g ◦ f ◦ y =⇒ h ◦ x = h ◦ y. (3.17)
Since h is monic, h ◦ x = h ◦ y implies x = y. Therefore, since f ◦ x = f ◦ y forces x = y, f is
monic.

(c) We need to show that g : B → C is epic. Suppose there are arrows x, y : C ⇒ Y such that
x ◦ g = y ◦ g.
B
f g

x
A h=g◦f
C Y
y

x ◦ g = y ◦ g =⇒ x ◦ g ◦ f = y ◦ g ◦ f =⇒ x ◦ h = y ◦ h. (3.18)
Since h is epic, x ◦ h = y ◦ h implies x = y. Therefore, since x ◦ g = y ◦ g forces x = y, g is epic.

25
3 Abstract Characterizations 26

Remark 3.2. In the commutative triangle of Proposition 3.5, we have h = g ◦ f .


f
A B

g
h

C
If h is monic, then so is f as proven in Proposition 3.5. However, h being monic does not
necessarily imply g is monic. Similarly, h being epic also does not imply f is epic. The following
is such an example.

Example 3.2. Let us consider the category Sets. Take A = C = {0} and B = {0, 1}. Define
f : A → B by f (0) = 0, and g : B → C by g (x) = 0 for x ∈ {0, 1}.
Then g ◦ f : A → C is
(g ◦ f ) (0) = g (0) = 0. (3.19)
So h = g ◦ f is an isomorphism. In particular, h is monic. However, g : B → C is not monic (i.e.
injective since we are in Sets) because g (0) = g (1). Similarly, h is epic as well, but f is not.

§3.2 Sections and Retractions


We have seen in Proposition 3.4 that any iso is both monic and epic. More generally, if an arrow
f : A → B has a left inverse g : B → A, i.e. g ◦ f = 1A , then f must be monic and g epic.
x f
C A B
y
g
g◦f =1A p
A D
q

Given arrows x, y : C → A with f ◦ x = f ◦ y,

f ◦ x = f ◦ y =⇒ g ◦ (f ◦ x) = g ◦ (f ◦ y)
=⇒ (g ◦ f ) ◦ x = (g ◦ f ) ◦ y
=⇒ 1A ◦x = 1A ◦y
=⇒ x = y. (3.20)

Therefore, f : A → B is monic. Now, given p, q : A → D with p ◦ g = q ◦ g,

p ◦ g = q ◦ g =⇒ (p ◦ g) ◦ f = (q ◦ g) ◦ f
=⇒ p ◦ (g ◦ f ) = q ◦ (g ◦ f )
=⇒ p ◦ 1A = q ◦ 1A
=⇒ p = q. (3.21)

Therefore, g : B → A is epic.

Definition 3.2. A split mono is an arrow with a left inverse. A split epi is an arrow with a
right inverse. Given arrows e : X → A and s : A → X with e ◦ s = 1A , the arrow s is called a
section or splitting of e, and e is called a retraction of s. The object A is called a retract of
X. Therefore, section is monic and retraction is epic.

26
3 Abstract Characterizations 27

Remark 3.3. Since functors preserve identities, they also preserve split epis and split monos.
Functors do not preserve epi, in general. Counterexample is the forgetful functor U : Mon → Sets,
which does not preserve the epi i : N → Z, i.e. U (i) : N → Z is not an epi in Sets as it’s not
surjective.

In Sets, every mono splits except those of the form ∅ ↣ A. The condition that every epi splits is the
categorical version of the axiom of choice. Let us see this fact in detail. Consider an epi e : E ↠ X.
We then have the following family of nonempty sets

Ex = e−1 ({x}) for x ∈ X.

Each Ex is nonempty since e is surjective. Now, for each x ∈ X, one chooses an element s (x) from
Ex ⊂ E, and thus define the function s : X → E. By construction, e (s (x)) = x for each x ∈ X, i.e.
e ◦ s = 1X . One, thus finds that the choice function s : X → E associated with the family (Ex )x∈X is
exactly a splitting of e.
Let us do the reverse construction now. Given a family of nonempty subsets (Ex )x∈X , take
[
E = {(x, y) | x ∈ X, y ∈ Ex } = ({x} × Ex ) , (3.22)
x∈X

and define the epi e : E ↠ X by (x, y) 7→ x. A splitting s : X → E hence determines a choice function
for the family (Ex )x∈X ,

Remark 3.4. A notion related to the existence of “choice function” is that of being projective.
An object P is said to be projective if for any e : E ↠ X and arrow f : P → X, there is
some (not necessarily unique) arrow f : P → E such that e ◦ f = f , as indicated in the following
commutative diagram:

E
f
e

P f
X

One says that f lifts across e.


Let P be projective and let e : E ↠ P be an epi. Since P is projective, given 1P : P → P ,
there exists s : P → E such that the following diagram commutes:

E
s
e

P 1P
P

yielding s ◦ e = 1P . In other words, the epi e : E ↠ P splits.

27
3 Abstract Characterizations 28

§3.3 Initial and Terminal Objects


Definition 3.3. In any category C, an object

• 0 is initial if for any object C, there is a unique arrow 0 → C,

• 1 is terminal if for any object C, there is a unique arrow C → 1.

Proposition 3.6
Initial and terminal objects are unique up to isomorphism.

Proof. Suppose both 0 and 00 are initial objects in some category C. Since 0 is initial, there is a unique
arrow u : 0 → 00 . Again, since 00 is initial, there is a unique arrow v : 00 → 0. Then we can form the
composition v ◦ u : 0 → 0. But since 0 is an initial object, there is a unique arrow 0 → 0, which has
to be the identity arrow 10 . Therefore, v ◦ u = 10 .
0 u
00
u◦v=100
v
v◦u=10

0 u
00
Similarly, u ◦ v : 00 → 00 is an arrow from 00 to itself. But since 00 is an initial object, there is a
unique arrow 00 → 00 , which has to be the identity arrow 100 . Therefore, u ◦ v = 100 . So 0 and 00 are
isomorphic via a unique isomorphism u : 0 → 00 .
Let 1 and 10 be terminal objects of C. Since 10 is terminal, there is a unique arrow u : 1 → 10 . Again,
since 1 is terminal, there is a unique arrow v : 10 → 1. Then we can form the composition v ◦ u : 1 → 1.
But since 1 is a terminal object, there is a unique arrow 1 → 1, which has to be the identity arrow 11 .
Therefore, v ◦ u = 11 .
1 u
10
u◦v=110
v
v◦u=11

1 u
10
Similarly, u ◦ v : 10 → 10 is an arrow from 10 to itself. But since 10 is a terminal object, there is a
unique arrow 10 → 10 , which has to be the identity arrow 110 . Therefore, u ◦ v = 110 . So 1 and 10 are
isomorphic via a unique isomorphism u : 1 → 10 . ■

Example 3.3. 1. In Sets, the empty set ∅ is initial, and sny singleton set is terminal. Indeed, for
any set B, there is a unique function from ∅ to B, called the empty function. When B = ∅, the
empty function from ∅ to ∅ is the required identity arrow on the object ∅ ∈ Ob (Sets).
There is also a unique function from any set B to a singleton set {∗}, f : B → {∗}, given by f (b) = ∗
for every b ∈ B. It is unique in the sense that there can’t be any other function from the same set
B to the singleton set {∗}. In other words, HomSets (B, {∗}) for a given set B ∈ Ob (Sets) is a
singleton set.

2. In VectK , the category of vector spaces over the field K and linear transformations, the 0-
dimensional vector space {0} consisting of the zero-vector (additive identity) only is both the initial
and terminal objects.
Given a K-vector space V , there is only one linear transformation from {0} to V , namely the one
that takes 0 to 0V , the additive identity of the K-vector space V . Also, given a K-vector space V ,
there is only one linear transformation from V to {0} that takes all of V to 0. In other words, for
a given V ∈ Ob (VectK ), both HomVectK ({0} , V ) and HomVectK (V, {0}) are singleton sets.

28
3 Abstract Characterizations 29

§3.3.i The Category of Boolean Algebras

Definition 3.4 (Boolean algebra). A Boolean algebra is a poset (B, ⩽) together with distin-
guished elements 0, 1, binary operations a ∨ b (read a join b) and a ∧ b (read a meet b) and a
unary operation ¬b (read b complement) such that the following conditions are satisfied for all
a, b, c ∈ B:

1. 0 ⩽ a and a ⩽ 1.

2. a ⩽ c and b ⩽ c if and only if a ∨ b ⩽ c.

3. c ⩽ a and c ⩽ b if and only if c ⩽ a ∧ b.

4. a ⩽ ¬b if and only if a ∧ b = 0.

5. ¬ (¬a) = a.

A typical example of a Boolean algebra is the power set P (X) of a set X, ordered by inclusion
A ⊆ B, with the distinguished elements 0 = ∅ and 1 = X. The binary operations join and meet are
given by union and intersection of subsets, respectively, and the unary operation complementation is
¬A = X \ A.
The union and intersection of sets satisfy A ∩ B ⊆ A ⊆ A ∪ B and A ∩ B ⊆ B ⊆ A ∪ B. The same
is satisfied in any Boolean algebra.

Proposition 3.7
In a Boolean algebra B, a ∧ b ⩽ a ⩽ a ∨ b and a ∧ b ⩽ b ⩽ a ∨ b for any a, b ∈ B.

Proof. Since (B, ⩽) is a poset, by the reflexivity property, a ∨ b ⩽ a ∨ b. Then using property 2 from
the definition of Boolean algebra, we get
a ⩽ a ∨ b and b ⩽ a ∨ b. (3.23)
Again, a ∧ b ⩽ a ∧ b by reflexivity. Then using property 3 from the definition of Boolean algebra, we
get
a ∧ b ⩽ a and a ∧ b ⩽ b. (3.24)
Therefore, combining (3.23) and (3.24), we get a ∧ b ⩽ a ⩽ a ∨ b and a ∧ b ⩽ b ⩽ a ∨ b. ■
A special case of Boolean algebras is the 2-element Boolean algebra 2 = {0, 1}, considered as P ({∗}),
the power set pf the singleton set {∗} which consists of only the empty set ∅ and {∗}.
The category of Boolean algebras is denoted by BA, where objects are Boolean algebras and arrows
are Boolean homomorphisms, that is functions h : B → B 0 that, in addition to being monotone, satisfy
• h (0B ) = 0B 0 , h (1B ) = 1B 0 ;
• h (a ∨B b) = h (a) ∨B 0 h (b);
• h (a ∧B b) = h (a) ∧B 0 h (b);
• h (¬B a) = ¬B 0 h (a),
for any a, b ∈ B. In this category, 2 is the initial object. There is this 1-element Boolean algebra
1 = {0}, which is regarded as the power set of ∅, i.e. 1 ≡ P (∅) = {∅}. In this situation, the
distinguished elements 0 and 1 conicide. 1 acts as the terminal object of BA. In other words, given
a Boolean algebra B, there is exactly one boolean homomorphism from h : 2 → B, given by
h (0) = 0B and h (1) = 1B .
Furthermore, there is exactly one boolean homomorphism f : B → 1 given by
f (b) = 0
for any b ∈ B.

29
3 Abstract Characterizations 30

Definition 3.5 (Filter). A filter in a Boolean algebra B is a nonempty subset F ⊆ B that is closed
upward and under meets, i.e.

• a ∈ F and a ⩽ b implies b ∈ F ,

• a, b ∈ F implies a ∧ b ∈ F .

Definition 3.6 (Ultrafilter). A filter F is called maximal if F ⊂ F 0 implies F 0 = B, i.e. the only
strictly larger filter is the “improper” filter B itself. A maximal filter is called an ultrafilter.

One can easily verify that a filter F is an ultrafilter if and only if for every element b ∈ B, either b ∈ F
or ¬b ∈ F and not both.

Theorem 3.8
In a Boolean algebra B, a filter F is an ultrafilter if and only if for every element b ∈ B, either
b ∈ F or ¬b ∈ F and not both.

Proof. (⇒) Suppose F ⊂ B is an ultrafilter. If both b and ¬b are in F , then so is their meet b ∧ ¬b.
But we have
b ⩽ b = ¬ (¬b) . (3.25)
Then using property 4 from the definition of Boolean algebra, we get

b ∧ ¬b = 0. (3.26)

So 0 ∈ F . But 0 ⩽ a for each a ∈ B. This gives us that a ∈ F for any a ∈ B, i.e. F = B, which
contradicts with F being an ultrafilter. Therefore, both b and ¬b cannot be in F . Assume for the
sake of contradiction that neither b nor ¬b is in F , i.e. b 6∈ F and ¬b 6∈ F . Consider the following set:

G = {v ∈ B | u ∧ b ⩽ v for some u ∈ F } . (3.27)

We claim that G is a filter.

• For v ∈ G and v ⩽ w gives us that u ∧ b ⩽ v for some u ∈ F . By transitivity,

u ∧ b ⩽ v ⩽ w. (3.28)

So u ∧ b ⩽ w, so w ∈ G.

• Let v1 , v2 ∈ G. Then u1 ∧ b ⩽ v1 and u2 ∧ b ⩽ v2 for some u1 , u2 ∈ F . We claim that


(u1 ∧ u2 ) ∧ b ⩽ v1 ∧ v2 .

(u1 ∧ u2 ) ∧ b ⩽ u1 ∧ u2 ⩽ u1 and (u1 ∧ u2 ) ∧ b ⩽ b. (3.29)

Therefore, using property 3 from the definition of Boolean algebra, we get

(u1 ∧ u2 ) ∧ b ⩽ u1 ∧ b ⩽ v1 . (3.30)

Similarly,
(u1 ∧ u2 ) ∧ b ⩽ u2 ∧ b ⩽ v2 . (3.31)
Again, using property 3 from the definition of Boolean algebra, we get

(u1 ∧ u2 ) ∧ b ⩽ v1 ∧ v2 . (3.32)

Since F is a filter and u1 , u2 ∈ F , u1 ∧ u2 ∈ F , so v1 ∧ v2 ∈ G.

30
3 Abstract Characterizations 31

Therefore, G is a filter. It contains F , since for any u ∈ F , we have

u ∧ b ⩽ u. (3.33)

Furthermore, G is not the whole B, since 0 ∈ / G. Indeed, if 0 ∈ G, then u ∧ b ⩽ 0 for some u ∈ F .


Also, 0 ⩽ u ∧ b from the definition of Boolean algebra. Therefore, u ∧ b = 0. Then property 4 from
the definition of Boolean algebra ensures that u ⩽ ¬b. But since u ∈ F and F is a filter, this would
mean that ¬b ∈ F , which contradicts our initial assumption. Therefore, 0 6∈ G, and hence G is a filter
which is not equal to the whole of B. Furthermore, F ⊆ G, and F is a maximal filter. So F = G.
Now take some u ∈ F . u ∧ b ⩽ u ∧ b, so u ∧ b ∈ G = F . But then

u∧b⩽b (3.34)

gives us that b ∈ F , since F is closed upward. Thus we arrive at a contradiction assuming neither b
not ¬b is in F . So exactly one of b or ¬b must be in F .
(⇐) Suppose F is a filter such that for every element b ∈ B, either b ∈ F or ¬b ∈ F and not both.
Let F 0 be another filter strictly containing F , i.e. F ⊂ F 0 . Take an element a ∈ F 0 \ F . a 6∈ F , so
¬a ∈ F . Then
¬a ∈ F ⊂ F 0 =⇒ ¬a ∈ F 0 .
Therefore, both a and ¬a are in F 0 . Since F 0 is a filter, a ∧ ¬a ∈ F 0 . By (3.26), a ∧ ¬a = 0 ∈ F 0 . But
0 ⩽ c for each c ∈ B. This gives us that c ∈ F 0 for any c ∈ B, i.e. F 0 = B. Therefore, any strictly
larger filter than F must be the whole B. So F is an ultrafilter. ■

§3.4 Generalized Elements


In Sets, we have the notion of an element of a set. However, in a general category, we don’t have
the notion of an element of an object, because the objects need not be sets. That’s why we need to
generalize the concept of an element to any category. One idea can be that for a given object X, we
can consider all the arrows from the terminal object to X. This idea works in Sets, since any set X
is determined uniquely by the set of all the functions from 1 = {∗} to X. In other words,

X∼
= HomSets (1, X) . (3.35)

Any x ∈ X uniquely corresponds to a function x : 1 → X given by x (∗) = x. Conversely, any function


f : 1 → X uniquely corresponds to an element f (∗) of X. Thus, we get the one-to-one correspondence
(i.e. an isomorphism in Sets) X ∼ = HomSets (1, X).
The arrows 1 → X are called global elements of X. However, this idea of taking all the arrows
from the terminal object does not always work in other categories. For instance, in VectK , the terminal
object is {0}, which is also the initial object. So given a K-vector space V , there is only one linear
transformation from {0} to V , x : {0} → V , given by

x (0) = 0V .

Given two K-vector spaces V and W , and two linear transformations f, g : V → W , we always have
f ◦ x = g ◦ x, since

(f ◦ x) (0) = f (x (0)) = f (0V ) = 0W ,


(g ◦ x) (0) = g (x (0)) = g (0V ) = 0W .

No matter how different f and g are, composing them with x yields the same arrow. This is not what
we want. Ideally, we want generalized elements to have the following property:

f = g if and only if f ◦ x = g ◦ x for every generalized element x of dom f.

The motivation for requiring this condition comes from sets and functions. We call two functions
f, g : X → Y the same if and only if f (x) = g (x) for every x ∈ X.

31
3 Abstract Characterizations 32

For this, we draw motivations from the proof of Generalized Cayley’s Theorem. In the sketch
of the proof, we showed that a “not too big” category is isomorphic to a concrete category (i.e. a
category where objects are sets and arrows are functions between them). We’ve seen that under the
isomorphism, the object C of the “not too big” category C corresponds to the set of arrows whose
codomains are C. Keeping this in mind, we define the generalized elements of C to be the arrows
whose codomainds are C.

Definition 3.7 (Generalized Element). Let C be a category, and A ∈ Ob (C). The arrows whose
codomains are A are called generalized elements of A. In other words, any arbitrary arrow
f : X → A (with arbitrary domain X) is a generalized element of A.

Then these generalized elements satisfy the required property that f = g if and only if f ◦ x = g ◦ x
for every generalized element x of dom f (= dom g). Let f, g : A → B be two arrows. If f = g, then
obviously f ◦ x = g ◦ x. Conversely, suppose f ◦ x = g ◦ x for every generalized element x of A. Then
if we choose x = 1A (which is an arrow with codomain A, so it’s a generalized element of A), we get

f ◦ 1A = g ◦ 1A =⇒ f = g. (3.36)

Furthermore, we defined monomorphisms (generalizations of injective functions) as follows: f : A → B


is a monomorphism if for any x, y : C → A, f ◦ x = f ◦ y implies x = y.
y f
C A B
x

In other words, f : A → B is a monomorphism if it is “injective on generalized elements of A”.

§3.5 Products
Let us begin by considering products of sets. Given sets A and B, the cartesian product of A and B
is the set of ordered pairs
A × B = {(a, b) | a ∈ A, b ∈ B} .
Observe that there are 2 coordinate projections
π1 π2
A A×B B
with π1 (a, b) = a and π2 (a, b) = b. Indeed, given any element c ∈ A × B, one has c = (π1 c, π2 c). This
situation is captured by the following commutative diagram:
1
a b
(a,b)

A π1 A×B π2 B

(a, b) (∗) = (a (∗) , b (∗)) .


(π1 ◦ (a, b)) (∗) = π1 (a (∗) , b (∗)) = a (∗) .
(π2 ◦ (a, b)) (∗) = π2 (a (∗) , b (∗)) = b (∗) .
Here, a ∈ HomSets (1, A) , b ∈ HomSets (1, B) are global elements or constants of A and B, respectively.
Replacing global elements by generalized elements, one has the following definition.

Definition 3.8 (Product). In any category C, a product diagram for the objects A and B consists
of an object P and arrows
p1 p2
A P B

satisfying the following UMP: given any diagram of the form

32
3 Abstract Characterizations 33

x1 x2
A X B

there exists a unique morphism u : X → P such that the following diagram commutes:

X
x1 x2
∃! u

p1 p2
A P B
i.e. x1 = p1 ◦ u and x2 = p2 ◦ u.

Proposition 3.9
Products are unique up to isomorphism.

Proof. Suppose one has two product diagrams as below:


p1 p2
A P B
q1 q2
A Q B
where P , Q are both taken to be products of A and B. Since Q is a product, there is a unique
i : P → Q such that q1 ◦ i = p1 and q2 ◦ i = p2 . Again, since P is a product, there is a unique
j : Q → P such that p1 ◦ j = q1 and p2 ◦ j = q2 . In other words, the following diagram commutes:
P
p1 p2
i

q1 q2
A Q B

p1 j p2

P
Then we have
p1 = q1 ◦ i = p1 ◦ (j ◦ i) and p2 = q2 ◦ i = p2 ◦ (j ◦ i) . (3.37)
Since P is a product, there is a unique f : P → P such that the following diagram commutes:
P
p1 p2
f

A p1 P p2 B
f = 1P makes this diagram commutative, since p1 = p1 ◦ 1P and p2 = p2 ◦ 1P . Therefore, the
uniqueness of f guarantees that f = 1P . Furthermore, (3.37) tells us that f = j ◦ i also makes the
above diagram commutative. Therefore,

f = 1P = j ◦ i. (3.38)

Similarly, using the following commutative diagram,

33
3 Abstract Characterizations 34

Q
q1 q2
j

p1 p2
A P B

q1 i q2

Q
we have
q1 = p1 ◦ j = q1 ◦ (i ◦ j) and q2 = p2 ◦ i = q2 ◦ (i ◦ j) . (3.39)
Since Q is a product, there is a unique g : Q → Q such that the following diagram commutes:
Q
q1 q2
g

A q1 Q q2 B
g = 1Q makes this diagram commutative, since q1 = q1 ◦ 1Q and q2 = q2 ◦ 1Q . Therefore, the
uniqueness of g guarantees that g = 1Q . Furthermore, (3.39) tells us that g = i ◦ j also makes the
above diagram commutative. Therefore,

g = 1Q = i ◦ j. (3.40)

Therefore, we have i ◦ j = 1Q and j ◦ i = 1P . Hence, i is an isomorphism and P ∼


= Q. ■

If A and B have a product, we write


p1 p2
A A×B B

for one such product. Then given X, x1 , x2 as below


x1 x2
A X B

there is a unique arrow u : X → A×B such that xi = pi ◦u for i = 1, 2. We denote u = hx1 , x2 i. Hence,
p1 ◦ hx1 , x2 i = x1 and p2 ◦ hx1 , x2 i = x2 . Now, however, a pair of objects may have different products
in a category C. For example, given a product A × B, p1 , p2 and an isomorphism h : A × B → Q, one
finds that Q, p1 ◦ h−1 , p2 ◦ h−1 is also a product of A and B.

u
x1 x2

Q e
u

p1 ◦h−1 p2 ◦h−1
h−1

A p1 A×B p2 B

x x
Now, given a diagram A 1
X 2
e : X → A × B such that p1 ◦ u
B , there exists unique u e = x1
e e −1
and p2 ◦ u = x2 . Define u : X → Q as u = h ◦ u. Then h ◦ u = u. So
e
   
e = p1 ◦ h−1 ◦ u and x2 = p2 ◦ u
x1 = p 1 ◦ u e = p2 ◦ h−1 ◦ u,

34
3 Abstract Characterizations 35

and the diagraam above commutes. Furthermore, 


u is unique. Indeed, if there is another v : X → Q
such that x1 = p1 ◦ h −1 ◦ v and x2 = p2 ◦ h−1 ◦ v, then by the uniqueness of ue,

e = h−1 ◦ v =⇒ v = h ◦ u
u e = u.

So u is unique. This proves that Q, p1 ◦h−1 , p2 ◦h−1 fulfills the universal property of a product diagram.

Example 3.4. 1. Products of “structured sets” like monoids or groups can often be constructed as
products of the underlying sets with componentwise operations: if G and H are groups, then G × H
can be constructed by taking the underlying set of G × H to be the set {hg, hi | g ∈ G, h ∈ H} and
define the binary operation in G × H by

hg, hi ∗G×H g 0 , h0 = g ∗G g 0 , h ∗H h0 ,

where the group G is given by the triple (G, ∗G , uG ) and the group H is given by the triple (H, ∗H , uH ).
The unit of G × H is given by
uG×H = huG , uH i .
The inverse of hg, hi in G × H is D E
hg, hi−1 = g −1 , h−1 .

The projection homomorphism G × H → G (or H) are the evident ones

hg, hi 7→ g (or h) .

[Link] (P, ⩽) be a poset and consider a product p × q of elements p, q ∈ P . We must have projections
p × q → p and p × q → q. In a poset, these arrows indicate

p × q ⩽ p and p × q ⩽ q

. Furthermore, we need p × q to fulfill the UMP of product: if for a given element x ∈ P , x → p


and x → q (i.e. x ⩽ p and x ⩽ q in the poset), then there exists a unique arrow x → p × q (i.e.
x ⩽ p × q). The product p × q is easily recognized to be the greatest lower bound p ∧ q.

Remark 3.5. Note that the projection arrows p1 : A × B → A and p2 : A × B → B need not be
epic. In Sets, let A be a non-empty set. Consider the product of ∅ and A. Then the projection

p2 : ∅ × A → A

is not surjective, since the domain is empty set but the codomain is nonempty. Therefore, the
projection p2 is not an epimorphism in Sets.

§3.5.i Product Topological Space


Let us show that the product of two topological spaces X and Y is a product X × Y in Top, the
category of topological spaces and continuous maps. Let O (X) be the collection of open sets in
X. Suppose we have two topological space X and Y and the product space X × Y along with the
projections
p1 p2
X X ×Y Y

Recall that O (X × Y ) is generated by basic open sets of the form U × V , where U ∈ O (X) and
V ∈ O (Y ), so that every W ∈ O (X × Y ) is a union of such basic open sets. We have the following
observations:

35
3 Abstract Characterizations 36

• Clearly p1 : X × Y → X and p2 : X × Y → Y are continuous: for U ∈ O (X) and V ∈ O (Y ),

p−1
1 (U ) = U × Y ∈ O (X × Y ) ,
p−1
2 (V ) = X × V ∈ O (X × Y ) .

So p1 : X × Y → X and p2 : X × Y → Y are continuous.

• Given any cotinuous f1 : Z → X and f2 : Z → Y , let f : Z → X × Y be defined as

f (z) = (f1 (z) , f2 (z)) .

We need to verify that f is continuous. Given W ∈ O (X × Y ), W can be expressed as


[
W = (Uα × Vα ) ,
α

for Uα ∈ O (X) and Vα ∈ O (Y ). Then


[
f −1 (W ) = f −1 (Uα × Vα ) .
α

Therefore, it suffices to show that f −1 (U × V ) ∈ O (Z) for U ∈ O (X) and V ∈ O (Y ).

f −1 (U × V ) = f −1 ((U × Y ) ∩ (X × V ))
= f −1 (U × Y ) ∩ f −1 (X × V )
   
= f −1 p−1
1 (U ) ∩ f
−1
p−1
2 (V )

= (p1 ◦ f )−1 (U ) ∩ (p2 ◦ f )−1 (V )


= f1−1 (U ) ∩ f2−1 (V ) .

Both f1−1 (U ) and f2−1 (V ) are open in Z since f1 , f2 are continuous. Hence, f is continuous.

• Therefore, given f1 : Z → X and f2 : Z → Y continuous, there exists a continuous f : Z → X ×Y


such that p1 ◦f = f1 and p2 ◦f = f2 . Now, suppose there exists another continuous g : Z → X ×Y
such that p1 ◦ g = f1 and p2 ◦ g = f2 . Let g (z) = (g1 (z) , g2 (z)). Then

f1 (z) = (p1 ◦ g) (z) = p1 (g1 (z) , g2 (z)) = g1 (z) , (3.41)

for every z ∈ Z. Similarly, f2 (z) = g2 (z). Therefore, g = f , proving the uniqueness of f .

So X × Y is a product of X and Y in Top.

§[Link] Category with Products


Let C be a category that has a product diagram for every pair of objects. Such a category is said to
have a binary product. Suppose we have objects and arrows as indicated below:
p1 p2
A A × A0 A0

f ◦p1 f 0 ◦p2 (3.42)


f f ×f 0 f0

B q1 B × B0 q2 B0

Then there exists a unique arrow from the product A × A0 to B × B 0 as follows:

f × f 0 = f ◦ p1 , f 0 ◦ p2 . (3.43)

36
3 Abstract Characterizations 37

In other words, f × f 0 is the unique arrow from A × A0 to B × B 0 which makes the above diagram
(3.42) commutative. One can, therefore, construct a functor × : C × C → C 1 as follows:
 
× A, A0 = A × A0 and × f, f 0 = f × f 0 . (3.44)

Let us now verify that × is indeed a functor. For an object (A, A0 ) in C × C, let 1(A,A0 ) = (1A , 1A0 ) be
 
its identity arrow. We need to show that × 1(A,A0 ) = 1A × 1A0 = 1A×A0 .

p1 p2
A A × A0 A0

1A ◦p1 1A0 ◦p2


1A 1A × 1A0 1 A0

A p1 A × A0 p2 A0

1A × 1A0 is the unique arrow A × A0 → A × A0 that makes this diagram commute. If we choose 1A×A0
in place of 1A × 1A0 , then also the diagram commutes:
p1 p2
A A × A0 A0

1A ◦p1 1A0 ◦p2


1A 1A×A0 1 A0

A p1 A × A0 p2 A0

since
p1 ◦ 1A×A0 = p1 = 1A ◦p1 and p2 ◦ 1A×A0 = p2 = 1A0 ◦p2 .
Therefore, by the uniqueness, 1A × 1A0 = 1A×A0 . Hence,
 
× 1(A,A0 ) = × (1A , 1A0 ) = 1A × 1A0 = 1A×A0 . (3.45)

Let (f, f 0 ) : (A, A0 ) → (B, B 0 ) and (g, g 0 ) : (B, B 0 ) → (C, C 0 ) be arrows in C × C. Then (g, g 0 ) ◦ (f, f 0 ) =
(g ◦ f, g 0 ◦ f 0 ). Consider the following diagram:
p1 p2
A A × A0 A0

f ◦p1 f 0 ◦p2
f f ×f 0 f0

q1 q2
B B × B0 B0

g◦q1 g 0 ◦q2
g g×g 0 g0

C r1 C × C0 r2 C0

In this diagram, f × f 0 : A × A0 → B × B 0 and g × g 0 are the unique maps such that the diagram
above commutes. In other words,

q1 ◦ (f × f 0 ) = f ◦ p1 , q2 ◦ f × f 0 = f 0 ◦ p2 , and (3.46)
0 0 0
r1 ◦ (g × g ) = g ◦ q1 , r2 ◦ g × g = g ◦ q2 . (3.47)

g ◦ f : A → C and g 0 ◦ f 0 : A0 → C 0 . Then (g ◦ f ) × (g 0 ◦ f 0 ) is the unique map from A × A0 to C × C 0


such that the following diagram commutes:

1
C × C is the product category as discussed in Section 1.5. An object in C × C is of the form (A, A0 ) with A, A0 ∈ Ob (C).
Given arrows f : A → B and f 0 : A0 → B 0 in C, one has (f, f 0 ) : (A, A0 ) → (B, B 0 ) as an arrow in C × C between
objects (A, A0 ) and (B, B 0 ).

37
3 Abstract Characterizations 38

p1 p2
A A × A0 A0

g◦f ◦p1 g 0 ◦f 0 ◦p2


g◦f (g◦f )×(g 0 ◦f 0 ) g 0 ◦f 0

C r1 C × C0 r2 C0

In other words,

r1 ◦ (g ◦ f ) × (g 0 ◦ f 0 ) = g ◦ f ◦ p1 and r2 ◦ (g ◦ f ) × (g 0 ◦ f 0 ) = g 0 ◦ f 0 ◦ p2 . (3.48)

If we take (g × g 0 ) ◦ (f × f 0 ) in place of (g ◦ f ) × (g 0 ◦ f 0 ), then also the diagram commutes, since

r1 ◦ (g × g 0 ) ◦ (f × f 0 ) = g ◦ q1 ◦ (f × f 0 ) = g ◦ f ◦ p1 , (3.49)
0 0 0 0 0 0
r2 ◦ (g × g ) ◦ (f × f ) = g ◦ q2 ◦ (f × f ) = g ◦ f ◦ p2 . (3.50)
p1 p2
A A × A0 A0

g◦f ◦p1 g 0 ◦f 0 ◦p2


g◦f (g×g 0 )◦(f ×f 0 ) g 0 ◦f 0

C r1 C × C0 r2 C0

Therefore, by the uniqueness, we have (g × g 0 ) ◦ (f × f 0 ) = (g ◦ f ) × (g 0 ◦ f 0 ). Then


    
× g, g 0 ◦ f, f 0 = × g ◦ f, g 0 ◦ f 0 = (g◦f )×(g 0 ◦f 0 ) = (g×g 0 )◦(f ×f 0 ) = × g, g 0 ◦× f, f 0 . (3.51)

Therefore, × : C × C → C is indeed a functor.

Proposition 3.10
Given arrows f : X → A and g : X → B, one forms hf, gi : X → A × B. Then for any arrow
x : Y → X,
hf, gi ◦ x = hf ◦ x, g ◦ xi .

Proof. We have the following commutative diagram:


Y

hf ◦x,g◦xi
f ◦x g◦x

X
f g
hf,gi

A π1 A×B π2 B

hf ◦ x, g ◦ xi : Y → A × B is the unique arrow such that

π1 ◦ hf ◦ x, g ◦ xi = f ◦ x and π2 ◦ hf ◦ x, g ◦ xi = g ◦ x.

Observe that hf, gi ◦ x also has this property:

π1 ◦ (hf, gi ◦ x) = (π1 ◦ hf, gi) ◦ x = f ◦ x, (3.52)


π2 ◦ (hf, gi ◦ x) = (π2 ◦ hf, gi) ◦ x = g ◦ x. (3.53)

Therefore, by the uniqueness of hf ◦ x, g ◦ xi,

hf, gi ◦ x = hf ◦ x, g ◦ xi . (3.54)

38
3 Abstract Characterizations 39

§3.6 Hom-sets
We are dealing with locally small categories, where given any pair of objects A and B, the collection
HomC (A, B) of all the arrows from A to B forms a set. We call such a set of arrows Hom-set. Now,
fix A ∈ Ob (C) once and for all. Then we consider a functor HomC (A, −) : C → Sets as follows:

C Sets

C HomC (A, C)
HomC (A, −)
g HomC (A,g)

D HomC (A, D)

with the function HomC (A, g) : HomC (A, C) → HomC (A, D) defined by

HomC (A, g) (f ) = g ◦ f,

for each f ∈ HomC (A, C). HomC (A, −) is called the representable functor of A. Let us now show
that HomC (A, 1X ) = 1HomC (A,X) .

C Sets

X HomC (A, X)
HomC (A, −)
1X HomC (A,1X )

X HomC (A, X)

Indeed, let x ∈ HomC (A, X). Then

HomC (A, 1X ) (x) = 1X ◦x = x = 1HomC (A,X) (x), (3.55)

for any x ∈ HomC (A, X). Therefore, HomC (A, 1X ) = 1HomC (A,X) .
Now, take two composable arrows g : Y → Z and f : X → Y in C. We want to show that

HomC (A, g ◦ f ) = HomC (A, g) ◦ HomC (A, f ) : HomC (A, X) → HomC (A, Z) .

Let’s take any x ∈ HomC (A, X). Then,

HomC (A, g ◦ f ) (x) = g ◦ f ◦ x = g ◦ (HomC (A, f ) (x))


= HomC (A, g) (HomC (A, f ) (x))
= [HomC (A, g) ◦ HomC (A, f )] (x) , (3.56)

which is true for any x ∈ HomC (A, X). Therefore,

HomC (A, g ◦ f ) = HomC (A, g) ◦ HomC (A, f ) . (3.57)

Hence, HomC (A, −) : C → Sets is indeed a functor.

We will now present an alternative characterization of product using Hom-sets. For any object P ,
a pair of arrows p1 : P → A and p2 : P → B determine an element (p1 , p2 ) of the set

HomC (P, A) × HomC (P, B) .

Given any arrow x : X → P , composing with p1 and p2 gives a pair of arrows x1 = p1 ◦ x : X → A


and x2 = p2 ◦ x : X → B as indicated in the following diagram:

39
3 Abstract Characterizations 40

X
x1 =p1 ◦x x2 =p2 ◦x
x

A p1 P p2 B

In this way, one has a function

ϑX ≡ (HomC (X, p1 ) , HomC (X, p2 )) : HomC (X, P ) → HomC (X, A) × HomC (X, B) .

Given any x : X → P , ϑ maps it to

(HomC (X, p1 ) (x) , HomC (X, p2 ) (x)) = (p1 ◦ x, p2 ◦ x) .

In other words,
ϑ (x) = (p1 ◦ x, p2 ◦ x) = (x1 , x2 ) . (3.58)

Proposition 3.11
p1 p2
A diagram of the form A P B is a product diagram if and only if for every object
X, the canonical function ϑX defined by (3.58) is an isomorphism,

=
ϑX : HomC (X, P ) −
→ HomC (X, A) × HomC (X, B) .

Proof. (⇒) Suppose P is a product. Then given any object X of C and a pair of arrows x1 : X → A
and x2 : X → B, there is a unique arrow x : X → P such that the following diagram commutes:
X
x1 x2
x

A p1 P p2 B

In other words, p1 ◦ x = x1 and p2 ◦ x = x2 . Therefore, for any object X, and x1 ∈ HomC (X, A),
x2 ∈ HomC (X, B), there is a unique x ∈ HomC (X, P ) which makes the above diagram commutative.
We, therefore, have a function

℘X : HomC (X, A) × HomC (X, B) → HomC (X, P )

defined by
℘X (x1 , x2 ) = x, (3.59)
where x is the unique arrow from X to P such that p1 ◦ x = x1 and p2 ◦ x = x2 . In particular,

℘X (p1 ◦ x, p2 ◦ x) = x. (3.60)

Then for any (x1 , x2 ) ∈ HomC (X, A) × HomC (X, B),

(ϑX ◦ ℘X ) (x1 , x2 ) = ϑX (x) = (p1 ◦ x, p2 ◦ x) = (x1 , x2 ) ,

and for any x ∈ HomC (X, P ),

(℘X ◦ ϑX ) (x) = ℘X (p1 ◦ x, p2 ◦ x) = x.

Therefore,
ϑX ◦ ℘X = 1HomC (X,A)×HomC (X,B) and ℘X ◦ ϑX = 1HomC (X,P ) . (3.61)
Therefore, ϑX is an isomorphism for any object X.

40
3 Abstract Characterizations 41

(⇐) Conversely, suppose, for every object X, the canonical function



=
ϑX : HomC (X, P ) −
→ HomC (X, A) × HomC (X, B)

is an isomorphism. Given any x1 ∈ HomC (X, A) and x2 ∈ HomC (X, B), since ϑX is an isomorphism
(i.e. a bijection since we are in Sets), there exists a unique x ∈ HomC (X, P ) such that ϑX (x) =
(x1 , x2 ). Using (3.58), we get

(x1 , x2 ) = ϑX (x) = (p1 ◦ x, p2 ◦ x) . (3.62)


x x
Therefore, given any A ←− 1
X −→2
B, there is a unique x : X → P such that p1 ◦ x = x1 and p2 ◦ x = x2 .
In other words, the following diagram commutes:
X
x1 x2
x

A p1 P p2 B
Therefore, P is a product of A and B. ■

Definition 3.9. Let C and D be categories with binary products. A functor F : C → D is said to
preserve binary products if it takes every product diagram
p1 p2
A A×B B in C

to a product diagram
F (p1 ) F (p2 )
F (A) F (A × B) F (B) in D.

The latter is a product diagram in D if and only if F (A × B) ∼


= F (A) × F (B). In other words, if and
only if the canonical arrow

=
hF (p1 ) , F (p2 )i : F (A × B) −
→ F (A) × F (B)

is an isomorphism. Note that hF (p1 ) , F (p2 )i is the unique arrow from F (A × B) to F (A) × F (B)
such that the diagram below commutes:

F (A × B)

F (p1 ) F (p2 )
hF (p1 ),F (p2 )i

F (A) F (A) × F (B) F (B)


e1
p e2
p

Therefore, if C and D are categories with binary products, then a functor F : C → D preserves binary
products if and only if F (A × B) ∼ = F (A) × F (B) in D for any A, B ∈ Ob (C). For example, the
forgetful functor U : Mon → Sets preserves binary products.

Corollary 3.12
For any object X in a category C with products, the covariant representable functor

HomC (X, −) : C → Sets

preserves products.

41
3 Abstract Characterizations 42

Proof. For A, B ∈ Ob (C), Proposition 3.11 says that there is a canonical isomorphism

HomC (X, A × B) ∼
= HomC (X, A) × HomC (X, B) ,

as A × B is a product of A and B. In other words,

HomC (X, −) (A × B) ∼
= HomC (X, −) (A) × HomC (X, −) (B) . (3.63)

Hence, HomC (X, −) : C → Sets is indeed a binary product preserving functor. ■

§3.7 Associativity of Product


Theorem 3.13
Product is associative up to isomorphism, i.e. if A, B, and C are objects in a category with
products, then (A × B) × C ∼= A × (B × C).

Proof. Let the following be product diagrams:


p1 p2
A A×B B
q1 q2
B B×C C
r1 r2
A×B (A × B) × C C
s1 s2
A A × (B × C) B×C
Consider the following composition:
r p2
(A × B) × C −→
1
A × B −→ B.

Given p2 ◦ r1 : (A × B) × C → B and r2 : (A × B) × C → C, there exists a unique f : (A × B) × C →


B × C such that the following diagram commutes:
(A × B) × C

p2 ◦r1 r2
f

B q1 B×C q2 C
In other words,

q1 ◦ f = p2 ◦ r1 , (3.64)
q2 ◦ f = r2 . (3.65)

Then consider the following composition:


r p1
(A × B) × C −→
1
A × B −→ A.

Given p1 ◦ r1 : (A × B) × C → A and f : (A × B) × C → (B × C), there exists a unique g :


(A × B) × C → A × (B × C) such that the following diagram commutes:

(A × B) × C

p1 ◦r1 g
f

A s1 A × (B × C) s2 B×C

42
3 Abstract Characterizations 43

In other words,

s1 ◦ g = p1 ◦ r1 , (3.66)
s2 ◦ g = f. (3.67)

Now, we consider the following composition:


s q1
A × (B × C) −→
2
B × C −→ B.

Given s1 : A × (B × C) → A and q1 ◦ s2 : A × (B × C) → B, there exists a unique h : A × (B × C) →


A × B such that the following diagram commutes:
A × (B × C)

s1 q1 ◦s2
h

A p1 A×B p2 B
In other words,

p1 ◦ h = s1 , (3.68)
p2 ◦ h = q1 ◦ s2 . (3.69)

Then we consider the following composition:


s q2
A × (B × C) −→
2
B × C −→ C.

Given h : A×(B × C) → A×B and q2 ◦s2 : A×(B × C) → c, there exists a unique i : A×(B × C) →
(A × B) × C such that the following diagram commutes:

A × (B × C)

h q2 ◦s2
i

A×B r1 (A × B) × C r2 C
In other words,

r1 ◦ i = h, (3.70)
r2 ◦ i = q2 ◦ s2 . (3.71)

We claim that g : (A × B) × C → A × (B × C) is our desired isomorphism, with inverse i : A ×


(B × C) → (A × B)×C. For that purpose, we need to show that g◦i = 1A×(B×C) and i◦g = 1(A×B)×C .

Now, consider the following diagram:


g◦i

A × (B × C)

q1 ◦s2 q1 ◦s2
s2 s2 ◦g◦i

B q1 B×C q2 C

43
3 Abstract Characterizations 44

Using (3.67), (3.64), (3.70) and (3.69), we get

q1 ◦ s2 ◦ g ◦ i = q1 ◦ f ◦ i = p2 ◦ r1 ◦ i = p2 ◦ h = q1 ◦ s2 . (3.72)

Furthermore, using (3.67), (3.65) and (3.71),

q2 ◦ s2 ◦ g ◦ i = q2 ◦ f ◦ i = r2 ◦ i = q2 ◦ s2 . (3.73)

So there are two arrows s2 , s2 ◦ g ◦ i : A × (B × C) → B × C and both of them makes the above
diagram commute. Therefore, by the universal property of the product B × C,

s2 = s2 ◦ g ◦ i. (3.74)

Now, let’s consider the following diagram:


A × (B × C)

1A×(B×C)
s1 s2
g◦i

A s1 A × (B × C) s2 B×C

Here, (3.66), (3.70) and (3.68) gives us

s1 ◦ g ◦ i = p1 ◦ r1 ◦ i = p1 ◦ h = s1 = s1 ◦ 1A×(B×C) . (3.75)

Also, from (3.74),


s2 ◦ g ◦ i = s2 = s2 ◦ 1A×(B×C) . (3.76)
So there are two arrows 1A×(B×C) , g ◦ i : A × (B × C) → A × (B × C) and both of them makes the
above diagram commute. Therefore, by the universal property of the product A × (B × C),

g ◦ i = 1A×(B×C) . (3.77)

Similarly, consider the following diagram:


i◦g

(A × B) × C

p1 ◦r1 p2 ◦r1
r1 r1 ◦i◦g

A p1 A×B p2 B

Using (3.70), (3.68) and (3.66),

p1 ◦ r1 ◦ i ◦ g = p1 ◦ h ◦ g = s1 ◦ g = p1 ◦ r1 . (3.78)

Furthermore, by (3.70), (3.69), (3.67) and (3.64),

p2 ◦ r1 ◦ i ◦ g = p2 ◦ h ◦ g = q1 ◦ s2 ◦ g = q1 ◦ f = p2 ◦ r1 . (3.79)

So there are two arrows r1 , r1 ◦ i ◦ g : (A × B) × C → A × B and both of them makes the above diagram
commute. Therefore, by the universal property of the product A × B,

r1 = r1 ◦ i ◦ g. (3.80)

Now, let’s consider the following diagram:

44
3 Abstract Characterizations 45

(A × B) × C

1(A×B)×C
r1 r2
i◦g

A×B r1 (A × B) × C r2 C

From (3.80),
r1 ◦ i ◦ g = r1 = r1 ◦ 1(A×B)×C . (3.81)
Also, (3.71), (3.67) and (3.65) gives us

r2 ◦ i ◦ g = q2 ◦ s2 ◦ g = q2 ◦ f = r2 = r2 ◦ 1(A×B)×C . (3.82)

So there are two arrows 1(A×B)×C , i ◦ g : (A × B) × C → (A × B) × C and both of them makes the
above diagram commute. Therefore, by the universal property of the product (A × B) × C,

i ◦ g = 1(A×B)×C . (3.83)

Therefore, from (3.77) and (3.83), we can conclude that g : (A × B) × C → A × (B × C) is an


isomorphism, with inverse i : A × (B × C) → (A × B) × C. ■

Furthermore, this isomorphism is “natural”. To make this notion precise, we need to define what a
natural transformation is.

Definition 3.10 (Natural Transformation). Let F and G be two functors between the categories C
and D. Then a natural transformation η : F ⇒ G is a family of arrows in D that satisfies the
following requirements:

1. The natural transformation η must associate to each object X ∈ Ob (C) an arrow ηX :


F (X) → G (X) in D. This arrow ηX is called the component of η at X.

2. Components must be such that for every arrow f : X → Y in C, one must have ηY ◦ F (f ) =
G (f ) ◦ ηX . In other words, the diagram below commutes:
F (f )
F (X) F (Y )

ηX ηY

G(X) G(Y )
G(f )

If F, G : C → D are functors, and η : F ⇒ G is a functor, it is denoted as follows


F

C η D

If for every object X ∈ Ob (C), the arrow ηX : F (X) → G (X) is an isomorphism in D, then
η : F ⇒ G is said to be a natural isomorphism. Two functors F and G between two categories are
called naturally isomorphic if there exists a natural isomorphism between them.

=
When we say the isomorphism g : (A × B) × C − → A × (B × C) is natural, we mean that there

=
is a natural isomorphism whose components are precisely these isomorphisms g : (A × B) × C − →
A × (B × C). To prove it, let us first define the product of three categories.

45
3 Abstract Characterizations 46

Definition 3.11. Let C, D, E be categories. Then we define the product category C × D × E as


follows:

• The objects of C × D × E are ordered triples (C, D, E), where C ∈ Ob (C), D ∈ Ob (E),
E ∈ Ob (E).

• Given two objects (C, D, E) , (C 0 , D0 , E 0 ) ∈ Ob (C × D × E), an arrow from (C, D, E) to


(C 0 , D0 , E 0 ) is an ordered triple (f, g, h), where f ∈ HomC (C, C 0 ), g ∈ HomD (D, D0 ), h ∈
HomE (E, E 0 ).

• Given an object (C, D, E) ∈ Ob (C × D × E), its identity arrow is (1C , 1D , 1E ), i.e.

1(C,D,E) = (1C , 1D , 1E ) .

• Given two composable arrows (f, g, h) : (C, D, E) → (C 0 , D0 , E 0 ) and (f 0 , g 0 , h0 ) : (C 0 , D0 , E 0 ) →


(C 00 , D00 , E 00 ), their composition is defined as
 
f 0 , g 0 , h0 ◦ (f, g, h) = f 0 ◦ f, g 0 ◦ g, h0 ◦ h .

One can easily verify that C × D × E is indeed a category. Now, suppose C is a category with products.
Then we define two functors from C × C × C to C.

F : C × C × C → C,
(A, B, C) 7→ (A × B) × C, (3.84)
(f, g, h) 7→ (f × g) × h.

G : C × C × C → C,
(A, B, C) 7→ A × (B × C) , (3.85)
(f, g, h) 7→ f × (g × h) .

One can easily check that F and G are functors. Now we define the natural transformation α as
follows:
F

C×C×C α C

Given (A, B, C) ∈ Ob (C × C × C), F (A, B, C) = (A × B) × C, and G (A, B, C) = A × (B × C). So


the component of α at (A, B, C) is an arrow from (A × B) × C to A × (B × C) in C, which we define
to be the isomorphism g : (A × B) × C → A × (B × C) defined in the course of proof of Theorem 3.13.

=
α(A,B,C) = g : (A × B) × C −
→ A × (B × C) . (3.86)

Theorem 3.14
α defined as above is a natural isomorphism.

Proof. The components of α are isomorphisms. So n order to prove that α is a natural isomorphism,
we need to show the commutativity of the following square given an arrow (a, b, c) : (A, B, C) →
(A0 , B 0 , C 0 ) in C × C × C.

46
3 Abstract Characterizations 47

α(A,B,C)
(A × B) × C A × (B × C)

(a×b)×c a×(b×c)

(A0 × B 0 ) × C 0 α(A0 ,B 0 ,C 0 ) A0 × (B 0 × C 0 )

In other words, we need to prove that

[a × (b × c)] ◦ α(A,B,C) = α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] .

Suppose the following are product diagrams:


p01 p02
A0 A0 × B 0 B0
q10 q20
B0 B0 × C 0 C0
r10 r20
A0 × B 0 (A0 × B 0 ) × C 0 C0
s01 s02
A0 A0 × (B 0 × C 0 ) B0 × C 0
Consider the following compositions:
p2
→ B0,
r b
(A × B) × C −→
1
A × B −→ B −

→ C 0.
r c
(A × B) × C −→
2
C−
Then there is a unique arrow u : (A × B) × C → B 0 × C 0 such that the following diagram commutes:

(A × B) × C

b◦p2 ◦r1 c◦r2


u

B0 B0 × C 0 C0
q10 q20

In other words,

q10 ◦ u = b ◦ p2 ◦ r1 , (3.87)
q10 ◦ u = c ◦ r2 (3.88)

In other words, u = hb ◦ p2 ◦ r1 , c ◦ r2 i : (A × B) × C → B 0 × C 0 . Then consider the following


composition:
p1
→ A0 .
r1 a
(A × B) × C −→ A × B −→ A −
Given a ◦ p1 ◦ r1 : (A × B) × C → A0 , and hb ◦ p2 ◦ r1 , c ◦ r2 i : (A × B) × C → B 0 × C 0 , there exists a
unique arrow v : (A × B) × C → A0 × (B 0 × C 0 ) such that the following diagram commutes:

(A × B) × C

a◦p1 ◦r1 hb◦p2 ◦r1 ,c◦r2 i


v (3.89)

A0 A0 × (B 0 × C 0 ) B0 × C 0
s01 s02

In other words,

s01 ◦ v = a ◦ p1 ◦ r1 , (3.90)
s02 ◦ v = hb ◦ p2 ◦ r1 , c ◦ r2 i . (3.91)

47
3 Abstract Characterizations 48

Now we claim that choosing v = [a × (b × c)] ◦ α(A,B,C) makes the above diagram commutative. The
uniqueness of v would then imply that v is precisely [a × (b × c)] ◦ α(A,B,C) .
a × (b × c) is the unique arrow A × (B × C) → A0 × (B 0 × C 0 ) such that the following diagram
commutes:
s1 s2
A A × (B × C) B×C

a a×(b×c) b×c

A0 A0 × (B 0 × C 0 ) B0 × C 0
s01 s02

So
s01 ◦ [a × (b × c)] ◦ α(A,B,C) = a ◦ s1 ◦ α(A,B,C) . (3.92)
α(A,B,C) is nothing but the isomorphism g in the proof of Theorem 3.13. So using (3.66), we get
s1 ◦ α(A,B,C) = p1 ◦ r1 . Therefore,

s01 ◦ [a × (b × c)] ◦ α(A,B,C) = a ◦ p1 ◦ r1 . (3.93)

Furthermore,
s02 ◦ [a × (b × c)] ◦ α(A,B,C) = (b × c) ◦ s2 ◦ α(A,B,C) . (3.94)
Using (3.67), we get we get
s2 ◦ α(A,B,C) = f = hp2 ◦ r1 , r2 i . (3.95)
Now, consider the following commutative diagram:
(A × B) × C

p2 ◦r1 r2
f

q1 q2
B B×C C

b b×c c

B0 B0 × C 0 C0
q10 q20

f is the unique arrow that makes the upper triangles commute, and b × c is the unique arrow that
makes the lower squares commute. Therefore,

q10 ◦ (b × c) ◦ f = b ◦ q1 ◦ f = b ◦ p2 ◦ r1 , (3.96)
q20 ◦ (b × c) ◦ f = c ◦ q2 ◦ f = c ◦ r2 . (3.97)

Therefore, by the uniqueness of hb ◦ p2 ◦ r1 , c ◦ r2 i : (A × B) × C → B 0 × C 0 , we can conclude that

(b × c) ◦ f = hb ◦ p2 ◦ r1 , c ◦ r2 i . (3.98)

Combining (3.94), (3.95) and (3.98), we get

s02 ◦ [a × (b × c)] ◦ α(A,B,C) = hb ◦ p2 ◦ r1 , c ◦ r2 i . (3.99)

Using (3.93) and (3.99), and by the uniqueness of v,

v = [a × (b × c)] ◦ α(A,B,C) . (3.100)

Now we claim that v = α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] also makes (3.89) commutative. The uniqueness of
v would then imply that v is precisely α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c].

48
3 Abstract Characterizations 49

Similarly as (3.66) and (3.67),

s01 ◦ α(A0 ,B 0 ,C 0 ) = p01 ◦ r10 (3.101)


s02 ◦ α(A0 ,B 0 ,C 0 ) = f 0 = p02 ◦ r10 , r20 . (3.102)

Using these equations, we get

s01 ◦ α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] = p01 ◦ r10 ◦ [(a × b) × c] . (3.103)

Now, (a × b) × c is the unique arrow (A × B) → C → (A0 × B 0 ) → C 0 such the the following diagram
commutes:
r1 r2
A×B (A × B) × C C

a×b (a×b)×c c

A0 × B 0 (A0 × B 0 ) × C 0 C0
r10 r20

Therefore,
r10 ◦ [(a × b) × c] = (a × b) ◦ r1 . (3.104)
Furthermore, a × b is the unique arrow such that the following diagram commutes:
p1 p2
A A×B B

a a×b b

A0 A0 × B 0 B0
p01 p02

So
p01 ◦ (a × b) ◦ r1 = a ◦ p1 ◦ r1 . (3.105)
Combining (3.103), (3.104), (3.105), we get

s01 ◦ α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] = a ◦ p1 ◦ r1 .. (3.106)

Furthermore,

s02 ◦ α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] = f 0 ◦ [(a × b) × c] = p02 ◦ r10 , r20 ◦ [(a × b) × c] . (3.107)

Consider the following commutative diagram:


r1 r2
A×B (A × B) × C C

a×b (a×b)×c c

r10
A0 × B 0 (A0 × B 0 ) × C 0 C0
r20

p02 ◦r10
p02 f0
r20

B0 B0 × C 0 C0
q10 q20

(a × b) × c is the unique arrow that makes the upper squares commute. f 0 = hp02 ◦ r10 , r20 i is the
unique arrow that makes the lower triangles commute. Therefore,

q10 ◦ f 0 ◦ [(a × b) × c] = p02 ◦ r10 ◦ [(a × b) × c] = p02 ◦ (a × b) ◦ r1 = b ◦ p2 ◦ r1 , (3.108)


q20 0
◦ f ◦ [(a × b) × c] = r20 ◦ [(a × b) × c] = c ◦ r2 . (3.109)

49
3 Abstract Characterizations 50

Therefore, by the uniqueness of u = hb ◦ p2 ◦ r1 , c ◦ r2 i : (A × B) × C → B 0 × C 0 ,

f 0 ◦ [(a × b) × c] = hb ◦ p2 ◦ r1 , c ◦ r2 i . (3.110)

Combining (3.107) and (3.110), we can conclude that

s02 ◦ α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] = hb ◦ p2 ◦ r1 , c ◦ r2 i . (3.111)

Now, by (3.106) and (3.111), and invoking the uniqueness of v : (A × B) × C → A0 × (B 0 × C 0 ), we


conclude
v = α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] . (3.112)
Using (3.100) and (3.112), we get

[a × (b × c)] ◦ α(A,B,C) = α(A0 ,B 0 ,C 0 ) ◦ [(a × b) × c] . (3.113)

In other words, the following diagram commutes:


α(A,B,C)
(A × B) × C A × (B × C)

(a×b)×c a×(b×c)

(A0 × B 0 ) × C 0 α(A0 ,B 0 ,C 0 ) A0 × (B 0 × C 0 )

Therefore, α is a natural transformation. Furthermore, the components of α are all isomorphisms.


Hence, α is a natural isomorphism. ■

§3.8 Product and Terminal Object


Proposition 3.15
Let C be a category with products, and 1 is a terminal object of C. Then for any X ∈ Ob (C),
X ×1∼ = X.

Proof. Let the following be a product diagram:


p1 p2
X X ×1 1
Since 1 is a terminal object, there is a unique arrow u : X → 1. Given 1X : X → X and u : X → 1,
there is a unique arrow h1X , ui : X → X × 1 such that the following diagram commutes:
X
1X u
h1X ,ui

X p1 X ×1 p2 1
In other words,
p1 ◦ h1X , ui = 1X and p2 ◦ h1X , ui = u. (3.114)
We claim that p1 : X × 1 → X is an isomorphism, with inverse h1X , ui. Clearly, we have p1 ◦ h1X , ui =
1X . We need to show that h1X , ui ◦ p1 = 1X×1 .
p2 ◦ h1X , ui ◦ p1 is an arrow from X × 1 to 1. Since 1 is a terminal object, there is exactly one arrow
from X × 1 to 1. So p2 ◦ h1X , ui ◦ p1 = p2 . Therefore,

p1 ◦ h1X , ui ◦ p1 = p1 and p2 ◦ h1X , ui ◦ p1 = p2 . (3.115)

So the following diagrams commute:

50
3 Abstract Characterizations 51

X ×1 X ×1
p1 p2 p1 p2
h1X ,ui◦p1 1X×1

X p1 X ×1 p2 1 X p1 X ×1 p2 1

Therefore, by the universal property of products, we must have h1X , ui ◦ p1 = 1X×1 . Therefore,
p1 : X × 1 → X is an isomorphism, with inverse h1X , ui : X → X × 1, i.e. X × 1 ∼
= X. ■

However, the converse of Proposition 3.15 is not, in general, true. If A is an object in a category C
with products such that X × A ∼
= A for every object X ∈ Ob (C), then A need not be a terminal object.
The following is a counterexample.

Example 3.5. Let ZN denote the set of all integer sequences, which is an object of the category
Groups. Let us consider the subcategory C of Groups consisting of only one object ZN , and all the
arrows from ZN to itself in Groups (often refered to as the full subcategory of Groups, with the
object ZN ). Then in this category C,
ZN × ZN = ZN .
The product diagram is as follows:
π1 π2
ZN ZN ZN

The homomorphisms π1 and π2 are defined as follows:

π1 (a0 , a1 , a2 , a3 , a4 , . . .) = (a1 , a3 , a5 , · · · ) ,

π2 (a0 , a1 , a2 , a3 , a4 , · · · ) = (a0 , a2 , a4 , a6 , · · · ) .
This is easily seen to satisfy the UMP of product. Now, in the category C, there is only one object.
So X × A ∼= A for every object X ∈ Ob (C) is clearly satisfied. But ZN is not a terminal object in this
category, since there are more than one arrows from ZN to itself in C.

The isomorphism we showed in Proposition 3.15 is not just any isomorphism. This isomorphism is
actually “natural”, meaning there is a natural isomorphism whose components are the isomorphisms
we saw in Proposition 3.15.
×(−,1)

C η C
1C

The components of η are given by



=
ηX = p1 : X × 1 −
→ X, (3.116)
where p1 : X × 1 → X is the projection on X arrow. To show that η is a natural isomorphism, we
just need to show the commutativity of the following square:
f ×11
X ×1 X0 × 1

ηX =p1 ηX 0 =p01

X f
X0

But this square obviously commutes, since f × 11 is the unique arrow X × 1 → X 0 × 1 such that the
following diagram commutes:

51
3 Abstract Characterizations 52

p1 p2
X X ×1 1

f f ×11 11

X0 X0 × 1 1
p01 p02

The naturality square is precisely the left hand square of this diagram. So naturality holds. Therefore,
the isomorphism X × 1 ∼ = X is natural.
Now, the converse of Proposition 3.15 holds if we further assume that the isomorphism is natu-
ral.

Theorem 3.16
Let C be a category with products, and A ∈ Ob (C) such that η : × (−, A) ⇒ 1C is a natural
isomorphism. Then A is a terminal object of C.

Proof. ηX : X × A → X is an isomorphism for every X ∈ Ob (C). Suppose the following is a product


diagram:
p1 p2
X X ×A A
Let us define a transformation α : 1C ⇒ 1C , which we are going to show to be a natural transformation.
1C

C α C
1C

The components of α are given by


−1
αX = p1 ◦ ηX : X → X, (3.117)
where p1 is the projection X × A → X. In order to show that α is a natural transformation, we need
to show the commutativity of the following square given any arrow g : X → X 0 :
g
X X0

−1
αX =p1 ◦ηX
−1
αX 0 =p01 ◦ηX 0
(3.118)

X g X0

g × 1 is the unique arrow X × A → X 0 × A such that the diagram below commutes:


p1 p2
X X ×A A

g g×1A 1A

X0 X0 × A A
p01 p02

In particular,
g ◦ p1 = p01 ◦ (g × 1A ) . (3.119)
The naturality of η guarantees the commutativity of the following square:
g×1A
X ×A X0 × A

ηX ηX 0

X g X0

52
3 Abstract Characterizations 53

In other words,
ηX 0 ◦ (g × 1A ) = g ◦ ηX . (3.120)
−1 −1
Composing by ηX 0 on the left, and ηX on the right, we get

−1 −1
(g × 1A ) ◦ ηX = ηX 0 ◦ g. (3.121)

Therefore, using (3.119) and (3.121),


−1 −1 −1
αX 0 ◦ g = p01 ◦ ηX 0
0 ◦ g = p1 ◦ (g × 1A ) ◦ ηX = g ◦ p1 ◦ ηX = g ◦ αX . (3.122)

So (3.118) commutes, and hence α : 1C → 1C is a natural transformation. Therefore, for any arrow
u : X → X, by the naturality of α, the following diagram commutes:
u
X X

−1 −1
αX =p1 ◦ηX αX =p1 ◦ηX

X u X
In other words, for any u : X → X,
−1 −1
p1 ◦ ηX ◦ u = u ◦ p1 ◦ ηX . (3.123)

In order to prove that A is a terminal object, we need to show that there exists a unique arrow
−1
X → A. Clearly, there is an arrow X → A; for instance p2 ◦ ηX : X → A. We now need to show that
the arrow X → A is unique. Let f be any arrow X → A.
X
1X f
h1X ,f i

X p1 X ×A p2 A

Choose the arrow u : X → X to be u = ηX ◦ h1X , f i : X → X. Using (3.123), we have


−1 −1
ηX ◦ h1X , f i ◦ p1 ◦ ηX = p1 ◦ ηX ◦ ηX ◦ h1X , f i = p1 ◦ h1X , f i = 1X . (3.124)
−1 −1
So, ηX ◦ h1X , f i ◦ p1 ◦ ηX = 1X . Now, composing by ηX on the right, and ηX on the left, we get
−1
h1X , f i ◦ p1 = ηX ◦ ηX = 1X×A . (3.125)

Therefore, p1 : X × A → X is an isomorphism, with the inverse h1X , f i. As a result,

f = p2 ◦ h1X , f i = p2 ◦ p−1
1 . (3.126)

Hence, given any arrow f : X → A, f must be equal to p2 ◦ p−1


1 . Therefore, there is a unique arrow
X → A, and hence A is a terminal object. ■

53
4 Duality
§4.1 Duality Principle
The Elementary Theory of an Abstract Category (ETAC) consists of certain statements which
involves letters A, B, C, . . . for objects and f, g, h, . . . for arrows. For example, the statement f : A → B
can be phrased as “A is the domain of f , and B is the codomain of f .” A sentence is a statement with
all variables quantified (quantifiers are “for all A”, “for all f ”, “there exists an A”, “there exists an f ”
etc.), and none being free. For example,
For all f , there exists A and B such that f : A → B
is a sentence. Axioms of ETAC are examples of sentences that are true in every category.

To each category C, we also associate the opposite category C op . The objects of C op are the same
as those of C, i.e. given A ∈ Ob (C), one also has A ∈ Ob (C op ).
Ob (C) = Ob (C op ) .
The arrows of C op are arrows f op in the reverse direction, and hence are in 1-1 correspondence
f 7→ f op
with the arrows f of C. In other words, if f : A → B is an arrow in C, then the corresponding arrow
in C op is given by f op : B → A so that
dom (f op ) = cod (f ) and cod (f op ) = dom (f ) .
Now, given arrows
f g
A B C
g◦f

in C, one has
f op g op
A B C
f op ◦g op =(g◦f )op

in C op so that f op ◦ g op = (g ◦ f )op is defined in C op exactly when the composite g ◦ f is defined in C,


i.e. (g, f ) is a composable pair (g after f ) in C if and only if (f op , g op ) is a composable pair (f op after
g op ) in C op , and f op ◦ g op is precisely the opposite arrow of the composite arrow g ◦ f in C.

Now, the dual of any statement Σ of ETAC is formed by making the following replacements through-
out in Σ: “domain” by “codomain”, “codomain” by “domain”, “h is the composite of f with g” by “h
is the composite of g with f ”. As a result, arrows and composites are reversed in the dual statement
Σ∗ . While forming the dual sentence, logic / quantifiers (and, or, for all, there exists etc.) remain
unchanged. Some examples of statements Σ and their dual statements Σ∗ are listed below:
Statement Σ Dual Statement Σ∗
f :A→B f :B→A
A = dom (f ) A = cod (f )
i = 1A i = 1A
h=g◦f h=f ◦g
T is a terminal object T is an initial object
A sentence Σ is true in C op if and only if its dual statement Σ∗ is true in C (arrows in C op are read
without the op prefix).

54
4 Duality 55

Remark 4.1. Note that the dual of the dual is the original statement (Σ∗∗ = Σ). There could be
broadly two types of statements or sentences. A statement can be consequences of the axioms of
ETAC, for example, “a terminal object of a category, if it exists, is unique up to isomorphism.”
The other type of statements do not follow from the axioms of ETAC. For example, “a = dom f ”,
or h = g ◦ f . For the latter type of statements Σ in C, the dual statements Σ∗ refer to opposite
category C op . For the former type of statements, i.e. for the statements that are consequences
of the axioms of ETAC, Σ and its dual Σ∗ refer to the category C. This fact is captured by the
duality principle.

Duality Principle:
If a statement Σ of ETAC is a consequence of the axioms, so is the dual statement Σ∗ .

For example, take Σ to be “a terminal object, if it exists, is unique up to isomorphism.” We have the
dual Σ∗ that reads “an initial object, if it exists, is unique up to isomorphism.” This dual statement
Σ∗ applies to the same category C.

§4.2 Coproducts
q1 q2
Definition 4.1. A diagram A Q B is called a coproduct of A and B if for any
z1 z2
object Z and A Z B , there is a unique arrow u : Q → Z such that the following
diagram commutes:

Z
z1 z2
∃! u

A q1 Q q2 B

i.e. u ◦ q1 = z1 and u ◦ q2 = z2 .

1i 2 i
We usually write A A+B B for the coproduct, and [f, g] for the uniquely determined
arrow [f, g] : A + B → Z as in the following diagram:
Z
f g
[f,g]

A i1
A+B i2
B

Remark 4.2. Similar to Remark 3.5, the “co-projections” i1 : A → A + B and i2 : B → A + B


need not be monomorphisms. A coproduct of two objects is a product of the same two objects in
the opposite category, as can be seen by reversing the arrows above and using the commutative
diagram of a product. Therefore, given a nonempty set A, the product ∅ × A in Sets is the
coproduct ∅ + A in Setsop . In other words,

∅ +Setsop A = ∅ ×Sets A. (4.1)

Then the coprojection


i2 : A → ∅ +Setsop A
is not a monomorphism in Setsop , since the opposite arrow p2 : ∅ ×Sets A → A is not an
epimorphism.

55
4 Duality 56

The ‘co-projections” i1 : A → A + B and i2 : B → A + B are often called coproduct injections.

Example 4.1. In Sets, the coproduct A + B of two sets is their disjoint union which can be con-
streucted as

A + B = {(a, 1) | a ∈ A} ∪ {(b, 2) | b ∈ B} = (A × {1}) ∪ (B × {2}) , (4.2)

with evident coproduct injections i1 (a) = (a, 1) and i2 (b) = (b, 2). Given any functions f : A → Z
and g : B → Z,

Z
f g
[f,g]

A i1
A+B i2
B

we define [f, g] : A + B → Z as follows:


(
f (x) if δ = 1,
[f, g] (x, δ) = (4.3)
g (x) if δ = 2.

Uniqueness of [f, g] defined in (4.3) follows by noting that if for h : A + B → Z the above diagram
commutes, then one must have h ◦ i1 = f and h ◦ i2 = g. This leads to

f (a) = (h ◦ i1 ) (a) = h (i1 (a)) = h (a, 1) , and (4.4)


g (b) = (h ◦ i2 ) (b) = h (i2 (b)) = h (b, 2) . (4.5)

Therefore, h (x, δ) = [f, g] (x, δ), for any (x, δ) ∈ A + B. So [f, g] = h proving the uniqueness of [f, g].

In Sets, if A is a finite set with cardinality n, then


∼ 1 + 1 + · · · + 1,
A= (4.6)
| {z }
n-times

where 1 stands for a singleton set. Indeed, if A = {a1 , a2 , . . . , an }, then

{a1 } + {a2 } + · · · {an } = {(a1 , 1) , (a2 , 2) , . . . , (an , n)} ∼


= {a1 , a2 , . . . , an } . (4.7)

Proposition 4.1
Coproducts are unique up to isomorphism.

We don’t need to prove it again. We can just use the fact that products are unique up to isomorphism
(Proposition 3.9), and then invoke duality principle.

Theorem 4.2
Coproducts are associative up to isomorphism, i.e. if A, B, and C are objects in a category with
coproducts, then (A + B) + C ∼= A + (B + C).

This follows from Theorem 3.13 and duality principle.

Example 4.2. If M (A) and M (B) are free monoids on sets A and B, then in the category Mon, we
can construct their coproduct as

M (A) + M (B) ∼
= M (A + B) .

56
4 Duality 57

In other words, the coproduct of the free monoids on A and B is the free monoid on the coproduct
A + B of A and B in Sets.
We shall prove that M (A + B) satisfies the UMP of coproduct of M (A) and M (B). Let U : Mon →
Sets be the forgetful functor, and let

ηA : A → U (M (A)) ,
ηB : B → U (M (B)) ,
ηA+B : A + B → U (M (A + B))

be the respective insertions of generators. Let


i1 i2
A A+B B

be the coproduct diagram for A and B. Consider the following diagram in Sets:
U (j1 ) U (j2 )
U(M (A)) U(M (A + B)) U(M (B))

ηA ηA+B ηB

A i1
A+B i2
B

Given the monoid M (A + B) and the function ηA+B ◦ i1 : A → U (M (A + B)), by the UMP of free
monoid on the set A, there is a unique monoid homomorphism j1 : M (A) → M (A + B) such that

ηA+B ◦ i1 = U (j1 ) ◦ ηA . (4.8)

Similarly, using the UMP of free monoid on the set B and the function ηA+B ◦i2 : B → U (M (A + B)),
there is a unique monoid homomorphism j2 : M (B) → M (A + B) such that

ηA+B ◦ i2 = U (j2 ) ◦ ηB . (4.9)

In other words, the diagram above commutes in Sets. We now claim that
j1 j2
M (A) M (A + B) M (B)

is a coproduct diagram. Let N be any monoid and let f : M (A) → N and g : M (B) → N be monoid
homomorphisms.

U(N )
U (f ) U (g)

U(M (A)) h U(M (B))

ηA ηB

A i1
A+B i2
B

Since A + B is the coproduct of A and B in Sets, there exists a unique h : A + B → U (N ) such that

h ◦ i1 = U(f ) ◦ ηA and h ◦ i2 = U(g) ◦ ηB . (4.10)

57
4 Duality 58

U(N )

U (f ) U (g)

U (j1 ) U (j2 )
U(M (A)) U(M (A + B)) U(M (B))

ηA h ηA+B ηB

A i1
A+B i2
B

Now, given the monoid N and the function h : A + B → U (N ), by the UMP of free monoid on the
set A + B, there exists a unique monoid homomorphism h : M (A + B) → N such that
 
h = U h ◦ ηA+B . (4.11)

In other words, the following diagram commutes


U (h)
U(M (A + B)) U(N )

ηA+B
h

A+B
So we get the following diagram:

U(N )

U (f ) U (g)
U (h)

U (j1 ) U (j2 )
U(M (A)) U(M (A + B)) U(M (B))

ηA h ηA+B ηB

A i1
A+B i2
B

In this diagram, using (4.11) and (4.10), we have


 
U h ◦ ηA+B ◦ i1 = h ◦ i1 = U (f ) ◦ ηA . (4.12)

58
4 Duality 59

Again, using (4.8),


     
U h ◦ ηA+B ◦ i1 = U h ◦ U (j1 ) ◦ ηA = U h ◦ j1 ◦ ηA . (4.13)
 
However, for the function U h ◦ ηA+B ◦ i1 : A → U (N ), using the UMP of free monoid on the set A,
there exists a unique monoid homomorphism u : M (A) → N such that
 
U h ◦ ηA+B ◦ i1 = U (u) ◦ ηA . (4.14)

In other words, there is a unique monoid homomorphism u : M (A) → N such that the following
diagram commutes:
U (u)
U(M (A)) U(N )

ηA
U (h)◦ηA+B ◦i1

But from (4.12) and (4.13), we get that taking u = f and u = h◦j1 makes the above diagram commute.
Therefore, we must have
f = h ◦ j1 . (4.15)
Similarly,
g = h ◦ j2 . (4.16)
Therefore, given the following diagram commutes:

N
f g
h

M (A) j1
M (A + B) j2
M (B)

Furthermore, we need to show that h is unique. Suppose there exists another monoid homomorphism
v : M (A + B) → N such that f = v ◦ j1 and g = v ◦ j2 . Then using (4.8), we get

U (f ) ◦ ηA = U (v) ◦ U (j1 ) ◦ ηA = U (v) ◦ ηA+B ◦ i1 . (4.17)

Similarly, using (4.9),

U (g) ◦ ηB = U (v) ◦ U (j2 ) ◦ ηB = U (v) ◦ ηA+B ◦ i2 . (4.18)

However, h : A + B → U (N ) is the unique map such that

h ◦ i1 = U(f ) ◦ ηA and h ◦ i2 = U(g) ◦ ηB .

The uniqueness of h along with (4.17) and (4.18) implies that

h = U (v) ◦ ηA+B . (4.19)


 
On the other hand, h is the unique monoid homomorphism M (A + B) → N such that h = U h ◦
ηA+B . Therefore, from (4.19), we must have h = v. Hence, h is the unique monoid homomorphism
M (A + B) → N such that f = h ◦ j1 and g = h ◦ j2 . So M (A + B) satisfies the UMP of coproduct of
M (A) and M (B). Therefore,
M (A) + M (B) ∼ = M (A + B) . (4.20)

59
4 Duality 60

Example 4.3. Two monoids A, B have a coproduct of the form

A + B = M (|A| + |B|) / ∼ .

Here, |A| + |B| is the disjoint union of the underlying sets |A| and |B| of the monoids A and B,
respectively. One then forms the free monoid M (|A| + |B|) on the set |A| + |B|, which is the collection
of words over |A| + |B|. Now given two words v, w ∈ M (|A| + |B|), one declares them to be equivalent
as follows:
· · · xuA y · · · ∼ · · · xy · · · ,
· · · xuB y · · · ∼ · · · xy · · · ,
(4.21)
· · · a ·A a0 · · · ∼ · · · aa0 · · · ,
· · · b ·B b0 · · · ∼ · · · bb0 · · · .

One, thus, forms quotient of the free monoid M (|A| + |B|) subjected to the equivalence relation ∼
provided in (4.21). Two equivalence classes [x . . . y] , [x0 . . . y 0 ] ∈ M (|A| + |B|) / ∼ have the straight-
forward multiplication:    
[x . . . y] · x0 . . . y 0 = x . . . yx0 . . . y 0 . (4.22)
The unit in M (|A| + |B|) / ∼ is the equivalence class [-] consisting of the empty word. Clearly,

[-] = [uA ] = [uB ] .

The collection of all the equivalence classes thus formed is defined as the coproduct of A and B:

A + B = M (|A| + |B|) / ∼ . (4.23)

The coproduct injections iA : A → A + B and iB : B → A + B are simply

iA (a) = [a] , iB (b) = [b] , (4.24)

which can easily be verified to be monoid homomorphism. The UMP of A + B should ensure the
existence of a unique monoid homomorphism [f, g] : A + B → N for a given monoid N and monoid
homomorphisms f : A → N and g : B → N such that the following diagram commutes:

N
f g
[f,g]

A iA
A+B iB
B

Let us now construct [f, g]. From the given monoid homomorphisms f : A → N and g : B → N , one
obtains the functions |f | : |A| → |N | and |g| : |B| → |N |. Now, using the UMP of the coproduct
|A| + |B|, one knows that there exists a unique function h = [|f | , |g|] : |A| + |B| → |N | such that the
following diagram commutes:

|N |

|f | |g|
h

|A| i1
|A| + |B| i2
|B|

where i1 : |A| → |A| + |B| and i2 : |B| → |A| + |B| are coproduct injections of the coproduct |A| + |B|
in Sets. Now, consider the free monoid M (|A| + |B|) on the set |A| + |B|. Invoking the UMP of free
monoid, given the monoid N and the function h : |A| + |B| → |N |, there exists a unique monoid
homomorphism h : M (|A| + |B|) → N such that the following diagram commutes in Sets:

60
4 Duality 61

h
|M (|A| + |B|)| |N |

i
h

|A| + |B|

where i : |A| + |B| → |M (|A| + |B|)| is the insertion of generators. We now need to verify that h
“respects the equivalence relation ∼”, i.e. v ∼ w implies h (v) = h (w).
Given a ∈ A,
h (a) = h (i1 (a)) = f (a) . (4.25)
Since i (a) = a, so
h (a) = h (i (a)) = h (a) = f (a) . (4.26)
Similarly, for b ∈ B,
h (b) = g (b) . (4.27)
So h (uA ) = h (uB ) = uN . As a result,

h (· · · xuA y · · · ) = · · · h (x) h (uA ) h (y) · · · = · · · h (x) h (y) · · · = h (· · · xy · · · ) .

Similarly,

h (· · · xuB y · · · ) = · · · h (x) h (uB ) h (y) · · · = · · · h (x) h (y) · · · = h (· · · xy · · · ) .

Since f is a homomorphism,
  
h · · · a ·A a0 · · · = · · · h a ·A a0 · · · = · · · f a ·A a0 · · ·
 
= · · · f (a) f a0 · · · = · · · h (a) h a0 · · ·

= h · · · aa0 · · · .

Similarly, using the fact that g is a homomorphism,


  
h · · · b ·B b0 · · · = · · · h b ·B b0 · · · = · · · g b ·B b0 · · ·
 
= · · · g (b) g b0 · · · = · · · h (b) h b0 · · ·

= h · · · bb0 · · · .

e : M (|A| + |B|) / ∼→
Therefore, v ∼ w implies h (v) = h (w). So we have a monoid homomorphism h
N defined by
e [w] = h (w) .
h (4.28)
This is well-defined since h is constant on the equivalence classes. Therefore, the following diagram
commutes:
π
M (|A| + |B|) M (|A| + |B|)/sim

eh
h

N
e : M (|A| + |B|) / ∼→ N is our desired [f, g]. Indeed,
Now, this h
 
e ◦ iA (a) = h
h e ([a]) = h (a) = f (a) . (4.29)
 
e ◦ iB (b) = h
h e ([b]) = h (b) = g (b) . (4.30)
e ◦ iA = f and h
Therefore, h e ◦ iB = g. In other words, the following diagram commutes:

61
4 Duality 62

N
f g
eh

A iA
M (|A| + |B|) / ∼ iB
B

Furthermore, h e is unique. If there exists another monoid homomorphism u : M (|A| + |B|) / ∼→ N


such that u ◦ iA = f and u ◦ iB = g, then we must have
e ([a]) = f (a) = (u ◦ iA ) (a) = u ([a]) ,
h (4.31)

and similarly,
e ([b]) = g (b) = (u ◦ iB ) (b) = u ([b]) ,
h (4.32)
for any a ∈ A and b ∈ B. So u agrees with he on the equivalence classes of elements of A and B. Since
any element of M (|A| + |B|) / ∼ can be written as a finite product of equivalence classes of elements of
A and B, we can conclude that u and he agrees everywhere in M (|A| + |B|) / ∼. Therefore, h e is indeed
e e
the unique arrow in Mon such that h ◦ iA = f and h ◦ iB = g. Therefore, M (|A| + |B|) / ∼= A + B,
and he = [f, g].

Abuse of Notation. In Example 4.3, we did not distinguish between a ∈ |A| and (a, 1) ∈ |A| + |B|;
and between b ∈ B and (b, 2) ∈ |A| + |B|. This can be justified by assuming without loss of generality
that |A| and |B| are disjoint. Indeed, if they are not disjoint, we can just replace them by |A| × {1}
and |B| × {2}.
Example 4.4. Coproduct in groups is called the free product. Suppose A and B are groups. The
free product A ∗ B consists of words of the form

a1 b1 a2 b2 · · · ,

where ai ∈ A and bj ∈ B. For example,

(a1 b1 a2 b2 ) = (a1 b1 ) ∗ (a2 b2 ) and (a2 b2 a1 b1 ) = (a2 b2 ) ∗ (a1 b1 )

are both words in A ∗ B, but they are unequal highlighting the non-abelian nature of the free product
of A ∗ B, even when A and B are both abelian groups. When A and B are both abelian groups, one
defines their direct sum as the quotient

A ⊕ B = A ∗ B/ ∼,

where the equivalence relation ∼ is defined as

(a1 b1 a2 b2 · · · an bn · · · ) ∼ (a1 a2 · · · an · · · b1 b2 · · · bn · · · ) . (4.33)

On the RHS, all the ai ’s are flushed to the left. Now, since A and B are both abelian, so is A ⊕ B:

(a1 b1 ) ∗ (a2 b2 ) = a1 b1 a2 b2 = a1 a2 b1 b2 = a2 a1 b2 b1 = a2 b2 a1 b1 = (a2 b2 ) ∗ (a1 b1 ) .

Thus, using (4.33), one can identify a word in A ⊕ B by a pair

(a1 + a2 + · · · + an + · · · , b1 + b2 + · · · + bn + · · · ) =≡ (a, b)

with a ∈ A and b ∈ B. But


|A × B| = {(a, b) | a ∈ A, b ∈ B} .
Given two abelian groups A and B, their coproduct is defined as their direct sum, which has their
product set as the underlying set as we have just seen. Hence, |A + B| = |A × B|, for A, B abelian
groups. Then the coproduct injections iA : A → A + B and iB : B → A + B are defined as

iA (a) = (a, 0B ) and iB (b) = (0A , b) . (4.34)

62
4 Duality 63

f g
Given any group homomorphisms A −
→X← − B for any abelian group X, we construct [f, g] : A + B →
X as follows:
[f, g] (a, b) = f (a) +X g (b) . (4.35)
Then,

([f, g] ◦ iA ) (a) = [f, g] (a, 0B ) = f (a) + g (0B ) = f (a) ,


([f, g] ◦ iB ) (b) = [f, g] (0A , b) = f (0A ) + g (b) = g (b) .

Therefore, [f, g] ◦ iA = f and [f, g] ◦ iB = g. In other words, the following diagram commutes:

X
f g
[f,g]

A iA
A+B iB
B

Furthermore, [f, g] is the unique homomorphism A + B → X such that the diagram above commutes.
If there exists another homomorphism h : A + B → X such that h ◦ iA = f and h ◦ iB = g, then for
any a ∈ A and b ∈ B,

h (a, 0B ) = h (iA (a)) = f (a) and h (0A , b) = h (iB (b)) = g (b) .

Therefore,
h (a, b) = h (a, 0B ) + h (0A , b) = f (a) + g (b) = [f, g] (a, b) . (4.36)
So [f, g] = h, and hence [f, g] is unique. Therefore, A + B is indeed the coproduct of A and B.

We have just seen that |A + B| = |A × B| for A, B abelian groups. In fact, a stronger result holds
in the category Ab of abelian groups.

Proposition 4.3
In the category Ab of abelian groups, there is a canonical isomorphism between the binary
∼ A × B.
product and coproduct, i.e. A + B =

Proof. The goal is to define an arrow ϑ : A + B → A × B. In order to do so, one needs first an arrow
A → A × B (which is determined by an arrow A → A and an arrow A → B) and another arrow
B → A × B (which is determined by an arrow B → A and an arrow B → B). Therefore, we need 4
arrows altogether, which we choose as follows:

1A : A → A , 0B : A → B , 0A : B → A , 1B : B → B,

where 0B : A → B maps all of A to the identity 0B ∈ B, and 0A : B → A maps all of B to the identity
0A ∈ A.
A B
1A 0B 0A 1B
h1A ,0B i h0A ,1B i

A p1 A×B p2 B A p1 A×B p2 B
A×B

h0A ,1B i h1A ,0B i


[h1A ,0B i,h0A ,1B i]

A iA
A+B iB
B

63
4 Duality 64

Using the commutative diagrams above, we define

ϑ = [h1A , 0B i , h0A , 1B i] : A + B → A × B. (4.37)

Given (a, b) ∈ A + B, one obtains

ϑ (a, b) = [h1A , 0B i , h0A , 1B i] (a, b)


= h1A , 0B i (a) + h0A , 1B i (b)
= (1A (a) , 0B (a)) + (0A (b) , 1B (b))
= (a, 0B ) + (0A , b)
= (a, b) . (4.38)

Therefore, ϑ is a bijective group homomorphism, and hence an isomorphism. ■

§4.3 Equalizers
f
Definition 4.2 (Equalizer). In any category C, given parallel arrows A B , an equalizer
g
of f and g consists of an object E and an arrow e : E → A universal such that f ◦ e = g ◦ e, i.e.
the following diagram commutes:
f
e
E A B
g

Here e : E → A is universal in the sense that given z : Z → A with f ◦ z = g ◦ z, there exists


a unique u : Z → E satisfying e ◦ u = z. This is encapsulated in the following commutative
diagram:
f
e
E A B
g

∃! u z

Example 4.5. Suppose one has continuous functions f, g : R2 → R in Top defined by

f (x, y) = x2 + y 2 and g (x, y) = 1. (4.39)

The equalizer of f and g is the subspace


n o
S 1 = (x, y) ∈ R2 | x2 + y 2 = 1 ,

alog with the inclusion


i : S 1 ,→ R2 .
Given any generalized element z : Z → R2 of R2 , we can write

z (α) = (z1 (α) , z2 (α)) ,

for α ∈ Z. So z = hz1 , z2 i. If f ◦ z = g ◦ z, then for any α ∈ Z,

1 = g (z (α)) = f (z (α)) = z1 (α)2 + z2 (α)2 . (4.40)

So (z1 (α) , z2 (α)) = z (α) ∈ S 1 for every α ∈ Z. Therefore, there is a factorization z = i ◦ z through
some z : Z → S 1 . z is nothing but restricting the codomain of z : Z → R to S 1 . Then the following
diagram commutes:

64
4 Duality 65

f
e
S1 R2 R
g

z z

Since the inclusion i is monic, such z : Z → S 1 is unique. Hence, the unit sphere S 1 along with the
inclusion i : S 1 ,→ R2 is indeed the equalizer of f and g in Top.

Example 4.6. Similarly, in Sets, given any functions f, g : A → B, their equalizer is the inclusion of
the following subset
E = {x ∈ A | f (x) = g (x)} (4.41)
into A. Then
f
e
E A B
g

is a commutative diagram. Furthermore, given any set Z and a function z : Z → A such that
f ◦ z = g ◦ z, we have
f (z (α)) = g (z (α)) ,
for any α ∈ Z. So z (α) ∈ E. So we can define a function z : Z → E by just restricting the codomain
of z, then the following diagram commutes:
f
e
E A B
g

z z

Z
Furthermore, z is unique since the inclusion E ,→ A is injective. Therefore, e : E ,→ A is the equalizer
of f and g.

Furthermore, every subset U ⊆ A is of this “equational form”, i.e. every subset is an equalizer for
some pair of functions. Let us undertake this canonical construction. First, let us put

2 = {0, 1} ,

thinking of it as the set of “truth values” (or the 2-element Boolean algebra). Then consider the
characteristic function χU : A → 2 defined by
(
1 if x ∈ U,
χU (x) = (4.42)
0 if x ∈
/ U.

As a result,
U = {x ∈ A | χU (x) = 1} .
We can also define a constant functin > : A → 2 that takes all of A to 1 ∈ 2, i.e.

> (x) = 1, (4.43)

for any x ∈ A. Then the following is a commutative diagram:

i >
U A 2
χU

65
4 Duality 66

In other words, > ◦ i = χU ◦ i.


On the other hand, let ϕ : A → 2 be given. Form the variety (i.e. “equational subset”)

Vϕ = {x ∈ A | ϕ (x) = 1} = ϕ−1 ({1}) . (4.44)

Now one can easily verify that the inclusion i : Vϕ ,→ A is an equalizer of the parallel arrows
>
A 2 , i.e. one can verify that the following diagram is commutative:
ϕ

i >
Vϕ A 2
ϕ

Indeed, for any x ∈ Vϕ ,


(ϕ ◦ i) (x) = ϕ (x) = 1 and (> ◦ i) (x) = 1.
Let us now show that indeed P (A) ∼
= HomSets (A, 2). Let ϑ : P (A) → HomSets (A, 2) be given by

ϑ (U ) = χU , (4.45)

for any U ⊆ A; and λ : HomSets (A, 2) → P (A) be given by

λ (ϕ) = Vϕ = ϕ−1 ({1}) , (4.46)

for any function ϕ : A → 2. Then from (4.45) and (4.46), we get

(ϑ ◦ λ) (ϕ) = χλ(φ) = χVϕ .


( (
1 if x ∈ Vϕ , 1 if ϕ (x) = 1,
χVϕ (x) = = = ϕ (x) .
0 if x ∈
/ Vϕ 0 if ϕ (x) = 0
Therefore, χVϕ = ϕ, and hence
ϑ ◦ λ = 1HomSets (A,2) . (4.47)
On the other hand,
(λ ◦ ϑ) (U ) = Vϑ(U ) = VχU .
VχU = {x ∈ A | χU (x) = 1} = {x ∈ A | x ∈ U } = U.
Therefore, VχU = U , and hence
λ ◦ ϑ = 1P(A) . (4.48)
From (4.47) and (4.48), one can conclude that

ϑ : P (A) → HomSets (A, 2)

is an isomorphism, i.e. P (A) ∼


= HomSets (A, 2).

Example 4.7. Let G and H be two groups with h : G → H being a group homomorphism. The
kernel of h is the subgroup of G defined by

Ker h = {g ∈ G | h (z) = eH } ,

where eH is the identity element of the group H. Then ι : Ker h ,→ G is an equalizer of h and u,
where u : G → H is the trivial group homomorphism, i.e. the homomorphism that maps all of G to
the identity element eH of H.

ι h
Ker h = {g ∈ G | h(g) = eH } G H
u

Indeed, h ◦ ι = u ◦ ι. Suppose there is another group A and a homomorphism a : A → G such that


h ◦ a = u ◦ a.

66
4 Duality 67

ι h
Ker h G H
u

u
a

A
Then for any x ∈ A, h (a (x)) = u (a (x)) = eH , so a (x) ∈ Ker h. So we can define a homomorphism
u : A → Ker h, which is formed by restricting the codomain of a to Ker h. For this u, we have
ι ◦ u = a.
Furthermore, u is unique since the inclusion ι : Ker h → G is monic. Therefore, ι : Ker h → G is an
equalizer of h, u : G → H.

Proposition 4.4
In any category, if e : E → A is an equalizer of some pair of arrows, then e is monic.

Proof. Suppose e : E → A is an equalizer of the parallel arrows f, g : A → B. Then f ◦ e = g ◦ e.


Suppose x, y : Z → E such that e ◦ x = e ◦ y.
f
e
E A B
g

x y
z

Z
We want to show that x = y. Put z = e ◦ x = e ◦ y. Then
f ◦ z = f ◦ e ◦ x = g ◦ e ◦ x = g ◦ z. (4.49)
Then from the definition of equalizer, there is a unique arrow u : Z → E such that e ◦ u = z. But
z = e ◦ x = e ◦ y. Therefore, from the uniqueness of u, we have
u = x = y. (4.50)
Therefore, e : E → A is monic. ■

Proposition 4.5
Equalizers are unique up to isomorphism. In other words, if e1 : E1 → A and e2 : E2 → A are
equalizers of parallel arrows f, g : A → B, then there is an isomorphism i : E1 → E2 such that
e1 = e2 ◦ i and e2 = e1 ◦ i−1 .

Proof. Since e1 : E1 → A is an equalizer, then f ◦ e1 = g ◦ e1 . e2 : E2 → A is also an equalizer, so


f ◦ e2 = g ◦ e2 . But since E1 is an equalizer, by the UMP of equalizer, there exists a unique arrow
j : E2 → E1 such that the following diagram commutes:
e1 f
E1 A B
g

j e2

E2
In other words,
e1 ◦ j = e2 . (4.51)
Similarly, since E2 is an equalizer, by the UMP of equalizer, there exists a unique arrow i : E1 → E2
such that the following diagram commutes:

67
4 Duality 68

e2 f
E2 A B
g

i e1

E1
In other words,
e2 ◦ i = e1 . (4.52)
We claim that this i : E1 → E2 is our desired isomorphism with inverse j : E2 → E1 . From (4.51) and
(4.52), we get e1 = e2 ◦ i = e1 ◦ j ◦ i. So we have the following commutative diagram:
e1 f
E1 A B
g

j◦i 1E2
e1

E1
Since e1 : E1 → A is an equalizer, and f ◦ e1 = g ◦ e1 , there exists a unique arrow u : E1 → E1 such
that e1 ◦ u = e1 . But the above diagram shows that there are two such arrows E1 → E1 , j ◦ i and 1E1 .
Therefore, by the uniqueness, we must have

j ◦ i = 1E1 . (4.53)

Similarly, again using (4.51) and (4.52), we get e2 = e1 ◦ j = e2 ◦ i ◦ j. So we have the following
commutative diagram:
e2 f
E2 A B
g

i◦j 1E2
e2

E2
Since e2 : E2 → A is an equalizer, and f ◦ e2 = g ◦ e2 , there exists a unique arrow v : E2 → E2 such
that e2 ◦ v = e2 . But the above diagram shows that there are two such arrows E2 → E2 , i ◦ j and 1E2 .
Therefore, by the uniqueness, we must have

i ◦ j = 1E2 . (4.54)

Combining (4.53) and (4.54), we conclude that i : E1 → E2 is an isomorphism and j = i−1 . Further-
more, e1 = e2 ◦ i and e2 = e1 ◦ j = e1 ◦ i−1 . ■

§4.4 Coequalizer
Definition 4.3 (Coequalizer). For any parallel arrows f, g : A → B in a category C, a coequalizer
consists of an object Q and an arrow q : B → Q, universal with the property q ◦ f = q ◦ g as
depicted in the following diagram:
f q
A B Q
g

z ∃! u

68
4 Duality 69

That is, given any object Z and arrow z : B → Z with z ◦ f = z ◦ g, then there exists a unique
u : Q → Z such that u ◦ q = z.

Consider the statement given in Proposition 4.4: “if e : E → A is an equalizer of some pair of arrows,
then e is monic.” This statement follows from the axioms of ETAC, and hence its dual is also a valid
statement in the same category:

Proposition 4.6
In any category, if q : B → Q is a coequalizer of some pair of arrows, then q is epic.

The statement of Proposition 4.5 —equalizers are unique up to isomorphism— also follows from the
axioms of ETAC. So its dual also holds in the same category.

Proposition 4.7
Coqualizers are unique up to isomorphism. In other words, if q1 : B → Q1 and q2 : B → Q2 are
equalizers of parallel arrows f, g : A → B, then there is an isomorphism i : Q1 → Q2 such that
q2 = i ◦ q1 and q1 = i−1 ◦ q2 .

Example 4.8. Let R ⊆ X × X be an equivalence relation on a set X, and consider the diagram
r1
R X
r2

where the ri ’s are the two projections of the inclusion i : R ,→ X × X, i.e. r1 = π1 ◦ i and r2 = π2 ◦ i,
with π1 , π2 : X × X → X are defined as

π1 (x1 , x2 ) = x1 and π2 (x1 , x2 ) = x2 .

R
r1 r2
i

X π2 X ×X π1 X

Let X/R be the set of all the equivalence classes of X under the equivalence relation R. The quotient
projection π : X → X/R is defined by x 7→ [x]. Then for (x1 , x2 ) ∈ R, we have

(π ◦ r1 ) (x1 , x2 ) = π (x1 ) = [x1 ] and (π ◦ r2 ) (x1 , x2 ) = π (x2 ) = [x2 ] .

Since (x1 , x2 ) ∈ R, they belong to the same equivalence class, so [x1 ] = [x2 ]. Therefore,

π ◦ r1 = π ◦ r2 . (4.55)

Now, suppose in the following diagram we have f : X → Z such that f ◦ r1 = f ◦ r2 .


r1 π
R X X/R
r2

f
f

Z
f ◦ r1 = f ◦ r2 means that for any (x1 , x2 ) ∈ R,

(f ◦ r1 ) (x1 , x2 ) = (f ◦ r2 ) (x1 , x2 )
=⇒ f (r1 (x1 , x2 )) = f (r2 (x1 , x2 ))
=⇒ f (x1 ) = f (x2 ) . (4.56)

69
4 Duality 70

In other words, f “respects the equivalence relation R” in the sense that f is constant on the equivalence
classes. So we can define a function f : X/R → Z by

f [x] = f (x) . (4.57)

This is well-defined since f is constant on the equivalence classes. Therefore, we have f (π (x)) = f (x),
i.e.
f ◦ π = f. (4.58)
Furthermore, f is unique since π is surjective.
r1 π
R X X/R
r2

∃! f
f

To summarize, given two parallel arrows r1 , r2 : R → X, we have an arrow π : X → X/R satisfying


π ◦ r1 = π ◦ r2 . Furthermore, given any arrow f : X → Z such that f ◦ r1 = f ◦ r2 , then there exists
a unique arrow f : X/R → Z such that f ◦ π = f . Hence, the object X/R along with the arrow
r1
π : X → X/R is the required coequalizer of R X .
r2

Example 4.9. Let α, β : A → B be two parallel arrows in Sets. Let R be the minimal equivalence
relation on B containing all the elements of the form (α (a) , β (a)) for all a ∈ A. In other words,
R is the intersection of all the equivalence relations on B containing all the elements of the form
(α (a) , β (a)).
\
R= {E | E ⊆ B × B is an equivalence relation, and (α (a) , β (a)) ∈ E for all a ∈ A} .

Then we form the set of equivalence classes of B under this equivalence relation R. The set of
equivalence classes is B/R. Then we claim that the coequalizer of α, β : A → B is

γ : B → B/R,

the canonical quotient map that takes each b ∈ B to its equivalence class [b] ∈ B/R.
α γ
A B B/R
β

ϕ ψ

Indeed, γ ◦ α = γ ◦ β, since for each a ∈ A, we have (α (a) , β (a)) ∈ R. Therefore, [α (a)] = [β (a)]. In
other words,
(γ ◦ α) (a) = (γ ◦ β) (a) ,
for each a ∈ A. Therefore,
γ ◦ α = γ ◦ β. (4.59)
Now, suppose there is another arrow ϕ : B → C satisfying ϕ◦α = ϕ◦β. We define another equivalence
relation R0 on B as follows:
(b1 , b2 ) ∈ R0 ⇐⇒ ϕ (b1 ) = ϕ (b2 ) . (4.60)
Then for each a ∈ A, we have

(ϕ ◦ α)(a) = (ϕ ◦ β) (a) =⇒ ϕ (α (a)) = ϕ (β (a)) .

70
4 Duality 71

Therefore, (α (a) , β (a)) ∈ R0 for each a ∈ A. Then by the minimality of R, we must have R ⊆ R0 . In
other words, if (b1 , b2 ) ∈ R, or equivalently [b1 ] = [b2 ] in B/R, then ϕ (b1 ) = ϕ (b2 ). So we can define
a well-defined function ψ : B/R → C by

ψ ([b]) = ϕ (b) . (4.61)

Then we have
ϕ (b) = ψ (γ (b)) = (ψ ◦ γ) (b) ,
for each b ∈ B. Therefore,
ϕ = ψ ◦ γ.
Furthermore, this ψ is unique. Indeed, if there exists another ψ 0 : B/R → C satisfying ϕ = ψ 0 ◦ γ,
then we must have 
ϕ (b) = ψ 0 ◦ γ (b) = ψ 0 (γ (b)) = ψ 0 ([b]) ,
for each b ∈ B. Therefore, ψ 0 = ψ, so ψ : B/R → C is unique. Hence, γ : B → B/R is a coequalizer
of α, β : A → B in Sets.

Example 4.10. Let f, g : X → Y be given arrows in Top. Then f, g : X → Y are continuous maps
between the topological spaces X and Y , whose underlying sets are |X| and |Y |, respectively. Then
|f | , |g| : |X| → |Y | are parallel arrows in Sets. As above, we can form the coequalizer of |f | and |g|
in Sets. Let |q| : |Y | → |Q| be the coequalizer of |f | and |g| in Sets. Then we topologize the set |Q|
as follows:
V ⊆ |Q| is open ⇐⇒ |q|−1 (V ) ⊆ |Y | is open. (4.62)
Let us verify that this indeed forms a topology:

• ∅ is open, since |q|−1 (∅) = ∅ is open in Y .

• |Q| is open, since |q|−1 (|Q|) = |Y | is open in Y .

• Let {Ui }i∈I be a collection of open sets in |Q|. Then


!
−1
[ [
|q| Ui = |q|−1 (Ui ) . (4.63)
i∈I i∈I
S
Since Ui is open, |q|−1 (Ui ) is open in Y . Therefore, as an union of open sets, |q|−1 ( Ui ) is
S i∈I
also open in Y . Hence, i∈I Ui is open in |Q|.

• Let U1 and U2 be open in |Q|. Then

|q|−1 (U1 ∩ U2 ) = |q|−1 (U1 ) ∩ |q|−1 (U2 ) . (4.64)

Since U1 , U2 are open, |q|−1 (U1 ) , |q|−1 (U2 ) are also open in Y . Therefore, as an intersection of
finitely many open sets, |q|−1 (U1 ∩ U2 ) is also open in Y . Hence, U1 ∩ U2 is open in |Q|.

Let Q be the topological space whose underlying set is |Q|, and the topology is defined as in (4.62).
Then the function q : Y → Q is continuous, since the preimage of every open set in Q is also open in
Y . We claim that q : Y → Q is a coequalizer of f, g : X → Y .
f q
X Y Q
g

z u

71
4 Duality 72

Since |q| is a coequalizer of |f | , |g| : |X| → |Y | in Sets, then

|q| ◦ |f | = |q| ◦ |g| =⇒ |q ◦ f | = |q ◦ g| =⇒ q ◦ f = q ◦ g. (4.65)

Now suppose there is another continuous map z : Y → Z such that z ◦f = z ◦g. Then |z|◦|f | = |z|◦|g|
in Sets. Since |q| is a coequalizer of |f | , |g| : |X| → |Y |, there is a unique function |u| : |Q| → |Z|
such that |u| ◦ |q| = |z|. Now we need to show that |u| defines a continuous map u : Q → Z. Let
U ⊆ |Z| be open. We need to show that |u|−1 (U ) is open in Q.
 
|q|−1 |u|−1 (U ) = |z|−1 (U ) . (4.66)
 
Then |z|−1 (U ) is open in Y since z is continuous. Therefore, |q|−1 |u|−1 (U ) is open in Y . Then by
(4.62), |u|−1 (U ) is open in Q. Hence, u is open.
Therefore, there exists a unique continuous map u : Q → Z such that u ◦ q = z. So q : Y → Q is
indeed a coequalizer of f, g : X → Y in Top.

§4.5 Product and Coproduct of an Arbitrary Family of Objects


Similar to the construction of product of two objects, we can form the product of finitely many objects.
Given objects A1 , A2 , A3 , . . . , An , an object P with arrows πi : P → Ai for i = 1, 2, . . . , n is called
a product of A1 , A2 , A3 , . . . , An if the following UMP is satisfied: given any object X and arrows
xi : X → Ai for i = 1, 2, . . . , n, there exists a unique arrow u : X → P such that xi = πi ◦ u for all
i = 1, 2, . . . , n.
P
π1 πn
π3
π2

A1 A2 A3 ∃! u ··· An
x2
x3
x1 xn

X
In other words, there exists a unique u : X → P such that each of the following triangles commute:
πi
Ai P

u
xi

X
If such an object P exists, it is unique up to isomorphism. So we write the product of A1 , . . . , An as

A1 × · · · × An .

If the category admits binary products, then it also admits any finite product. One can easily show
that
(. . . ((A1 × A2 ) × A3 ) × . . .) × An
satisfies the UMP of the product A1 × · · · × An .
In the similar spirit, we can actually define the product of an arbitrary family of objects. Let
(Aα )α∈I be a collection of objects indexed by the index set I. An object P with arrows πα : P → Aα
for α ∈ I is called a product of (Aα )α∈I if the following UMP is satisfied: given any object X and
arrows xα : X → Aα for α ∈ I, there exists a unique arrow u : X → P such that xα = πα ◦ u for
all α ∈ I. In other words, there exists a unique u : X → P such that each of the following triangles
commute, for each α ∈ I:

72
4 Duality 73

πα
Aα P

u

If such an object P exists, it is unique up to isomorphism. So we write the product of (Aα )α∈I as
Y
Aα .
α∈I

Now, this index set I can be any set, even the empty set. If I = ∅, we call the product an empty
product. The empty product is actually the terminal object of the category. The terminal object
1 satisfies the UMP of the product of and I-indexed family of objects, when I = ∅. The UMP of
product is:

Given any object X and arrows xα : X → Aα , there exists a unique arrow u : X → P


such that xα = πα ◦ u for all α ∈ I.

When I is the empty set, there aren’t any objects, and hence there aren’t any projection arrows πα .
So the UMP becomes:

Given any object X and arrows xα : X → Aα (there are no Aα ’s, so this is satisfied
vacuously), there exists a unique arrow u : X → P such that xα = πα ◦ u (there are no
xα ’s, so this commutativity is also satisfied vacuously) for all α ∈ I.

Therefore, essentially the UMP is

Given any object X, there exists a unique arrow u : X → P .

This is precisely the definition of the terminal object. Therefore, the product of an empty collection
of objects is the terminal object of the category. It is also called the nullary product.

We can reverse the arrows in the above definitions, and form the coproduct of a finite, or arbitrary,
or even empty collection of objects. Given objects A1 , A2 , A3 , . . . , An , an object P with arrows ij :
Aj → Q for j = 1, 2, . . . , n is called a coproduct of A1 , A2 , A3 , . . . , An if the following UMP is satisfied:
given any object X and arrows xj : Aj → X for j = 1, 2, . . . , n, there exists a unique arrow u : Q → X
such that u ◦ ij = xj for all j = 1, 2, . . . , n.

Q
i1 in
i3
i2

A1 A2 A3 u ··· An

x1 x2
x3
xn

X
In other words, there exists a unique u : X → P such that each of the following triangles commute:
ij
Aj P

u
xj

73
4 Duality 74

If such an object P exists, it is unique up to isomorphism. So we write the coproduct of A1 , . . . , An as

A1 + A2 + · · · + An .

If the category admits binary coproducts, then it also admits any finite product. One can easily show
that
(. . . ((A1 + A2 ) + A3 ) + · · · + . . .) + An
satisfies the UMP of the coproduct A1 + · · · + An .
In the similar spirit, we can actually define the coproduct of an arbitrary family of objects. Let
(Aα )α∈I be a collection of objects indexed by the index set I. An object Q with arrows iα : Aα → Q
for α ∈ I is called a coproduct of (Aα )α∈I if the following UMP is satisfied: given any object X and
arrows xα : Aα → X for α ∈ I, there exists a unique arrow u : Q → X such that xα = u ◦ πα for
all α ∈ I. In other words, there exists a unique u : P → X such that each of the following triangles
commute, for each α ∈ I:

Aα P

u

If such an object P exists, it is unique up to isomorphism. So we write the product of (Aα )α∈I as
a
Aα .
α∈I

Now, this index set I can be any set, even the empty set. If I = ∅, we call the coproduct an empty
coproduct. By duality principle, the empty coproduct is the initial object.

74
5 Groups and Categories
§5.1 Groups in a Category
A group arises as ab abstraction of the automorphisms of an object. Recall the definition of a concrete
category where the objects are some “structured” sets, and the arrows are “structure preserving” maps.
In a specific and concrete case, a group G may thus consist of certain arrows for a given object X in
a category C:
G ⊆ HomC (X, X) .
One requires all these arrows to be isomorphisms. But the abstract group concept can also be described
directly as an object in a category, equipped with a certain structure.

Definition 5.1. Let C be a category admitting binary products and a final object 1. A group in
C consists of objects and arrows as given below
m i
G×G G G

1
satisfying the following conditions:

1. m is associative, i.e. the following diagram commutes:

I
(G × G) × G ∼
=
G × (G × G)

m×1G 1G ×m

G×G G×G (5.1)

m m

where I : (G × G) × G → G × (G × G) is the canonical associativity isomorphism for product


(the same isomorphism we proved in Theorem 3.13). In other words,

m ◦ (m × 1G ) = m ◦ (1G ◦m) ◦ I. (5.2)

2. u : 1 → G is a unit for m, i.e. both triangles below commute:

hu!,1G i
G G×G
1G (5.3)
h1G ,u!i m

G×G m G

Here u! is the “constant arrow” u! : G → G defined by the following composition:


! u
G−
→1−
→ G.

75
5 Groups and Categories 76

So
m ◦ hu!, 1G i = 1G = m ◦ h1G , u!i . (5.4)

3. i : G → G is an inverse with respect to m, i.e. the both squares of the following diagram
commute:
h1G ,1G i h1G ,1G i
G×G G G×G

1G ×i u! i×1G (5.5)

G×G m G m G×G
In other words,

m ◦ (1G ×i) ◦ h1G , 1G i = u! = m ◦ (i × 1G ) ◦ h1G , 1G i . (5.6)

These commutative diagrams don’t seem to manifest the usual group axioms (associativity, unit ele-
ment, inverse), but they actually do! Let us see them in action.

1. Associativity: When G is a (structured) set and x, y, z are arbitrary elements of the underlying
set, then the commutativity of (5.1) yields:

m ◦ (m × 1G ) ((x, y) , z) = (m ◦ (1G ◦m) ◦ I) ((x, y) , z)


=⇒ m (x ∗ y, z) = (m ◦ (1G ◦m)) (x, (y, z))
=⇒ m (x ∗ y, z) = m (x, y ∗ z)
=⇒ (x ∗ y) ∗ z = x ∗ (y ∗ z) ,

which is precisely the associativity equation of the binary operation ∗ (here we have written
m (a, b) = a ∗ b).

2. Unit element: When G is a (structured) set, the terminal object 1 is a singleton set. So
! u
u! : G −
→1−
→ G is a constant function. Let e = u! (x). Then the commutativity of (5.3) yields:

(m ◦ hu!, 1G i) (x) = 1G (x) = (m ◦ h1G , u!i) (x)


=⇒ m (u! (x) , x) = x = m (x, u! (x))
=⇒ e ∗ x = x = x ∗ e.

This suggests that when G is a (structured) set, the element e = u! (x) is the unit of the binary
operation ∗.

3. Inverse: When G is a (structured) set, the commutativity of (5.5) yields:

(m ◦ (1G ×i) ◦ h1G , 1G i) (x) = u! (x) = (m ◦ (i × 1G ) ◦ h1G , 1G i) (x)


=⇒ (m ◦ (1G ×i)) (x, x) = e = (m ◦ (i × 1G )) (x, x)
=⇒ m (x, i (x)) = e = m (i (x) , x)
=⇒ x ∗ i (x) = e = i (x) ∗ x.

Since e = u! (x) is the identity of the binary operation ∗, this equation suggests that i (x) is the
inverse element of x.

Definition 5.2 (Group Homomorphism). A homomorphism h : G → H of groups in C consists of


an arrow h : G → H in C such that

76
5 Groups and Categories 77

1. h preserves m, i.e. the following diagram commutes:

h×h
G×G H ×H

mG mH (5.7)

G h
H

In other words,
h ◦ mG = mH ◦ (h × h) . (5.8)

2. h preserves u, i.e. the following diagram commutes:

h
G H

uG (5.9)
uH

In other words,
h ◦ uG = uH . (5.10)

3. h preserves i, i.e. the following diagram commutes:

h
G H

iG iH (5.11)

G h
H

In other words,
h ◦ iG = iH ◦ h. (5.12)

This definition of homomorphism complies with the usual definition of homomorphism we see while
studying group theory. Suppose G and H are now (structured) sets, and take any x, y ∈ G. Commu-
tativity of (5.7) implies

(h ◦ mG ) (x, y) = (mH ◦ (h × h)) (x, y)


=⇒ h (x ∗G y) = mH (h (x) , h (y))
=⇒ h (x ∗G y) = h (x) ∗H h (y) .

When G and H are (structured) sets, the terminal object 1 is a singleton set {∗}. Commutativity of
(5.9) gives us

(h ◦ uG ) (∗) = uH (∗)
=⇒ h (eG ) = eH ,

where eG and eH are identities of ∗G and ∗H , respectively. Furthermore, commutativity of (5.11)


yields

(h ◦ iG ) (x) = (iH ◦ h) (x)


=⇒ h (iG (x)) = iH (h (x))
 
=⇒ h x−1 = h (x)−1 .

77
5 Groups and Categories 78

With the evident identities u, inverses i and multiplications m we thus have a category of groups
in C, denoted by
Group (C) .
With this construction,

• A group in the usual sense is a group in the category Sets.

• A topological group is a group in the category Top.

• A Lie group is a group in the category Man of smooth manifolds and smooth maps.

• A partially ordered group is a group in the category Pos.

Example 5.1. In this example, we focus on Group (Groups). So it refers to the diagram
m i
G×G G G

1
in the category of groups subjected to the properties mentioned earlier. The terminal object 1 ∈
Ob (Groups) is the trivial group consisting of the identity element only. Here, G itself is a group. Let
us denote the group operation on G by ◦G . ◦G induces ◦G×G on G × G in the following way:

(g1 , g2 ) ◦G×G (h1 , h2 ) = (g1 ◦G h1 , g2 ◦G h2 ) . (5.13)

Denote m : G × G → G by m (g1 , g2 ) = g1 ? g2 . Since m is an arrow in Groups, it is a group


homomorphism. So we must have

m ((g1 , g2 ) ◦G×G (h1 , h2 )) = m (g1 , g2 ) ◦G m (h1 , h2 )


=⇒ m (g1 ◦G h1 , g2 ◦G h2 ) = (g1 ? g2 ) ◦G (h1 ? h2 )
=⇒ (g1 ◦G h1 ) ? (g2 ◦G h2 ) = (g1 ? g2 ) ◦G (h1 ? h2 ) . (5.14)

Write 1◦ for the unit of G with respect to ◦G , and 1? for the unit of G wirh respect to ?, i.e.

g ◦G 1◦ = g = 1◦ ◦G g and g ? 1? = g = 1? ? g. (5.15)

Proposition 5.1 (Eckmann-Hilton argument)


Given any set G equipped with two binary operations ◦, ? : G × G → G with units 1◦ and 1? ,
respectively, and satisfying (5.14), the following hold:

1. 1◦ = 1? ,

2. ◦ = ?,

3. The operation ◦ = ? is commutative.

Proof. First one has

1◦ = 1◦ ◦ 1◦ [1◦ is the unit with respect to ◦]


= (1◦ ? 1? ) ◦ (1? ? 1◦ ) [1? is the unit with respect to ?]
= (1◦ ◦ 1? ) ? (1? ◦ 1◦ ) [Applying (5.14)]
?
=1 ?1 ?
[1◦ is the unit with respect to ◦]
?
=1 .

78
5 Groups and Categories 79

Let us write 1◦ = 1 = 1? , and observe that for any x, y ∈ G,

x ◦ y = (x ? 1) ◦ (1 ? y) [1 = 1? is the unit with respect to ?]


= (x ◦ 1) ? (1 ◦ y) [Applying (5.14)]
= x ? y. [1 = 1◦ is the unit with respect to ◦]

Thus for x, y ∈ G, let us write x ◦ y = x · y = x ? y. Finally, we have

x · y = (1 · x) · (y · 1) [1 is the unit with respect to ◦ = ? = ·]


= (1 · y) · (x · 1) [Applying (5.14)]
= y · x. [1 is the unit with respect to ·]

Therefore, · is commutative. ■

Corollary 5.2
The groups in the category Groups are exactly the abelian groups.

Proof. In Proposition 5.1, we have shown that a group in the category Groups of groups is abelian.
In other words, Group (Groups) is a subcategory of Ab. One now has to prove the converse, i.e. any
abelian group G admits homomorphic group multiplication m : G × G → G and homomorphic inverse
i : G → G. In other words, for any g, h ∈ G × G and x, y ∈ G,

m (g ◦G×G h) = m (g) ◦G m (h) , and i (x ◦G y) = i (x) ◦G i (y) .

If G is an abelian group and g = (g1 , g2 ) , h = (h1 , h2 ) ∈ G × G, then

m (g ◦G×G h) = m ((g1 , g2 ) ◦G×G (h1 , h2 ))


= m (g1 ◦G h1 , g2 ◦ h2 )
= (g1 ◦G h1 ) ◦G (g2 ◦G h2 )
= (g1 ◦G g2 ) ◦G (h1 ◦G h2 )
= m (g1 , g2 ) ◦G m (h1 , h2 )
= m (g) ◦G m (h) . (5.16)

Furthermore, for any x, y ∈ G,

i (x ◦G y) = (x ◦G y)−1 = y −1 ◦G x−1 = x−1 ◦G y −1 = i (x) ◦G i (y) . (5.17)

Therefore, m and i are group homomorphisms, i.e. arrows in Groups. So any abelian group G is a
group in the category Groups. Hence, Group (Groups) = Ab. ■

§5.2 Monoidal Categories


A functor from the product category C × D to a category E is called a bifunctor. We denote such a
functor by T , so that
T :C×D →E
is a functor. Given objects A ∈ Ob (C) and B ∈ Ob (D), some object C ∈ Ob (E) is assigned, i.e.

T (A, B) = C.

To each pair of arrows α : A → A0 in C, and β : B → B 0 in D, an arrow



T (α, β) : T (A, B) → T A0 , B 0

in E is assigned, such that the following conditions are satisfied:

79
5 Groups and Categories 80

1. Given objects A ∈ Ob (C) and B ∈ Ob (D)

T (1A , 1B ) = 1T (A,B) . (5.18)

α0 β β0
→ A0 −→ A00 in C and B −
α
2. If A − → B 0 −→ B 00 in D, then in the product category C × D, we have
(α,β) (α0 ,β 0 )
(A, B) (A0 , B 0 ) (A00 , B 00 )

(α0 ,β 0 )◦(α,β)=(α0 ◦α,β 0 ◦β)

Since T : C × D → E is considered a functor, it has to respect the composition of arrows, i.e.


 
T α0 ◦ α, β 0 ◦ β = T α0 , β 0 ◦ T (α, β) . (5.19)

Example 5.2. Hom (−, −) : C op × C → Sets is an example of a bifuntor. Suppose A and B are
objects of C, and hence objects of C op . Then this functor takes (A, B) to HomC (A, B), i.e.

Hom (A, B) = HomC (A, B) . (5.20)

Let αop : A → A0 be an arrow in C op (the corresponding arrow in C reads α : A0 → A). Suppose


β : B → B 0 is another arrow in C. Using these data, let us now construct an arrow Hom (αop , β) :
HomC (A, B) → Hom (A0 , B 0 ) in the category Sets as follows:

Hom (αop , β) (ϕ) = β ◦ ϕ ◦ α, (5.21)

for ϕ ∈ Hom (A, B). Let us now verify that the definition in (5.21) satisfies both (5.18) and (5.19).

Hom (1op
A , 1B ) (ϕ) = 1B ◦ϕ ◦ 1A = ϕ,

for any ϕ ∈ HomC (A, B). Therefore,

Hom (1op
A , 1B ) = 1HomC (A,B) . (5.22)

αop αop β1 β2
So (5.18) is satisfied. Now, let A −−1→ A0 −−2→ A00 be arrows in C op and B −→ B 0 −→ B 00 be arrows in
C.
C op × C
(αop
1 ,β1 ) (αop
2 ,β2 )
(A, B) (A0 , B 0 ) (A00 , B 00 )

(αop op op op
2 ,β2 )◦(α1 ,β1 )=(α2 ◦α1 ,β2 ◦β1 )

Hom(−, −)

Sets
Hom(αop
1 ,β1 ) Hom(αop
2 ,β2 )
HomC (A, B) HomC (A0 , B 0 ) HomC (A00 , B 00 )

Hom(αop op
2 ◦α1 ,β2 ◦β1 )

Now we need to verify equation (5.19) for the functor Hom (−, −) : C op × C → Sets which entails the
commutativity of the diagram in Sets given above.

Hom(α2op ◦ α1op , β2 ◦ β1 ) (ϕ) = Hom ((α1 ◦ α2 )op , β2 ◦ β1 ) (ϕ)


= β2 ◦ β1 ◦ ϕ ◦ α1 ◦ α2 .

80
5 Groups and Categories 81

On the other hand,

(Hom(α2op , β2 ) ◦ Hom(α1op , β1 )) (ϕ) = Hom(α2op , β2 ) (β1 ◦ ϕ ◦ α1 )


= β2 ◦ β1 ◦ ϕ ◦ α1 ◦ α2 .

Therefore,
Hom(α2op ◦ α1op , β2 ◦ β1 ) = Hom(α2op , β2 ) ◦ Hom(α1op , β1 ). (5.23)
Therefore, Hom (−, −) : C op × C → Sets is indeed a bifunctor.

Definition 5.3 (Monoidal Category). A monoidal category B = hB, □, e, α, λ, ρi is a category B


equipped with a bifunctor □ : B × B → B, an object e ∈ Ob (B) and three natural isomorphisms
α, λ, ρ with the following properties:

• Let I : B × B × B → (B × B) × B and I 0 : B × B × B → B × (B × B) be the canonical


isomorphisms. Then α : □ ◦ (□ × 1B ) ◦ I ⇒ □ ◦ (1B ×□) ◦ I 0 is a natural isomorphism.
□◦(□×1B )◦I

B×B×B α B

□◦(1B ×□)◦I 0

f g
→ a0 , b −
→ b0 , c −
→ c0 in B, the following diagram commutes:
h
That is, given arrows a −
(f □g)□h
(a□b)□c (a0 □b0 )□c0

αa,b,c αa0 ,b0 ,c0

f □(g□h)
a□(b□c) a0 □(b0 □c0 )
Furthermore, the components αa,b,c : (a□b)□c → a□(b□c) are all isomorphisms.

• The bifunctor □ : B × B → B induces a functor in the second component by keeping the first
component e, i.e. □ (e, −) : B → B is a functor. λ : □ (e, −) ⇒ 1B is a natural isomorphism.
□(e,−)

B λ B
1B
f
That is, given an arrow a −
→ b in B, the following diagram commutes:
1e □f
e□a e□b

λa λb

a f
b

Furthermore, the components λa : e□a → a are all isomorphisms.

• In the same manner, ρ : □ (−, e) ⇒ 1B is a natural isomorphism.


□(−,e)

B ρ B
1B

81
5 Groups and Categories 82

f
That is, given an arrow a −
→ b in B, the following diagram commutes:
f □ 1e
a□e b□e

ρa ρb

a f
b

Furthermore, the components ρ : a□e → a are all isomorphisms.

This data is required to satisfy the following conditions:

• For all a, b, c, d ∈ Ob (B), the following diagram commutes:


(a□b)□(c□d)
αa□b,c,d αa,b,c□d

((a□b)□c) □d a□ (b□(c□d))

αa,b,c □ 1d 1a □αb,c,d

(a□(b□c)) □d αa,b□c,d a□ ((b□c)□d)

• For all a, c ∈ Ob (B), the following diagram commutes:


αa,e,c
(a□e)□c a□(e□c)

1a □λc
ρa □ 1 c

a□c
• λe = ρe .

B = hB, □, ei is called a strict monoidal category when all 3 natural isomorphisms α, λ, ρ are identity
natural transformation. For example, any category with finite products can be regarded as a monoidal
category with the product as the monoidal product and the terminal object as the unit.

§5.3 The Category of Groups


Let us now focus on the category of groups, i.e. Group (Sets). Let G and H be two groups with
h : G → H being a group homomorphism. The kernel of h is defined by the equalizer

ι h
Ker h = {g ∈ G | h(g) = eH } G H
uH !

where, again, we write uH ! : G → H as a composition:


! u
uH ! : G −
→ 1 −−H
→ H,

i.e. uH ! = uH ◦!, and eH is the identity element of H. Also, ι : Ker h → G is the inclusion. We have
seen in Example 4.7 that this specification makes ι : Ker h → G an equalizer of h and uH !.
Observe that Ker h is a normal subgroup of G. Now, if N ⊆ G is a normal subgroup of G, then the
inclusion i : N ,→ G is a monomorphism. We can now construct the coequalizer
i π
N G G/N
uG !

82
5 Groups and Categories 83

π is defined by π (g) = [g] = gN . For n ∈ N ,


π (n) = nN = N = [eG ] ,
where eG is the identity element of G. So we have π (i (n)) = π (uG ! (n)) for each n ∈ N . Therefore,
π ◦ i = π ◦ uG !.
It remains to show that π is universal. If f : G → H satisfies f ◦ i = f ◦ uG !, in the diagram below,
i π
N G G/N
uG !

f f

H
then f (n) = eH for each n ∈ N . Then there is a unique homomorphism f : G/N → H such that
f ◦ π = f , i.e. the triangle in the diagram above commutes. f is defined as follows:
f ([g]) = f (gN ) = f (g) . (5.24)
To check the well-definedness of f , consider g, h ∈ G such that [g] = [h]. Then gN = hN , so h−1 g ∈ N .
Therefore,    
f (g) = f h ·G h−1 g = f (h) f h−1 g = f (h) ·H eH = f (h) .
So f ([g]) = f ([h]), and hence f is well-defined. The uniqueness of f follows from the fact that π is
0 0
an epimorphism. Indeed, if there is another arrow f : G/N → H such that f ◦ π = f , then we have
the following commutative diagram.
π
G G/N

0
f f f

H
0 0
Then f ◦ π = f ◦ π. Since π is an epi, f = f , so f is unique.

Theorem 5.3
Every group homomorphism h : G → H has a kernel Ker h = h−1 (uH ) (eH is the unit element of
H), which is a normal subgroup of G, with the property that for any normal subgroup N ⊆ G,

N ⊆ Ker h ⇐⇒ ∃! h : G/N → H

such that h ◦ π = h, as indicated in the following diagram:


h
G H

π
h

G/N

Proof. (⇒) Suppose N ⊆ Ker h. Consider the following diagram:


i π
N G G/N
uG !

h h

83
5 Groups and Categories 84

Since N ⊆ Ker h, one has for each n ∈ N ,

h (i (n)) = h (n) = eH = h (eG ) = h (uG ! (n)) .

Therefore,
h ◦ i = h ◦ uG !. (5.25)
We have seen earlier that π : G → G/N is a coequalizer of the parallel arrows i, uG ! : N → G. Hence,
there is a unique homomorphism h : G/N → H such that h ◦ π = h.

(⇐) Conversely, suppose there is a unique homomorphism h : G/N → H such that h ◦ π = h. Then
for any n ∈ N ,
h (n) = h (π (n)) = h ([n]) = h ([eG ]) = eH . (5.26)
Therefore, n ∈ Ker h, proving that N ⊆ Ker h. ■

Corollary 5.4
Every group homomorphism h : G → H factors as a quotient followed by an injective homomor-
phism:
h
G H

π
h

G/ Ker h

=
In other words, h = h◦π, where h is injective. Thus h : G/ Ker h −
→ im (h) ⊆ H is an isomorphism
to the subgroup im (h).

Proof. Let us take N = Ker h in Theorem 5.3. Then there exists a unique homomorphism h :
G/ Ker h → H such that h ◦ π = h. So, the following diagram commutes:
h
G H

π
h

G/ Ker h

Now we need to show that h is injective. Choose [x] , [y] ∈ G/ Ker h such that h [x] = h [y]. Then we
have

h ([x]) = h ([y]) =⇒ h (π (x)) = h (π (y))


=⇒ h (x) = h (y)
=⇒ h (x) · (h (y))−1 = eH
 
=⇒ h (x) · h y −1 = eH
 
=⇒ h xy −1 = eH
=⇒ xy −1 ∈ Ker h
=⇒ [x] = [y] .

Therefore, h : G/ Ker h → H is injective. ■

84
5 Groups and Categories 85

§5.4 Groups as Categories


A group is a category with one object and every arrow from the object to itself is an isomorphism. If
G and H are groups, regarded as categories, then we can consider arbitrary functors between them
f : G → H.
It then follows immediately that a functor between groups is exactly the same thing as a group
homomorphism.
Consider a functor R : G → VectK from a group G to the category of finite dimensional K-vector
spaces. Since G is a one object category, we denote this object by ∗. Hence, R (∗) =: V is a finite
dimensional K-vector space. In the category G, an arrow g : ∗ → ∗ is an isomorphism, so that
R (g) ∈ GL (V ) is an invertible linear operator on V . This is precisely a linear representation of G.
We now want to generalize the notions of kernel of a homomorphism and quotient group by a normal
subgroup, from groups to arbitrary categories.

Definition 5.4. A congruence on a category C is an equivalence relation f ∼ g on arrows such


that

1. f ∼ g implies dom(f ) = dom(g) and cod(f ) = cod(g).


f
X Y
g

2. f ∼ g implies b ◦ f ◦ a ∼ b ◦ g ◦ a for any arrows a : A → X and b : Y → B, where


X = dom(f ) = dom(g) and Y = cod(f ) = cod(g).
f
a b
A X Y B
g

Remark 5.1. We can also rephrase the definition of congruence as follows: a congruence is a
collection of equivalence relations RX,Y for X, Y ∈ Ob (C) such that

1. RX,Y ⊆ HomC (X, Y )×HomC (X, Y ) is an equivalence relation (i.e. it’s reflexive, symmetric,
transitive)

2. Given (f, g) ∈ RX,Y , one has

(b ◦ f ◦ a, b ◦ g ◦ a) ∈ Rdom(a),cod(b) (5.27)

for any arrow a, b with cod(a) = X and dom (b) = Y .

Such equivalence relations clearly exist, as we can just take RX,Y = HomC (X, Y ) × HomC (X, Y ).
But such equivalence relations are not unique. So any equivalence relations RX,Y on HomC (X, Y )
satisfying (5.27) will be called a congruence.

Definition 5.5 (Congruence Category). Let ∼ be a congruence on the category C, and define the
congruence category C ∼ by

Ob (C ∼ ) = Ob (C) ,
HomC ∼ (X, Y ) = {(f, g) | f, g ∈ HomC (X, Y ) and f ∼ g} ,
e X = (1X , 1X ) ,
1
0 
f 0 , g ◦ (f, g) = f 0 ◦ f, g 0 ◦ g .

Note that, in this definition, HomC ∼ (X, Y ) is nothing but the RX,Y mentioned in Remark 5.1. We
need to check the well-definedness of the definition of composition.

85
5 Groups and Categories 86

Let (f, g) ∈ HomC ∼ (X, Y ) and (f 0 , g 0 ) ∈ HomC ∼ (Y, Z). We need to show that (f 0 ◦ f, g 0 ◦ g) ∈
HomC ∼ (X, Z), i.e. f 0 ◦ f ∼ g 0 ◦ g.
1X f f0 1Z
X X Y Z Z
g g0

(f, g) ∈ HomC ∼ (X, Y ) and (f 0 , g 0 ) ∈ HomC ∼ (Y, Z) implies f ∼ g and f 0 ∼ g 0 . Therefore,


f 0 ◦ f = 1Z ◦f 0 ◦ (f ◦ 1X )
∼ 1Z ◦g 0 ◦ (f ◦ 1X ) [since f 0 ∼ g 0 ]
= g 0 ◦ f ◦ 1X
∼ g 0 ◦ g ◦ 1X [since f ∼ g]
0
= g ◦ g. (5.28)
Therefore, f 0 ◦ f ∼ g 0 ◦ g, so (f 0 ◦ f, g 0 ◦ g) ∈ HomC ∼ (X, Z) and the composition is well-defined.
(f,g) (f 0 ,g 0 )
X Y Z

(f 0 ,g 0 )◦(f,g)=(f 0 ◦f,g 0 ◦g)

There are two obvious projection functors:


p1
C∼ C
p2

They leave the objects unchanged, i.e. pi (X) = X for X ∈ Ob (C ∼ ) = Ob (C), i = 1, 2, and
p1 (f, g) = f and p2 (f, g) = g. (5.29)
Clearly, for i = 1, 2,  
e X = pi (1X , 1X ) = 1X .
pi 1 (5.30)
Furthermore,
  
p1 f 0 , g 0 ◦ (f, g) = p1 f 0 ◦ f, g 0 ◦ g
= f0 ◦ f

= p1 f 0 , g 0 ◦ p1 (f, g) . (5.31)
0 0  0 0 
p2 f , g ◦ (f, g) = p2 f ◦ f, g ◦ g
= g0 ◦ g

= p2 f 0 , g 0 ◦ p2 (f, g) . (5.32)
Therefore, p1 and p2 are indeed functors. We now build the quotient category C/ ∼ as follows:
Ob (C/ ∼) = Ob (C)
HomC/∼ (X, Y ) = HomC (X, Y ) / ∼ .
The arrows of C/ ∼ have the form [f ], where f is an arrow in C, and we put
[1X ] = 1[X] , (5.33)
for X ∈ Ob (C), where the equivalence class [X] consists of X only. Furthermore,
[g] ◦ [f ] = [g ◦ f ] , (5.34)
for cod (f ) = dom (g) in C. We need to verify the well-definedness of this definition. Suppose [f ] = [f 0 ]
and [g] = [g 0 ]. Then f ∼ f 0 and g ∼ g 0 . Therefore, using (5.28), we get g ◦ f ∼ g 0 ◦ f 0 . So
[g ◦ f ] = [g 0 ◦ f 0 ] and the composition in C/ ∼ is well-defined.
Consider the quotient functor π : C → C/ ∼ by
π (X) = [X] and π (f ) = [f ] , (5.35)
for objects X and arrows f . Then the following is a coequalizer diagram in Cat:

86
5 Groups and Categories 87

p1
C∼ C π
C/ ∼
p2

The arrows p1 , p2 , π do not change the objects. So π ◦ p1 = π ◦ p2 clearly holds on objects. Let (f, g)
be an arrow in C ∼ . Then f ∼ g, so that [f ] = [g]. Now,

(π ◦ p1 ) (f, g) = π (f ) = [f ] ,
(π ◦ p2 ) (f, g) = π (g) = [g] .

Therefore, π ◦ p1 = π ◦ p2 holds at the level of arrows as well. Hence,

π ◦ p1 = π ◦ p2 . (5.36)

Now, suppose there is another functor F : C → D such that F ◦ p1 = F ◦ p2 .


p1
C∼ C π
C/ ∼
p2

F
(5.37)
F

Since F ◦ p1 = F ◦ p2 , given any arrow (f, g) in C ∼ , i.e. f ∼ g, we have

(F ◦ p1 ) (f, g) = (F ◦ p2 ) (f, g) =⇒ F (f ) = F (g) . (5.38)

Now we define the functor F : C/ ∼→ D as follows: given any object [X] ∈ Ob (C/ ∼), we define

F ([X]) = F (X) ∈ Ob (D) ; (5.39)

and given an arrow [f ] ∈ HomC/∼ (X, Y ),

F ([f ]) = F (f ) . (5.40)

This definition is well-defined, since for [f ] = [g], i.e. f ∼ g, we have F (f ) = F (g).


Now, given any X ∈ Ob (C), we have
 
F ◦ π (X) = F ([X]) = F (X) .

Furthermore, given any arrow f ∈ HomC (X, Y ),


 
F ◦ π (f ) = F ([f ]) = F (f ) .

Therefore, we have
F ◦ π = F. (5.41)
Therefore, there exists a functor F : C/ ∼→ D such that the triangle of (5.37) commutes. Now we
need to show the uniqueness of F . Suppose there is another functor G : C/ ∼→ D such that G ◦ π = F .
Given any object [X] ∈ Ob (C/ ∼),

G ([X]) = G (π (X)) = F (X) = F ([X]) . (5.42)

Furthermore, given an arrow [f ] ∈ HomC/∼ (X, Y ),

G ([f ]) = G (π (f )) = F (f ) = F ([f ]) . (5.43)

Therefore, G = F , and hence F is unique. In summary, is there is a functor F : C → D such that


F ◦ p1 = F ◦ p2 , then there is a unique functor F : C/ ∼→ D such that F ◦ π = F , i.e. the diagram
(5.37) commutes. So π : C → C/ ∼ is indeed a coequalizer of p1 and p2 in Cat.

87
5 Groups and Categories 88

Let us now see how we can use the notion of coequalizer to prove analogous homomorphism theorems
for categories. Suppose one has categories C and D and a functor F : C → D. Then F defines a
congruence ∼F on C by setting

f ∼F g ⇐⇒ dom(f ) = dom(g), cod(f ) = cod(g), and F (f ) = F (g) . (5.44)

Suppose f ∼F g with dom(f ) = dom(g) = X and cod(f ) = cod(g) = Y . Then for any arrow
a : A → X and b : Y → B,

F (b ◦ f ◦ a) = F (b) ◦ F (f ) ◦ F (a) = F (b) ◦ F (g) ◦ F (a) = F (b ◦ g ◦ a) .

Therefore, b ◦ f ◦ a ∼F b ◦ g ◦ a. So ∼F is indeed a congruence. Then we can form the congruence


category C ∼F , which we call the kernel category of the functor F.
p1
Ker F = C ∼F C
p2

The functors p1 , p2 : C ∼F → C are defined as (5.29). One then obtains the quotient category as the
coequalizer
p1
Ker F = C ∼F C π
C/ ∼F
p2

where π is defined as (5.35). The quotient category C/ ∼F then has the following UMP.

Theorem 5.5
Every functor F : C → D has a kernel category Ker F = C ∼F , determined by a congruence ∼F
on C such that given any congruence ∼ on C, one has

f ∼ g =⇒ f ∼F g

if and only if there is a unique factorization Fe : C/ ∼→ D as indicated in the following commu-


tative diagram:
F
C D

π
e
F

C/ ∼

In other words, F = Fe ◦ π.

Proof. (⇒) Suppose that f ∼ g =⇒ f ∼F g. Therefore, f ∼ g implies F (f ) = F (g). Consider the


following coequalizer diagram:
p1
C∼ C π
C/ ∼
p2

F e
F

D
Given an arrow (f, g) in C ∼ , we have f ∼ g. So

(F ◦ p1 ) (f, g) = F (f ) = F (g) = (F ◦ p2 ) (f, g) . (5.45)

Therefore, F ◦ p1 = F ◦ p2 . Since π : C → C/ ∼ is a coequalizer of p1 and p2 in Cat, and F : C → D is


another functor such that F ◦ p1 = F ◦ p2 , there exists a unique arrow Fe : C/ ∼→ D such that the
diagram above commutes, i.e. F = Fe ◦ π.

88
5 Groups and Categories 89

(⇐) Conversely, suppose there is a unique functor Fe : C/ ∼→ D such that F = Fe ◦ π. Let f ∼ g.


Then [f ] = [g] in C/ ∼. Then we have

[f ] = [g] =⇒ π (f ) = π (g)
=⇒ Fe (π (f )) = Fe (π (g))
=⇒ F (f ) = F (g) . (5.46)

Therefore, f ∼F g. ■

Corollary 5.6
Every functor F : C → D factors as F = Fe ◦ π, where π is bijective on objects and surjective on
Hom-sets (i.e. π is a full functor), and Fe is injective on Hom-sets (i.e. Fe is a faithful functor):

FeA,B : HomC/∼F (A, B) ↣ HomD (F (A) , F (B)) , ∀ A, B ∈ Ob (C) .

F
C D

π
e
F

C/ ∼F

Proof. Let us take ∼ = ∼F in Theorem 5.5. Then there exists a unique functor Fe : C/ ∼→ D such
thatF = Fe ◦ π. So, the following diagram commutes:
F
C D

π
e
F

C/ ∼F

Now, clearly π is bijective on objects since the objects of C/ ∼F are equivalence classes [X] containing
only X ∈ Ob (C). Furthermore, π is surjective on Hom-sets, since given any [f ] ∈ HomC/∼F (X, Y ),
[f ] = π (f ). We are only left to show that Fe is injective on Hom-sets.
Take [f ] , [g] ∈ HomC/∼F (A, B) such that Fe ([f ]) = Fe ([g]). Then we have

Fe ([f ]) = Fe (π (f )) = F (f ) .

A similar computation reveals that Fe ([g]) = F (g). Therefore,

Fe ([f ]) = Fe ([g]) =⇒ F (f ) = F (g)


=⇒ f ∼F g
=⇒ [f ] = [g] . (5.47)

Therefore, Fe is injective on Hom-sets, i.e. faithful. ■

89
6 Subobjects and Pullbacks
§6.1 Subobjects
Every subset U ⊆ X of a set X occurs as equalizer, and the equalizers are always monomorphisms.

i >
U X 2,
χU

where 2 = {0, 1}, > : A → 2 that takes all of A to 1 ∈ 2, and


(
1 if x ∈ U,
χU (x) =
0 if x ∈
/ U.

Since every subset U ⊆ X occurs as equalizer and equalizers are monic, it is natural to treat monos
as generalized subsets. For instance, monos in Groups can be regarded as subgroups, and monos in
Top can be regarded as subspaces. Given a monomorphism m : M ↣ X in a category G of structured
sets of some sort (call it “gadget”), the image subset

{m (y) | y ∈ M } = m (M ) ⊆ X

is a “sub-gadget” of X to which M is isomorphic to via m.



=
m:M −
→ m (M ) ⊆ X.

More generally, we can think of the mono m : M ↣ X itself as determining a “part” of X, even in
categories where the arrows are not necessarily functions.

Definition 6.1 (Subobject). A subobject of an object X in a category C is a monomorphism

m : M ↣ X.

Given subobjects m and m0 of X, a morphism f : m → m0 is an arrow in C/X. If m : M ↣ X and


m0 : M 0 ↣ X are subobjects of X, then an arrow f : m → m0 is an arrow f : M → M 0 such that
m0 ◦ f = m, i.e. the following diagram commutes:
f
M M0

m m0

Thus we have the category SubC (X) of subobjects of X in C. The objects of SubC (X) are monomor-
phisms of C with codomain X. The objects of C/X are, on the other hand, all arrows of C with
codomain X.
In the construction of SubC (X), since m0 is monic, given the following commutative diagram,
f
M M0

m m0

90
6 Subobjects and Pullbacks 91

there is at most one f : M → M 0 . In other words, there is at most one element in the hom-set
HomSubC (X) (m, m0 ). Indeed, if there are f, f 0 : m → m0 in SubC (X), f, f 0 : M → M 0 are arrows in C
such that m0 ◦ f = m0 ◦ f 0 = m.
f
M M0
f0

m m0

Since m0 ◦ f = m0 ◦ f 0 , and m0 is monic, we have f = f 0 . Therefore, there is at most one element in


the hom-set HomSubC (X) (m, m0 ), so that SubC (X) is a preorder category. We define the relation
of inclusion of subobjects by

m ⊆ m0 ⇐⇒ there exists some f : m → m0 . (6.1)

Finally, we say that m and m0 are equivalent, written m ≡ m0 if and only if they are isomorphic as
subobjects, i.e. m ⊆ m0 and m0 ⊆ m. This holds if and only if f and f 0 making both triangles below
commute:
f
M M0
f0

m m0

X
In other words,
m0 ◦ f = m and m ◦ f 0 = m0 . (6.2)
Using (6.2), we get
m ◦ 1M = m = m0 ◦ f = m ◦ f 0 ◦ f. (6.3)
So m ◦ 1M = m ◦ (f 0 ◦ f ).
f 0 ◦f
m
M M X
1M

Since m is a monomorphism,
f 0 ◦ f = 1M . (6.4)
Similarly,
f ◦ f 0 = 1M 0 . (6.5)
Hence, M ∼= M 0 via f . Thus, we can see that equivalent subobjects (m ≡ m0 ) have isomorphic
domains (M ∼
= M 0 ).

Abuse of Notation. We sometimes abuse notation and language by calling M the subobject when
the monomorphism m : M ↣ X is clear.

It is often convenient to pass from the preorder SubC (X) to the poset SubC (X) / ≡ by factoring out
the equivalence relation ≡. Notice that two distinct monos m and m0 in SubC (X) can be equivalent,
i.e. m ≡ m0 so that both m ⊆ m0 and m0 ⊆ m hold with m and m0 being distinct. That’s why
SubC (X) is just a preorder category and not a poset category. As soon as we construct SubC (X) / ≡,
distinct m and m0 in SubC (X) with m ≡ m0 coincide, i.e. in SubC (X), [m] = [m0 ].
Now, in SubC (X) / ≡, for distinct equivalence classes [m] 6= [m0 ] one will have either [m] ⊆ [m0 ]
or [m0 ] ⊆ [m] (or neither) and noth both. Hence. ⊆ is antisymmetric in SubC (X) / ≡ so that
SubC (X) / ≡ is a poset category with respect to the inclusion ⊆.

91
6 Subobjects and Pullbacks 92

Proposition 6.1
In Sets, under this notion of subobject, one then has the isomorphism

SubSets (X) /≡ ∼
= P (X) .

Proof. Let X be a set. If X = ∅, then there is only one mono m : A → ∅, which is the empty function
m : ∅ → ∅. So SubSets (X) has cardinality 1, and hence is isomorphic to P (∅) = {∅}. Now suppose
X 6= ∅.
We define a function ϕ : SubSets (X) /≡ → P (X) as follows: given a subobject m : M ↣ X, we
define
ϕ ([m]) = im m = m (M ) ⊆ X. (6.6)
Let us check that ϕ is well-defined. Suppose m : M ↣ X and m0 : M 0 ↣ X are subobjects such that
[m] = [m0 ]. Then m ≡ m0 . In other words, there is an isomorphism f : M → M 0 such that m = m0 ◦ f ,
i.e. the following diagram commutes
f
M ∼
=
M0

m m0

X
Since f is an isomorphism, f (M ) = M 0 . So we have

im m = m (M ) = m0 (f (M )) = m0 M 0 = im m0 . (6.7)

Therefore,  
ϕ ([m]) = im m = im m0 = ϕ m0 , (6.8)
so that ϕ is well-defined. Now we define another function ψ : P (X) → SubSets (X) / ≡ as follows:
given U ⊆ X, let iU : U ,→ X be the inclusion (which is injective, and hence a mono). Then we define

ψ (U ) = [iU ] . (6.9)

For any U ∈ P (X),


(ϕ ◦ ψ) (U ) = ϕ ([iU ]) = im iU = U.
Therefore,
ϕ ◦ ψ = 1P(X) . (6.10)
Now take any [m] ∈ SubSets (X) /≡. Then m : M ↣ X is injective. We can define another function
m : M → im m by m (a) = m (a) for each a ∈ M . m is exactly the same as m, with the codomain
restricted to image. Then m is both injective (because m is injective) and surjective. So m is an
isomorphism. Now, consider the following diagram:
m
M ∼
=
im M

iim M
m

X
This diagram commutes. Therefore, m ≡ iim M , i.e. [m] = [iim m ]. Now,

(ψ ◦ ϕ) [m] = ψ (im m) = [iim m ] = [m] .

Therefore,
ψ ◦ ϕ = 1SubSets (X)/≡ . (6.11)
Combining (6.10) and (6.11), we get that ϕ : SubSets (X) /≡ → P (X) is an isomorphism, with inverse
ψ : P (X) → SubSets (X) /≡. ■

92
6 Subobjects and Pullbacks 93

Suppose m, m0 are subobjects of X ∈ Ob (C), i.e. m : M ↣ X and m0 : M 0 ↣ X are monic. Also, let
f : m → m0 be an arrow in SubC (X). Then the following diagram commutes:
f
M M0

m m0

X
By Proposition 3.5, since m is monic, so is f . Hence, f ∈ SubC (M 0 ).
Given a monic arrow m : M ↣ X in C, one can construct a functor called composition functor
m∗ : SubC (M ) → SubC (X) by
m∗ (f ) = m ◦ f, (6.12)
at the level of objects; and at the level of arrows, m∗ is defined trivially:
m∗ (a) = a, (6.13)
as can be seen by looking at the following commutative diagram.
a
N P
f g

M
m∗ (f )=m◦f m∗ (g)=m◦g
m

X
If f : N ↣ M is monic, then m◦f : N → X is also monic by Proposition 3.5. Similarly, m◦g : P → X
is a monomorphism. Now, a : f → g is an arrow in SubC (M ), i.e. a : N → P is an arrow in C such
that f = g ◦ a. m∗ (a) is supposed to be an arrow from m∗ (f ) = m ◦ f to m∗ (g) = m ◦ g, i.e.
m∗ (a) : N → P is an arrow in C such that
m ◦ f = m ◦ g ◦ m∗ (a) .
Choosing m∗ (a) = a clearly satisfies our requirement, since f = g ◦ a.

§6.2 Pullback
Definition 6.2 (Pullback). In any category C, given arrows f, g with cod f = cod g,

A f
C

the pullback of f and g consists of arrows


p2
P B

p1

A
such that f ◦ p1 = g ◦ p2 with a certain universal property.

93
6 Subobjects and Pullbacks 94

p2
P B

p1 g

A f
C

The universal property is as follows: given any z1 : Z → A and z2 : Z → B with f ◦ z1 = g ◦ z2 ,


there is a unique arrow u : Z → P such that z1 = p1 ◦ u and z2 = p2 ◦ u. In other words, the
diagram below commutes:

Z z2

p2
P B
z1
p1 g

A f
C

There is a product-style notation that is often used:

Z z2

(z1 ,z2 )

p2
A ×C B B
z1
p1 g

A f
C

Pullbacks are clearly unique up to isomorphism as they are given by a universal mapping property.

Example 6.1. If f : X → Y is a monomorphism, then the following is a pullback diagram:


1X
X X

1X f (6.14)

X f
Y

Clearly, f ◦ 1X = f ◦ 1X . Now, suppose there is another object Z with arrows z1 : Z → X and


z2 : Z → X such that f ◦ z1 = f ◦ z2 .

Z z2

1X
X X
z1
1X f

X f
Y

94
6 Subobjects and Pullbacks 95

Since f is monic, we must have z1 = z2 . Therefore, the unique arrow z : Z → X is equal to z1 = z2 .


It clearly makes the above diagram commutative. Furthermore, it is unique. If there is another
z 0 : Z → X commuting the above diagram, then we would have

z = z1 = 1X ◦z 0 = z 0 . (6.15)

Therefore, (6.14) is a pullback diagram.

Example 6.2. If e : X → Y is a split epi with right inverse s : Y → X, i.e. e ◦ s = 1Y , and e is not
an isomorphism, then the following is not a pullback diagram:
1Y
Y Y

s 1Y (6.16)

X e Y

If it were a pullback diagram, then for any object Z with arrows z1 : Z → X and z2 : Z → Y such
that e ◦ z1 = 1Y ◦z2 , there would’ve existed a unique z : Z → Y such that s ◦ z = z1 and 1Y ◦z = z2 .

Z z2

1Y
Y Y
z1
s 1Y

X e Y

Let us now choose Z = X, z1 = 1X and z2 = e. It clearly satisfies e ◦ z1 = 1Y ◦z2 . So there is a


unique z : X → X such that the following diagram commutes.

X e

1Y
Y Y
1X
s 1Y

X e Y

In other words,
s ◦ z = z1 = 1X and 1Y ◦z = e. (6.17)
The second equation 1Y ◦z = e gives us that z = e. Plugging it into the first equation, we get

s ◦ e = 1X . (6.18)

This clearly violates the hypothesis that e is not an isomorphism. Therefore, (6.16) is not a pullback
diagram.

Proposition 6.2
In a category with products and equalizers, given a corner of arrows

95
6 Subobjects and Pullbacks 96

A f
C

Consider the diagram


p2
E B
e
π2

p1 A×B g

π1

A f
C

in which e is an equalizer of f ◦ π1 and g ◦ π2 and π1 ◦ e = p1 , π2 ◦ e = p2 . Then E, p1 , p2 is a


pullback of f and g. Conversely, if E, p1 , p2 is a pullback of f and g are given as such a pullback,
then the arrow
e = hp1 , p2 i : E → A × B
is an equalizer of f ◦ π1 and g ◦ π2 .

Proof. Suppose that e : E → A × B is an equalizer diagram of the parallel arrows f ◦ π1 , g ◦ π2 :


A × B → C.
f ◦π1
e
E A×B C
g◦π2

Also, π1 ◦ e = p1 and π2 ◦ e = p2 . We need to show that


p2
E B

p1

A
satisfies the universal mapping property of pullback. In other words, we need to show that f ◦p1 = g◦p2
holds, and given any object Z and arrows z1 : Z → A and z2 : Z → B satisfying f ◦ z1 = g ◦ z2 , there
exists a unique u : Z → E such that p1 ◦ u = z1 and p2 ◦ u = z2 .
z2
Z
∃! u hz1 ,z2 i

p2
E B
e
π2
z1
p1 A×B g

π1

A f
C

Since e : E → A × B is an equalizer of f ◦ π1 , g ◦ π2 : A × B → C, we have

f ◦ π1 ◦ e = g ◦ π2 ◦ e. (6.19)

96
6 Subobjects and Pullbacks 97

We have π1 ◦ e = p1 and π2 ◦ e = p2 . Therefore,

f ◦ p1 = g ◦ p2 . (6.20)
π π z z
Since A ←− 1
A × B −→2
B is a product diagram, for A ←−
1
A × B −→
2
B, there exists a unique
hz1 , z2 i : Z → A × B such that

π1 ◦ hz1 , z2 i = z1 and π2 ◦ hz1 , z2 i = z2 . (6.21)

According to the hypothesis, f ◦ z1 = g ◦ z2 . Therefore,

(f ◦ π1 ) ◦ hz1 , z2 i = f ◦ z1 = g ◦ z2 = (g ◦ π2 ) ◦ hz1 , z2 i . (6.22)

Therefore, (f ◦ π1 ) ◦ hz1 , z2 i = (g ◦ π2 ) ◦ hz1 , z2 i.


f ◦π1
e
E A×B C
g◦π2

u
hz1 ,z2 i

Z
By the UMP of equalizer, there is a unique u : Z → E such that

e ◦ u = hz1 , z2 i . (6.23)

Now,

p1 ◦ u = π1 ◦ e ◦ u = π1 ◦ hz1 , z2 i = z1 , (6.24)
p2 ◦ u = π2 ◦ e ◦ u = π2 ◦ hz1 , z2 i = z2 . (6.25)

Therefore, there exists an arrow u : Z → E such that p1 ◦ u = z1 and p2 ◦ u = z2 . Now we are left
to show the uniqueness of u. Suppose there is another arrow v : Z → E satisfying p1 ◦ v = z1 and
p2 ◦ v = z2 . Then we have

z1 = p1 ◦ v = π1 ◦ e ◦ v and z2 = p2 ◦ v = π2 ◦ e ◦ v. (6.26)

Z
hz1 ,z2 i

z1 z2
e◦v

A π1 A×B π2 B

Therefore, e ◦ v = hz1 , z2 i by the UMP of the product A × B. Then again, by (6.23), e ◦ u = hz1 , z2 i.
As a result,
e ◦ v = e ◦ u. (6.27)
u e
Z E A×B
v

But since e is an equalizer, it is monic. Therefore, u = v, and hence u is unique. So


p2
E B

p1

A
is a pullback of f and g.

Conversely, suppose E, p1 , p2 is a pullback of f and g, and e = hp1 , p2 i : E → A × B. Then we need


to show that e is an equalizer of f ◦ π1 and g ◦ π2 .

97
6 Subobjects and Pullbacks 98

e=hp1 ,p2 i f ◦π1


E A×B C
g◦π2

Since E, p1 , p2 is a pullback of f and g, we have f ◦ p1 = g ◦ p2 . So we have

(f ◦ π1 ) ◦ e = f ◦ π1 ◦ hp1 , p2 i = f ◦ p1 , (6.28)
(g ◦ π2 ) ◦ e = g ◦ π2 ◦ hp1 , p2 i = g ◦ p2 . (6.29)

Therefore, (f ◦ π1 ) ◦ e = (g ◦ π2 ) ◦ e. Now suppose there is another arrow z : Z → A × B such that


(f ◦ π1 ) ◦ z = (g ◦ π2 ) ◦ z. Then we need to show the existence of a unique u : Z → E such that
z = e ◦ u, i.e. the following diagram commutes:
f ◦π1
e
E A×B C
g◦π2

u
z

Z
Let π1 ◦ z = z1 and π2 ◦ z = z2 . From (f ◦ π1 ) ◦ z = (g ◦ π2 ) ◦ z, we get

(f ◦ π1 ) ◦ z = (g ◦ π2 ) ◦ z =⇒ f ◦ z1 = g ◦ z2 . (6.30)

But since E, p1 , p2 is a pullback of f and g, and z1 : Z → A and z2 : Z → B satisfies f ◦ z1 = g ◦ z2 ,


there exists a unique u : Z → E such that p1 ◦ u = z1 and p2 ◦ u = z2 , commuting the following
diagram:
z2
Z
u hz1 ,z2 i=z

p2
E B
e
π2
z1
p1 A×B g

π1

A f
C

Then we have

π1 ◦ (e ◦ u) = π1 ◦ hp1 , p2 i ◦ u = p1 ◦ u = z1 (6.31)
π2 ◦ (e ◦ u) = π2 ◦ hp1 , p2 i ◦ u = p2 ◦ u = z2 . (6.32)

Therefore,
e ◦ u = hz1 , z2 i = z. (6.33)
So indeed, there exists an arrow u : Z → E such that z = e ◦ u. Now we need to show the uniqueness
of u. Suppose there is another arrow v : Z → E such that e ◦ v = z. Then we have

z1 = π1 ◦ z = π1 ◦ e ◦ v = p1 ◦ v and z2 = π2 ◦ z = π2 ◦ e ◦ v = p2 ◦ v. (6.34)

So p1 ◦ v = z1 and p2 ◦ v = z2 . But u : Z → E is the unique arrow satisfying p1 ◦ u = z1 and


p2 ◦ u = z2 . Therefore, u = v, proving the uniqueness of u subjected to z = e ◦ u. Therefore,
e = hp1 , p2 i : E → A × B is ineed an equalizer of f ◦ π1 and g ◦ π2 . ■

98
6 Subobjects and Pullbacks 99

Corollary 6.3
If a category C has binary products and equalizers, then it has pullbakcs.

Lemma 6.4 (Two pullbacks lemma)


Consider the commutative diagram below in a category C with pullbacks:
f0 g0
F E D

h00 h0 h

A f
B g C

1. If the two squares are pullbacks, then so is the outer rectangle. Thus

A ×B (B ×C D) ∼
= A ×C D.

2. If the right square and the outer rectangle are pullbacks, so is the left square.

Proof. 1. Suppose both the squares are pullbacks. One needs to show that the outer rectangle is a
pullback. The outer rectangle is
g 0 ◦f 0
F D

h00 h

A g◦f
C

Clearly this square is commutative, since

g ◦ f ◦ h00 = g ◦ h0 ◦ f 0 = h ◦ g 0 ◦ f 0 . (6.35)

Now suppose there is an object Z and arrows z1 : Z → A and z2 : Z → D such that g ◦ f ◦ z1 = h ◦ z2 .


We need to show the existence of a unique v : Z → F such that h00 ◦ v = z1 and g 0 ◦ f 0 ◦ v = z2 .
z2
Z

v u

g0
F E D
f0
z1
h00 h0 h

A f
B g C

g ◦ f ◦ z1 = h ◦ z2 gives us that
g ◦ (f ◦ z1 ) = h ◦ z2 . (6.36)
Since the right square is a pullback for g and h, there is a unique u : Z → E such that

f ◦ z1 = h0 ◦ u and z2 = g 0 ◦ u. (6.37)

Now, f ◦ z1 = h0 ◦ u, and the left square is a pullback of f and h0 . Therefore, there exists a unique
v : Z → F such that
z1 = h00 ◦ v and u = f 0 ◦ v. (6.38)

99
6 Subobjects and Pullbacks 100

Now, we have h00 ◦ v = z1 , and


g 0 ◦ f 0 ◦ v = g 0 ◦ u = z2 . (6.39)
Therefore, there exists v : Z → F such that h00 ◦ v = z1 and g 0 ◦ f 0 ◦ v = z2 . We need to show the
uniqueness of v. Suppose there is another v 0 : Z → F such that

h00 ◦ v 0 = z1 and g 0 ◦ f 0 ◦ v 0 = z2 . (6.40)

z2
Z
u0 =f 0 ◦v 0
v0

g0
F E D
f0
z1
h00 h0 h

A f
B g C

Now, suppose u0 = f 0 ◦ v 0 . Then,

g 0 ◦ u0 = g 0 ◦ f 0 ◦ v 0 = z2 , and (6.41)
0 0 0 0 0 00 0
h ◦ u = h ◦ f ◦ v = f ◦ h ◦ v = f ◦ z1 . (6.42)

But u : Z → E is the unique arrow such that f ◦ z1 = h0 ◦ u and z2 = g 0 ◦ u. Therefore, u and u0


must coincide.
u = u0 = f 0 ◦ v 0 . (6.43)
Furthermore, v : Z → F is the unique arrow such that z1 = h00 ◦ v and u = f 0 ◦ v. By (6.40)
and (6.43), v 0 : Z → F also satisfies h00 ◦ v 0 = z1 and f 0 ◦ v 0 = u. Therefore, v = v 0 , proving the
uniqueness of v. Therefore, the outer rectangle is also a pullback diagram.

[Link] the right square and the outer rectangle are pullbacks. We need to show that the left
square is also a pullback diagram. The left square clearly commutes, since the given diagram is a
commutative diagram. Now, given another object Z and arrows z1 : Z → A and z2 : Z → E such
that f ◦ z1 = h0 ◦ z2 . We need to show the existence of a unique u : Z → F such that z1 = h00 ◦ u
and z2 = f 0 ◦ u.
g 0 ◦z2
Z
z2
u

g0
F E D
f0
z1
h00 h0 h

A f
B g C

The outer rectangle is a pullback, and



h ◦ g 0 ◦ z2 = g ◦ h0 ◦ z2 = (g ◦ f ) ◦ z1 . (6.44)

Therefore, there exists a unique u : Z → F such that

h00 ◦ u = z1 and g 0 ◦ f 0 ◦ u = g 0 ◦ z2 . (6.45)

100
6 Subobjects and Pullbacks 101

Z g 0 ◦z2
z2

f 0 ◦u
g0
E D
f ◦z1
h0 h

B g C
We have g ◦ f ◦ z1 = h ◦ g 0 ◦ z2 . Therefore, there exists a unique v : Z → E such that
h0 ◦ v = f ◦ z1 and g 0 ◦ v = g 0 ◦ z2 . (6.46)
Clearly, taking z2 in place of v works, since f ◦ z1 . Therefore, v = z2 , by the uniqueness of v.
Furthermore,
h0 ◦ f 0 ◦ u = f ◦ h00 ◦ u = f ◦ z1 , g 0 ◦ f 0 ◦ u = g 0 ◦ z2 . (6.47)
Therefore, by the uniqueness of v, v = f 0 ◦ u. Hence,
f 0 ◦ u = z2 . (6.48)
So, there exists u : Z → F such that h00 ◦u = z1 and f 0 ◦u = z2 . Now we need to show the uniqueness
of u. Let’s say there is another u0 : Z → F satisfying h00 ◦ u0 = z1 and f 0 ◦ u0 = z2 .
g 0 ◦z2
Z
z2
u
u0
g0
F E D
z1 f0
h00 h0 h

A f
B g C

Now, h00 ◦ u0 = z1 , and


g 0 ◦ f 0 ◦ u0 = g 0 ◦ z2 . (6.49)
But u : Z → F is the unique arrow satisfying h00 ◦ u
= z1 and g0 ◦ f 0 ◦ u = g 0 ◦ z2 . Therefore, u = u0 ,
proving the uniqueness of u. Hence, the left square is a pullback.

Remark 6.1. In practice, we often see a slightly different form of Two pullbacks lemma. In the
following commutative diagram,
h00
F A
f0 f

h0
E B
g0 g

D h
C

1. if the two squares are pullbacks, then so is the outer rectangle.

2. if the bottom square and the outer rectangle is pullback, so is the top square.

This is equivalent to the version we just proved. This diagram can be obtained by rotating our
diagram 90 degrees clockwise, and then reflecting about the diagonal.

101
6 Subobjects and Pullbacks 102

Remark 6.2. In the Two pullbacks lemma, if the left square and the outer rectangle are pullbacks,
then the right square need not be a pullback. The following is a counterexample: let e : X → Y
be a split epi with right inverse s : Y → X, i.e. e ◦ s = 1Y . Furthermore, suppose e is not an
isomorphism. Then consider the following commutative diagram:
1Y 1Y
Y Y Y

1Y s 1Y

Y s X e Y

This diagram commutes, since e ◦ s = 1Y . Furthermore, s has a left inverse, so it is monic.


Therefore, the left square is a pullback diagram, by Example 6.1. Also, the outer rectangle is
1Y
Y Y

1Y 1Y

Y e◦s=1Y
Y

This is also a pullback diagram by Example 6.1, since 1Y is monic. However, we assumed e is not
an isomorphism. So by Example 6.2, the right square is not a pullback diagram. Therefore, the
right square can fail to be a pullback even if the left square and the outer rectangle are pullbacks.

Corollary 6.5
The pullback of a commutative triangle is a commutative triangle. Specifically, given a commu-
tative triangle as on the right end of the following “prism diagram”:


A0 A
γ0 γ
α

hβ (6.50)
α0 B0 B

β0 β

C0 h
C

α0 h
for any h : C 0 → C, if one forms the pullbacks α0 and β 0 as on the left end, i.e. if C 0 ←− A0 −→
α
A
β0 hβ β
is a pullback of C 0 −
h
− A and C 0 ←− B 0 −→ B is a pullback of C 0 −
α h
→C ← →C ← − B, then there
exists a unique γ : A → C 0 making the left end a commutative triangle, and the upper face a
0 0

commutative rectangle, and indeed a pullback .

α0 h
Proof. Since C 0 ←− A0 −→ A is a pullback of C 0 −
h α
α
→ C ←
− A, we have the following commutative
pullback square:

A0 A

α0 α

C0 h
C

102
6 Subobjects and Pullbacks 103

Therefore,
h ◦ α 0 = α ◦ hα = β ◦ γ ◦ hα . (6.51)
β0 hβ β
Furthermore, C 0 ←− B 0 −→ B is a pullback of C 0 −
h
− B, and α0 : A0 → C 0 and γ ◦ hα : A0 → C
→C←
0
are arrows such that h ◦ α = β ◦ γ ◦ hα .
A0 γ◦hα

γ0

α0 B0 hβ
B

β0 β

C0 h
C

Therefore, there exists a unique γ 0 : A0 → B 0 such that

α0 = β 0 ◦ γ 0 and γ ◦ hα = hβ ◦ γ 0 . (6.52)

So γ 0 is the unique arrow making the left end triangle and the upper face of the prism diagram
commutative. Now, the prism diagram is equivalent to the following commutative diagram:

A0 A

γ0 γ

α0 =β 0 ◦γ 0 B0 hβ
B α=β◦γ

β0 β

C0 h
C

The outer rectangle and the bottom square are pullbacks. Therefore, by Two pullbacks lemma, the
top square is also a pullback. ■

Proposition 6.6
Pullback is a functor, i.e. for fixed h : C 0 → C in a category C with pullbacks, there is a functor
h∗ : C/C → C/C 0 defined by
   
α 0 α0 0
A−
→ C 7→ C ×C A −→ C ,

where α0 is the pullback of α along h. The effect of the functor h∗ on an arrow γ : α → β in C/C
is given by the pullback diagram of a commutative triangle (6.50): h∗ (γ) = γ 0 , whose unique
existence is guaranted by Corollary 6.5.

Proof. Given an object α ∈ Ob (C/C), we must check that h∗ (1α ) = 1h∗ (α) . Given α : A → C in C, it
is an object in C/C. The arrow 1α in C/C is the arrow 1A in C. Then the following is a commutative
triangle in C.

103
6 Subobjects and Pullbacks 104

A
1A

α A

C
Consider the pullback of this commutative triangle along h : C 0 → C.

C 0 ×C A = A0 A
h∗ (1 α) 1A
α


α0 A0 A

α0 α

C0 h
C

By Corollary 6.5 h∗ (1α ) is the unique arrow A0 → A0 such that the left end triangle and the upper
face of the prism are commutative. In other words,

α0 = α0 ◦ h∗ (1α ) and hα ◦ h∗ (1α ) = 1A ◦hα . (6.53)

One can easily check that 1A0 clearly satisfies this requirement.
1 A0 hα
A0 A0 A0 A

α0 1A0 1A
α0

C0 A0 hα
A

Indeed, α0 = α0 ◦ 1A0 , and


hα ◦ 1A0 = hα = 1A ◦hα . (6.54)
Therefore, by the uniqueness of h∗ (1α ), h∗ (1α ) = 1A0 , which is the idenitity arrow of α0 = h∗ (α) in
the slice category C/C 0 . So
h∗ (1α ) = 1α0 = 1h∗ (α) . (6.55)
Let γ1 : α1 → α2 , γ2 : α2 → α3 be arrows in C/C. We have to verify that h∗ (γ2 ◦ γ1 ) = h∗ (γ2 ) ◦
h∗ (γ1 ). In other words, we need to check that (γ2 ◦ γ1 )0 = γ20 ◦ γ10 .
Suppose α1 : A → C, α2 : B → C, α3 : D → C in C. Then the following is a commutative diagram
in C.
A
γ1

α1 B
α2

C γ2

α3

D
γ10and γ20
are the unique arrows such that the left triangles and upper faces of the following prism
diagrams commute.

104
6 Subobjects and Pullbacks 105

hα1 hα2
A0 A B0 B
γ10 γ1 γ20 γ2
α1 α2

hα2 hα3
α01 B0 B α02 D0 D

α02 α2 α03 α3

C0 h
C C0 h
C

In other words,
α10 = α20 ◦ γ10 and γ1 ◦ hα1 = hα2 ◦ γ10 ; (6.56)
α20 = α30 ◦ γ20 and γ2 ◦ hα2 = hα3 ◦ γ20 . (6.57)
Combining these two prism diagrams, we get a commutative “cubic diagram”:
hα1
A0 A
γ10 γ1
α1

α01 B0 hα2
B
α02 α2
γ20

C0 h
C γ2

α03 α3

D0 hα3
D

Now consider the following commutative triangle and its pullback:


A
γ2 ◦γ1

α1 D

α3

C
(γ2 ◦ γ1 )0 is the unique arrow such that left triangle and upper face of the following prism diagram
commute:
hα1
A0 A
(γ2 ◦γ1 )0 γ2 ◦γ1
α1

hα3
α01 D0 D

α03 α2

C0 h
C

In other words,
α10 = α30 ◦ (γ2 ◦ γ1 )0 and (γ2 ◦ γ1 ) ◦ hα1 = hα3 ◦ (γ2 ◦ γ1 )0 . (6.58)
One can easily check that γ20 ◦ γ10 clearly satisfies this requirement.

105
6 Subobjects and Pullbacks 106

γ20 ◦γ10 hα1


A0 D0 A0 A

α01 γ20 ◦γ10 γ2 ◦γ1


α03

C0 D0 hα3
D

Using (6.56) and (6.57), we get


 
α30 ◦ γ20 ◦ γ10 = α30 ◦ γ20 ◦ γ10 = α20 ◦ γ10 = α10 . (6.59)

Again, applying (6.56) and (6.57), we get


 
hα3 ◦ γ20 ◦ γ10 = hα3 ◦ γ20 ◦ γ10 = (γ2 ◦ hα2 ) ◦ γ10

= γ2 ◦ hα2 ◦ γ10 = γ2 ◦ (γ1 ◦ hα1 )
= (γ2 ◦ γ1 ) ◦ hα1 . (6.60)

Therefore, γ20 ◦ γ10 satisfies (6.58). Since (γ2 ◦ γ1 )0 is unique, we must have

(γ2 ◦ γ1 )0 = γ20 ◦ γ10 . (6.61)

Hence, h∗ is indeed a functor. ■

Example 6.3. Let I be an index set, and consider an I-indexed family of sets

(Ai )i∈I . (6.62)

Given a function α : J → I, there is a J-indexed family


 
Aα(j) , (6.63)
j∈J

obtained by “reindexing along α”. Let us describe this reindexing using pullback. For each set Ai in
the family (6.62), take the constant i-valued function pi : Ai → I with all of Ai mapped to i ∈ I, and
consider the induced map on the coproduct
a
p = [pi ] : Ai → I.
i∈I
`
It is the unique function i∈I Ai → I such that each of the following triangles commute:

I
pk
p

`
Ak ιk Ai
i∈I
`
Therefore, given (a, k) ∈ i∈I Ai , with a ∈ Ak ,

p (a, k) = p (ιk (a)) = pk (a) = k.

In a similar manner, for each Aα(j) in the family (6.63), we can form the constant j-valued function
qj : Aα(j) → J with all of Aα(j) mapped to j ∈ J, and consider the induced map on the coproduct
a
q = [qj ] : Aα(j) → J.
j∈J
`
It is the unique function j∈J Aα(j) → J such that each of the following triangles commute for all
l ∈ J:

106
6 Subobjects and Pullbacks 107

J
ql
q

`
Aα(l) Aα(j)
ι0l j∈J

`
Therefore, given (a, l) ∈ j∈J Aα(j) , with a ∈ Aα(l) ,

q (a, l) = q ι0l (a) = ql (a) = l.
 
The reindexed family Aα(j) can be obtained by taking the pullback along the function α : J → I
j∈J
as can be seen from the following diagram:
` αp `
Aα(j) Ai
j∈J i∈I

(6.64)
q p

J α I
` ` `
where αp : j∈J Aα(j) → i∈I Ai is defined as follows: given (a, l) ∈ j∈J Aα(j) , with a ∈ Aα(l) ,
a
αp (a, l) = (a, α (l)) ∈ Ai .
i∈I
`
It’s easy to see that the square above commutes, i.e. p ◦ αp = α ◦ q. Given (a, l) ∈ j∈J Aα(j) , with
a ∈ Aα(l) , one has

(p ◦ αp ) (a, l) = p (a, α (l)) = α (l) ,


(α ◦ q) (a, l) = α (l) .

Therefore, p ◦ αp = α ◦ q. The fact the the UMP of pullback is satisfied for the above square can be
`
checked easily. Suppose there is another set X and functions f : X → J and g : X → i∈I Ai such
`
that p ◦ g = α ◦ f . We need to show the existence of a unique u : X → j∈J Aα(j) such that f = q ◦ u
and g = αp ◦ u, i.e. the following diagram commutes:

g
X
u

` αp `
Aα(j) Ai
j∈J i∈I
f
q p

J α I
`
Given x ∈ X, g (x) ∈ i∈I Ai , so g (x) = (a, i) for some i ∈ I and a ∈ Ai . Furthermore, let
f (x) = j ∈ J. Then p ◦ g = α ◦ f gives us

α (j) = α (f (x)) = p (g (x)) = p (a, i) = i. (6.65)


`
Therefore, g (x) = (a, α (j)), where j = f (x). Now we define a function u : X → j∈J Aα(j) as follows:
a
u (x) = (a, j) ∈ Aα(j) , (6.66)
j∈J

107
6 Subobjects and Pullbacks 108

where j = f (x) and (a, α (j)) = g (x). In terms of the inclusions of coproduct,
a
ια(j) (a) = (a, α (j)) ∈ Ai . (6.67)
i∈I

So a = ι−1
α(f (x)) (g (x)). In other words,
 
u (x) = ι−1
α(f (x)) (g (x)) , f (x) . (6.68)

Then

(q ◦ u) (x) = q (a, j) = j = f (x) , (6.69)


(αp ◦ u) (x) = αp (a, j) = (a, α (j)) = g (x) . (6.70)
`
So there exists a function u : X → j∈J Aα(j) such that f = q ◦ u and g = αp ◦ u. We need to show
`
the uniqueness of u. Suppose there is another function v : X → j∈J Aα(j) satisfying f = q ◦ v and
g = αp ◦ v. Given x ∈ X, suppose v (x) = (a, j) for some j ∈ J and a ∈ Aα(j) . g = αp ◦ v gives us

g (x) = αp (v (x)) = αp (a, j) = (a, α(j)) . (6.71)

Furthermore, f = q ◦ v gives us

f (x) = q (v (x)) = q (a, j) = j. (6.72)

(a, α(j)) = g (x) gives us a = ι−1


α(j) (g (x)). Therefore,
 
v (x) = (a, j) = ι−1
α(f (x)) (g (x)) , f (x) , (6.73)

which matches precisely with the expression of u, from (6.68). Therefore, u is unique, and hence (6.64)
is a pullback diagram. Hence, !
a a
J ×I Ai ∼
= Aα(j) . (6.74)
i∈I j∈J

Proposition 6.7
A category has finite products and equalizers if and only if it has pullbacks and a terminal object.

Proof. (⇒) If a category has all finite products, then it has nullary product as well. A nullary
product is precisely a terminal object, as we observed in Section 4.5. Also, if a category admits all
finite products, it definitely admits all binary products. A category admitting binary products and
equalizers have pullbacks, by Corollary 6.3.

(⇐) Suppose we are in a category with pullbacks and a terminal object 1. In order to show that the
category admits finite products, it suffices to show that the category admits binary products, since
any finite product can be constructed from binary products. Given objects A and B, there are unique
uA uB
arrows uA : A → 1 and uB : B → 1. Now, consider the pullback of A −−→ 1 ←−− B:
p2
A ×1 B B

p1 uB

A uA 1
We claim that A ×1 B is a product of A and B. In order to show that, we need to verify the UMP of
product. Suppose we are given any arrows x1 : X → A and x2 : X → B.

108
6 Subobjects and Pullbacks 109

X x2

u
X
x1 x2
u A ×1 B p2 B
x1
A p1 A ×1 B p2 B p1 uB

A uA 1
Since 1 is a terminal object, there is a unique arrow X → 1. uA ◦ x1 , uB ◦ x2 are arrows from X to 1.
Therefore, uA ◦ x1 = uB ◦ x2 . From the UMP of product, there is a unique arrow u : X → A ×1 B
such that x1 = p1 ◦ u and x2 = p2 ◦ u (which is precisely what the UMP of product says). Therefore,
A ×1 B is a product of A and B, i.e.
A ×1 B ∼= A × B. (6.75)
Now, we have to prove the existence of equalizers. Suppose we are given two parallel arrows f, g :
A → B. Since we already proved that the category admits binary products, we can form the arrows
hf, gi : A → B × B and ∆ = h1B , 1B i : B → B × B. They are the unique arrows such that the
diagrams below commute:
A B
f g 1B 1B
hf,gi h1B ,1B i

B π1 B×B π2 B B π1 B×B π2 B
hf,gi ∆
Now, let us form the pullback of A −−−→ B × B ←
− B:

h
E B

e ∆=h1B ,1B i (6.76)

A B×B
hf,gi

We claim that e : E → A is an equalizer of the parallel arrows f, g : A → B.


f
e
E A B
g

First, let us verify that f ◦ e = g ◦ e. Since (6.76) is a pullback diagram, it’s a commutative square.
Therefore,
hf, gi ◦ e = h1B , 1B i ◦ h. (6.77)
Using Proposition 3.10, hf, gi ◦ e = hf ◦ e, g ◦ ei and h1B , 1B i ◦ h = hh, hi. As a result,

hf ◦ e, g ◦ ei = hh, hi . (6.78)

Composing these arrows with π1 and π2 , we get

π1 ◦ hf ◦ e, g ◦ ei = π1 ◦ hh, hi =⇒ f ◦ e = h, (6.79)
π2 ◦ hf ◦ e, g ◦ ei = π2 ◦ hh, hi =⇒ g ◦ e = h. (6.80)

Therefore, f ◦ e = g ◦ e. Now, suppose there is another a : Z → A such that f ◦ a = g ◦ a. We need


to show that there exists a unique arrow u : Z → E such that e ◦ u = a, i.e. the following diagram
commutes:

109
6 Subobjects and Pullbacks 110

f
e
E A B
g

u
a

Z
Consider the following diagram:
Z f ◦a=g◦a

u
∃!

h
E B
a
e ∆=h1B ,1B i

A B×B
hf,gi

Since f ◦ a = g ◦ a, we have

hf, gi ◦ a = hf ◦ a, g ◦ ai = h1B ◦(f ◦ a), 1B ◦(f ◦ a)i = h1B , 1B i ◦ (f ◦ a). (6.81)

Therefore, hf, gi ◦ a = ∆ ◦ (f ◦ a). By the UMP of pullbacks, there exists a unique arrow u : Z → E
such that e ◦ u = a and h ◦ u = f ◦ a. So there indeed exists an arrow u : Z → E satisfying e ◦ u = a.
Now we need to verify the uniqueness of u.
Suppose there is another v : Z → E satisfying e ◦ v = a. Now, consider the following diagram:
Z f ◦a=g◦a

u
v

h
E B
a
e ∆=h1B ,1B i

A B×B
hf,gi

By (6.79) and (6.80), h = f ◦ e = g ◦ e. Now,

h ◦ v = (f ◦ e) ◦ v = f ◦ (e ◦ v) = f ◦ a. (6.82)

Therefore, v : Z → E is an arrow that satisfies e ◦ v = a and h ◦ v = f ◦ a. But u is the unique arrow


such that e ◦ u = a and h ◦ u = f ◦ a. Therefore, u = v, and hence u is unique. So e : E → A satisfies
the UMP of equalizer. ■

110
6 Subobjects and Pullbacks 111

Remark 6.3. Although u : Z → E is the unique arrow such that e ◦ u = a and h ◦ u = f ◦ a,


it doesn’t immediately satisfy the uniqueness property required in the UMP of equalizer. In the
equalizer diagram,
f
e
E A B
g

u
a

Z
we needed to show the existence of a unique u : Z → E such that the triangle above commutes,
i.e. e ◦ u = a. u is the unique arrow such that e ◦ u = a and h ◦ u = f ◦ a. But we need uniqueness
with respect to the condition e ◦ u = a only. We cannot invoke the argument regarding uniqueness
of u in the pullback diagram to conclude that u is unique in the equalizer diagram, since we are
relaxing the condition a little bit. In principle, there could exist another arrow v for which e◦v = a
but h ◦ v 6= f ◦ a. This does not violate the uniqueness property of u. That is why we needed to
check the uniqueness again.

111
7 Limits and Colimits
§7.1 Limits
Definition 7.1. Let J be a small category and C be any category. A diagram of type J in C is
a functor
D : J → C.

We write the objects in the “index category” J with lowercase i, j, . . ., and the values of the functor
D : J → C in the form Di , Dj , . . . being objects in C.

Definition 7.2 (Cone). A cone to a diagram D consists of

• an object C in C, and

• a family of arrows in C: cj : C → Dj one for each object j in J .

such that for each arrow α : i → j in J , cj = Dα ◦ ci , i.e. the following diagram commutes:

C
ci cj

Di Dα
Dj

Such a cone is denoted by (C, cj ). A morphism of cones


 
ϑ : (C, cj ) → C 0 , c0j

is an arrow ϑ : C → C 0 in C making each triangle of the following form commute: (for each
j ∈ Ob (J )):

C ϑ
C0

c0j
cj

Dj

i.e. cj = cj0 ◦ ϑ for all j ∈ Ob (J ). Thus we have a category Cone (D) of all cones to a diagram
D.
     
Given arrows ϑ : (C, cj ) → C 0 , c0j and % : C 0 , c0j → C 00 , c00j between cones, one can form the
composite  
% ◦ ϑ : (C, cj ) → C 00 , c00j .
Then ϑ : C → C 0 and % : C 0 → C are arrows in C such that the following triangles commute for each
j ∈ Ob (J ):
%
C ϑ
C0 C0 C 00

c0j c00
j
cj c0j

Dj Dj

112
7 Limits and Colimits 113

Combining these two triangles, we get the following commutative diagram, for each j ∈ Ob (J ):
%◦ϑ

C ϑ
C0 % C 00

c0j
cj c00
j

Dj

Therefore, the following triangle commutes for each j ∈ Ob (J ):


%◦ϑ
C C 00

c00
j
cj

Dj
 
So % ◦ ϑ is indeed an arrow from (C, cj ) to C 00 , c00j in Cone (D). The associativity of composition
is clear, since the arrow in Cone (D) are actually arrows in the category C, and associativity of
composition holds in C.
Given any object (C, cj ) in Cone (D), its identity arrow 1(C,cj ) is the arrow 1C in C. Indeed, the
following triangle commutes for each j ∈ Ob (J ):
1C
C C

cj
cj

Dj
 
Therefore, 1C is indeed an arrow (C, cj ) to itself. Given any arrow ϑ : (C, cj ) → C 0 , c0j in Cone(D),
since ϑ : C → C 0 is an arroow in C, ϑ ◦ 1C = ϑ in C. Therefore,

ϑ ◦ 1(C,cj ) = ϑ

in Cone(D). Similarly, 1C 0 ◦ϑ = ϑ in C. Therefore,

1(C 0 ,c0 ) ◦ϑ = ϑ
j

in Cone(D). Hence, 1(C,cj ) = 1C is indeed the identity arrow of the object (C, cj ) in Cone (D).
Therefore, Cone(D) is a category.
We can imagine a cone to be cone over a diagram D with its apex in C.

Definition 7.3 (Limit). A limit for a diagram D : J → C is a terminal object in Cone (D). A
finite limit is a limit for a diagram on a finite index category J .

We often denote a limit in the form


pi : lim Dj → Di .
←−
j
 
The limit of a diagram itself is a cone limj Dj , pj . The limit of a diagram has the following UMP:
←−
Given any cone (C, cj ) to D, there is a unique arrow u : C → limj Dj such that
←−
pj ◦ u = cj , (7.1)

for all j. In other words, the following diagram commutes for each i, j:

113
7 Limits and Colimits 114

u
ci cj
limj Dj
←−
pi pj

Di Dα
Dj
 
Thus the limiting cone limj Dj , pj can be thought of as the “closest” one to the diagram D, and
←−
indeed the other cones come from it just by composing with an arrow at the vertex, namely u : C →
limj Dj .
←−
Example 7.1. 1. Take J = {1, 2}, the discrete category with two objects and no nonidentity arrows.
A diagram D : J → C is a pair of objects D1 and D2 in C. A cone to D is an object C of C equipped
with arrows
c1 c2
D1 C D2
A limit of D is a terminal such cone, that is product of D1 and D2 in C:
π1 π2
D1 D1 × D2 D2
Therefore,
∼ D1 × D2 .
lim Dj =
←−
j

2. Take J to be the following category


α
1 2
β

A diagram of type J looks like



D1 D2

A cone is an object C along with a pair of arrows c1 : C → D1 and c2 : C → D2 such that the
following diagram commutes:

D1 D2

c1
c2

C
In other words,
Dα ◦ c1 = c2 = Dβ ◦ c1 . (7.2)
c
A limit for D is, therefore, an equalizer C −→
1
D1 of the parallel arrows Dα , Dβ : D1 → D2 . If there
is any other cone

D1 D2

c01
c02

C0
satisfying Dα ◦ c01 = c02 = Dβ ◦ c01 , then from the UMP of limit, we know that there exists a unique
arrow u : C 0 → C such that c1 ◦ u = c01 and c2 ◦ u = c02 .

114
7 Limits and Colimits 115


D1 D2

c1 c2

C
c01 c02
u ∃!

C0
The diagram is equivalent to the following equalizer diagram:
c1 Dα
C D1 D2

u
c01

C0
Therefore, the equalizer is the “nearest” cone to the underlying diagram, i.e. a limit.
3. Now, J can be any small category, even the empty category. When J is the empty category, it has
no objects and no arrows. In this case, the cone consists of the apex (an object of C) only. Therefore,
the category Cone (D) is actually the category C. The limit for this diagram is the terminal object
of Cone (D), which coincides with the terminal object 1 of C. Therefore, the limit of the diagram
D : J → C when J is empty is 1. We write this as
lim Dj ∼
= 1.
←−
j

4. Let J be the following category:


2

3 α 1
So a diagram D : J → C of type J consists of the objects and arrows in C as below:
D2

D3 Dα
D1
A cone to this diagram D is given by the following commutative diagram:
c2
C D2
c1
c3 Dβ

D3 Dα
D1
Each of the triangles above commute, so that
Dα ◦ c3 = c1 = Dα ◦ c2 . (7.3)
Now, if C is the nearest cone to D, then from the UMP of a limit, we know that given any other
cone C 0 , c0j , there is a unique arrow u : C 0 → C such that c0j = cj ◦ u for all j, i.e. the following
diagram commutes:

115
7 Limits and Colimits 116

C0 c02

u
∃! c01

C c2 D2
c03
c3 Dβ
c1

D3 Dα
D1
This is precisely the UMP of pullback. Therefore,

lim Dj ∼
= D3 ×D1 D2 . (7.4)
←−
j

Definition 7.4. A category C is said to have all finite limits if every finite diagram D : J → C has
a limit in C.

Proposition 7.1
A category has all finite limits if and only if it has finite products and equalizers, i.e. it has
pullbacks and a terminal object.

Proof. (⇒) If a category has all finite limits, then it has all finite products and equalizers, since finite
products and equalizers can be seen as finite limits, by Example 7.1.

(⇐) Let a category C admit finite products and equalizers. We have to prove that it admits all finite
limits. Let D : J → C be a finite diagram, i.e. the index category J is finite. Let J0 and J1 denote
the object set and arrow set of J , respectively, which are both finite sets. For i ∈ J0 , Di is an object
in C. Since C admits finite products, we can form the following products:
Y Y
Di and Dcod β .
i∈J0 β∈J1

Suppose the following are the relevant projections:


Y Y
πj : Di → Dj and pα : Dcod β → Dcod α , (7.5)
i∈J0 β∈J1

for j ∈ J0 and α ∈ J1 . Now, consider the α-indexed family of arrows


Y
πcod α : Di → Dcod α ,
i∈J0
Q Q
for α ∈ J1 . By the UMP of product, there is a unique arrow ϕ : i∈J0 Di → β∈J1 Dcod β such that
the following triangle commutes for each α ∈ J1 :
Q
Di
i∈J0

πcod α
ϕ

Q
Dcod α pα Dcod β
β∈J1
Q Q
In other words, ϕ : i∈J0 Di → β∈J1 Dcod β is the unique arrow such that

πcod α = pα ◦ ϕ (7.6)

116
7 Limits and Colimits 117

for each α ∈ J1 . Recall that for α : j → k in J , Dα : Dj → Dk is an arrow in C, i.e.

Dα : Ddom α → Dcod α . (7.7)


Q
Now, form the composite arrow Dα ◦ πdom α : i∈J0 Di → Dcod α . We, therefore, have an α-indexed
family of arrows Y
Dα ◦ πdom α : Di → Dcod α ,
i∈J0
Q Q
for α ∈ J1 . By the UMP of product, there is a unique arrow ψ : i∈J0 Di → β∈J1 Dcod β such that
the following triangle commutes for each α ∈ J1 :
Q
Di
i∈J0

Dα ◦πdom α
ψ

Q
Dcod α pα Dcod β
β∈J1
Q Q
In other words, ψ : i∈J0 Di → β∈J1 Dcod β is the unique arrow such that

Dα ◦ πdom α = pα ◦ ψ. (7.8)

Let us combine the above commutative diagrams in the following diagram:


Dcod α
πdom α

Q ϕ Q
Di Dcod β
i∈J0 ψ β∈J1

πdom α pα

Ddomα Dα
Dcod α

(Note that this is NOT technically a commutative diagram. The upper triangle commutes with
respect to ϕ, the lower square commutes with respect to ψ.) So we have two parallel arrows
Q ϕ Q
Di Dcod β
i∈J0 ψ β∈J1
Q
Since C has all equalizers, take the equalizer e : E → i∈J0 Di of ϕ and ψ.
e Q ϕ Q
E Di Dcod β
i∈J0 ψ β∈J1

For j ∈ J0 , let µj = πj ◦ e : E → Dj . We claim that (E, µj ) is a limiting cone to the diagram


D : J → C. Let us first see that (E, µj ) is a cone to the diagram D.
E
µj =πj ◦e µk =πk ◦e

Dj α Dk

117
7 Limits and Colimits 118
Q
Since e : E → i∈J0 Di is an equalizer of of ϕ and ψ, ϕ ◦ e = ψ ◦ e. Given an arrow α : j → k in J ,
we have

µk = πk ◦ e = πcod α ◦ e
= pα ◦ ϕ ◦ e = pα ◦ ψ ◦ e
= Dα ◦ πdom α ◦ e = Dα ◦ πj ◦ e
= D α ◦ µj . (7.9)

Hence, (E, µj ) is a cone to the diagram D. We now need to verify the UMP of limit. Suppose
F, τj : F → Dj is another cone to the diagram D. Then for any arrow α : j → k in J , the following
diagram commutes:
F
τj τk

Dj Dα
Dk

In other words, Dα ◦ τj = τk for all α ∈ J1 , i.e.

Dα ◦ τdom α = τcod α . (7.10)


Q
Consider the j-indexed family of arrows τj : F → Dj , there is a unique arrow h : F → i∈J0 Di such
that the following diagram commutes for all j ∈ J0 :
F
τj
h

Q
Dj πj Di
i∈J0

In other words, πj ◦ h = τj , for all j ∈ J0 . Now, given arrows τcod α = πcod α ◦ h : F → Dcod α , there is
Q
a unique arrow g : F → β∈J1 Dcod β such that the following diagram commutes for all α ∈ J1 :

F
τcod α =πcod α ◦h
g

Q
Dcod α pα Dcod β
β∈J1

In other words, pα ◦ g = τcod α , for all α ∈ J1 . We now claim that g = ϕ ◦ h = ψ ◦ h.

pα ◦ ϕ ◦ h = πcod α ◦ h = τcod α , (7.11)


pα ◦ ψ ◦ h = Dα ◦ πdom α ◦ h = Dα ◦ τdom α = τcod α . (7.12)
Q
Therefore, by the uniqueness of g, g = ϕ ◦ h = ψ ◦ h. Since e : E → i∈J0 Di is an equalizer of ϕ and
Q
ψ, and h : F → i∈J0 Di is another arrow satisfying ϕ ◦ h = ψ ◦ h, there is a unique arrow u : F → E
such that the following diagram commutes:
e Q ϕ Q
E Di Dcod β
i∈J0 ψ β∈J1

u
h

118
7 Limits and Colimits 119

In other words, e ◦ u = h.
u
F E

τj
µj

Dj

µj ◦ u = πj ◦ e ◦ u = πj ◦ h = τj , (7.13)
for all j ∈ J0 . Therefore, u is indeed an arrow from the cone (F, τj ) to (E, µj ). We now need to show
the uniqueness of u. Suppose there is another arrow v : F → E such that µj ◦ v = τj . Then we have

τj = µj ◦ v = πj ◦ (e ◦ v) . (7.14)

for all j ∈ J0 . But h is the unique arrow such that πj ◦ h = τj for all j ∈ J0 . Therefore, by the
uniqueness of h, h = e ◦ v. Moreover, u is the unique arrow such that e ◦ u = h. So u = v, proving
the uniqueness of u. Hence, there is a unique arrow from the cone (F, τj ) to (E, µj ). So (E, µj ) is a
limiting cone. ■

Note that there is no real use of the finiteness of the index category, except for forming the products
Y Y
Di and Dcod β .
i∈J0 β∈J1

So we have the following corollary.

Corollary 7.2
A category has all limits of some cardinality if and only if it has all equalizers and all products
of that cardinality, where the category C is said to have limits (resp. products) of a cardinality κ
if and only if C has a limit for every diagram D : J → C where card (J1 ) ≤ κ.

§7.2 Preservation of Limits


Definition 7.5. A functor F : C → D is said to preserve limits of type J if, whenever pj :
limk Dk → Dj is a limit for a diagram D : J → C; the cone
←−
!
F (pj ) : F lim Dk → F (Dj )
←−
k

is then a limit for the diagram F ◦ D : J → D. In other words,


!
F lim Dk ∼ lim F Dk .
=
←− ←−
k k

(Here, F Di = (F D)i = F (Di )) A functor that preserves all limits is said to be continuous.

We have seen earlier that given a category C admitting products of a given cardinality and all equalizers,
it admits all limits of the same cardinality for any diagram D : J → C. Now, take a functor F : C → D
that preserves products of the given cardinality and also preserve equalizers. One can immediately
form a diagram F ◦ D : J → D. Now, construct a limit (E, µj : E → Dj ) of the diagram D : J → C
following the way outlined in the proof of Proposition 7.1, where the apex E of the limiting cone is
obtained from the equalizer of a pair of parallel arrows between two products. Now use the property
of the functor F : C → D that is preserves products and equalizers to construct a limit of the diagram

119
7 Limits and Colimits 120

F ◦ D : J → D in the category D. Then the pertinent limit is (F (E) , F (µj ) : F (E) → F (Dj )). It
means that one has !
F lim Dk ∼ = lim F Dk .
←− ←−
k k

The above definition is precisely the definition of preservtion of a limit under the functor F : C → D.
One observes that in order to verify that a functor preserves limit of a certain cardinality, it suffices
to show that it preserves products of that cardinality and all equalizers.
For instance, let C be a (locally small) category with all small limits (i.e. the index category is
small). The representable functors will preserves those limits. In other words, for a given object C in
C, the functor
HomC (C, −) : C → Sets
will preserve limits. In fact, a stronger result is true. HomC (C, −) preserves all limits that exist.

Theorem 7.3
The covariant representable functors HomC (X, −) preserve limits that exist. In other words, if
µj : limi Di → Dj is a limit for the diagram D : J → C, then the cone
←−
!
HomC (X, −) (µj ) : HomC (X, −) lim Di → HomC (X, −) (Dj )
←−
i

is a limit for the diagram


HomC (X, −) ◦ D : J → Sets.

Proof. Given α : j → k in J , the following is a commutative diagram in C.


limi Di
←−
µj µk

Dj Dα
Dk

Under the action of the functor HomC (X, −), this commutative diagram goes to the following com-
mutative diagram in Sets.
 
HomC X, limi Di
←−
(µj )∗ (µk )∗

HomC (X, Dj ) HomC (X, Dk )


(Dα )∗
   
Therefore, HomC X, limi Di , (µj )∗ is a cone to the diagram
←−
HomC (X, −) ◦ D : J → Sets.

We now need to show that it is a limiting cone. For that purpose, suppose (C, pj ) is another
cone
 tothis diagram
 in Sets.
 We need to show the existence of a unique arrow u : (C, pj ) →
HomC X, limi Di , (µj )∗ .
←−

120
7 Limits and Colimits 121

u
pj pk
 
HomC X, limi Di
←−

(µj )∗ (µk )∗

HomC (X, Dj ) HomC (X, Dk )


(Dα )∗

Since (C, pj ) is a cone, we have


(Dα )∗ ◦ pj = pk (7.15)
for every arrow α : j → k in J . Therefore, given c ∈ C,

pk (c) = ((Dα )∗ ◦ pj ) (c) = (Dα )∗ (pj (c)) = Dα ◦ pj (c) , (7.16)

where pj (c) : X → Dj and pk (c) : X → Dk are arrows in C. In other words, the following diagram
commutes for all arrows α : j → k in J :
X
pj (c) pk (c)

Dj Dα
Dk

Therefore, we have a cone (X, pj (c)) in C to the diagram D : J → C. Since µj : limi Di → Dj is a


 ←− 
limit for the diagram D : J → C, there is a unique arrow u (c) : (X, pj (c)) → limi Di , µj .
←−
X

u(c)
pj (c) pk (c)
limi Di
←−

µj µk

Dj Dα
Dk

In other words, there exists a unique arrow u (c) : X → limi Di such that
←−
µj ◦ u (c) = pj (c) (7.17)

for all j ∈ Ob (J ). So we define the function


!
u : C −→ HomC X, lim Di
←− (7.18)
i
c 7−→ u (c) .

Then for all c ∈ C, 


pj (c) = µj ◦ u (c) = (µj )∗ ◦ u (c) . (7.19)
In other words,
pj = (µj )∗ ◦ u (7.20)

121
7 Limits and Colimits 122

for all j ∈ Ob (J ). So u is indeed an arrow


! !
u : (C, pj ) → HomC X, lim Di , (µj )∗ .
←−
i

We now need to show the uniqueness of u. Suppose there is another


! !
v : (C, pj ) → HomC X, lim Di , (µj )∗ .
←−
i

So we have the following commutative diagram in Sets:


C

u v
pj pk
 
HomC X, limi Di
←−

(µj )∗ (µk )∗

HomC (X, Dj ) HomC (X, Dk )


(Dα )∗

Then for all j ∈ Ob (J ),


(µj )∗ ◦ u = pj = (µj )∗ ◦ v. (7.21)
Then for all c ∈ C, 
pj (c) = (µj )∗ ◦ v (c) = µj ◦ v (c) , (7.22)
which is true for all j ∈ Ob (J ). But u (c) was the unique arrow u (c) : X → limi Di such that
←−
pj (c) = µj ◦ u (c). So v (c) = u (c), by the uniqueness of u (c). Therefore, u is unique, and hence
!
(µj )∗ : HomC X, lim Di → HomC (X, Dj )
←−
i

is a limit for the diagram


HomC (X, −) ◦ D : J → Sets.

Corollary 7.4
Let C be a category that admits all limits. Then the representable functors HomC (C, −) preserve
all limits.

Definition 7.6 (Contravariant functor). A contravariant functor F : C → D between categories


C and D is an assignment of Ob (C) to Ob (D) and a mapping of arrows in C to D:

HomC (A, B) → HomD (F (B) , F (A)) ,

where F (A) and F (B) are the assigned objects of D under F . In other words, given an arrow
f : A → B in C, F (f ) : F (B) → F (A) is an arrow in D, such that the following hold:

1. F (1A ) = 1F (A) , for all A ∈ Ob (C).

2. F (g ◦ f ) = F (f ) ◦ F (g) for arrows f : A → B and g : B → C in C.

122
7 Limits and Colimits 123

The idea of a contravariant functor can be pictured as follows:

C D
f F (f )
A B F (A) F (B)
F
g F (g)
g◦f F (g◦f )

C F (C)

A contravariant functor F : C → D is in one-to-one correspondence with a (covariant) functor F 0 :


C op → D. F 0 is defined as follows: Ob (C) is the same as Ob (C op ), so given an object X ∈ Ob (C op ),
F 0 (X) = F (X) . (7.23)
Given an arrow f op : Y → X in C op , there is an arrow f : X → Y in C, and we define
F 0 (f op ) = F (f ) . (7.24)
Since F : C → D is a contravariant functor, F (f ) is an arrow from F (Y ) to F (X), i.e.
F 0 (f op ) : F 0 (Y ) → F 0 (X) .
Let g : Y → Z be an arrow in C so that f and g are composable in C.
f g f op g op
X Y Z in C X Y Z in C op

g◦f (g◦f )op =f op ◦g op

Since F is a contravariant functor,


F 0 (f op ◦ g op ) = F 0 ((g ◦ f )op ) = F (g ◦ f )
= F (f ) ◦ F (g) = F 0 (f op ) ◦ F 0 (g op ) . (7.25)
Besides, since the identity arrows in both C and C op are the same, one has
F 0 (1X ) = F (1X ) = 1F (X) = 1F 0 (X) . (7.26)
So F 0 : C op → D is indeed a covariant functor.
A typical example of a contravariant functor is given by
HomC (−, C) : C → Sets
associated with an object C ∈ Ob (C), which is defined as follows: given an arrow f : X → Y in C, the
function HomC (f, C) = f ∗ : HomC (Y, C) → HomC (X, C) is defined as
f ∗ (g) = g ◦ f, (7.27)
for all g ∈ HomC (Y, C).
f g
X Y C

g◦f

The associated covariant functor with this contravariant functor is


HomC op (C, −) : C op → Sets.

§7.3 Colimits
Colimit is the dual construction of limit. As before, we define a cocone to a diagram D : J → C and
we form the category of cocones. A colimit for the diagram D is then defined to be an initial object
in the category of cocones.

123
7 Limits and Colimits 124

Definition 7.7 (Cocone). A cocone to a diagram D consists of

• an object C in C, and

• a family of arrows in C: cj : Dj → C one for each object j in J .

such that for each arrow α : i → j in J , cj ◦ Dα = ci , i.e. the following diagram commutes:

Di Dj

ci cj

Such a cone is denoted by (C, cj ). A morphism of cones


 
ϑ : (C, cj ) → C 0 , c0j

is an arrow ϑ : C → C 0 in C making each triangle of the following form commute: (for each
j ∈ Ob (J ))

C ϑ
C0

c0j
cj

Dj

i.e. c0j = ϑ ◦ cj for all j ∈ Ob (J ). Thus we have a category Cocone (D) of all cocones to a
diagram D.

Definition 7.8 (Coimit). A colimit for a diagram D : J → C is a terminal object in Cocone (D).
A finite colimit is a colimit for a diagram on a finite index category J .

We often denote a colimit in the form

pi : Di → lim Dj .
−→
j
 
The colimit of a diagram itself is a cocone limj Dj , pj . The colimit of a diagram has the following
−→
UMP: Given any cocone (C, cj ) to D, there is a unique arrow u : limj Dj → C such that
−→
u ◦ pj = cj , (7.28)

for all j. In other words, the following diagram commutes for each i, j:

u
ci cj
limj Dj
−→
pi pj

Di Dα
Dj

124
7 Limits and Colimits 125
 
Thus the colimiting cone limj Dj , pj can be thought of as the “furthest” one to the diagram D, or
−→
the “universal repelling object”.

Lemma 7.5  
Let (L, µj ) be a limit to the diagram D : J → C. Then L, µop
j is a colimit to the opposite
diagram Dop : J op → C op , defined as

Dop (i) = Di ,
Dop (αop ) = D (α)op = Dαop .

Proof. Since (L, µj ) is a cone to the diagram D in C, we have µj = Dα ◦ µi for each arrow α : i → j
in J , i.e. the following diagram commutes in C op :
L
µi µj

Di Dα
Dj

Then reversing all the arrows, we get the following commutative diagram in C op :
L
µop
i
µop
j

Di op Dj

 
Therefore, for every arrow αop : j → i in J op , µop op
j = µi ◦ Dα . So L, µj
op op
is indeed a cocone to the
diagram D : J → C in C .
op op op op

Note that we only used the fact that  (L, µj) is a cone. So this actually proves that if (C, pj ) is a
cone to the diagram D : J → C, then C, pop j is a cocone to the opposite diagram Dop : J op → C op .
 
Dually, if C, pop
j is a cocone to the diagram Dop : J op → C op , then (C, pj ) is a cone to the diagram
D : J → C.    
Let us now verify that L, µop j is a colimit. Suppose we have another cocone C, p op
j to the
diagram D : J → C . Then (C, pj ) is a cone to the diagram D : J → C. Since (L, µj ) is a
op op op

limiting cone to the diagram D, there is a unique arrow u : C → L such that pj = µj ◦ u for all
j ∈ Ob J . In other words, the following diagram commutes for each i, j:
C

u
pi pj

L
µi µj

Di Dα
Dj

Reversing all the arrows, we get the following commutative diagram in C op :

125
7 Limits and Colimits 126

uop
pop pop
j
i

L
µop
i
µop
j

Di op Dj

 
So, given another cocone C, pop j , there is an arrow uop : L → C such that pop j = u
op ◦ µop for all
j
j ∈ Ob (J op ). The uniqueness of u follows from the fact that u is unique. Indeed, if there existed
another arrow v op : L → C satisfying pop j = v
op ◦ µop (in C op ) for all j ∈ Ob (J op ), then v satisfies
j
pj = µj ◦ v (in C) for all
 j ∈ Ob J . Therefore, by the uniqueness of u,  u = v, and hence
 v op = uop .
op op op
Hence, given a cocone C, pj , there is a unique arrow uop : L, µj → C, pj in the cocone
 
category Cocone(Dop ). Therefore, L, µop
j is an initial object in Cocone(Dop ), i.e. a colimit to the
diagram Dop . ■

Corollary 7.6
The contravariant representable functors HomC (−, X) take colimits to limits. In other words, if
µj : Dj → limi Di is a colimit for the diagram D : J → C, then the cocone
−→
!
HomC (−, X) (µj ) : HomC (−, X) lim Di → HomC (−, X) (Dj )
−→
i

is a limit for the diagram


HomC (−, X) ◦ D : J → Sets.

Proof. Given the colimiting cocone



Di Dj

µi µj

limi Di
−→
let us examine where the functor HomC (−, X) takes this cocone to.
  HomC (Dα ,X)
Dα HomC (Di , X) HomC (Dj , X)
 Di Dj 
 
HomC (−, X) 
 µi µj
=
 HomC (µi ,X) HomC (µj ,X)
   
limi Di HomC limi Di , X
−→ −→
(7.29)
Since the contravariant functor HomC (−, X) is in one-to-one correspondence with the covariant functor
HomC op (X, −) : C op → Sets, the diagram on the RHS of (7.29) is isomorphic to the follwoing diagram:
op
HomC op (X,Dα )
HomC op (X, Di ) HomC op (X, Dj )
(7.30)
HomC op (X,µop
i ) HomC op (X,µop
j )
 
HomC op X, limi Di
−→

126
7 Limits and Colimits 127
 
Furthermore, since limi Di , µj is a colimit to the diagram D : J → C, by the dual statement of
 −→ 
Lemma 7.5, limi Di , µop is a limit to the diagram Dop : J op → C op . Furthermore, by Theorem 7.3,
−→ j
the covariant hom-functors preserve limits. Therefore, the diagram in (7.30) is a limiting cone. In
other words, the diagrams in (7.29) are also limiting cones. Hence, HomC (−, X) takes colimits to
limits. ■

Example 7.2 (Pushout). Pushout is the dual construction of pushback. Let us consider pushout in
Sets. Suppose we have two functions:
g
A C

B
We can construct the pushout of f and g as follows: Start with the coproduct (disjoint union) of B
and C.
iB iC
B B+C C
The identity those elements b ∈ B with the elements c ∈ C whenever there is an element a ∈ A with
f (a) = b and g (a) = c,
i.e. we take the equivalence relation ∼ on B + C generated by the conditions
(f (a), 0) ∼ (g(a), 1) ,
for each a ∈ A. Finally quotient out B + C by ∼ to obtain the pushout
B +A C ∼
= (B + C) / ∼ . (7.31)
We obtain B +A C as the following coequalizer:
iB ◦f
π
A B+C B +A C
iC ◦g

It’s the dual construction of the pullback, as the pullback was obtained as an equalizer between two
parallel arrows.
g
A C
iC

f B+C π◦iC

iB π

B π◦iB
B +A C

Example 7.3 (Pushout in Top). Pushouts in Top are similarly formed from coproducts and coequal-
izers, which can be made first in Sets and then topologized as sum (topological sum) and quotient
spaces. For example, pushout can be used to construct S 2 from D2 . Let D2 be the 2-disk and S 1
be the 1-dimensional sphere (i.e. circle) with the inclusion i : S 1 → D2 as the boundary of the disk.
Then the 2-sphere S 2 is the pushout
i
S1 D2

D2 S2

127
7 Limits and Colimits 128

i2

π◦i2

π
i1

π◦i1

Here π is the quotient map that identifies the boundaries of the 2-disks.

Example 7.4 (Direct limit of groups). Suppose we are given a sequence


g0 g1 g2 g3
G0 G1 G2 G3 ···

of groups and group homomorphsms, and we want a colimiting group G∞ with group homomorphisms
un : Gn → G∞ satisfying un+1 ◦ gn = un for all n ∈ N. Moreover, G∞ should be “universal” with this
property. We are looking at the colimit of the diagram D : ω → Groups, where the index category is
the ordinal numbers ω = (N, ≤) regarded as a poset category

0 1 2 3 ···

So the diagram in Groups looks like


g0 g1 g2 g3
G0 G1 G2 G3 ··· (7.32)

It is a diagram of type ω in the category Groups. The colimiting group is the colimit of this diagram
D, which is an initial object in the category Cocone (D).

lim Gn ∼
= G∞ .
−→
n∈ω

This group always exists and can be constructed as follows. Begin with the coproduct (disjoint union)
of the sets Gn , for n ∈ ω: G
Gn
n∈ω

is regarded as the union of all ordered pairs (xn , n) for xn ∈ Gn , as n varies over ω. We want to put
F
an equivalence relation ∼ on n∈ω Gn . For i ≤ j, we define gei,j to be the composite:
gi gi+1 gi+2 gj−1
Gi Gi+1 Gi+2 ··· Gj

e
gi,j =gj−1 ◦···◦gi+1 ◦gi

128
7 Limits and Colimits 129

In particular, gei,i+1 = gi , and gei,i = 1Gi . We define (xn , n) ∼ (ym , m) if and only if there exists some
k ≥ m, n such that
gen,k (xn ) = gem,k (ym ) . (7.33)
Since gen,n+1 = gn , one has (xn , n) ∼ (gn (xn ), n + 1) for each xn ∈ Gn . One can easily verify that ∼ is
an equivalence relation.
F
• (Reflexivity) Given (xn , n) ∈ i∈ω Gi , (xn , n) ∼ (xn , n), because gen,n (xn ) = gen,n (xn ).

• (Symmetry) If (xn , n) ∼ (ym , m), there exists some k ≥ m, n such that gen,k (xn ) = gem,k (ym ). So
there is some k ≥ n, m such that gem,k (ym ) = gen,k (xn ). Therefore, (ym , m) ∼ (xn , n).

• (Transitivity) Suppose (xn , n) ∼ (ym , m) and (ym , m) ∼ (zl , l). Then there exists some k1 ≥ m, n
and k2 ≥ n, l such that

gen,k1 (xn ) = gem,k1 (ym ) and gem,k2 (ym ) = gel,k2 (zl ) . (7.34)

Without loss of generality, suppose k2 ≥ k1 (if not, we can always choose a larger k2 ). Then

gek1 ,k2 ◦ gen,k1 = (gk2 −1 ◦ · · · ◦ gk1 +1 ◦ gk1 ) ◦ (gk1 −1 ◦ · · · ◦ gn+1 ◦ gn ) = gn,k2 . (7.35)

Similarly, gm,k2 = gek1 ,k2 ◦ gem,k1 . Then

gel,k2 (zl ) = gem,k2 (ym )


= gek1 ,k2 (gem,k1 (ym ))
= gek1 ,k2 (gen,k1 (xn ))
= gen,k2 (xn ) . (7.36)

Therefore, (xn , n) ∼ (zl , l).

So ∼ is an equivalence relation. Then we define


G
G∞ = Gn / ∼ . (7.37)
n∈ω

An equivalence class in G∞ is denoted as [xn ]. The group operation on G∞ is defined as follows:


 
[x] · [y] = x0 · y 0 , (7.38)

with x ∼ x0 and y ∼ y 0 for x0 , y 0 ∈ Gn for sufficiently large n. If xi ∈ Gi and yj ∈ Gj , then choosing


n = max {i, j} is sufficient. So
[xi ] · [yj ] = [gei,n (xi ) · gej,n (yj )] . (7.39)
The well-definedness of the operation (7.39) can be checked easily. Suppose [xi ] = [ak ] and [yj ] = [bl ],
for some ak ∈ Gk and bl ∈ Gl . Let n = max {i, j} and m = max {k, l}. Then

[xi ] · [yj ] = [gei,n (xi ) · gej,n (yj )] , (7.40)


[ak ] · [bl ] = [gek,m (ak ) · gel,m (bl )] . (7.41)

Since xi ∼ ak , there exists some q ≥ i, k such that

gei,q (xi ) = gek,q (ak ) . (7.42)

Similarly, since yj ∼ bl , there exists some r ≥ j, l such that

gej,r (yj ) = gel,r (bl ) . (7.43)

129
7 Limits and Colimits 130

Let s = max {q, r}. Then s ≥ q ≥ i, k and s ≥ r ≥ j, l. So s ≥ i, j and s ≥ k, l. As a result,


s ≥ n = max {i, j} and s ≥ m = max {k, l}. Now,
gen,s (gei,n (xi ) · gej,n (yj )) = gen,s (gei,n (xi )) · gen,s (gej,n (yj ))
= gei,s (xi ) · gej,s (yj )
= geq,s (gei,q (xi )) · ger,s (gej,r (yj ))
= geq,s (gek,q (ak )) · ger,s (gel,r (bl ))
= gek,s (ak ) · gel,s (bl )
= gem,s (gek,m (ak )) · gem,s (gel,m (bl ))
= gem,s (gek,m (ak ) · gel,m (bl )) .
Therefore, gei,n (xi ) · gej,n (yj ) ∼ gek,m (ak ) · gel,m (bl ), and hence
[gei,n (xi ) · gej,n (yj )] = [gek,m (ak ) · gel,m (bl )] . (7.44)
Therefore, the operation defined in (7.39) is well-defined.
If ei denotes the unit element of the group Gi , then ei ∼ ej for any i, j since group homomorphisms
take unit element to unit element. Then the equivalence class [ei ] is the identity element of G∞ .
Indeed, for any xn ∈ Gn ,
[xn ] · [ei ] = [xn ] · [en ] = [xn · en ] = [xn ] ,
[ei ] · [xn ] = [en ] · [xn ] = [en · xn ] = [xn ] .
So [ei ] is the identity element of G∞ . The inverse of [xn ] is
h i
[xn ]−1 = x−1
n , (7.45)
because h i h i h i h i
[xn ] · x−1
n = xn · x−1
n = [en ] and x−1
n · [xn ] = x−1
n · xn = [en ] .
So we have defined the group G∞ . Now take the homomorphisms
un : Gn → G∞
(7.46)
xn 7→ [xn ] .
gn
Gn Gn+1

un un+1

G∞
For xn ∈ Gn , xn ∼ gn (xn ). So [xn ] = [gn (xn )]. Therefore,
(un+1 ◦ gn ) (xn ) = [gn (xn )] = [xn ] = un (xn ) . (7.47)
Hence, un+1 ◦ gn = un for each n. So (G∞ , un : Gn → G∞ ) is indeed a cocone. The universality
of G∞ along with the homomorphisms un : Gn → G∞ results from the fact that this construction
is essentially a colimit in Sets with an induced group structure. Suppose there is a group H with
homomorphisms hn : Gn → H such that hn+1 ◦ gn = hn for each n. We need to show the existence of
a unique h : G∞ → H such that hn = h ◦ un for each n.
gn
Gn Gn+1

un un+1

G∞ (7.48)
hn hn+1
h

130
7 Limits and Colimits 131

Let us define h : G∞ → H as follows: given [xn ] ∈ G∞ for some xn ∈ Gn , we define

h ([xn ]) = hn (xn ) . (7.49)

We have to show that h is well-defined. Suppose xn ∼ ym for some ym ∈ Gm . Then there exists
k ≥ n, m such that gen,k (xn ) = gem,k (ym ). Now,

hn = hn+1 ◦ gn
= hn+2 ◦ gn+1 ◦ gn
= hn+3 ◦ gn+2 ◦ gn+1 ◦ gn
= ···
= hk ◦ gk−1 ◦ · · · ◦ gn+1 ◦ gn = hk ◦ gen,k . (7.50)

H
hn hk
hn+2
hn+1

Gn gn Gn+1 gn+1 Gn+2 gn+2 ··· gk−1 Gk

e
gn,k =gk−1 ◦···◦gn+1 ◦gn

Similarly, hm = hk ◦ gem,k . Therefore,

h ([xn ]) = hn (xn )
= hk (gen,k (xn ))
= hk (gem,k (ym ))
= hm (ym ) = h ([ym ]) . (7.51)

So h is well-defined. Now, for any xn ∈ Gn ,

(h ◦ un ) (xn ) = h ([xn ]) = hn (xn ) . (7.52)

Therefore, h ◦ un = hn for all n ∈ ω. So there indeed exists a homomorphism h : G∞ → H making


the diagram (7.48) commute. Now we have to show the uniqueness.
gn
Gn Gn+1

un un+1

G∞
hn hn+1
h h0

Suppose there is another homomorphism h0 : G∞ → H such that h0 ◦ un = hn for all n ∈ ω. Now,


given [xn ] ∈ G∞ with xn ∈ Gn , we have

h0 ([xn ]) = h0 ◦ un (xn ) = hn (xn ) = h ([xn ]) . (7.53)

Therefore, h0 = h proving the uniqueness of h. Hence, (G∞ , un : Gn → G∞ ) is a colimit to the diagram


(7.32).

131
8 Exponentials
§8.1 Exponential in a Category
Exponentials can be thought of as the categorical notion of a “function space”. As with everything,
we shall first consider the category Sets to motivate ourselves about the definition of exponentials. In
Sets, we use the notation C B to denote the set of all functions from B to C, i.e.

C B = HomSets (B, C) .

Consider a function of sets:


f (−, −) : A × B → C.
Now, if we hold a ∈ A fixed, we have a function

f (a, −) : B → C,

so that f (a, −) ∈ C B . If we now vary a over A, then we get a function

fe : A → C B
a 7→ f (a, −) .

In other words, fe (a) = f (a, −). This function is uniquely determined by

fe (a) (b) = f (a, −) (b) = f (a, b) .

Furthermore, any map g : A → C B is uniquely of the form fe, for some f : A × B → C. This function
f is defined as follows:
f (a, b) = g (a) (b) .
So we have an isomorphism of Hom-sets
 
HomSets (A × B, C) ∼
= HomSets A, C B . (8.1)
 
In other words, there is a bijection HomSets (A × B, C) → HomSets A, C B taking f to fe. This
bijection is mediated by an operation of evaluation. In Sets, this evaluation function is
eval : C B × B → C
(g, b) 7→ g (b) .
In other words, eval (g, b) = g (b). This evaluation function has the following UMP: given any set A
and any function f : A × B → C, there is a unique function fe : A → C B such that
 
eval ◦ fe × 1B = f. (8.2)

That is, for any a ∈ A and b ∈ B,


    
f (a, b) = eval ◦ fe × 1B (a, b) = eval fe (a) , b .

eval
CB CB × B C

fe fe×1B
f

A A×B
Now we can extend this to any arbitrary category that admits binary products.

132
8 Exponentials 133

Definition 8.1 (Exponential). Let C be a category admitting binary products. An exponential


of objects B and C consists of an object C B and an arrow  : C B × B → C such that for any
object A and arrow f : A × B → C, there is a unique arrow fe : A → C B such that
 
 ◦ fe × 1B = f. (8.3)


CB CB × B C

fe fe×1B
f

A A×B

The arrow  : C B × B → C is called evaluation, and the unique arrow fe : A → C B is called the
(exponential) transpose of f : A × B → C. Given any arrow g : A → C B , we define

g =  ◦ (g × 1B ) : A × B → C,
 
and also call g the transpose of g. Let ϕ : HomC (A × B, C) → HomC A, C B be the function
defined as
ϕ (f ) = fe. (8.4)
 
Furthermore, we define ψ : HomC A, C B → HomC (A × B, C) as

ψ (g) = g =  ◦ (g × 1B ) . (8.5)
e which is the unique arrow A → C B such that the following
Then given g : A → C B , ϕ (ψ (g)) = g,
diagram commutes:

CB × B C

eg×1B
g

A×B
In other words,  
g =  ◦ ge × 1B . (8.6)
e we get
But the definition of g is g =  ◦ (g × 1B ). Therefore, by the uniqueness of g,

ge = g, (8.7)
 
for any g ∈ HomC A, C B . Therefore,

ϕ ◦ ψ = 1HomC (A,C B ) . (8.8)

Furthermore, given f : A × B → C, ψ (ϕ (f )) = fe, which is, by definition,


 
fe =  ◦ fe × 1B . (8.9)

Using the definition of fe, the following diagram commutes:



CB × B C

fe×1B
f

A×B

133
8 Exponentials 134
 
So  ◦ fe × 1B = f , and hence
fe = f, (8.10)
for any f ∈ HomC (A × B, C). Therefore,

ψ ◦ ϕ = 1HomC (A×B,C) . (8.11)

Therefore, ϕ is an isomorphism (in Sets), i.e.


 
HomC (A × B, C) ∼
= HomC A, C B . (8.12)

§8.2 Cartesian Closed Categories


Definition 8.2. A category is called cartesian closed, if it has all finite products and exponen-
tials.

Example 8.1. We have already seen that Sets is a cartesian closed category. The category Setsfin
of finite sets is also a cartesian closed category (CCC). If M and N are finite sets, then the set N M
of all functions from M to N is also a finite set. In fact, it has cardinality

N M = |N ||M | .

Example 8.2. Consider the category Pos of posets and monotone functions. This is a cartesian
closed category. Given posets P and Q, the cartesian product of P and Q is also a poset, and is
partially ordered by 
(p, q) ⩽ p0 , q 0 ⇐⇒ p ≤P p0 and q ≤Q q 0 . (8.13)
Then ⩽ is a partial order on P × Q, because

• (p, q) ⩽ (p, q), since p ≤P p and q ≤Q q.

• If (p, q) ⩽ (p0 , q 0 ) and (p0 , q 0 ) ⩽ (p00 , q 00 ), then p ≤P p0 and p0 ≤ p00 ; and q ≤Q q 0 and q 0 ≤Q q 00 . By
the transitivity of ≤P and ≤Q , we get p ≤ p00 and q ≤ q 00 . Therefore, (p, q) ⩽ (p00 , q 00 ).

• If (p, q) ⩽ (p0 , q 0 ) and (p0 , q 0 ) ⩽ (p, q), then p ≤P p0 and p0 ≤ p; and q ≤Q q 0 and q 0 ≤Q q. By the
antisymmetry of ≤P and ≤Q , p = p0 and q = q 0 . Therefore, (p, q) = (p0 , q 0 ).

So P × Q is a poset. We define the projections π1 : P × Q → P and π2 : P × Q → Q as

π1 (p, q) = p and π2 (p, q) = q. (8.14)

P π1 P ×Q π2 Q

π1 and π2 are clearly monotone, since given (p, q) ⩽ (p0 , q 0 ), we have p ≤P p0 and q ≤Q q 0 . So
 
(p, q) ⩽ p0 , q 0 =⇒ π1 (p, q) ≤P π1 p0 , q 0 .

Therefore, π1 is monotone. Similarly, π2 is also monotone. Now suppose that given another poset
X, there are monotone functions x1 : X → P and x2 : X → Q. We need to show the existence of a
unique monotone function h : X → P × Q such that the following diagram commutes:

X
f g
h (8.15)

P π1 P ×Q π2 Q

134
8 Exponentials 135

In other words, π1 ◦ h = f and π2 ◦ h = g. Let us define

h (x) = (f (x) , g (x)) , (8.16)

for x ∈ X. If x ≤X x0 , then f (x) ≤P f (x0 ) since f is monotone. Similarly, g (x) ≤Q g (x0 ) since g is
monotone. Therefore,   
h (x) = (f (x) , g (x)) ⩽ f x0 , g x0 = h x0 .
Therefore, h is monotone. Now,

(π1 ◦ h) (x) = π1 (f (x) , g (x)) = f (x),

so π1 ◦ h = f . Similarly, π2 ◦ h = g. Therefore, there indeed exists a monotone function h : X → P × Q


such that (8.15) commutes. We now need to show the uniqueness of h. Suppose there is another
monotone function h0 : X → P × Q making (8.15) commute.

X
f g
h h0

P π1 P ×Q π2 Q

Let h0 (x) = (p, q), for a given x ∈ X. Since π1 ◦ h0 = f , we have



p = π1 ◦ h0 (x) = f (x) .

Similarly, q = g (x). Therefore,


h0 (x) = (f (x) , g (x)) = h (x) , (8.17)
and this holds for any x ∈ X. So h = h0 , proving the uniqueness of h. Therefore,

P π1 P ×Q π2 Q

is a product diagram in Pos. In other words, Pos admits finite products (any singleton {∗} is a
terminal object in Pos). Let us now show that Pos admits exponentials. Given posets P and Q, we
define
QP = HomPos (P, Q) = {f : P → Q | f is monotone } . (8.18)
We put a partial order  on QP as follows:

f  g ⇐⇒ f (p) ≤Q g (p) for any p ∈ P. (8.19)

 is indeed a partial order, because

• f (p) ≤Q f (p) for all p ∈ P . Therefore, f  f .

• If f  g and g  h, then f (p) ≤Q g (p) and g (p) ≤Q h (p) for any p ∈ P . By the transitivity of
≤Q , f (p) ≤Q h (p) for all p ∈ P . Therefore, f  h.

• If f  g and g  f , then f (p) ≤Q g (p) and g (p) ≤Q f (p) for any p ∈ P . By the antisymmetry
of ≤Q , f (p) = g (p) for all p ∈ P . Therefore, f = g.

So QP is a poset. Let us define the evaluation function  : QP × P → Q by

 (f, p) = f (p) . (8.20)

Let us verify that  is a monotone function. Suppose (f, p) ⩽ (g, p0 ) in QP × P . Then f  g in QP


and p ≤P p0 . f is monotone, so f (p) ≤Q f (p0 ). Since f  g, f (p) ≤Q g (p) for any p ∈ P . Therefore,
  
 (f, p) = f (p) ≤Q f p0 ≤Q g p0 =  g, p0 . (8.21)

135
8 Exponentials 136

So  is monotone. Now, given any monotone function f : X × P → Q, the transpose fe : X → QP is


defined as
fe (x) = f (x, −) : P → Q. (8.22)
We need to verify that fe is monotone as well. Given x ≤X x0 , for any p ∈ P , (x, p) ⩽ (x0 , p) in X × P .
Since f is monotone, 
f (x, p) ≤Q f x0 , p ,
for any p ∈ P . Therefore, f (x, −)  f (x0 , −) in QP , i.e. fe (x)  fe (x0 ) in QP , proving the monotonicity
of fe.

QP QP × P Q

fe fe×1P f

X X ×P
 
Then clearly we have  ◦ fe × 1B = f , because given any (x, p) ∈ X × P ,
    
 ◦ fe × 1P (x, p) =  fe (x) , p = fe (x) (p) = f (x, p) . (8.23)

Now we have to show the uniqueness of fe. Suppose g : X → QP is another monotone function such
that  ◦ (g × 1B ) = f .

QP × P Q
fe×1P

g×1P
f

X ×P

Then for any x ∈ X and p ∈ P ,

f (x, p) = ( ◦ (g × 1B )) (x, p) =  (g (x) , p) = g (x) (p) . (8.24)

Since this equality holds for any p ∈ P , we can conclude that g (x) = f (x, −). Therefore, g = fe,
proving the uniqueness of fe. Therefore, QP is indeed an exponential of the objects P and Q in Pos.

Proposition 8.1
In a cartesian closed category (CCC) C, exponentiation by a fixed object A is a functor

(−)A : C → C.

(−)A takes an object B to the exponential B A ; and given an arrow β : B → C in C, (−)A takes
it to
β A := β^
◦ B : B A → C A ,
where B : B A × A → B is the evaluation arrow.

Proof. β A : B A → C A is the unique arrow such that the triangle below commutes:
C
CA CA × A C

βA β A ×1A
β◦B

BA BA × A

136
8 Exponentials 137

We can also rewrite the triangle as a commutative square:


C
CA × A C

β A ×1A β

BA × A B B

In other words, β A : B A → C A is the unique arrow such that


 
C ◦ β A × 1A = β ◦ B . (8.25)

Let us now verify the functorial properties of (−)A . Given the identity arrow 1B : B → B, (1B )A is
the unique arrow B A → B A such that the following square commutes:
B
BA × A B

(1B )A ×1A 1B

BA × A B B

In other words, (1B )A is the unique arrow satisfying


 
B ◦ (1B )A × 1A = 1B ◦B . (8.26)

Since C is a category admitting binary products, × : C × C → C is a functor, as verified in § [Link].


Therefore,
1B A ×A = 1B A × 1A . (8.27)
So, the following diagram commutes:
B
BA × A B

1B A ×A =1B A × 1A 1B

BA × A B B
Writing this commutativity in an equation, we get

B ◦ (1B A × 1A ) = 1B ◦B . (8.28)

But (1B )A is the unique arrow such that (8.26) holds. In (8.28), we found that 1B A also satisfies the
same commutativity. Therefore, by the uniqueness, we get

(1B )A = 1B A . (8.29)

Now, suppose we have arrows β : B → C and γ : C → D. We need to show that γ A ◦ β A = (γ ◦ β)A .


β A , γ A , (γ ◦ β)A are the unique arrows making each of the following squares commute:
C D D
CA × A C DA × A C DA × A C

β A ×1A β γ A ×1A γ (γ◦β)A ×1A γ◦β

BA × A B B CA × A C B BA × A B B

137
8 Exponentials 138

In other words, (γ ◦ β)A is the unique arrow B A → DA such that


 
D ◦ (γ ◦ β)A × 1A = γ ◦ β ◦ B . (8.30)

Combining the two commutative squares for β A and γ A , we get the following commutative diagram:
D
DA × A D

γ A ×1A γ

C
CA × A C

β A ×1A β

BA × A B B
So the following square commutes:
D
DA × A D

(γ A ×1A )◦(β A ×1A ) γ◦β (8.31)

B
BA × A B

Again, since C is a category admitting binary products, × : C × C → C is a functor (see § [Link]).


Therefore,        
γ A × 1A ◦ β A × 1A = γ A ◦ β A × (1A ◦ 1A ) = γ A ◦ β A × 1A . (8.32)

Now, using the commutativity of (8.31), we get


  
D ◦ γ A ◦ β A × 1A = γ ◦ β ◦ B . (8.33)

But (γ ◦ β)A is the unique arrow such that (8.30) holds. In (8.33), we found that γ A ◦ β A also satisfies
the same commutativity. Therefore, by the uniqueness, we get

(γ ◦ β)A = γ A ◦ β A . (8.34)

Therefore, (−)A : C → C is a functor, if C is a CCC. ■

138
9 Naturality
§9.1 The Category of Categories
Let us start by discussing the category Cat of categories and functors. This category has finite
coproducts 0 (the empty category) and C + D; and finite products 1 (the category with only one
object and its identity arrow) and C × D. We can also construct equalizers in Cat as follows: suppose
we are given two parallel functors F, G : C → D. Then we define the category E and functor E,
E F
E C D
G

as follows:
E0 = {C ∈ C0 | F (C) = G (C)}
(9.1)
E1 = {f ∈ C1 | F (f ) = G(f )} ,
and let E : E → C be the inclusion. Then this is an equalizer, which can be easily checked. The
category E is a subcategory of C, i.e. E : E → C is a monomorphism (since it is an equalizer).

Definition 9.1. A functor F : C → D is said to be

• injective on objects if the object part F0 : C0 → D0 is injective;

• surjective on objects if the object part F0 : C0 → D0 is surjective;

• injective on arrows if the arrow part F1 : C1 → D1 is injective;

• surjective on arrows if the arrow part F1 : C1 → D1 is surjective;

• F is faithful if for all A, B ∈ C0 , the map

FA,B : HomC (A, B) → HomD (F (A) , F (B))


f 7→ F (f )

is injective.

• F is full if FA,B is surjective for all A, B ∈ C0 .

Example 9.1. A faithful functor need not be injective on arrows. Consider the coproduct of categories
C + C. The objects of this category are of the form (C, 0) or (D, 1), for C, D ∈ C0 . If f : C → D is an
arrow in C, then
(f, 0) : (C, 0) → (D, 0) and (f, 1) : (C, 1) → (D, 1)
are arrows in C + C. The inclusion functors i1 , i2 : C → C + C are defined as
i1 (C) = (C, 0) , i1 (f ) = (f, 0) ; (9.2)
i2 (C) = (C, 1) , i2 (f ) = (f, 1) . (9.3)
Then the “codiagonal functor” ∇ : C + C → C is the unique functor such that the following diagram
commutes:
i1 i2
C C+C C


1C 1C

139
9 Naturality 140

This codiagonal functor ∇ is faithful, but not injective on arrows. If f : C → D is an arrow in C, then
(f, 0) : (C, 0) → (D, 1) is an arrow in C + C, so is (f, 1) : (C, 1) → (D, 1). Then

∇ (f, 0) = ∇ (i1 (f )) = 1C (f ) = f,
∇ (f, 1) = ∇ (i2 (f )) = 1C (f ) = f.

Therefore, ∇ is not injective on arrows. But it is faithful. Given two objects (C, i) and (D, j) in C + C,
with i, j ∈ {0, 1} and C, D ∈ C0 , if i 6= j, then

HomC+C ((C, i) , (D, j)) = ∅.

Therefore, the function

∇(C,i),(D,j) : HomC+C ((C, i) , (D, j)) → HomC (C, D)

is vacuously injective. On the other hand, if i = j, then the function

∇(C,i),(D,j) : HomC+C ((C, i) , (D, i)) → HomC (C, D)

is a bijection, so it’s clearly injective. Therefore, ∇ is a faithful functor, but not injective on arrows.

A full subcategory U ↣ C consists of some objects of C, and all the arrows between them. For
example, Setsfin is a full subcategory of Sets. The inclusion functor Setsfin ↣ Sets is full and faithful.
On the other hand, the forgetful functor Groups → Sets is faithful but not full. There is another
forgetful functor for groups: Groups → Cat. This is both full and faithful, since a functor between
two groups is exactly the same thing as group homomorphism.

Example 9.2. Let C be a (locally small) category, so that we have the representable functors

HomC (C, −) : C → Sets,

for all objects C ∈ C0 . This functor is faithful if and only if for all objects X, Y , the function

FX,Y : HomC (X, Y ) → HomSets (HomC (C, X) , HomC (C, Y )) (9.4)

is injective (here F = HomC (C, −)). FX,Y is injective if and only if for f, g : X → Y with f 6= g,
FX,Y (f ) 6= FX,Y (g), i.e. F (f ) 6= F (g). But F (f ) and F (g) are both functions from HomC (C, X)
to HomC (C, Y ). Two functions are unequal if and only if there exists some input where the functions
don’t agree. Therefore, F (f ) 6= F (g) if and only if there is some x ∈ HomC (C, X) such that
F (f ) (x) 6= F (g) (x). But since F = HomC (C, −),

F (f ) (x) = HomC (C, f ) (x) = (f∗ ) (x) = f ◦ x. (9.5)

Similarly, F (g) (x) = g ◦ x. Therefore, HomC (C, −) is faithful if and only if for all objects X, Y and
arrows f, g : X → Y with f 6= g, there exists an arrow x : C → X such that f ◦ x 6= g ◦ x.

Example 9.3. Let G be a group in a (locally small) category C. Then the contravariant representable
functor HomC (−, G) has a group structure, so that we have a functor

HomC (−, G) : C → Groups.

For example, if C = Sets, then for each set X, we can define the group operation on HomSets (X, G)
pointwise:

• Suppose f, g ∈ HomSets (X, G). Then we define

(f ? g) (x) = f (x) ∗G g (x) , (9.6)

where ∗G is the group operation on G.

140
9 Naturality 141

• Let e ∈ G be the identity element. Then the identity element of HomSets (X, G) is the function
u : X → G that sends all x ∈ X to e ∈ G.
• The inverse of f ∈ HomSets (X, G) is the function g : X → G such that
g (x) = f (x)−1 . (9.7)

Then HomSets (X, G) is a group under ?. We then have an isomorphism


Y

HomSets (X, G) = G. (9.8)
x∈X
Q
Indeed, the elements of the product x∈X Gx are functions
[
ϕ:X→ Gx
x∈X

such that ϕ (x) ∈ Gx for every x ∈ X. In our case, Gx = G for all x ∈ X. Therefore, the elements of
Q
the product x∈X G are all the functions ϕ : X → G, so that the isomorphism in (9.8) holds.
Furthermore, given any function h : X → Y , h∗ : HomSets (Y, G) → HomSets (X, G) is a group
homomorphism. Indeed, given any f, g : Y → G,
[h∗ (f ?Y g)] (x) = [(f ?Y g) ◦ h] (x)
= (f ?Y g) (h (x))
= f (h (x)) ∗G g (h (x))
= [f ◦ h ?X g ◦ h] (x)
= [h∗ (f ) ?X h∗ (g)] (x) .
Therefore,
h∗ (f ?Y g) = h∗ (f ) ?X h∗ (g) , (9.9)
i.e. h∗ is a group homomorphism. So we say that the contravariant functor HomSets (−, G) "captures"
the group structure of G.
The group structure is not particularly a special structure. We can do the above for pretty much any
algebraic structure. For instance, R has a ring structure, and using that ring structure, we can form the
ring HomTop (X, R) of all the continuous functions from the topological space X to R. HomTop (X, R)
is also written C (X). The ring structure of HomTop (X, R) is inherited from that of R (the addition
and multiplication are defined pointwise, in a similar manner as before). In this case as well, given a
continuous function h : X → Y , the function
h∗ : HomTop (Y, R) → HomTop (X, R)
is a ring homomorphism.
However, not all algebraic structures are preserved. For instance, R has the structure of a field, but
HomTop (X, R) is not a field. We can consider X = R, and the continuous function f (x) = x. Then
f 6= 0, but f has no multiplicative inverse in HomTop (X, R).

§9.2 Naturality
We have already defined natural transformation in Definition 3.10. Let us recall the definition once
again.

Definition 9.2 (Natural Transformation). Let F and G be two functors between the categories C
and D. Then a natural transformation η : F ⇒ G is a family of arrows

{ηX : F (X) → G (X)}X∈C0

in D such that for every arrow f : X → Y in C, one must have ηY ◦ F (f ) = G (f ) ◦ ηX . In other


words, the diagram below commutes:

141
9 Naturality 142

F (f )
F (X) F (Y )

ηX ηY

G(X) G(Y )
G(f )

Given such a natural transformation η : F ⇒ G, the arrow ηX is called the component of η at X.

Example 9.4. Consider the free monoid M (X) on a set X, and let U : Sets → Sets be the functor
that takes a set X to the underlying set of its free monoid, i.e. U (X) = |M (X)|. Let us see the
action of U on functions. Suppose f : X → Y is a function between sets. Let iX : X → |M (X)| and
iY : Y → |M (Y )| be the insertion of generators. Then we have a function iY ◦ f : X → |M (Y )|. By
the UMP of a free monoid, there exists a unique monoid homomorphism fe : M (X) → M (Y ) such
that the following diagram commutes in Sets:

fe
|M (X)| |M (Y )|

iX iY

X f
Y

We define U (f ) = fe . Now we have a natural transformation η : 1Sets → U , whose components are


ηX = iX . Given any function f : X → Y , the following diagram commutes, so that η is a natural
transformation.
f
X Y

ηX ηY

U (X) = |M (X)| U (Y ) = |M (Y )|
U (f )= fe

Example 9.5. Let C be a category with products. In § [Link], we have seen a functor

× : C × C → C.

Now we define a new functor


× : C × C → C,
(A, B) 7→ B × A, (9.10)
(f, g) 7→ g × f.

Then we define a “twist” natural transformation t : × ⇒ × as follows: given the product diagrams
π1 π2
A A×B B
p1 p2
B B×A A,

we take t(A,B) : A × B → B × A to be the unique arrow such that the following diagram commutes:

A×B
π2 t(A,B) π1

B p1 B×A p2 A

142
9 Naturality 143

In other words,
p1 ◦ t(A,B) = π2 and p2 ◦ t(A,B) = π1 . (9.11)
In order to show that t : × ⇒ × is a natural transformation, we need to show the commutativity of
the following diagram, given arrows α : A → A0 and β : B → B 0 in C:
α×β
A×B A0 × B 0

t(A,B) t(A0 ,B 0 )

B×A β×α
B 0 × A0

We have two arrows β ◦ π2 : A × B → B 0 and α ◦ π1 : A × B → A0 . So there is a unique arrow


u : A × B → B 0 × A0 such that the following diagram commutes:

A×B
β◦π2 α◦π1
u

B0 B 0 × A0 A0
p01 p02

In other words,
p01 ◦ u = β ◦ π2 and p02 ◦ u = α ◦ π1 . (9.12)
Now, in light of the following commutative diagrams,
π1 π2
A×B A A×B B

π2 t(A,B) π1 α β
α×β

p1 p2 π10 π20
B B×A A A0 A0 × B 0 B0

β β×α α t(A0 ,B 0 )
p02 p01

B0 B 0 × A0 A0 B 0 × A0
p01 p02

we can see that both (β × α) ◦ t(A,B) and t(A0 ,B 0 ) ◦ (α × β) fits the requirement of (9.12). Therefore,
by the uniqueness of u,
(β × α) ◦ t(A,B) = u = t(A0 ,B 0 ) ◦ (α × β) , (9.13)
and hence t : × ⇒ × is a natural transformation.

Definition 9.3 (Functor Category). The functor category Fun (C, D) has

• Objects: functors F : C → D

• Arrows: natural transformations ϑ : F ⇒ G

For each object F , the natural transformation 1F has components

(1F )C = 1F (C) : F (C) → F (C) .

The composite natural transformation of

143
9 Naturality 144

F
η
G
C D
ϑ

has components
(ϑ ◦ η)C = ϑC ◦ ηC .

Definition 9.4 (Natural isomorphism). A natural isomorphism is a natural transformation ϑ :


F ⇒ G which is an isomorphism in the functor category Fun (C, D).

Lemma 9.1
A natural transformation ϑ : F ⇒ G is a natural isomorphism if and only if each componenet
ϑC : F (C) → G (C) is an isomorphism.

Proof. Suppose ϑ is a natural isomorphism, i.e. an isomorphism in Fun (C, D). Then there is another
natural transformation η : G ⇒ F such that ϑ ◦ η = 1G and η ◦ ϑ = 1F . Then for each C ∈ C0 ,

ϑC ◦ ηC = (ϑ ◦ η)C = (1G )C = 1G(C) . (9.14)

Similarly, ηC ◦ ϑC = 1F (C) . Therefore, ϑC : F (C) → G (C) is an isomorphism.

Conversely, suppose ϑC : F (C) → G (C) is an isomorphism for each C ∈ C0 . Then we define another
natural transformation η : G ⇒ F , whose components are ηC = ϑ−1C . One can easily check that η is a
natural transformation. For that purpose, we need to show the commutativity of the following square
given any arrow f : X → Y in C:
F (f )
F (X) F (Y )

ϑ−1
X ϑ−1
Y
(9.15)

G(X) G(Y )
G(f )

Since ϑ is a natural transformation, the following square commutes:


F (f )
F (X) F (Y )

ϑX ϑY

G(X) G(Y )
G(f )

In other words,
ϑY ◦ F (f ) = G (f ) ◦ ϑX . (9.16)
Composing with ϑ−1
Y to the left and ϑ−1
X to the right, we get

F (f ) ◦ ϑ−1 −1
X = ϑY ◦ G (f ) . (9.17)

Therefore, (9.15) commutes, so η is a natural transformation. Now, for any C ∈ C0 ,

(η ◦ ϑ)C = ηC ◦ ϑC = 1F (C) = (1F )C . (9.18)

Therefore, η ◦ ϑ = 1F . Similarly, ϑ ◦ η = 1G . So ϑ is an isomorphism in the functor category


Fun (C, D). ■

144
9 Naturality 145

Example 9.6. Consider the category VectR of real vector spaces and linear transformations f : V →
W . Every vector space has a dual space

V ∗ = HomVectR (V, R) (9.19)

of linear transformations ϕ : V → R. Every linear transformation f : V → W gives rise to a dual


linear transformation
f ∗ : W ∗ → V ∗,
defined by precomposition, f ∗ (ϕ) = ϕ ◦ f for ϕ : W → R. Therefore, (−)∗ = HomVectR (−, R) is just
the contravariant representable functor endowed with the vector space structure.
There is a canonical linear transformation from each vector space to its double dual

ηV : V → V ∗∗
x 7→ (evx : V ∗ → R) ,

where evx (ϕ) = ϕ (x) for every ϕ : V → R. This map ηV is the component of a natural transformation

η : 1VectR ⇒ (−)∗∗ ,

since the following diagram commutes:


f
V W

ηV ηW (9.20)

V ∗∗ f ∗∗
W ∗∗

Indeed, given any x ∈ V ,

(f ∗∗ ◦ ηV ) (x) = f ∗∗ (evx ) = evx ◦ f ∗ , and (ηW ◦ f ) (x) = evf (x) . (9.21)

Both evf (x) and evx ◦ f ∗ are elements of W ∗∗ , i.e. they are linear maps W ∗ → R. Now, given any
ψ ∈ W ∗ , ψ : W → R is a linear map. Now,

(evx ◦ f ∗ ) (ψ) = evx (f ∗ (ψ)) = evx (ψ ◦ f ) = ψ (f (x)) . (9.22)

On the other hand,


evf (x) (ψ) = ψ (f (x)) . (9.23)
Therefore, evx ◦ f ∗ = evf (x) for every x ∈ V . As a result,

f ∗∗ ◦ ηV = ηW ◦ f. (9.24)

Therefore, (9.20) commutes, so that η : 1VectR ⇒ (−)∗∗ is a natural transformation. When V is finite
dimensional, ηV is an isomorphism, so

η : 1Vectfin ⇒ (−)∗∗
R

R is the category of finite dimensional R-vector spaces and


is a natural isomorphism, where Vectfin
linear transformations.

§9.3 Exponentials of Categories


In this section, we shall prove that the category Cat of (small) categories and functors is a cartesian
closed category. Given categories C and D, we take DC = Fun (C, D), for which we need to show the
required UMP of exponentials. Before going into the proofs, we need the following lemma:

145
9 Naturality 146

Lemma 9.2 (Bifunctor Lemma)


Given categories A, B, C, if F : A × B → C is a functor, then

1. F is a functor in each argument: F (A, −) : B → C and F (−, B) : A → C are functors for


all A ∈ A0 and B ∈ B0 ;

2. F satisfies the following “interchange law”: Given α : A → A0 in A and β : B → B 0 in B,


the following diagram commutes in C:
F (A,β)
F (A, B) F (A, B 0 )

F (α,B) F (α,B 0 )

F (A0 , B) F (A0 , B 0 )
F (A0 ,β)

Conversely, if we have functors F (A, −) : B → C and F (−, B) : A → C for all A ∈ A0 and


B ∈ B0 , such that
 
F A0 , − (β) ◦ F (−, B) (α) = F −, B 0 (α) ◦ F (A, −) (β) ,

for arrows α : A → A0 in A and β : B → B 0 in B, and

F (A, −) (B) = F (−, B) (A)

for all A ∈ A0 and B ∈ B0 , then F : A × B → C is a functor.

Proof. (⇒) If F : A × B → C is a functor, then for arrows β : B → B 0 , β 0 : B 0 → B 00 in B,


 
F (A, −) β 0 ◦ β = F 1A , β 0 ◦ β

= F 1A , β 0 ◦ F (1A , β)

= F (A, −) β 0 ◦ F (A, −) (β) . (9.25)

Furthermore, given any object B ∈ B0 ,


 
F (A, −) (1B ) = F (1A , 1B ) = F 1(A,B)
= 1F (A,B) = 1F (A,−)(B) . (9.26)

Therefore, F (A, −) : B → C is a functor for every A ∈ A0 . Similarly, F (−, B) : A → C is also a


functor for every B ∈ B0 .
Now, suppose α : A → A0 is an arrow in A and β : B → B 0 is an arrow in B. Then (α, β) : (A, B) →
(A0 , B 0 ) is an arrow in A × B. We then have the following commutative diagram in A × B:
(1A ,β)
(A, B) (A, B 0 )

(α,1B ) (α,β) (α,1B 0 )

(A0 , B) (A0 , B 0 )
(1A0 ,β)

Since F : A → B → C is a functor, we have

F (α, β) = F ((α, 1B 0 ) ◦ (1A , β))


= F (α, 1B 0 ) ◦ F (1A , β)

= F −, B 0 (α) ◦ F (A, −) (β) . (9.27)

146
9 Naturality 147

Similarly,

F (α, β) = F ((1A0 , β) ◦ (α, 1B ))


= F (1A0 , β) ◦ F (α, 1B )

= F A0 − (β) ◦ F (−, B) (α) . (9.28)

In other words, the following square commutes in C:


F (1A ,β)
F (A, B) F (A, B 0 )

F (α,1B ) F (α,β) F (α,1B 0 )

F (A0 , B) F (A0 , B 0 )
F (1A0 ,β)

Therefore,  
F −, B 0 (α) ◦ F (A, −) (β) = F A0 − (β) ◦ F (−, B) (α) , (9.29)
i.e. the interchange law holds.

(⇐) We define the (proposed) functor F : A × B → C as follows:

F (A, B) = F (A, −) (B) = F (−, B) (A) (9.30)


0  0
F (α, β) = F A , − (β) ◦ F (−, B) (α) = F −, B (α) ◦ F (A, −) (β) , (9.31)

for (A, B) ∈ (A × B)0 and arrow (α, β) : (A, B) → (A0 , B 0 ). Let us now check the functorial properties.
Suppose 1(A,B) = (1A , 1B ) is the identity arrow of the object (A, B) ∈ (A × B)0 . Then,
 
F 1(A,B) = F (1A , 1B ) = F (A, −) (1B ) ◦ F (−, B) (1A )
= 1F (A,−)(B) ◦ 1F (−,B)(A)
= 1F (A,B) ◦ 1F (A,B)
= 1F (A,B) . (9.32)

Now, suppose the following is a composition of arrows in A × B:


(α,β) (α0 ,β 0 )
(A, B) (A0 , B 0 ) (A00 , B 00 )

(α0 ,β 0 )◦(α,β)=(α0 ◦α,β 0 ◦β)

Now, using the following commutative diagram (commutativity is guaranteed by the interchange law
(9.31)),
F (A,−)(β 0 ◦β)
F (A, B) F (A, B 00 )

F (−,B)(α0 ◦α) F (α,β) F (−,B 00 )(α0 ◦α)

F (A00 , B) F (A00 , B 00 )
F (A00 ,−)(β 0 ◦β)

 
F (α0 , β 0 ) ◦ (α, β) = F α0 ◦ α, β 0 ◦ β
  
= F A00 , − β 0 ◦ β ◦ F (−, B) α0 ◦ α
   
= F A00 , − β 0 ◦ F A00 , − (β) ◦ F (−, B) α0 ◦ F (−, B) (α) . (9.33)

Using interchange law once again, we get

147
9 Naturality 148

F (A0 ,−)(β)
F (A0 , B) F (A0 , B 0 )

F (−,B)(α0 ) F (−,B 0 )(α0 )

F (A00 , B) F (A00 , B 0 )
F (A00 ,−)(β)
    
F A00 , − (β) ◦ F (−, B) α0 = F −, B 0 α0 ◦ F A0 , − (β) . (9.34)
Plugging (9.34) into (9.33), we get
     
F (α0 , β 0 ) ◦ (α, β) = F A00 , − β 0 ◦ F −, B 0 α0 ◦ F A0 , − (β) ◦ F (−, B) (α) . (9.35)
Now we shall use interchange law once again.
F (A,−)(β) F (A0 ,−)(β 0 )
F (A, B) F (A, B 0 ) F (A0 , B 0 ) F (A0 , B 00 )

F (−,B)(α) F (α,β) F (−,B 0 )(α) F (−,B 0 )(α0 ) F (α0 ,β 0 ) F (−,B 00 )(α0 )

F (A0 , B) F (A0 , B 0 ) F (A00 , B 0 ) F (A00 , B 00 )


F (A0 ,−)(β) F (A00 ,−)(β 0 )

Therefore,

F (α, β) = F A0 , − (β) ◦ F (−, B) (α) , (9.36)
0 0 00  0 0 0
F α ,β = F A ,− β ◦ F −, B α . (9.37)
Now plugging (9.36) and (9.37) into (9.35), we get

F (α0 , β 0 ) ◦ (α, β) = F (α0 , β 0 ) ◦ F (α, β). (9.38)
Therefore, F : A × B → C is a functor. ■

Theorem 9.3
Cat is cartesian closed, with the exponential

DC = Fun (C, D) .

Proof. We need to show that the evaluation arrow


 : Fun (C, D) × C → D
is a functor. The action of  on objects is clear. It takes an object F ∈ Fun (C, D)0 , i.e. a functor
F : C → D, and an object C ∈ C0 , and yields F (C) ∈ D0 as output. In other words,
 (F, C) = F (C) . (9.39)
The action of  on arrows is defined as follows: given an arrow in Fun (C, D), i.e. a natural transfor-
mation ϑ : F ⇒ G between functors F, G : C → D, and an arrow f : C → C 0 in C, we define
 (ϑ, f ) = ϑC 0 ◦ F (f ) = G (f ) ◦ ϑC . (9.40)
These two arrows are equal, since ϑ is a natural transformation, so that the following diagram com-
mutes:
F (f )
F (C) F (C 0 )

ϑC ϑC 0

G(C) G(C 0 )
G(f )

148
9 Naturality 149

We shall use Bifunctor Lemma to prove that  is a functor. First, we need to show that  is functorial
in each argument. If we fix a functor F : C → D, then

 (F, −) : C → D

takes an object C ∈ C0 to F (C) ∈ D0 . Furthermore, it takes an arrow f ∈ C1

 (F, −) (f ) =  (1F , f ) = 1F (C 0 ) ◦F (f ) = F (f ) . (9.41)

So  (F, −) is just F itself. Therefore,  (F, −) is a functor.


On the other hand, if we fix C ∈ C0 , then

 (−, C) : Fun (C, D) → D

takes an object F ∈ Fun (C, D)0 , i.e. a functor F : C → D, to F (C). Furthermore, it takes an arrow
ϑ : F ⇒ G to
 (−, C) (ϑ) =  (ϑ, 1C ) = G (1C ) ◦ ϑC = 1G(C) ◦ϑC = ϑC . (9.42)
So  (−, C) (ϑ) is just the component of ϑ at C. As a result,  (−, C) is also a functor.
Now we need to verify interchange law. Let ϑ : F ⇒ G be a natural transformation, and f : C → C 0
be an arrow in C. We need to verify that

 (G, −) (f ) ◦  (−, C) (ϑ) =  −, C 0 (ϑ) ◦  (F, −) (f ) .

In other words, we need to check that the following diagram commutes:


(F,−)(f )
(F, C) (F, C 0 )

(−,C)(ϑ) (−,C 0 )(ϑ)

(G, C) (G, C 0 )
(G,−)(f )

The above diagram can be rewritten as the following diagram:

F (f )
F (C) F (C 0 )

ϑC ϑC 0 (9.43)

G(C) G(C 0 )
G(f )

(9.43) clearly commutes since ϑ is a natural transformation. Therefore, interchnage law holds, and
hence  : Fun (C, D) × C → D is a functor.

Given any category X and a functor F : X × C → D, we need to show the existence of a unique
functor Fe : X → Fun (C, D) such that
 
F =  ◦ Fe × 1C .

i.e. the following diagram commutes:



Fun(C, D) × C D

e×1C
F F

X ×C

149
9 Naturality 150

Given X ∈ X0 , F (X, −) : C → D is a functor, by the forward direction of Bifunctor Lemma. So we


define
Fe (X) = F (X, −) ∈ Fun (C, D)0 . (9.44)
Now, given an arrow f : X → Y in X , we define a natural transformation η : F (X, −) ⇒ F (Y, −) as
follows: the component of η at C ∈ C0 is the arrow F (f, 1C ), i.e.

ηC = F (−, C) (f ) = F (f, 1C ) . (9.45)

η is indeed a natural transformation from F (X, −) to F (Y, −), since the following diagram commutes
(commutativity is guaranteed by interchange law, since F is a bifunctor) for any arrow α : C → C 0 in
C:
F (X,−)(α)
F (X, C) F (X, C 0 )

ηC =F (−,C)(f ) ηC 0 =F (−,C 0 )(f )

F (Y, C) F (Y, C 0 )
F (Y,−)(α)

So we define
Fe (f ) = (η : F (X, −) ⇒ F (Y, −)) ∈ Fun (C, D)1 . (9.46)
In other words,  
Fe (f ) = F (−, C) (f ) .
C

This is clearly functorial since F (−, C) : X → D is a functor. So we have constructed the functor Fe .
Now, given any X ∈ X0 and C ∈ C0 ,
h  i  
 ◦ Fe × 1C (X, C) =  Fe (X) , C = F (X, −) (C) = F (X, C) . (9.47)

Now, given any f : X → Y in X and α : C → C 0 in C,


h  i  
 ◦ Fe × 1C (f, α) =  Fe (f ) , α . (9.48)

Now, using (9.40),  (ϑ, g) = ϑC1 ◦G (f ), where ϑ : G ⇒ H is a natural transformation, and g : C2 → C1


is an arrow in C. Therefore,
    
 Fe (f ) , α = Fe (f ) ◦ F (Y, −) (α) = F −, C 0 (f ) ◦ F (X, −) (α) = F (f, α) , (9.49)
C

where the last equality follows from the interchange law of the bifunctor F .
F (X,−)(α)
F (X, C) F (X, C 0 )

F (−,C)(f ) F (f,α) F (−,C 0 )(f )

F (Y, C) F (Y, C 0 )
F (Y,−)(α)

Therefore,  
 ◦ Fe × 1C = F, (9.50)

on both objects and arrows. Now we need to show the uniqueness of Fe . Suppose there is another
functor G : X → Fun (C, D) such that  ◦ (G × 1C ) = F , i.e. the following diagram commutes

Fun(C, D) × C D

G×1C
F

X ×C

150
9 Naturality 151

^
Then F =  ◦ (G × 1C ). We shall now look at the exponential transpose of  ◦ (G × 1C ). Write
e : X → Fun (C, D) is an arrow (defined as above) such that
H :=  ◦ (G × 1C ) : X × C → D. Then H
the following diagram commutes

Fun(C, D) × C D

e C
H×1 H

X ×C
Now, for any X ∈ X0 , using (9.44),
e (X) = H (X, −) = [ ◦ (G × 1C )] (X, −) =  (G (X) , −) = G (X) .
H (9.51)

For any arrow f : X → Y in X , H e (f ) : H


e (X) ⇒ He (Y ) is a natural transformation. Since H
e = G at
e
the object level, H (f ) : G (X) ⇒ G (Y ) is a natural transformation, with components
 
e (f )
H = H (−, C) (f ) = [ ◦ (G × 1C )] (f, 1C ) =  (G (f ) , 1C ) . (9.52)
C

Now using (9.40),

 (G (f ) , 1C ) = G (Y ) (1C ) ◦ G (f )C = 1G(Y )(C) ◦ (G (f ))C = (G (f ))C (9.53)

Therefore,  
e (f )
H = G (f )C (9.54)
C
e (f ) = G (f ) for all f ∈ X1 . Hence, H
for all C ∈ C0 . Therefore, H e = G both at the object and arrow
level. But since H :=  ◦ (G × 1C ) = F ,
G=H e = Fe . (9.55)
Therefore, Fe = G, so that Fe is unique. So the UMP of exponential is satisfied, and thus Cat is a
CCC. ■

151

You might also like