Sunteți pe pagina 1din 85

Basic Research in Computer Science

BRICS

BRICS LS-95-1 J. van Oosten: Basic Category Theory

Basic Category Theory

Jaap van Oosten

BRICS Lecture Series ISSN 1395-2048

LS-95-1 January 1995

Copyright c 1995, BRICS, Department of Computer Science University of Aarhus. All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy.

See back inner page for a list of recent publications in the BRICS Lecture Series. Copies may be obtained by contacting: BRICS Department of Computer Science University of Aarhus Ny Munkegade, building 540 DK - 8000 Aarhus C Denmark Telephone: +45 8942 3360 Telefax: +45 8942 3255 Internet: BRICS@daimi.aau.dk BRICS publications are in general accessible through WWW and anonymous FTP: http://www.brics.aau.dk/BRICS/ ftp ftp.brics.aau.dk (cd pub/BRICS)

Basic Category Theory

Jaap van Oosten

Jaap van Oosten Department of Computer Science University of Aarhus Ny Munkegade DK-8000 Aarhus C, Denmark

BRICS1

1 Basic Research In Computer Science, Centre of the Danish National Research Foundation.

These notes contain the material of a short course on categories I gave in Arhus in the autumn of 1994, as part of Glynn Winskel's semantics course. Later on, while writing, I added some material, but not much. The style in which they are written re ects my view on category theory: it is, especially at this low level, practice rather than theory which counts. I have therefore given many proofs as exercises. If you really want to get a grip on the subject, I strongly suggest you do as many of them as you can. The same goes for the examples. They are the esh and bones of the theory, and many of them have been chosen so they are a recurring theme; functors C D may be given as examples in chapter 1, be shown to constitute an adjunction in chapter 5, while this may turn out to be a monadic situation in chapter 6. For the same reason, references are omitted. Even a sketchy proof, or a hint of the crucial argument, is better than an intimidating reference to R]. Of course, the examples will be best understood by students who are familiar with the mathematicalnotions involved, but in general these notes do not require a lot of mathematical background, except for some basic knowledge of groups, rings and topological spaces (although examples on the latter may be skipped, since I have not pursued them through the whole text). What I did presuppose is some familiarity with logic and the -calculus. Although de nitions are given, standard facts about substitution and the like are suppressed (a teacher can easily supply them when he gives the course). This familiarity does not include a good understanding of set theory or even an inkling of the size problems one can run into. I've used the terms \set" and \small" wherever necessary, although I don't suppose they mean much to many students. For that reason I've also omitted a proof of Freyd's Adjoint Functor Theorem and an explanation of the role of the solution set condition. Apart from chapters 4 and 7, where in spite of the fact that the results are well-known I haven't been able to nd references where they are treated in a concise enough form, and so had to develop the material myself, everything is pretty standard. I have consulted the following sources: S. MacLane, Categories for the Working Mathematician, Springer (Berlin) 1971. Still the best text. For non-mathematicians it may be a little tough going, but it is worth the trouble. F. Borceux, Handbook of Categorical Algebra, (Encyclopaedia of Mathematics and its Applications) Cambridge University Press (Cambridge) 1994. Next best. Gives a lot of material in a very readable style; also on specialized topics. Three volumes.
o /

Preface

A strange error in the de nition of Grothendieck universes in the rst chapter, making the de nition inconsistent, supports the point about set theory, I made before. Many concrete examples. The reader will nd many answers to my exercises in this book. M. Barr & C. Wells, Category Theory for Computing Science, Prentice Hall (New York) 1990. At this moment out of print. The emphasis on sketches is debatable, for a rst course in the theory. Otherwise a very valuable source. P.T. Johnstone, Stone Spaces, Cambridge University Press (Cambridge) 1982. Not a book on category theory proper, but a systematic study on various dualities of the Stone type. A lot of material on posetal structures like frames, Boolean algebras etc. A. Asperti, Categorical Topics in Computer Science, Ph.D. Thesis, Pisa 1990. Later reworked into: A. Asperti & G. Longo, Categories, Types, and Structures: An Introduction to Category Theory for the Working Computer Scientist (Foundations of Computing), MIT Press (Cambridge Massachusetts) 1991. M. Makkai & G. Reyes, First Order Categorical Logic (Lecture Notes in Mathematics 611), Springer (Berlin) 1977. \The" book on categorical logic. It is my feeling that a sequel is badly needed. The main ideas are developed here. S. MacLane & I. Moerdijk, Sheaves in Geometry and Logic (Universitext), Springer 1992. Treats topos theory, with important applications to logic. Can almost be read from scratch. J. Lambek & P. Scott, Introduction to higher order categorical logic, Cambridge University Press (Cambridge) 1986. This may very well be a book of the future, but for a rst acquaintance with category theory the approach is too formal for my taste. Gives a very elaborate account of the correspondences between type theories and certain types of categories. Of course this list doesn't make any pretense whatsoever at being complete or even a guide into the literature. It mainly re ects my personal attitude.

Acknowledgements. I am grateful to the group of students who patiently


and critically sat through my lectures, and in particular to Thomas Hildebrandt

ii

and S ren B gh Lassen who pointed out mistakes in my original hand-written notes. The help of my o ce mate Vladi Sassone, has been invaluable. A critical reading by him of the whole rst version revealed a couple of embarassing mistakes (\the functor ( ) X also has a left adjoint", ha ha|there is no limit to what a confused brain can come up with); then he put a lot of e ort in the visual a layout of the text, teaching me emacs and L TEX in the process, and designed the rococo painting which is the title page. It goes without saying that the remaining errors are mine, and that the poor a visual quality of the text is a testimony of my ignorance of L TEX, which I am not proud of.

References

R] J. Razdajev, Some facts about functors, Novosibirsk Journal of Diving Research XLVII (1947), pp. 634-98 (Russian)

iii

iv

Contents

1 Categories and Functors 2 Natural transformations

1.1 De nitions and examples : : : : : : : : : : : : : : : : : : : : : : : 1.2 Some special objects and arrows : : : : : : : : : : : : : : : : : :

1 9

1 6

2.1 The Yoneda lemma : : : : : : : : : : : : : : : : : : : : : : : : : : 9 2.2 Examples of natural transformations : : : : : : : : : : : : : : : : 12 2.3 Equivalence of categories; an example : : : : : : : : : : : : : : : 14

3 (Co)cones and (co)limits

3.1 Limits : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17 3.2 Limits by products and equalizers : : : : : : : : : : : : : : : : : 24 3.3 Colimits : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25 4.1 Regular categories and subobjects : : : : : : : : : : : : : : : : : 4.2 Coherent logic in regular categories : : : : : : : : : : : : : : : : : 4.3 The language L(C ) and theory T (C ) associated to a regular category C : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 4.4 Example of a regular category : : : : : : : : : : : : : : : : : : : :

17

4 A little piece of categorical logic

29

29 33 38 39

5 Adjunctions

5.1 Adjoint functors : : : : : : : : : : : : : : : : : : : : : : : : : : : 43 5.2 Expressing (co)completeness by existence of adjoints; preservation of (co)limits by adjoint functors : : : : : : : : : : : : : : : : 48

43

6 Monads and Algebras

6.1 Algebras for a monad : : : : : : : : : : : : : : : : : : : : : : : : 54 6.2 T-Algebras at least as complete as D : : : : : : : : : : : : : : : : 59 6.3 The Kleisli category of a monad : : : : : : : : : : : : : : : : : : : 59

53

7 Cartesian closed categories and the -calculus

7.1 Cartesian closed categories (ccc's); examples and basic facts : : : 63 7.2 Typed -calculus and cartesian closed categories : : : : : : : : : 67 7.3 Representation of primitive recursive functions in ccc's with natural numbers object : : : : : : : : : : : : : : : : : : : : : : : : : 70

63

Index

73

vi

Categories

1.1 De nitions and examples

1 Categories and Functors

A category C is given by a class C 0 of objects and a class C 1 of arrows which have the following structure. Each arrow has a domain and a codomain which are objects; one writes f f : X ! Y or X ! Y if X is the domain of the arrow f, and Y its codomain. One also writes X = dom(f) and Y = cod(f); Given two arrows f and g such that cod(f) = dom(g), the composition of f and g, written gf, is de ned and has domain dom(f) and codomain cod(g): f g X !Y !Z

Composition is associative, that is: given f : X ! Y , g : Y ! Z and h : Z ! W, h(gf) = (hg)f; For every object X there is an identity arrow idX, satisfying idXg = g for every g : Y ! X and fidX = f for every f : X ! Y . Exercise 1. Show that idX is the unique arrow with domain X and codomain X with this property.

Examples a) 1 is the category with one object and one arrow, id ; b) 0 is the empty category;

Instead of \arrow" we also use the terms \morphism" or \map".

c) A preorder is a set X together with a binary relation which is re exive (i.e. x x for all x 2 X) and transitive (i.e. x y and y z imply x z for all x; y; z 2 X). This can be viewed as a category, with set of objects X and exactly one arrow: x ! y i x y. Exercise 2. Prove this. Prove also the converse: if C is a category such that C 0 is a set, and such that for any two objects X; Y of C there is at most one arrow: X ! Y , then C 0 is a preordered set. d) A monoid is a set X together with a binary operation, written like multiplication: xy for x; y 2 X, which is associative and has a unit element e 2 X, satisfying ex = xe = x for all x 2 X. Such a monoid is a category with one object, and an arrow x for every x 2 X.

Categories

e) Set is the category which has the class of all sets as objects, and functions between sets as arrows. Most basic categories have as objects certain mathematical structures, and the structure-preserving functions as morphisms. Examples: f) Top is the category of topological spaces and continuous functions. g) Grp is the category of groups and group homomorphisms. h) Rng is the category of rings and ring homomorphisms. i) Grph is the category of graphs and graph homomorphisms. j) Pos is the category of partially ordered sets and monotone functions. Given two categories C and D, a functor F : C ! D consists of operations F0 : C 0 ! D0 and F1 : C 1 ! D1 , such that for each f : X ! Y , F1 (f) : F0(X) ! F0(Y ) and:
f g for X ! Y ! Z, F1(gf) = F1(g)F1 (f);

F1(idX) = idF0 (X) for each X 2 C 0 .

Examples.

But usually we write just F instead of F0; F1. a) There is a functor U : Top ! Set which assigns to any topological space X its underlying set. We call this functor \forgetful": it \forgets" the mathematical structure. Similarly, there are forgetful functors Grp ! Set, Grph ! Set, Rng ! Set, Pos ! Set etcetera; b) For every category C there is a unique functor C ! 1 and a unique one 0 ! C; c) Given two categories C and D we can de ne the product category C D which has as objects pairs (C; D) 2 C 0 D0 , and as arrows:(C; D) ! (C 0; D0 ) pairs (f; g) with f : C ! C 0 in C , and g : D ! D0 in D. There are functors 0 : C D ! C and 1 : C D ! D; d) Given two functors F : C ! D and G : D ! E one can de ne the composition GF : C ! E . This composition is of course associative and since we have, for any category C , the identity functor C ! C , we have a category Cat which has categories as objects and functors as morphisms.

1. Categories and Functors

~ e) Given a set A, consider the set A of strings a1 : : :an on the alphabet A A 1 (A 1 consists of elements a 1 for each element a of A; the sets A and A 1 are disjoint and in 1-1 correspondence with each other), such that for no x 2 A, xx 1 or x 1x is a substring of a1 : : :an . Given two such strings ~ = a1 : : :an; ~ = b1 : : :bm , let ~ ? ~ the string formed by rst a b a b taking a1 : : :an b1 : : :bm and then removing from this string, successively, ~ substrings of form xx 1 or x 1x, until one has an element of A. ~ ~ This de nes a group structure on A. A is called the free group on the set A. ~ Exercise 3. Prove this, and prove that the assignment A 7! A is part of a functor: Set ! Grp. This functor is called the free functor. f) Every directed graph can be made into a category as follows: the objects are the vertices of the graph and the arrows are paths in the graph. This de nes a functor from the category Dgrph of directed graphs to Cat. The image of a directed graph D under this functor is called the category generated by the graph D. g) Quotient categories. Given a category C , a congruence relation on C speci es, for each pair of objects X; Y , an equivalence relation X;Y on the class of arrows C (X; Y ) which have domain X and codomain Y , such that for f; g : X ! Y and h : Y ! Z, if f X;Y g then hf X;Z hg; for f : X ! Y and g; h : Y ! Z, if g Y;Z h then gf X;Z hf. Given such a congruence relation on C , one can form the quotient category C = which has the same objects as C , and arrows X ! Y are X;Y -equivalence classes of arrows X ! Y in C . Exercise 4. Show this and show that there is a functor C ! C = , which takes each arrow of C to its equivalence class. h) An example of this is the following (\homotopy"). Given a topological space X and points x; y 2 X, a path from x to y is a continuous mapping f from some closed interval 0; a] to X with f(0) = x and f(a) = y. If f : 0; a] ! X is a path from x to y and g : 0; b] ! X is a path from y to z t there is a path gf : 0; a+b] ! X (de ned by gf(t) = f(t) a) else a ) g(t from x to z. This makes X into a category, the path category of X, and of course this also de nes a functor Top ! Cat. Now given paths f : 0; a] ! X, g : 0; b] ! X, both from x to y, one can de ne f x;y g if

Categories

there is a continuous map F : A ! X where A is the area: (0; 1) (0; 0) (b; 1)F
FF FF FF F

(a; 0)

in IR2, such that F(t; 0) = f(t) F(t; 1) = g(t) F(0; s) = x s 2 0; 1] F(s; t) = y (s; t) on the segment (b; 1) (a; 0) One can easily show that this is a congruence relation. The quotient of the path category by this congruence relation is a category called the category of homotopy classes of paths in X. i) let C be a category such that for every pair (X; Y ) of objects the class C (X; Y ) of arrows from X to Y is a set (such C is called locally small ). For any object C of C then, there is a functor hC : C ! Set which assigns to any object C 0 the set C (C; C 0). Any arrow f : C 0 ! C 00 gives by composition a function C (C; C 0) ! C (C; C 00), so we have a functor. A functor of this form is called a representable functor. j) Let C be a category and C an object of C . The slice category C =C has as objects all arrows g which have codomain C. An arrow from g : D ! C to h : E ! C in C =C is an arrow k : D ! E in C such that hk = g. Draw like: E D @@ k ~
/

C We say that this diagram commutes if we mean that hk = g. Exercise 5. Convince yourself that the assignment C 7! C =C gives rise to a functor C ! Cat. k) Remember that for every group (G; ) we can form a group (G; ?) by putting f ? g = g f. For categories the same construction is available: given C we can form a category C op which has the same objects and arrows as C , but with reversed direction; so if f : X ! Y in C then f : Y ! X in C op . To

@@ g @@@

~~ ~~h ~~

1. Categories and Functors

make it notationally clear, write f for the arrow Y ! X corresponding to f : X ! Y in C . Composition in C op is de ned by: fg = gf Often one reads the term \contravariant functor" in the literature. What I call functor, is then called \covariant functor". A contravariant functor F from C to D inverts the direction of the arrows, so F1 (f) : F0(cod(f)) ! F0(dom(f)) for arrows f in C . In other words, a contravariant functor from C to D is a functor from C op ! D (equivalently, from C to Dop ).

Exercise 6. Let C be locally small. Show that there is a functor (the \Hom functor") C ( ; ) : C op C ! Set, assigning to the pair (A; B) of objects of C , the set C (A; B).
l) Given a partially ordered set (X; ) we make a topological space by de ning U X to be open i for all x; y 2 X, x y and x 2 U imply y 2 U (U is \upwards closed", or an \upper set"). This is a topology, called the Alexandro topology w.r.t. the order . If (X; ) and (Y; ) are two partially ordered sets, a function f : X ! Y is monotone for the orderings if and only if f is continuous for the Alexandro topologies. This gives an important functor: Pos ! Top.

Exercise 7. Show that the construction of the quotient category in example g) generalizes that of a quotient group by a normal subgroup. That is, regard a group G as a category with one object; show that there is a bijection between congruence relations on G and normal subgroups of G, and that for a normal subgroup N of G, the quotient category by the congruence relation corresponding to N, is to the quotient group G=N.
m) \Abelianization". Let Abgp be the category of abelian groups and homomorphisms. For every group G the subgroup G; G] generated by all elements of form aba 1b 1 is a normal subgroup. G= G; G] is abelian, and for every group homomorphism : G ! H with H abelian, there is a unique homomorphism : G= G; G] ! H such that the diagram
vv vv
{

p vvvv

G= G; G]

v G ??? ?? ?? ?
/

commutes. Show that this gives a functor: Grp ! Abgp.

Categories

n) \Specialization ordering". Given a topological space X, you can de ne an ordering s on X as follows: say x s y if for all open sets U, if x 2 U then y 2 U. For many spaces, s is trivial (in particular when X is T1 ) but in case X is for example the Alexandro topology on a poset (X; ) as in l), then x s y i x y. Exercise 8. If f : X ! Y is a continuous map of topological spaces then f is monotone w.r.t. the specialization orderings s . This de nes a functor Top ! Pos. We call an arrow f : A ! B mono (or a monomorphism, or monomorphic) in a category C , if for any other object C and for any pair of arrows g; h : C ! A, fg = fh implies g = h. In Set, f is mono i f is an injective function. The same is true for Grp, Grph, Rng, Preord, Pos,: : : We call an arrow f : A ! B epi (epimorphism, epimorphic) if for any pair g; h : B ! C, gf = hf implies g = h. The de nition of epi is \dual" to the de nition of mono. That is, f is epi in the category C if and only if f is mono in C op , and vice versa. In general, given a property P of an object, arrow, diagram,:: :we can associate with P the dual property P op: the object or arrow has property P op in C i it has P in C op . The duality principle, a very important, albeit trivial, principle in category theory, says that any valid statement about categories, involving the properties P1; : : :; Pn implies the \dualized" statement (where direction of arrows is reversed) with the Pi replaced by Piop. Example. If gf is mono, then f is mono. From this, \by duality", if fg is epi, then f is epi.

1.2 Some special objects and arrows

Exercise 9. Prove these statements.


In Set, f is epi i f is a surjective function. This holds (less trivially!) also for Grp, but not for Mon, the category of monoids and monoid homomorphisms: In Mon, the embedding N ! Zis an epimorphism. f For suppose Z g (M; e; ?) two monoid homomorphisms which agree on the nonnegative integers. Then
/ /

f( 1) = f( 1) ? g(1) ? g( 1) = f( 1) ? f(1) ? g( 1) = g( 1)

1. Categories and Functors

so f and g agree on the whole of Z . We say a functor F preserves a property P if whenever an object or arrow (or: : :) has P, its F-image does so. Now a functor does not in general preserve monos or epis: the example of Mon shows that the forgetful functor Mon ! Set does not preserve epis. An epi f : A ! B is called split if there is g : B ! A such that fg = idB (other names: in this case g is called a section of f, and f a retraction of g).

Exercise 10. By duality, de ne what a split mono is. Prove that every functor preserves split epis and monos.
f : A ! B is an isomorphism if there is g : B ! A such that fg = idB and gf = idA We call g the inverse of f (and vice versa, of course); it is unique if it exists. We also write g = f 1 . Every functor preserves isomorphisms. phism. Not so in Mon, as we have seen. Here's another one: let CRng1 be the category of commutative rings with 1, and ring homomorphisms (preserving 1) as arrows. Show that the embedding Z! Q is epi in CRng1.

Exercise 11. In Set, every arrow which is both epi and mono is an isomorExercise 12.

i) If two of f, g and fg are iso, then so is the third; ii) if f is epi and split mono, it is iso; iii) if f is split epi and mono, f is iso. A functor F re ects a property P if whenever the F-image of something (object, arrow,: : :) has P, then that something has. A functor F : C ! D is called full if for every two objects A; B of C , F : C (A; B) ! D (FA; FB) is a surjection. F is faithful if this map is always injective.

Exercise 13. A faithful functor re ects epis and monos.


An object X is called terminal if for any other object Y there is exactly one morphism Y ! X in the category. Dually, X is initial if for all Y there is exactly one X ! Y .

Exercise 14. A full and faithful functor re ects the property of being a terminal (or initial) object. 7

Categories

that is there exists an isomorphism between them. Same for initial objects.

Exercise 15. If X and X 0 are two terminal objects, they are isomorphic,

2. Natural transformations

2 Natural transformations
2.1 The Yoneda lemma
A natural transformation between two functors F; G : C ! D consists of a family of morphisms ( C : FC ! GC)C 2C 0 indexed by the collection of objects of C , satisfying the following requirement: for every morphism f : C ! C 0 in C , the diagram FC
Ff
C
/

GC
Gf

FC 0

C0
/

GC 0

commutes in D (the diagram above is called the naturality square). We say = ( C )C 2C 0 : F ) G and we call C the component at C of the natural transformation . Given natural transformations : F ) G and : G ) H we have a natural transformation = ( C C )C : F ) H, and with this composition there is a category DC with functors F : C ! D as objects, and natural transformations as arrows. One of the points of the naturality square condition in the de nition of a natural transformation is given by the following proposition. Compare with the situation in Set: denoting the set of all functions from X to Y by Y X , for any set Z there is a bijection between functions Z ! Y X and functions Z X ! Y (Set is cartesian closed: see chapter 7).

Proposition 2.1 For categories C , D and E there is a bijection:


Cat(E C ; D) ! Cat(E ; DC )

Proof. Given F : E C ! D de ne for every object E of E the functor FE : C ! D by FE (C) = F(E; C); for f : C ! C 0 let FE (f) = F(idE ; f) : FE (C) = F(E; C) ! F(E; C0) = FE (C0 ) Given g : E ! E 0 in E , the family (F(g; idC) : FE (C) ! FE0 (C))C2C 0 is a natural transformation: FE ) FE 0 . So we have a functor F 7! F( ) : E ! D C . ~ Conversely, given a functor G : E ! D C we de ne a functor G : E C ! D on ~ C) = G(E)(C), and on arrows by G(g; f) = G(g)C 0 G(E)(f) = ~ objects by G(E; 9

Categories

G(E 0)(f)G(g)C :
G(g)C ~ 0 ~ G(E)(C) = G(E; C) G(E ; C) = G(E 0)(C)
/

G(E )(f )

G(E 0 )(f ) G(g)C0


/

~ G(E; C 0)

~ G(E 0; C 0) = G(E 0)(C 0 )

~ Exercise 16. Write out the details. Check that G as just de ned, is a functor, and that the two operations Cat(E C ; D)
o /

Cat(E ; DC )

are inverse to each other. An important example of natural transformations arises from the functors hC : C op ! Set (see example i) in the preceding chapter); de ned on objects by hC (C 0) = C (C 0; C) and on arrows f : C 00 ! C 0 so that hC (f) is composition with f: C (C 0; C) ! C (C 00; C). Given g : C1 ! C2 there is a natural transformation hg : hC1 ) hC2 whose components are composition with g.

Exercise 17. Spell this out.


We have, in other words, a functor h( ) : C ! SetC
ding.
op

This functor is also often denoted by Y and listens to the name Yoneda embed-

An embedding is a functor which is full and faithful and injective on objects. That Y is injective on objects is easy to see, because idC 2 hC (C) for each object C, and idC is in no other set hD (E); that Y is full and faithful follows from the famous

op Proposition 2.2 (Yoneda lemma) For every object F of SetC and every op object C of C , there is a bijection fC;F : SetC (hC ; F) ! F(C). Moreover, this bijection is natural in C and F in the following sense: given g : C 0 ! C in C 10

2. Natural transformations

and : F ) F 0 in SetC , the diagram


op

SetC (g;
op

SetC (hC ; F)
op ) C op

fC;F
/

F(C)
C0 F (g)=F 0 (g) C

Set
commutes in Set.

(hC 0 ; F 0) fC0 ;F 0 F 0(C 0)


/

to idCf which is hC (f)(idC ). If = ( C 0 jC 0 2 C 0 ) is a natural transformation: hC ) F then, C 0 (f) must be equal to F(f)( C (idC )). So is completely determined by C (idC) 2 F(C) and conversely, any element of F(C) determines a natural transformation hC ) F. op op Given g : C 0 ! C in C and : F ) F 0 in SetC , the map SetC (g; ) sends the natural transformation = ( C 00 jC 00 2 C 0) : hC ) F to = ( C 00 jC 00 2 C 0 ) where C 00 : hC 0 (C 00) ! F 0(C 00) is de ned by
C 00 (h : C 00 ! C 0 ) = C 00 ( C 00 (gh))

Proof. For every object C 0 of C , every element f of hC (C 0 ) = C (C 0; C) is equal

Now

fC 0 ;F 0 ( ) = C 0 (idC0 ) = C 0 ( C 0 (g)) = C 0 (F(g)( C (idC))) = ( C 0 F(g))(fC;F ( ))

which proves the naturality statement.


op Corollary 2.3 The functor Y : C ! SetC is full and faithful. Proof. Immediate by the Yoneda lemma, since op C (C; C 0) = hC 0 (C) = SetC (hC ; hC 0 )

and this bijection is induced by Y . The use of the Yoneda lemma is often the following. One wants to prove that objects A and B of C are isomorphic. Suppose one can show that for every object X of C there is a bijection fX : C (X; A) ! C (X; B) which is natural in

11

Categories

X; i.e. given g : X 0 ! X in C one has that

C (X; A) C (g;idA ) C (X 0 ; A)

fX
/

fX 0
/

C (X; B) C (g;idB ) C (X 0 ; B)

commutes. Then one can conclude that A and B are isomorphic in C ; for, from what op one has just shown it follows that hA and hB are isomorphic objects in SetC ; that is, Y (A) and Y (B) are isomorphic. Since Y is full and faithful, A and B are isomorphic by the following exercise:

Exercise 18. Check: if F : C ! D is full and faithful, and F(A) is isomorphic to F(B) in D, then A is isomorphic to B in C . Exercise 19. Suppose objects A and B are such that for every object X in C there is a bijection fX : C (A; X) ! C (B; X), naturally in a sense you de ne yourself. Conclude that A and B are isomorphic (hint: duality + the previous).
This argument can be carried further. Suppose one wants to show that two functors F; G : C ! D are isomorphic as objects of DC . Let's rst spell out what this means:

isomorphic, by isomorphisms which are natural in C. By full and faithfulness of Y , FC and GC are isomorphic in D by isomorphisms natural in C; which says exactly that F and G are isomorphic as objects of DC .

Exercise 20. Show that F and G are isomorphic in DC if and only if there is a natural transformation : F ) G such that all components C are isomorphisms (in particular, if is such, the family (( C ) 1 jC 2 C 0) is also a natural transformation G ) F). Now suppose one has for each C 2 C 0 and D 2 D0 a bijection D(D; FC) = D(D; GC) op natural in D and C. This means that the objects hFC and hGC of SetD are

2.2 Examples of natural transformations


12

a) Let M and N be two monoids, regarded as categories with one object as in chapter 1. A functor F : M ! N is then just the same as a homomorphism

2. Natural transformations

of monoids. Given two such, say F; G : M ! N, a natural transformation F ) G is (given by) an element n of N such that nF(x) = G(x)n for all x 2 M; b) Let P and Q two preorders, regarded as categories. A functor P ! Q is a monotone function, and there exists a unique natural transformation between two such, F ) G, exactly if F(x) G(x) for all x 2 P. Exercise 21. In fact, show that if D is a preorder and the category C is small, i.e. the classes C 0 and C 1 are sets, then the functor category DC is a preorder. c) Let U : Grp ! Set denote the forgetful functor, and F : Set ! Grp the free functor (see chapter 1). There are natural transformations " : FU ) idGrp and : idSet ) UF. Given a group G, "G takes the string = g1 : : :gn to the product g1 gn (here, the \formal inverses" gi 1 are interpreted as the real inverses in G!). Given a set A, A(a) is the singleton string a. d) Let i : Abgp ! Grp be the inclusion functor and r : Grp ! Abgp the abelianization functor de ned in example m) in chapter 1. There is " : ri ) idAbgp and : idGrp ) ir. The components G of are the quotient maps G ! G= G; G]; the components of " are isomorphisms. e) There are at least two ways to associate a category to a set X: let F(X) be the category with as objects the elements of X, and as only arrows identities (a category of the form F(X) is called discrete; and G(X) the category with the same objects but with exactly one arrow fx;y : x ! y for each pair (x; y) of elements of X (We might call G(X) an indiscrete category). Exercise 22. Check that F and G can be extended to functors: Set ! Cat and describe the natural transformation : F ) G which has, at each component, the identity function on objects. f) Every class of arrows of a category C can be viewed as a natural transformation. Suppose S C 1. Let F(S) be the discrete category on S as in the preceding example. There are the two functors dom; cod : F(S) ! C , giving the domain and the codomain, respectively. For every f 2 S we have f : dom(f) ! cod(f), and the family (f jf 2 S) de nes a natural transformation: dom ) cod. g) Let A and B be sets. There are functors ( ) A : Set ! Set and ( ) B : Set ! Set. Any function f : A ! B gives a natural transformation ( ) A ) ( ) B.

13

Categories

h) A category C is called a groupoid if every arrow of C is an isomorphism. Let C be a groupoid, and suppose we are given, for each object X of C , an arrow X in C with domain X. Exercise 23. Show that there is a functor F : C ! C in this case, which acts on objects by F(X) = cod( X ), and that = ( X jX 2 C 0 ) is a natural transformation: idC ) F. i) Given categories C , D and an object D of D, there is the constant functor D : C ! D which assigns D to every object of C and idD to every arrow of C . Every arrow f : D ! D0 gives a natural transformation f : D ) D0 de ned by ( f )C = f for each C 2 C 0 . j) Let P (X) denote the power set of a set X: the set of subsets of X. The powerset operation can be extended to a functor P : Set ! Set. Given a function f : X ! Y de ne P (f) by P (f)(A) = f A], the image of A X under f. There is a natural transformation : idSet ) P such that X (x) = fxg 2 P (X) for each set X. There is also a natural transformation : PP ) P . Given A 2 PP (X), S so A is a set of subsets of X, we take its union (A) which is a subset of S X. Put X (A) = (A). As will become clear in the following chapters, equality between objects plays only a minor role in category theory. The most important categorical notions are only de ned \up to isomorphism". This is in accordance with mathematical practice and with common sense: just renaming all elements of a group does not give you really another group. We have already seen one example of this: the property of being a terminal object de nes an object up to isomorphism. That is, any two terminal objects are isomorphic. There is, in the language of categories, no way of distinguishing between two isomorphic objects, so this is as far as we can get. However, once we also consider functor categories, it turns out that there is another relation of \sameness" between categories, weaker than isomorphism of categories, and yet preserving all \good" categorical properties. Isomorphism of categories C and D requires the existence of functors F : C ! D and G : D ! C such that FG = idD and GF = idC ; but bearing in mind that we can't really say meaningful things about equality between objects, we may relax the requirement by just asking that FG is isomorphic to idD in the functor category DD (and

2.3 Equivalence of categories; an example

14

2. Natural transformations

the same for GF); doing this we arrive at the notion of equivalence of categories, which is generally regarded as the proper notion of sameness. So two categories C and D are equivalent if there are functors F : C ! D , G : D ! C and natural transformations : idC ) GF and : idD ) FG whose components are all isomorphisms. F and G are called pseudo inverses of each other. A functor which has a pseudo inverse is also called an equivalence of categories.

Exercise 24. Show that a category is equivalent to a discrete category if and only if it is a groupoid and a preorder.
In this section I want to give an important example of an equivalence of categories: the so-called \Lindenbaum-Tarski duality between Set and Complete Atomic Boolean Algebras". A duality between categories C and D is an equivalence between C op and D (equivalently, between C and D op ). We need some de nitions. A lattice is a partially ordered set in which every two elements x; y have a least upper bound (or join) x _ y and a greatest lower bound (or meet) x ^ y; moreover, there exist a least element 0 and a greatest element 1. Such a lattice is called a Boolean algebra if every element x has a complement :x, that is, satisfying x _ :x = 1 and x ^:x = 0; and the lattice is distributive, which means that x ^ (y _ z) = (x ^ y) _ (x ^ z) for all x; y; z. In a Boolean algebra, complements are unique, for if both y and z are complements of x, then y = y ^ 1 = y ^ (x _ z) = (y ^ x) _ (y ^ z) = 0 _ (y ^ z) = y ^ z so y z; similarly, z y so y = z. This is a non-example: 1 ?? x/
?? ?? ? // // // // // // /

z y

0 It is a lattice, and every element has a complement, but it is not distributive (check!). A Boolean algebra B is complete if V subset A of B has a least upper every W bound A and a greatest lower bound A.

15

Categories

An atom in a Boolean algebra is an element x such that 0 < x but for no y we have 0 < y < x. A Boolean algebra is atomic if every x is the join of the atoms below it: _ x = faja x and a is an atomg The category CABool is de ned as follows: the objects are complete atomic Boolean algebras, and the arrows are complete homomorphisms, that is: f : B ! C is a complete homomorphism if for every A B,

Exercise 25. Show that 1 = V ; and 0 = W ;. Conclude that a complete


homomorphism preserves 1, 0 and complements. preserves all 's, 1 and complements, it is a complete homomorphism. Theorem 2.4 The category CABool is equivalent to Setop. Proof. For every set X, P (X) is a complete atomic Boolean algebra and if f : Y ! X is a function, then f 1 : P (X) ! P (Y ) which takes, for each subset of X, its inverse image under f, is a complete homomorphism. So this de nes a functor F : Setop ! CABool. Conversely, given a complete atomic Boolean algebra B, let G(B) be the set of atoms of B. Given a complete homomorphism g : B ! C we have a function G(g) : G(C) ! G(B) de ned by: G(g)(c) is the unique b 2 G(B) such that c g(b). This is well-de ned: rst, there is an atom b with c g(b) because W W 1B = G(B) (B is atomic), so 1C = g(1B ) = fg(b)jb is an atomg and:

f( A) = ff(a)ja 2 Ag and f( A) = ff(a)ja 2 Ag

Exercise 26.WShow that V A = : Wf:aja 2 Ag and conclude that if a function

Exercise 27. Prove: if c is an atom and c W A, then there is a 2 A with c a (hint: prove for all a; b that a ^ b = 0 , a :b, and prove for a; c with c atom: c 6 a , a :c).

Secondly, the atom b is unique since c g(b) and c g(b0 ) means c g(b) ^ g(b0 ) = g(b ^ b0 ) = g(0) = 0. So we have a functor G : CABool ! Setop . Now the atoms of the Boolean algebra P (X) are exactly the singleton subsets of X, so GF(X) = ffxgjx 2 X g which is clearly isomorphic to X. On the other hand, FG(B) = P (fb 2 B jb is an atomg). There is a map from FG(B) to B which sends each set of atoms to its least upper bound in B, and this map is an isomorphism in CABool.

Exercise 28. Prove the last statement: that the map from FG(B) to B,
de ned in the last paragraph of the proof, is an isomorphism.

16

3. (Co)cones and (co)limits

3.1 Limits

3 (Co)cones and (co)limits

Given a functor F : C ! D, a cone for F consists of an object D of D together with a natural transformation : D ) F ( D is the constant functor with value D). In other words, we have a family ( C : D ! F(C)jC 2 C 0 ), and the naturality requirement in this case means that for every arrow f : C ! C 0 in C ,
z C zzz z z zz

D EE

F(C)
|

EE C0 EE EE
" /

F (f )

F(C 0)

commutes in D (this diagram explains, I hope, the name \cone"). Let us denote the cone by (D; ). D is called the vertex of the cone. A map of cones (D; ) ! (D0 ; 0) is a map g : D ! D0 such that 0C g = C for all C 2 C 0. Clearly, there is a category Cone(F) which has as objects the cones for F and as morphisms maps of cones. A limiting cone for F is a terminal object in Cone(F). Since terminal objects are unique up to isomorphism, as we have seen, any two limiting cones are isomorphic in Cone(F) and in particular, their vertices are isomorphic in D. A functor F : C ! D is also called a diagram in D of type C , and C is the index category of the diagram. Let us see what it means to be a limiting cone, in some simple, important cases. i) A limiting cone for the unique functor ! : 0 ! D (0 is the empty category) \is" a terminal object in D . For every object D of D determines, together with the empty family, a cone for !, and a map of cones is just an arrow in D. So Cone(!) is isomorphic to D. ii) Let 2 be the discrete category with two objects x; y. A functor 2 ! D is just a pair hA; B i of objects of D , and a cone for this functor consists of C @@ A A an object C of D and two maps B@@@@ since there are no nontrivial @ B arrows in 2. (C; ( A; B )) is a limiting cone for hA; B i i the following holds: for any object D and arrows f : D ! A, g : D ! B, there is a unique arrow
/

17

Categories

h : D ! C such that

D PPPP A f
/

0 h ~ ~ 000 A 0 ~
>

B commutes. In other words, there is, for any D, a 1-1 correspondence D @@ @@ ~~ @@ This is between maps D ! C and pairs of maps ~~~~ @ ~ A B the property of a product; a limiting cone for hA; B i is therefore called a product cone, and usually denoted: A BF F x
'

00 00 B 00 PPP PPP 00 g PPP 0 P

a iii) Let ^ denote the category x b y . A functor ^ ! D is the same thing 2 2 f as a parallel pair of arrows A g B in D ; I write hf; gi for this functor. A cone for hf; gi is: D ~ @@
/ / / /

A B The arrows A and B are called projections.


| #

Axxxx xx xx

FF B FF FF F

A ~~~ ~ f ~~

@@ B @@ @
/ /

But B = f A = g A is already de ned from A , so giving a cone is the same as giving a map A : D ! A such that f A = g A . Such a cone is limiting i for any other map h : C ! A with fh = gh, there is a unique k : C ! D such that h = A k. We call A , if it is limiting, an equalizer of the pair f; g, and the diagram f D A A g B an equalizer diagram.
/ / /

In Sets, an equalizer of f; g is isomorphic (as a cone) to the inclusion of fa 2 Ajf(a) = g(a)g into A. In categorical interpretations of logical

18

3. (Co)cones and (co)limits

Exercise 29. Show that every equalizer is a monomorphism. Exercise 30. If E


diagram. X g Y is an equalizer diagram, show that e is an isomorphism if and only if f = g.
/ / /

between terms.

systems (see chapters 4 and 7), equalizers are used to interpret equality
f

Exercise 31. Show that in Set, every monomorphism ts into an equalizer


y
b

iv) Let J denote the category

x a z by giving two arrows in D with the same codomain, say f : X ! Z, g : Y ! Z. A limit for such a functor is given by an object W together p W Y Y with projections pX satisfying fpX = gpY , and such that, X V r Y given any other pair of arrows: s with gr = fs, there is a X unique arrow V ! W such that PP V 0 AA PP
/ / /

A functor F : J ! D is speci ed

00 AA PPP r 00 AAA PPPP PPP 00 A P 00 W s 0 pY Y 00 g 00 pX


( /

X f Z
/

commutes. The diagram

pX

pY
/

Y
/

X f Z

19

Categories

Proposition 3.1 If a category D has a terminal object and pullbacks, it has binary products and equalizers. If D has binary products and equalizers, it has pullbacks. Proof. Let 1 be the terminal object in D; given objects X and Y , if
is a pullback diagram, then pY C Y
pX
/

is called a pullback diagram. In Set, the pullback cone for f; g is isomorphic to f(x; y) 2 X Y jf(x) = g(y)g with the obvious projections. We say that a category D has binary products (equalizers, pullbacks) i every functor 2 ! D (^ ! D, J ! D, respectively) has a limiting cone. Some 2 dependencies hold in this context:

pY

C Y

pX

X
/

is a product cone. X
f
/

A we write and maps g B B B hf;gi X ! A B for the unique factorization through the product. Write also : Y ! Y Y for hidY ; idY i. Now given f; g : X ! Y , if
/

Given a product cone

A B

E Y

e
/

hf;gi

Y
/ /

f is a pullback diagram, then E e X g Y is an equalizer diagram. This proves the rst statement. X f let E e X Y f X Z be an As for the second: given g Y Y g Z
/ / / / /

20

3. (Co)cones and (co)limits

equalizer; then

E
Ye

Xe
/

X
f
/

Y is a pullback diagram.

Exercise 32. Let

A b B
/

a
/

X g Y a pullback diagram with f mono. Show that a is also mono. Also, if f is iso (an isomorphism), so is a.

Exercise 33. Given:

A b B c C
/ /

f
/

d
/

X g Y h Z a) if both squares are pullback squares, then so is the composite square A cb C


/

a
/

X hg Z b) If the right hand square and the composite square are pullbacks, then so is the left hand square. Exercise 34. f : A ! B is a monomorphism if and only if A
idA
/

idA
/

A
f

A f B is a pullback diagram.

21

Categories

A monomorphism f : A ! B which ts into an equalizer diagram A is called a regular mono.


f
/

B h C
/ /

Exercise 35. If

A a X
/

B f Y is a pullback and g is regular mono, so is b.


/

Exercise 36. If f is regular mono and epi, f is iso. Every split mono is regular. Exercise 37. Give an example of a category in which not every mono is regular. Exercise 38. In Grp, every mono is regular This is not so easy]. Exercise 39. In Pos, every mono is regular. Exercise 40. If a category D has binary products and a terminal object, it has all nite products, i.e. limiting cones for every functor into D from a nite
discrete category.

Exercise 41. Suppose C has binary products and suppose for every ordered
pair (A; B) of objects of C a product cone A B
B A
/

has been chosen.

B a) Show that there is a functor: C C ! C (the product functor) which sends each pair (A; B) of objects to A B and each pair of arrows (f : A ! A0 ; g : B ! B 0 ) to f g = hf A ; g B i. b) From a), there are functors:
( ( )
/

C C C

)
/

22

3. (Co)cones and (co)limits

B) C sending (A; B; C) to (A (B C) Show that there is a natural transA formation a = (aA;B;C jA; B; C 2 C 0 ) from ( ) to ( ) such that for any four objects A; B; C; D of C : ((A B) C) D
aA;B;C idD aA B;C;D
/

(A B) (C D)
aA;B;C D

(A (B C)) TT D

TTTT TTTT aA;B C;D TTTTT


)

A ((B C) D)

jj jjjj jjjjaB;C;D j jjjj idA


5

A (B (C D))

commutes (This diagram is called \MacLane's pentagon"). A functor F : C ! D is said to preserve limits of type E if for all functors M : E ! C , if (D; ) is a limiting cone for M in C , then (FD; F = (F( E )jE 2 E0 )) is a limiting cone for FM in D . So, a functor F : C ! D preserves binary products if for every product diaF( ) F(A B) B F(B) A B B B is again a product its F-image F ( A ) gram A A F(A) diagram. Similarly for equalizers and pullbacks. Some more terminology: F is said to preserve all nite limits if it preserves limits of type E for every nite E . A category which has all nite limits is called lex (left exact ), cartesian or nitely complete. A category is called complete if it has limits of type E for all small E . In general, limits over large (i.e. not small) diagrams do not exist. For example in Set, there is a limiting cone for the identity functor Set ! Set (its vertex is the empty set), but not for the inclusion functor of the subcategory of all nonempty sets into Set.
/ /

Exercise 42. If a category C has equalizers, it has all nite equalizers: for every category E of the form
X
f1 fn
/

.. .

every functor E ! C has a limiting cone.

23

Categories

Exercise 43. Suppose F : C ! D preserves equalizers (and C has equalizers) and re ects isomorphisms. Then F is faithful. Exercise 44. Let C be a category with nite limits. Show that for every object C of C , the slice category C =C (example j) of 1.1) has binary products: the vertex of a product diagram for two objects D ! C, D0 ! C is D00 ! C
D00
/

where

D
/

is a pullback square in C .

D0

In Set, every small diagram has a limit; given a functor F : E ! Set with E small, there is a limiting cone for F in Set with vertex

3.2 Limits by products and equalizers


f(xE )E 2E0 2
Y

E 2E0

f F(E)j8E ! E 0 2 E1(F(f)(xE ) = xE 0 )g

So in Set, limits are equationally de ned subsets of suitable products. This holds in any category:

Proposition 3.2 Suppose C has all small products (including the empty product, i.e. a terminal object 1) and equalizers; then C has all small limits. Proof. Given a set I Q an I-indexed family of objects (Ai ji 2 I) of C , we and Q denote the product by i2I Ai and projections by i : i2I Ai ! Ai ; an arrow Q f : X ! i2I Ai which is determined by the compositions fi = if : X ! Ai , is also denoted (fi ji 2 I). Now given E ! C with E0 and E1 sets, we construct
( cod(u) ju2E1 ) Q Q F(i) E e i2E0 u2E1 F(cod(u)) (F (u) dom(u) ju2E1 )
/ / /

in C as an equalizer diagram. The family ( i = i e : E ! F(i)ji 2 E0 ) is a natural transformation E ) F because, given an arrow u 2 E1 , say u : i ! j, we have that E { CC F(i)
}

i e {{{ {{ {{

CC j e CC CC
! /

F (u)

F(j)

24

3. (Co)cones and (co)limits

commutes since F(u) ie = F(u) dom(u)e = cod(u) e = j e. So (E;Q ) is a cone for F, but every other cone (D; ) for F gives a map d : D ! i2E0 F(i) equalizing the two horizontal arrows; so factors uniquely through E.

Exercise 45. Check that \small" in the statement of the proposition, can be replaced by \ nite": if C has all nite products and equalizers, C is nitely complete.

3.3 Colimits

The dual notion of limit is colimit. Given a functor F : E ! C there is clearly a functor F op : E op ! C op which does \the same" as F. We say that a colimiting cocone for F is a limiting cone for F op . So: a cocone for F : E ! C is a pair ( ; D) where : F ) D and a colimiting cocone is an initial object in the category Cocone(F).

Examples

i) a colimiting cocone for ! : 0 ! C \is" an initial object of C ii) a colimiting cocone for hA; B i : 2 ! C is a coproduct of A and B in C : usually denoted A + B or A t B; there are coprojections or coproduct
inclusions

A FFF B

FF A FF FF
#

B
/

AtB

f g with the property that, given any pair of arrows A ! C, B ! C there is a unique map f : A t B ! C such that f = f A and g = f B g g g

2 iii) a colimiting cocone for A g B (as functor ^ ! C ) is given by a map c h B ! C satisfying cf 0= cg, and such that for any B ! D with hf = hg h D with h = h0 c. c is called a coequalizer for f and there is a unique C ! g; the diagram A B C a coequalizer diagram. Exercise 46. Is the terminology \coproduct inclusions" correct? That is, it suggests they are monos. Is this always the case?
/ / / / /

In Set, the coproduct of X and Y is the disjoint union (f0g X) (f1g Y )

25

Categories

of X and Y . The coequalizer of X g Y is the quotient map Y ! Y= where is the equivalence relation generated by
/ /

y y0 i there is x 2 X with f(x) = y and g(x) = y0 The dual notion of pullback is pushout. A pushout diagram is a colimiting y x . Such a diagram cocone for a functor ! C where is the category z is a square f X Y
/ /

a
/

Z b P Y ?? ?? ?? with f = g, there is a which commutes and such that, given ? Q Z p f unique P ! Q with = pa and = pb. In Set, the pushout of X ! Y and g X ! Z is the coproduct Y t Z where the two images of X are identi ed: Y
/

* HH j H

HH j H *
X

Z f g Exercise 47. Give yourself, in terms of X ! Y and X ! Z, a formal de nition of a relation R on Y t Z such that the pushout of f and g is Y t Z= , being the equivalence relation generated by R. One can now dualize every result and exercise from the section on limits:

26

3. (Co)cones and (co)limits

Exercise 48. f is epi if and only if


f
/

f
id
/

id

is a pushout diagram.

Exercise 49. Every coequalizer is an epimorphism; if e is a coequalizer of


f and g, then e is iso i f = g

Exercise 50. If C has an initial object and pushouts, C has binary coproducts and coequalizers; if C has binary coproducts and coequalizers, C has pushouts.
/

Exercise 51. If

a
/

is a pushout diagram, then a epi implies f epi,

and a regular epi (i.e. a coequalizer) implies f regular epi.

Exercise 52. The composition of two puhout squares is a pushout; if both


the rst square and the composition are pushouts, the second square is. all small ( nite) colimits.

Exercise 53. If C has all small ( nite) coproducts and coequalizers, C has
f Exercise 54. In Pos, X ! Y is a regular epi if and only if for all y; y0 in Y: y y0 , 9x 2 f 1 (y)9x0 2 f 1 (y0 ):x x0

Show by an example that not every epi is regular in Pos.

Exercise 55. In Grp, every epi is regular.

27

Categories

28

4. A little piece of categorical logic

One of the major achievements of category theory in mathematical logic and in computer science, has been a uni ed treatment of semantics for all kinds of logical systems and term calculi which are the basis for programming languages. One can say that mathematical logic, seen as the study of classical rst order logic, rst started to be a real subject with the discovery, by Godel, of the completeness theorem for set-theoretic interpretations: a sentence ' is provable if and only if ' is true in all possible interpretations. This unites the two approaches to logic: proof theory and model theory, makes logic accessible for mathematical methods and enables one to give nice and elegant proofs of proof theoretical properties by model theory (for example, the Beth and Craig de nability and interpolation theorems). However the completeness theorem needs generalization once one considers logics, such as intuitionistic logic (which does not admit the principle of excluded middle), minimal logic (which has no negation) or modal logic (where the logic has an extra operator, expressing \necessarily true"), for which the set-theoretic interpretation is not complete. One therefore comes with a general de nition of \interpretation" in a category C of a logical system, which generalizes Tarski's truth de nition: this will then be the special case of classical logic and the category Set. In this chapter I treat, for reasons of space, only a fragment of rst order logic: coherent logic. On this fragment the valid statements of classical and intuitionistic logic coincide. For an interpretation of a term calculus like the -calculus, which is of paramount importance in theoretical computer science, the reader is referred to chapter 7.

4 A little piece of categorical logic

De nition 4.1 A category C is called regular if the following conditions hold: a) C has all nite limits;
b) For every arrow f , if
p1 p0

4.1 Regular categories and subobjects

p0
/

X
f
/

X f Y
is a pullback (then Z p1 X is called the kernel pair of f ), the coequalizer of p0; p1 exists;
/ /

29

Categories

c) Regular epimorphisms (coequalizers) are stable under pullback, that is: in a pullback square
/

a
/

if f is regular epi, so is a.

Exercise 56. Set is regular. Prove that Pos is regular. Show that Top is not regular the case of Top may cause you some trouble; don't worry]. Proposition 4.2 eIn a regular category, every arrow f : X ! Y can be factored m as f = me : X ! E ! Y where e is regular epi and m is mono; and this e0 m0 factorization is unique in the sense that if f is also m0 e0 : X ! E 0 ! Y with m0 mono and e0 regular epi, there is an isomorphism : E ! E 0 such that e = e0 and m0 = m. e Proof. Given f : X ! Y we let X ! E be the coequalizer of the kernel pair p0 Z p1 X of f. Since fp0 = fp1 there is a unique m : E ! Y such that f = me. By construction e is regular epi; we must show that m is mono, and the uniqueness of the factorization. Suppose mg = mh for g; h : W ! E; we prove that g = h. Let
/ /

hq0 ;q1 i

a
/

hg;hi

X X e e E E
/

be a pullback square. Then fq0 = meq0 = mga = mha = meq1 = fq1


b so there is a unique arrow V ! Z such that hq0 ; q1i = hp0 ; p1ib : V ! X X (because of the kernel pair property). It follows that

ga = eq0 = ep0 b = ep1 b = eq1 = ha I claim that a is epi, so it follows that g = h. It is here that we use the requirement that regular epis are stable under pullback. Now e e : X X ! E E is the composite
id E X X e ! X E X id! e E E

30

4. A little piece of categorical logic

and both maps are regular epis since both squares X Xe


0
/

idX
/

E X
0

and

E X
1

idE e
/

E E
1
/

X E X E e e are pullbacks. The map a, being the pullback of a composite of regular epis, is then itself the composite of regular epis (check this!), so in particular epi. This proves that m is mono, and we have our factorization. As to uniqueness, suppose we had another factorization f = m0 e0 with m0 mono and e0 regular epi. Then m0 e0 p0 = fp0 = fp1 = m0 e0 p1 so since m0 mono, e0 p0 = e0 p1 . Because e is the coequalizer of p0 and p1 , there is a unique :
?? ?? 0 ??? e
/

Then m0 e = m0 e0 = f = me so since e epi, m = m0 .


k
/

Now e0 : X ! E 0 is a coequalizer; say U X e E 0 is a coequalizer l diagram. Then it follows that ek = el (since mek = m0 e0 k = m0 e0 l = mel and
/ /

m mono) so there is a unique : mono and e epi, phism.

= idE . Similarly,

?? ?? ? e0 ??
/ O

Then m e = m e0 = me; since m = idE0 . So is the required isomora


/

Exercise 57. Check this detail: in a regular category C , if


b
/

is a

pullback diagram and b = c1 c2 with c1 and c2 regular epis, then a = a1a2 for some regular epis a1 ; a2.

Subobjects. In any category C we de ne a subobject ofman object X to be m an equivalence class of monomorphisms Y ! X, where Y ! X is equivalent to m0 X if there is an isomorphism : Y ! Y 0 with m0 = m (then m 1 = m0 Y0 ! 0 m ! follws). We say that Y ! X represents a smaller subobject than Y 0 m X if there is : Y ! Y 0 with m0 = m ( not necessarily iso; but check that is always mono). The notion of subobject is the categorical version of the notion of subset in set theory. In Set, two injective functions represent the same subobject i their images are the same; one can therefore identify subobjects with subsets. Note 31

Categories

however, that in Set we have a \canonical" choice of representative for each subobject: the inclusion of the subset to which the subobject corresponds. This choice is not always available in general categories. We have a partial order Sub(X) of subobjects of X, ordered by the smallerthan relation.

Proposition 4.3 In a category C with nite limits, each pair of elements of Sub(X) has a greatest lower bound. Moreover, Sub(X) has a largest element.
0 m ! X and Y 0 m X represent two subobjects of X and !

Proof. If Y

m
/

Y 0 m0 X is a pullback, then Z ! X is mono, and represents the greatest lower bound (check!). ! Of course, the identity X idX X represents the top element of Sub(X). f e m Because the factorization of X ! Y as X ! E ! Y with e regular epi and m mono, in a regular category C , is only de ned up to isomorphism, it de nes rather a subobject of Y than a mono into Y ; this de ned subobject is called the image of f and denoted Im(f) (compare with the situation in Set).

Exercise 58. Im(f) is the smallest subobject of Y through which f factors: a for a subobject represented by n : A ! Y we have that there is X ! A with
f = na, if and only if Im(f) is smaller than the subobject represented by n. Since monos and isos are stable under pullback, in any category C with pullbacks, any arrow f : X ! Y determines an order preserving map f : Sub(Y ) ! m Sub(X) by pullback along f: if E ! Y represents the subobject M of Y and E F n m is a pullback, F ! X represents f (M). n X f Y Exercise 59. Check that f is well de ned and order preserving. Proposition 4.4 In a regular category, each f preserves greatest lower bounds and images, that is: for f : X ! Y , i) for subobjects M; N of Y , f (M ^ N) = f (M) ^ f (N);
/ / /

ii) if g0
f
/

g is a pullback, then

f (Im(g)) = Im(g0 ).

32

4. A little piece of categorical logic

Exercise 60. Prove proposition 4.4.


The fragment of rst order logic we are going to interpret in regular categories is the so-called coherent fragment. The logical symbols are = (equality), ^ (conjunction) and 9 (existential quanti cation). A language consists of a set of sorts S; T; : : :; a denumerable collection of variables xS ; xS ; : : : of sort S, for each sort; and a collection of 1 2 function symbols (f : S1 ; : : :; Sn ! S). The case n = 0 is not excluded (one thinks of constants of a sort), but not separately treated. We now de ne, inductively, terms of sort S and formulas. De nition 4.5 Terms of sort S are de ned by: i) xS is a term of sort S if xS is a variable of sort S ; ii) if t1; : : :; tn are terms of sorts S1 ; : : :; Sn respectively, and (f : S1 ; : : :Sn ! S) is a function symbol of the language, then f(t1 ; : : :; tn) is a term of sort S.
Formulas are de ned by: i) > is a formula (the formula \true"); ii) if t and s are terms of the same sort, then t = s is a formula; iii) if ' and are formulas then (' ^ ) is a formula; iv) if ' is a formula and x a variable of some sort, then 9x' is a formula. An interpretation of such a language in a regular category C starts by choos-

4.2 Coherent logic in regular categories

ing for each sort S an object S ] of C , and for each function symbol (f : S1 ; : : :; Sn ! S) of the language, an arrow f ] : S1 ] Sn ] ! S ] in C. Given this, we de ne interpretations t ] for terms t and ' ] for formulas ', as follows. Write FV (t) for the set of variables which occur in t, and FV (') for the set of free variables in '. We put FV (t) ] = S1 ] Sn ] if FV (t) = fxS1 ; : : :; xSn g; the same n 1 for FV (') ] . Note: in the products FV (t) ] and FV (') ] we take a copy of S ] for every variable of sort S! Let me further emphasize that the empty product is 1, so if FV (t) (or FV (')) is ;, FV (t) ] (or FV (') ] ) is the terminal object of the category.

33

Categories

De nition 4.6 The interpretation of a term t of sort S is a morphism t ] : FV (t) ] ! S ] and is de ned by the clauses:
i) xS ] is the identity on S ] , if xS is a variable of sort S ; ii) Given ti ] : FV (ti ) ] ! Si ] for i = 1; : : :; n and a function symbol (f : S1 ; : : :; Sn ! S) of the language, f(t1 ; : : :; tn) ] is the map

FV (f(t1 ; : : :; tn)) ]
where ~i is the composite t

~ (ti ji=1;:::;n) Qn i=1


/

Si ]

f]
/

S]

FV (f(t1 ; : : :; tn)) ]

i
/

FV (ti ) ] ti ] Si ]
/

in which i is the appropriate projection, corresponding to the inclusion FV (ti ) FV (f(t1 ; : : :; tn)). Finally, we interpret formulas ' as subobjects ' ] of FV (') ] . You should try

to keep in mind the intuition that '(x1; : : :; xn) ] is the \subset" f(a1; : : :; an) 2 A1 Anj' a1; : : :; an]g De nition 4.7 The interpretation ' ] as subobject of FV (') ] is de ned as
follows: i) > ] is the maximal subobject of FV (>) ] = 1; ii) t = s ] ! FV (t = s) ] is the equalizer of

FV (t = s) ]
/

FV (t) ] FV (s) ]

t]
/

s]
/

T]

if t and s are of sort T ; again, the left hand side maps are projections, corresponding to the inclusions of FV (t) and FV (s) into FV (t = s); iii) if ' ] ! FV (') ] and ] ! FV ( ) ] are given and

FV (' ^ O) ]

1 FV (') ] OOO OOO 2 OOOO


/ '

FV ( ) ]

are again the suitable projections, then (' ^ ) ] ! FV (' ^ ) ] is the greatest lower bound in Sub( FV (' ^ ) ] ) of 1 ( ' ] ) and 2 ( ] );

34

4. A little piece of categorical logic

iv) if ' ] ! FV (') ] is given and : FV (') ] ! FV (9x') ] the projection, let FV 0 (') ] be the product of the interpretations of the sorts of the variables in FV (') fxg (so FV 0 (') ] = FV (') ] if x occurs freely in '; and FV 0(') ] = FV (') ] S ] if x = xS does not occur free in '). Write 0 : FV 0 (') ] ! FV (') ] . Now take 9x' ] ! FV (9x') ] to be the image of the composition:
0 ( 0 ) ( ' ] ) ! FV 0(') ] ! FV (9x') ]

but since we formulate the logic in terms of sequents we rather de ne when a sequent is true under the interpretation. De nition 4.8 A labelled sequent is an expression of the form ` ' or ` ' where and ' are the formulas of the sequent (but may be absent), and

true under this interpretation if ' ] ! FV (') ] is the maximal subobject;

We have now given an interpretation of formulas. Basically, a formula ' is

Exercise 61. Show that the sequent ` 9xS (xS = xS ) is true if and only if the unique map S ] ! 1 is a regular epimorphism.

is a nite set of variables which includes all the variables which occur free in a formula of the sequent. Let ] = S1 ] Sn ] if = fxS1 ; : : :; xSn g; there are projections n 1 ' ] ! FV (') ] and (in case is there) ] ! FV ( ) ] ; we say that the sequent ` ' is true for the interpretation if ( ) ( ] ) ( ' ) ( ' ] ) as subobjects of ] , and ` ' is true if ( ' ) ( ' ] ) is the maximal subobject of ].

We now turn to the logic. Instead of giving deduction rules and axioms, I formulate a list of closure conditions which determine what sets of labelled sequents will be called a theory. I write `x for `fxg and ` for `; . De nition 4.9 Given a language, a set T of labelled sequents of that language is called a theory i the following conditions hold (the use of brackets around

caters in a, I hope, self-explanatory way for the case distiction as to whether is or is not present): i) ` > is in T ; `x x = x is in T for every variable x; x = y ^ y = z `fx;y;zg x = z is in T for variables x; y; z of the same sort; ii) if ( ) ` ' is in T then ( ) ` ' is in T whenever ; iii) if ( ) ` ' is in T and FV ( ) then ( ^) ` ' and (^ ) ` ' are in T ;

35

Categories

Exercise 62. Show that the sequent ' `FV (') ' is in every theory, for every formula ' of the language.

iv) if ( ) ` ' and ( ) ` are in T then ( ) ` ' ^ and ( ) ` ^ ' are in T ; v) if ` ' is in T and x is a variable not occurring in ' then 9x ` nfxg ' is in T ; vi) if x occurs in ' and ( ) ` ' t=x] is in T then ( ) ` 9x' is in T ; if x does not occur in ' and ( ) ` ' and ( ) ` 9x(x = x) are in T , then ( ) ` 9x' is in T ; vii) if ( ) ` ' is in T then ( t=x]) ` nfxg FV (t) ' t=x] is in T ; viii) if ( ) ` ' t=x] and ( ) ` t = s are in T then ( ) ` ' s=x] is in T ; ix) if ( ) ` ' and ' ` are in T then ( ) ` is in T

As said, the de nition of a theory is a list of closure conditions: every item can be seen as a rule, and a theory is a set of sequents closed under every rule. Therefore, the intersection of any collection of theories is again a theory, and it makes sense to speak, given a set of sequents S, of the theory Cn(S) generated by S: \ Cn(S) = fT jT is a theory and S T g We have the following theorem: Theorem 4.10 (Soundness theorem) Suppose T = Cn(S) and all sequents of S are true under the interpretation in the category C . Then all sequents of T Before embarking on the proof, rst a lemma: Lemma 4.11 Suppose t is substitutable for x in '. There is an obvious map t] : FV (') n fxg FV (t) ] = FV (' t=x]) ] ! FV (') ] induced by t ] ; the components of t] are projections except for the factor of ' ] corresponding to x, where it is
There is a pullback diagram:
t FV (' t=x]) ] ! FV (t) ] !] fxg ]

are true under that interpretation.

' t=x] ]
/

FV (' t=x]) ]
t]
/

']

FV (') ]

36

4. A little piece of categorical logic

tion 4.4].

Exercise 63. Prove this lemma not trivial. Use induction on ' and proposi-

de nition 4.9, if the premiss is true then the conclusion is true; in other words, that the set of true sequents is a theory. i) ` > is true by the de nition > ] = 1; xS = xS ] is the equalizer of two maps which are both the identity on S ] , so isomorphic to S ] . For x = y ^ y = z `fx;y;zg x = z, just observe that E12 ^ E23 E13 if Eij is the equalizer of the two projections i ; j : S ] S ] S ] ! S ]. ii) This is because if and : ] ! ] is the projection, is monotone. iii)-iv) By the interpretation of ^ as the greatest lower bound of two subobjects, and proposition 4.4. v) Let ] n fxg ] FV (') ]
/ /

Proof. (of theorem 4.10) The proof checks that for every rule in the list of

FV ( ) ] FV (9x ) ] the projections. Since by assumption ( ] ) ( ) ( ' ] ) there is a commutative diagram ] ( ])


/

( ' ]) n fxg ] By proposition 4.4, ( 9x ] ) is the image of the map ( ] ) ! so ( ] ) ( ' ] ) in Sub( n fxg ] ). vi) Suppose x occurs free in '. Consider the commutative diagram ] WWWWWW o
/

n fxg ] ,

FV ( ) ]
w

o ooo ooo o ooo

FV (' t=x]) ]

WWWWW 00 WWWWW WWWWW WWWW t]


/

FV (') ]

FV (') n fxg ]

with t] as in lemma 4.11 and the other maps projections. Now ' ] ( 9x' ] ) because ' ] ! FV (') ] ! FV (') n fxg ] factors through 9x' ] by de nition; so if ( ] ) 0 ( ' t=x] ] ) then with lemma 4.11, ( ] ) 0 ( ' t=x] ] ) = 0 t] ( ' ] ) 0 t] ( 9x' ] ) = 00 ( 9x' ] ) in Sub( ] ) and we are done.

37

Categories

The case of x not occurring in ' is left to you. vii) Direct application of lemma 4.11 viii-ix) Left to you.

Exercise 64. Fill in the \left to you" gaps in the proof.

Given a regular category C (which, to be precise, must be assumed to be small), we associate to C the language which has a sort C for every object of C , and a function symbol (f : C ! D) for every arrow f : C ! D of C . This language is called L(C ) and it has trivially an interpretation in C . The theory T (C ) is the set of sequents of L(C ) which are true for this interpretation. One of the points of categorical logic is now, that categorical statements about objects and arrows in C can be reformulated as statements about the truth of certain sequents in L(C ). You should read the relevant sequents as expressing that we can \do as if the category were Set".

4.3 The language L(C ) and theory regular category C

T (C )

associated to a

Examples
a) C is a terminal object of C if and only if the sequents `x;y x = y and ` 9x(x = x) are valid, where x; y variables of sort C; b) the arrow f : A ! B is mono in C if and only if the sequent f(x) = f(y) `x;y x = y is true; c) The square
g

f
/

B
h

C d D is a pullback square in C if and only if the sequents


/

h(xB ) = d(yC ) `x;y 9z A (f(z) = x ^ g(z) = y) and are true; f(z A ) = f(z 0A ) ^ g(z A ) = g(z 0A ) `z;z0 z = z 0

38

4. A little piece of categorical logic

d) the fact that f : A ! B is epi can not similarly be expressed! But: f is regular epi if and only if `xB 9yA (f(y) = x) is true;
f e) A B h C is an equalizer diagram i f is mono (see b) and the sequent g(xB ) = h(xB ) `xB 9yA (f(y) = x) is true. Exercise 65. Check (a number of) these statements. Give the sequent(s) corf A B responding to the statement that g is a product diagram.
/ / / /

C Exercise 66. Check that the formulas 9x' and 9x(x = x ^ ') are equivalent, that is, every theory contains the sequents 9x' ` 9x(x = x ^ ') and 9x(x = x ^ ') ` 9x' for any containing the free variables of 9x'.
f Exercise 67. Can you express: A ! B is regular mono?

In this section, I treat an example of a type of regular categories which are important in categorical logic. They are categories of -valued sets for some frame . Let's de ne some things. De nition 4.12 A frame is a partially ordered set which has suprema (least W V upper bounds) B of all subsets B , and in ma (meets) A for nite subsets A (so, there is a top element > and W pair of elements x; y has a meet x ^ y), every
and moreover, ^ distributes over , that is,

4.4 Example of a regular category

x^
for x 2 , B .

B = fx ^ bjb 2 B g

39

Categories

Proposition 4.13 C is a regular category. Proof. Let f g be any one-element set, together with the function which sends to the top element of . Then f g ! is a terminal object of C . Given (X; EX ) and (Y; EY ), a product of the two is the object (X Y; EX Y ) where EX Y (x; y) is de ned as EX (x) ^ EY (y). Given two arrows f; g : (X; EX ) ! (Y; EY ) their equalizer is (X 0 ; EX 0 ) where 0 X is fx 2 X jf(x) = g(x)g and EX 0 is the restriction of EX to X 0 . X This is easily checked, and C is a nitely complete category. An arrow f : (X; EX ) ! (Y; EY ) is regular epi if and only if the function f W is surjective and for all y 2 Y , EY (y) = f 1 (y). For suppose f is such, and g : (X; EX ) ! (Z; EZ ) coequalizes the kernel pair of f. Then g(x) = g(x0 ) whenever f(x) = f(x0 ), and so for all y 2 Y , since
f(x) = y implies EX (x) EZ (g(x)), we have
_

Given a frame we de ne the category C as follows: ! Objects are functions X EX , X a set; f Maps from (X; EX ) to (Y; EY ) are functions X ! Y satisfying the requirement that EX (x) EY (f(x)) for all x 2 X. It is easily seen that the identity function satis es this requirement, and if two composable functions satisfy it, their composition does; so we have a category.

EY (y) = fEX (x)jf(x) = yg EZ (g(x)) so there is a unique map h : (Y; EY ) ! (Z; EZ ) such that g = hf; that is f is the coequalizer of its kernel pair. The proof of the converse is left to you. Finally we must show that regular epis are stable under pullback. This is an exercise.

Y g Z to the EX etc.) is (up to isomorphism) the set f(x; y)jf(x) = g(y)g, with E(x; y) = EX (x) ^ EY (y); and then, use the distributivity of to show that regular epis are stable under pullback.
/

Exercise 68. Show that the pullback of

X
f

(I suppress reference

Exercise 69. Fill in the other gap in the proof: if f : (X; EX ) ! (Y; EY )
is a regular epi, then f satis es the condition given in the proof.
f Exercise 70. Given (X; EX ) ! (Y; EY ), give the interpretation of the formula 9x(f(x) = y), as subobject of (Y; EY ). 40

4. A little piece of categorical logic

Exercise 71. Characterize those objects (X; EX ) for which the unique map to the terminal object is a regular epimorphism. Exercise 72. Give a categorical proof of the statement: if f is the coequalizer of something, it is the coequalizer of its kernel pair. Exercise 73. Characterize the regular monos in C .

41

Categories

42

5. Adjunctions

5 Adjunctions

G C ! D and for a given object D of D, we look for an object G(C) which \best approximates" D, in the sense that there is a map D ! G(C) with the property g that any other map D ! G(C 0) factors uniquely as G(f) for f : C ! C 0 in C .

The following kind of problem occurs quite regularly: suppose we have a functor

We have seen, that if G is the inclusion of Abgp into Grp, the abelianization of a group is an example. Another example is the Cech-Stone compacti cation in topology: for an arbitrary topological space X one constructs a compact space X out of it, and a map X ! X, such that any continuous map from X to a compact space factors uniquely through this map. Of course, what we described here is a sort of \right-sided" approximation; the reader can de ne for himself what the notion for a left-sided approxiamtion would be. The categorical description of this kind of phenomena goes via the concept of adjunction, which this chapter is about.

5.1 Adjoint functors


Let C D be a pair of functors between categories C and D . G We say that F is left adjoint to G, or G is right adjoint to F, notation: F a G, if there is a natural bijection:
o /

C (FD; C) mD;C D(D; GC)


/

for each pair of objects C 2 C 0 ; D 2 D0 . Two maps f : FD ! C in C and g : D ! GC in D which correspond to each other under this correspondence are called transposes of each other. The naturality means that, given f : D ! D0 , g : C 0 ! C in D and C respectively, the diagram

D(D; GC) C (Ff;g) D(f;Gg) C (FD0 ; C 0) mD0 ;C0 D (D0 ; GC 0) C (FD; C)


O / O /

mD;C

commutes in Set. Remind yourself that given FD ! C is the composite FD


Ff
/

: FD0 ! C 0, C (Ff; g)( ) :


g
/

FD0

43

C0

Categories

Such a family m = (mD;C jD 2 D0 ; C 2 C 0 ) is then completely determined by the values it takes on identities; i.e. the values mD;FD (idFD ) : D ! GFD For, given : FD ! C, since = C (idFD ; )(idFD ), mD;C ( ) = mD;C (C (idFD ; )(idFD)) = D(idD ; G( ))(mD;FD(idFD )) which is the composite D
mD;FD (idFD )
/

GFD

G( )
/

G(C)

The standard notation for mD;FD (idFD ) is D : D ! GF(D).

Exercise 74. Show that ( D : D 2 D0 ) is a natural transformation: idD ) GF 1 By the same reasoning, the natural family (mD;C jD 2 D 0; C 2 C 0 ) is completely
determined by its actions on identities
1 mGC;C (idGC) : FGC ! C 1 Again, the family (mGC;C (idGC)jC 2 C 0) is a natural transformation: FG ) idC . We denote its components by "C and this is also standard notation. 1 We have that mD;C ( : D ! GC) is the composite

FD

F
/

FGC

"C
/

1 Now making use of the fact that mD;C and mD;C are each others inverse we get that for all : FD ! C and : D ! GC the diagrams

D
/

GC
O

FD
/

C
O

D
/

G("C )

and

F ( D)
/

"C

GFD GF ( ) GFG(C)

FGFD FG( ) FGC

commute; applying this to the identities on FD and GC we nd that we have commuting diagrams of natural transformations:

44

5. Adjunctions

G EE EE

?G
+3

EE EEE EEE E idG EEE

GFG
G"
&

F EE EE

F
+3

EE EEE EEE E idF EEE

FGF
"?F
&

Here ? G denotes ( GC jC 2 C 0 ) and G " denotes (G("C )jC 2 C 0 ). F Conversely, given C D with natural transformations : idD ) GF G and " : FG ) idC which satisfy the above triangle equalities, we have that F a G. The tuple (F; G; "; ) is called an adjunction. is the unit of the adjunction, " the counit.
o /

Exercise 75. Prove the last statement, i.e. given C F D , : idD ) GF G and " : FG ) idC satisfying (G ") ( ? G) = idG and (" ? F) (F ) = idF , we have F a G.
o /

several:

Exercise 76. Given C G1 D G2 E , if F1 a G1 and F2 a G2 then 2 1 F1F2 a G2G1 . Examples. The world is full of examples of adjoint functors. We have met
o o / /

a) Consider the forgetful functor U : Grp ! Set and the free functor F : Set ! Grp. Given a function from a set A to a group G (which is an arrow A ! U(G) in Set) we can uniquely extend it to a group homomorphism ~ from (A; ?) to G (see example e) of 1.1), i.e. an arrow F(A) ! G in Grp, and conversely. This is natural in A and G, so F a U; b) The functor Dgrph ! Cat given in example f) of 1.1 is left adjoint to the forgetful functor Cat ! Dgrph; Q between two preorders P and Q, F a G if and c) Given functors P G only if we have the equivalence
o /

y G(x) , F(y) x for x 2 P; y 2 Q; if and only if we have FG(x) x and y GF(y) for all x; y;

45

Categories

d) In example m) of 1.1 we did \abelianization" of a group G. We made use of the fact that any homomorphism G ! H with H abelian, factors uniquely through G= G; G], giving a natural 1-1 correspondence Grp(G; I(H)) ! Abgp(G= G; G]; H) where I : Abgp ! Grp is the inclusion. So abelianization is left adjoint to the inclusion functor of abelian groups into groups; e) The free monoid F(A) on a set A is just the set of strings on the alphabet A. F : Set ! Mon is a functor left adjoint to the forgetful functor from Mon to Set; f) Given a set X we have seen (example g) of 2.2) the product functor ( ) X : Set ! Set, assigning the product Y X to a set Y . Since there is a natural bijection between functions Y X ! Z and functions Y ! Z X , the functor ( )X : Set ! Set is right adjoint to ( ) X; g) Example e) of 2.2 gives two functors F; G : Set ! Cat. F and G are respectively left and right adjoint to the functor Cat Ob Set which assigns ! to a (small) category its set of objects (to be precise, for this example to work we have to take for Cat the category of small categories), and to a functor its action on objects. h) Given a regular category C we saw in 4.1 that every arrow f : X ! Y can be factored as a regular epi followed by a monomorphism. This gives rise to a monotone function: Sub(X) Imf Sub(Y ) de ned as follows: if ! M 2 Sub(X) is represented by m, Imf (M) is the image of fm (see 4.1). We have seen that Imf (M) N , M f (N) for any subobject N of Y , so Imf is left adjoint to f . We can also express this logically: in the logic developed in chapter 4, for any formulas M(x) and N(y), the sequents

9x(f(x) = y ^ M(x)) `y N(y)


and M(x) `x N(f(x)) are equivalent. One of the slogans of categorical logic is therefore, that \existential quanti cation is left adjoint to substitution".

46

5. Adjunctions

i) Let C be a category with nite products; for C 2 C 0 consider the slice category C =C. There is a functor C : C ! C =C which assigns to D the f C object C D ! C of C =C, and to maps D ! D0 the map idC f. C has a left adjoint C which takes the domain: C (D ! C) = D. j) Let P : Setop ! Set be the functor which takes the powerset on objects, f and for X ! Y , P(f) : P(Y ) ! P(X) gives for each subset B of Y its inverse image under f. Now P might as well be regarded as a functor Set ! Setop ; let's write P for that functor. Since there is a natural bijection: Set(X; P(Y )) ! Set(Y; P(X)) = Setop (P(X); Y ) we have an adjunction P a P.

Exercise 77. Suppose that C F D is a functor and that for each object C of C there is an object GC of D and an arrow "C : FGC ! C with the property that f for every object D of D and any map FD ! C, there is a unique f~ : D ! GC
such that FD GG
f
GG GG F f~ GGG
#

commutes. Prove that G : C 0 ! D0 extends to a functor G : C ! D which is right adjoint to F, and that ("C : FGC ! C jC 2 C 0 ) is the counit of the adjunction. Construct also the unit of the adjunction.
G Exercise 78. Given C ! D, for each object D of D we let (D#G) denote the category which has as objects pairs (C; g) where C is an object in C and g : D ! GC is an arrow in D. An arrow (C; g) ! (C 0; g0) in (D#G) is an arrow f : C ! C 0 in C which makes
{{ {{
}

FGC

yy yy yy"C yy
/ <

g {{{{

D DD
Gf

GC

DD g0 DD DD
! /

GC 0

commute. Show that G has a left adjoint if and only if for each D, the category (D#G) has an initial object.

47

Categories

Given categories C and D, we de ned for every functor F : C ! D its limit (or limiting cone), if it existed, as a pair (D; ) with : D ) F, and (D; ) terminal in the category of cones for F. Any other natural transformation 0 : D0 ) F factors uniquely through (D; ) via an arrow D0 ! D in D and conversely, every arrow D0 ! D gives rise to a natural transformation 0 : D0 ) F. So there is a 1-1 correspondence between

5.2 Expressing (co)completeness by existence of adjoints; preservation of (co)limits by adjoint functors

D(D0 ; D) and DC (

given functor are isomorphic as objects of the appropriate functor category.

F Proposition 5.1 D has all limits of type C (i.e. every functor C ! D has a limiting cone in D) if and only if ( ) has a right adjoint. Exercise 79. Give an exact proof of this proposition. Exercise 80. Use duality to deduce the dual of the proposition: D has all colimits of type C if and only if ( ) : D ! DC has a left adjoint. Exercise 81. (Uniqueness of adjoints) Any two left (or right) adjoints of a

which is natural in D0 . Since every arrow D0 ! D00 in D gives a natural transformation D0 ) D00 (example i) of 2.2), there is a functor ( ) : D ! DC . The above equation now means that:

D0 ; F)

Exercise 82. D ! 1 has a right adjoint i D has a terminal object, and a left adjoint i D has an initial object. Exercise 83. Suppose D has both an initial and a terminal object; denote by L the functor D ! D which sends everything to the initial, and by R the one which sends everything to the terminal object. L a R. Exercise 84. Let F a G with counit " : FG ) id. Show that " is a natural isomorphism if and only if G is faithful.
F G

A very important aspect of adjoint functors is their behaviour with respect to limits and colimits.

Theorem 5.2 Let C


o

D such that F a G. Then:

48

5. Adjunctions

Proof. Suppose M : E ! C has a limiting cone (C; ) in C . Now a cone (D; ) E for GM is a natural family D ! GM(E), i.e. such that
D GG E GM(E)
/

a) G preserves all limits which exist in C ; b) F preserves all colimits which exist in D.

GG GG E0 GGG
#

GM (e)

GM(E 0)

e commutes for every E ! E 0 in E . ~E This transposes under the adjunction to a family (FD ! ME jE 2 E0 ) and the naturality requirement implies that

FD GG

~E
/

ME 0 commutes in C , in other words, that (FD; ) is a cone for M in C . There is, therefore, a unique map of cones from (FD; ~) to (C; ). Transposing back again, we get a unique map of cones (D; ) ! (GC; G ). That is to say that (GC; G ) is terminal in Cone(GM), so a limiting cone for GM, which was to be proved. The argument for the other statement is dual.
#

GG G ~E0 GGG

ME
M (e)

F Exercise 85. Given C G D , F a G and M : E ! C . Show that the functor Cone(M) ! Cone(GM) induced by G has a left adjoint.
o /

From the theorem on preservation of (co)limits by adjoint functors one can often conclude that certain functors cannot have a right or a left adjoint.

Examples

a) The forgetful functor Mon ! Set does not preserve epis, as we have seen
id
/

in 1.2. In chapter 3 we've seen that f is epi i

id

f f
/

is a pushout;

since left adjoints preserve identities and pushouts, they preserve epis; therefore the forgetful functor Mon ! Set does not have a right adjoint;

49

Categories

b) The functor ( ) X : Set ! Set does not preserve the terminal object unless X is itself terminal in Set; therefore, it does not have a left adjoint for non-terminal X. c) The forgetful functor Pos ! Set has a left adjoint, but it cannot have a right adjoint: it preserves all coproducts, including the initial object, but not all coequalizers. Exercise 86. Prove the last example. Hint: think of the coequalizer of the following two maps Q ! R: one is the inclusion, the other is the constant zero map. Another use of the theorem has to do with the computation of limits. Many categories, as we have seen, have a forgetful functor to Set which has a left adjoint. So the forgetful functor preserves limits, and since these can easily be computed in Set, one already knows the \underlying set" of the vertex of the limiting cone one wants to compute. Does a converse to the theorem hold? I.e. given G : C ! D which preserves all limits; does G have a left adjoint? In general no, unless C is su ciently complete, and a rather technical condition, the \solution set condition" holds. The adjoint functor theorem (Freyd) tells that in that case there is a converse: De nition 5.3 (Solution set condition) G : C ! D satis es the solution set condition (ssc) for an object D of D, if there is a set XD of objects of C , such that every arrow D ! GC factors as D DD GC
/

DD DD DD G(f )
O

Theorem 5.4 (Adjoint Functor Theorem) Let C be a complete category and G : C ! D a functor. G has a left adjoint if and only if G preserves all small limits and satis es the ssc for every object D of D.
I won't prove the theorem, but you may like to try yourself. It is a, not too trivial, exercise. For small categories C , the ssc is of course irrelevant. But categories which are small and complete are rather special: : :they are complete preorders. For preorders C , D we have: if C is complete, then G : C ! D has aV left adjoint if and only if G preserves all limits, that is: greatest lower bounds B for all B C . For, put ^ F(d) = fcjd G(c)g

for some C 0 2 XD and f : C 0 ! C in C .

GC 0
!

50

5. Adjunctions

Then F(d) c0 implies (sinceV preserves ) fG(c)jd G(c)g G(c0) which G implies d G(c0) since d V fG(c)jd G(c)g; conversely, d G(c0) implies c0 2 fcjd G(c)g so F(d) = fcjd G(c)g c0 .

V V

51

Categories

52

6. Monads and Algebras

6 Monads and Algebras


o

Given an adjunction (F; G; "; ) : C D let us look at the functor T = GF : D ! D . We have a natural transformation : idD ) T and a natural transformation : T 2 ) T. The components D are
/

"FD T 2 (D) = GFGFD G(! ) GFD = T(D) Furthermore the equalities

T3
T

T
/

T2
/

and

T2

T T AA } AA }} A = AAA }}}}= }
/ o

2 T
~

hold. Here (T )D = T( D ) : T 3D ! TD and ( T)D = TD : T 3 D ! TD (Similar for T and T ).

Exercise 87. Prove these equalities.


A triple (T; ; ) satisfying these identities is called a monad. Try to see the formal analogy between the de ning equalities for a monad and the axioms for a monoid: writing m(e; f) for ef in a monoid, and for the unit element, we have m(e; m(g; h)) = m(m(e; g); h) (associativity) m( ; e) = m(e; ) = e (unit) Following this one calls the multiplication of the monad, and its unit.

Example. The powerset functor P : Set ! Set (example j) of 2.2, with


and indicated there) is a monad (check). L
/

Dually, there is the notion of a comonad (L; ; ") on a category C , with equalities L2
L
~ o /

3 L "L L2 L" L L L Given an adjunction (F; G; "; ), (FG; = F G; ") is a comonad on C . We call the comultiplication and " the counit (this is in harmony with the unit-counit terminology for adjunctions).

L2

~~ ~~

= ~~~

L @@

@@ = @@ @@
/

53

Categories

Although, in many contexts, comonads and the notions derived from them are at least as important as monads, the treatment is dual so I concentrate on monads. Every adjunction gives rise to a monad; conversely, every monad arises from an adjunction, but in more than one way. Essentially, there are a maximal and a minimal solution to the problem of nding an adjunction from which a given monad arises.

Example. A monad on a poset P is a monotone function T : P ! P with the properties x T(x) and T 2 (x) T(x) for all x 2 P; such an operation is also often called a closure operation on P. Note that T 2 = T because T is monotone. In this situation, let Q P be the image of T , with the ordering inherited from P. We have maps r : P ! Q and i : Q ! P such that ri is the identity on Q and ir = T : P ! P. For x 2 P, y 2 Q we have x i(y) , r(x) y (check); so r a i and the operation T arises from this adjunction.
Given a monad (T; ; ) on a category C , we de ne the category T-Alg of T algebras as follows: Objects are pairs (X; h) where X is an object of C and h : T(X) ! X is an arrow in C such that T 2(X)
X

6.1 Algebras for a monad

T (h)
/

T(X)
h

and

X EE X T(X)
/

T(X) commute;

h
/

EE E = EEEE h
"

f Morphisms: (X; h) ! (Y; k) are morphisms X ! Y in C for which

T(X) T (f ) T(Y )
/

k f
/

X commutes.

54

6. Monads and Algebras

Theorem 6.1 There is an adjunction between T -Alg and C which brings about
the given monad T .

Proof. There is an obvious forgetful functor U T : T-Alg ! C which takes (X; h)

to X. I claim that U T has a left adjoint F T : f X F T assigns to an object X the T-algebra T 2 (X) ! T(X); to X ! Y the map T(f); this is an algebra map because of the naturality of . That X T 2 (X) ! T(X) is an algebra follows from the de ning axioms for a monad T. Now given any arrow g : X ! U T (Y; h) we let g : (T(X); X ) ! (Y; h) be ~ T (g) h Y . This is a map of algebras since the arrow T(X) ! T(Y ) ! T 2(X)
X
/

T 2 (g)
/

T 2 (Y )
Y

T (h)
/

Y
h
/

T(X) T (g) T(Y ) h Y commutes; the left hand square is the naturality of ; the right hand square is because (Y; h) is a T-algebra. Conversely, given f : (TX; X ) ! (Y; h) we have an arrow f : X ! Y by f X taking the composite X ! TX ! Y . ~ Now f : T X ! Y is the composite
(f X h TX T (! ) T 2 X T!) TY ! Y

By naturality of this is
f h Y TX ! Y ! TY ! Y which is f since (Y; h) is a T -algebra. Conversely, g : X ! Y is the composite ~
(g h X X ! TX T!) TY ! Y Again by naturality of and the fact that (Y; h) is a T-algebra, we conclude that g = g. So we have a natural 1-1 correspondence ~ C (X; U T (Y; h)) ' T-Alg(F T (X); (Y; h)) and our adjunction. Note that the composite U T F T is the functor T, and that the unit of the adjunction is the unit of T ; the proof that for the counit " of F T a U T we have that T "F T T2 = UTFTUTFT U ! UTFT = T

55

Categories

is the original multiplication , is left to you.

on Set: T (A) is the set of sequences on the alphabet A t A 1 (A 1 is the set fa 1ja 2 Ag of formal inverses of elements of A, as in example e) of 1.1) in which no A aa 1 or a 1a occur. The unit A ! TA sends a 2 A to the string hai. The multiplication : T 2 (A) ! T(A) works as follows. De ne ( ) : A t A 1 ! A t A 1 by a = a 1 and (a 1 ) = a. De ne also ( ) on strings by (a1 : : :an) = an : : :a1 . Now for an element of TT (A), which is a string on the alphabet T(A) t T (A) 1 , say 1 : : : n, we let A ( 1 : : : n ) be the concatenation of the strings ~1; : : :; ~n on the alphabet A t A 1 , where ~i = i if i 2 T(A), and ~i = ( i ) if i 2 T (A) 1 . Of course we still have to remove possible substrings of the form aa 1 etc. h Now let us look at algebras for the group monad: maps T(A) ! A such that for a string of strings = 1; : : :; n = hhs1 ; : : :; sk1 i; : : :; hs1 ; : : :; skn ii 1 n n 1 we have that h(hh 1; : : :; h ni) = h(hs1 ; : : :; sk1 ; : : :; s1 ; : : :; skn i) 1 n n 1 and

Exercise 88. Complete the proof. Example. The group monad. Combining the forgetful functor U : Grp ! Set with the left adjoint, the free functor Set ! Grp, we get the following monad

h(hai) = a for a 2 A I claim that this is the same thing as a group structure on A, with multiplication a b = h(ha; bi). The unit element is given by h(hi); the inverse of a 2 A is h(ha 1 i) since h(ha; h(ha 1 i)i) = h(hh(hai); h(ha 1 i)i) = h(ha; a 1i) = h(hi), the unit element Try to see for yourself how the associativity of the monad and its algebras transforms into associativity of the group law.

Exercise 89. Finish the proof of the theorem: for the group monad T, there is an equivalence of categories between T-Alg and Grp.
This situation is very important and has its own name:

56

6. Monads and Algebras

F De nition 6.2 Given an adjunction C G D , F a G there is always a comparison functor K : C ! T -Alg for T = GF , the monad induced by the adjunc("C tion. K sends an object C of C to the T -algebra GFG(C) G! ) G(C). We say that C is monadic over D if K is an equivalence.
o /

Exercise 90. Check that K(C) is a T -algebra. Complete the de nition of K as a functor. Check that in the example of the group monad, the functor T-Alg ! Grp de ned there is a pseudo inverse to the comparison functor K.
In many cases however, the situation is not monadic. Take the forgetful functor U : Pos ! Set. It has a left adjoint F which sends a set X to the discrete ordering on X (x y i x = y). Of course, UF is the identity on Set and the UF-algebras are just sets. The comparison functor K is the functor U, and this is not an equivalence.

Exercise 91. Why not? Hint: think of coproducts in both categories. Every
equivalence re ects coproducts] Another example of a monadic situation is of importance in domain theory. Let Pos? be the category of partially ordered sets with a least element, and order preserving maps which also preserve the least element. There is an obvious inclusion functor U : Pos? ! Pos, and U has a left adjoint F. Given a poset X, F(X) is X \with a bottom element added":

Given f : X ! Y in Pos, F(f) sends the new bottom element of X to the new bottom element of Y , and is just f on the rest. If f : X ! Y in Pos is a map and Y has a least element, we have F(X) ! Y in Pos? by sending ? to the least element of Y . So the adjunction is clear. The monad UF : Pos ! Pos, just adding a least element, is called the lifting monad. Unit and multiplication are:

57

Categories

: X ! T(X)

r
/

rr

: T 2(X) ! T(X)

A T-algebra h : T X ! X is rst of all a monotone map, but since h X = idX , h is epi in Pos so surjective. It follows that X must have a least element h(?). From the axioms for an algebra one deduces that h must be the identity when restricted to X, and h(?) the least element of X.
F Exercise 92. Given C G D , F a G, T = GF. Prove that the comparison functor K : C ! T-Alg satis es U T K = G and KF = F T where FT T-Alg T D as in theorem 6.1.
o o

Another poset example: algebras for the power set monad P on Set (example j);2.2). Such an algebra h : P (X) ! X must satisfy h(fxg) = x and for P (X): h(fh(A)jA 2 g) = h(fxj9A 2 (x 2 A)g) = h( ) Now we can, given an algebra structure on X, de ne a partial order on X by putting x y i h(fx; yg) = y. Indeed, this is clearly re exive and antisymmetric. As to transitivity, if x y and y z then h(fx; z g)=h(fx; h(fy; z g)g) = h(fh(fxg); h(fy; z g)g)=h(fxg fy; z g) = h(fx; yg fz g)=h(fh(fx; yg); h(fz g)g)= h(fy; z g)=z so x z. Furthermore this partial order is complete: least upper bounds for arbitrary W subsets exist. For B = h(B) for B X: for x 2 B we have h(fx; h(B)g) = W h(fxg B) = h(B) so x B; and if x y for all x 2 B then h(fh(B); yg)=h(B fyg) = S h( x2B fx; yg)=h(fh(fx; yg)jx 2 B g)= h(fyg)=y

58

6. Monads and Algebras

so B y. W We can also check thatWa map of algebras is a -preserving monotone function. Conversely, every -preserving monotone function between complete posets determines a P -algebra homomorphism. W We have an equivalence between the category of complete posets and preserving functions, and P -algebras.

Exercise 93. Let P : Setop ! Set be the contravariant powerset functor, and P its left adjoint, as in j) of 5.1. Let T : Set ! Set the induced monad.

a) Describe unit and multiplication of this monad explicitly. b) Show that Setop is equivalent to T -Alg Hint: if this proves hard, have a look at VI.4.3 of Johnstone's \Stone Spaces"]. c) Conclude that there is an adjunction Set CABool which presents CABool as monadic over Set.
o /

Let T be a monad on D. The following exercise is meant to show that if D has all limits of a certain type, so does T -Alg. In particular, if D is complete, so is T-Alg; this is often an important application of a monadic situation.

6.2

T -Algebras

at least as complete as D

Exercise 94. Let E be a category such that every functor M : E ! D has a limiting cone. Now suppose M : E ! T-Alg. For objects E of E , let M(E) be ! the T-algebra T(mE ) hE mE . a) Let (D; ( E jE 2 E0 )) be a limiting cone for U T M : E ! D. Using the T-algebra structure on M(E) and the fact that U T M(E) = mE , show that there is also a cone (TD; ( E jE 2 E0 )) for U T M; b) Show that the unique map of cones: (TD; ) ! (D; ) induces a T-algebra h structure T D ! D on D; h c) Show that T D ! D is the vertex of a limiting cone for M in T-Alg.

6.3 The Kleisli category of a monad


59

I said before that for a monad T on a category D , there are a \maximal and a minimal solution" to the problem of nding an adjunction which induces the given monad.

Categories

GT
o

We've seen the category T-Alg, which we now write as DT ; we also write : T -Alg ! D for the forgetful functor. In case T arises from an adjunction F K C G D , there was a comparison functor C ! DT . In the diagram
/

C >>>> >
_

D }} > >> >F GT }}}}} >>> > }}} } G >>> }}}}} F T


/ >

we have that KF = F T and GT K = G. Moreover, the functor K is unique with this property. F This leads us to de ne a category T-Adj of adjunctions C D such G F F0 that GF = T. A map of such T-adjunctions from C D to C 0 G0 D is G 0 satisfying KF = F 0 and G0K = G. a functor K : C ! C What we have proved about T-Alg can be summarized by saying that the FT adjunction DT T D is a terminal object in T-Adj. This was the \maximal" G solution. T -Adj has also an initial object: the Kleisli category of T, called DT . DT f has the same objects as D, but a map in DT from X to Y is an arrow X ! T (Y ) f g in D. Composition is de ned as follows: given X ! T(Y ) and Y ! T (Z) in D, considered as a composable pair of morphisms in DT , the composition gf in DT is the composite
o / o o / / o /

in D . ties of DT ?

(g f Z X ! T(Y ) T!) T 2 (Z) ! T(Z)

Exercise 95. Prove that composition is associative. What are the identio

The adjunction DT D is de ned as follows: the functor GT sends the GT object X to T(X) and f : X ! Y (f : X ! T(Y ) in D) to
/

FT

f f Y The functor FT is the identity on objects and sends X ! Y to X ! Y ! T(Y ), considered as X ! Y in DT .

(f Y T(X) T!) T 2 (Y ) ! T(Y )

60

6. Monads and Algebras

Exercise 96. De ne unit and counit; check FT a GT .


Now for every adjunction C D with GF = T, there is a unique comG parison functor L : DT ! C such that GL = GT and LFT = F. L sends the object X to F(X) and f : X ! Y (so f : X ! T(Y ) = GF(Y ) in D ) to its transpose f~ : F(X) ! F(Y ).
o /

properties.

Exercise 97. Check the commutations. Prove the uniqueness of L w.r.t. these

61

Categories

62

7. Cartesian closed categories and the -calculus

Many set-theoretical constructions are completely determined (up to isomorphism, as always) by their categorical properties in Set. We are therefore tempted to generalize them to arbitrary categories, by taking the characteristic categorical property as a de nition. Of course, this procedure is not really well-de ned and it requires sometimes a real insight to pick the `right' categorical generalization. For example, the category of sets has very special properties: f : X ! Y is mono if and only if fg = fh implies g = h for any two maps g; h : 1 ! X, where 1 is a terminal object (we say 1 is a generator); objects X and Y are isomorphic if there exist monos f : X ! Y and g : Y ! X (the Cantor-Bernstein theorem);
f every mono X ! Y is part of a coproduct diagram X @@

7 Cartesian closed categories and the -calculus

Z g Y
/

@@f @@ @

And if you believe the axiom of choice, there is its categorical version: Every epi is split None of these properties is generally valid, and categorical generalizations based on them are usually of limited value2. In this chapter we focus on a categorical generalization of a set-theoretical concept which has proved to have numerous applications: Cartesian closed categories as the generalization of \function space". In example f) of 5.1 we saw that the set of functions Z X appears as the value at Z of the right adjoint to the product functor ( ) X. A category is called cartesian closed if such right adjoints always exist. In such categories we may really think of this right adjoint as giving the \object of functions (or arrows)", as the treatment of the -calculus will make clear.

7.1 Cartesian closed categories (ccc's); examples and basic facts


adjoint.
2 Asperti, for example, restricts his interpretation of the -calculus to ccc's where 1 is a generator. You might as well immediately restrict to Set, then.

De nition 7.1 A category C is called cartesian closed or a ccc if it has nite products, and for every object X of C the product functor ( ) X has a right 63

Categories

Of course, \the" product functor only exists once we have chosen a product diagram for every pair of objects of C . In this chapter we assume that we have such a choice, as well as a distinguished terminal object 1; and we assume also that for each object X we have a speci ed right adjoint to the functor ( ) X, which we write as ( )X (Many authors write X ) ( ), but I think that overloads the arrows notation too much). Objects of the form Z X are called exponents. We have the unit Y;X Y ! (Y X)X and counit Y;X Y X X "! Y of the adjunction ( ) X a ( )X . Anticipating the view of Y X as the object of arrows X ! Y , we call " evaluation.

Examples
a) A preorder (or partial order) is cartesian closed if it has a top element 1, binary meets x ^ y and for any two elements x; y an element x!y satisfying for each z: z x!y i z ^ x y b) Set is cartesian closed; Cat is cartesian closed (2.1); c) Top is not cartesian closed, however the category of locally compact spaces and continuous maps is; d) Pos is cartesian closed. The exponent Y X is the set of all monotone maps X ! Y , ordered pointwise (f g i for all x 2 X, fx gx in Y ); e) Grp and Abgp are not cartesian closed. In both categories, the initial object is the one-element group. Since for non-initial groups G, ( ) G does not preserve the initial object, it cannot have a right adjoint; f) 1 is cartesian closed; 0 isn't (why?);
op

g) SetC is cartesian closed. Products and 1 are given \pointwise" (in fact all limits are), that is F G(C) = F(C) G(C) and 1(C) is the terminal 1 in Set, for all C 2 C 0. The construction of the exponent GF is a nice application of the Yoneda lemma. Indeed, for GF to be the right adjoint (at G) of ( ) F, we need for every object C of C : SetC (hC F; G) ' SetC (hC ; GF ) ' GF (C)
op op

64

7. Cartesian closed categories and the -calculus

where the last isomorphism is by the Yoneda lemma. op Now the assignment C 7! SetC (hC F; G) de nes a functor C op ! Set, which we denote byopGF . At op same time, this construction de nes a the F : SetC ! SetC , which is right adjoint to ( ) F. It is functor ( ) a nice exercise to prove this. h) A monoid is never cartesian closed unless it's trivial. Exercise 98. Show that every Boolean algebra is cartesian closed.

Exercise 99. Show that CABool is not cartesian closed use 2.3]. Exercise 100. Show that a complete partial order is cartesian closed if and
only if it's a frame see 4.4].

Exercise 101. Let be a frame. By the preceding exercise, it is cartesian closed; denote by x!y the exponent in . This exercise is meant to let you show that C is cartesian closed.
a) Show that also has greatest lower bounds B for all subsets B. b) Given objects (X; EX ) and (Y; EY ), de ne their exponent (Y; EY )(X;EX ) as (Y X ; E) where Y X is the set of all functions X ! Y in Set, and E(f) =
^ V

EX (x)!EY (f(x))jx 2 X

Show that this de nes a right adjoint (at (Y; EY )) of ( ) (X; EX ). Some useful facts: C is cartesian closed if and only if it has nite products, and for each pair of objects X; Y there is an object Y X and an arrow " : Y X X ! Y such f f~ that for every Z and map Z X ! Y there is a unique Z ! Y X such that f Z XKK vY
/

KKK KK f~ idX KKK


%

commutes. In a ccc, there are natural isomorphisms 1X ' 1; (Y (Y Z )X ' Y Z X .

YX X

v vv vv" v vv

Z)X ' Y X Z X ;

65

Categories

If a ccc has coproducts, we have X (Y + Z) ' (X Y ) + (X Z) and Y Z +X ' Y Z Y X . Exercise 102. Prove these facts. Recall that two maps Z X ! Y and Z ! Y X which correspond to each other under the adjunction are calles each other's transposes.
g f Exercise 103. In a ccc, prove that the transpose of a composite Z ! W ! Y X

is

if f~ is the transpose of f.
of

id f Z X g !X W X ! Y

Lemma 7.2 In a ccc, given f : X 0 ! X let Y f : Y X ! Y X 0 be the transpose


" Y X X 0 id f Y X X ! Y ! Then for each f : X 0 ! X and g : Y ! Y 0 the diagram

YX
Yf

gX
/

Y 0X
Y 0f

Y X 0 g X 0 Y 0X 0
/

Proof. By the exercise, the transposes of both composites are the top and bottom composites of the following diagram:
gX id qqq qqq qqq id f YX XM0M MMM MM Y f id MMM X0
8 /

commutes.

Y 0X X 0 q X

id f
/

YX

&

uY pp Y uu " pppp uu u ppp uu " uu ppp X 0 gX 0 id Y 0X 0 X 0


$ / / 8 : /

gX idppppp ppp ppp


8

Y 0X X II

"

II " III III

This diagram commutes because the right hand \squares" are naturality squares for ", the lower left hand square commutes because both composites are the transpose of Y f , and the upper left hand square commutes because both composites are gX f.

66

7. Cartesian closed categories and the -calculus

Proposition 7.3 For every ccc C there is a functor C op C ! C , assigning Y X to (X; Y ), and given g : Y ! Y 0 and f : X 0 ! X , gf : Y X ! Y 0X 0 is either of
the composites in the lemma.

Exercise 104. Prove the proposition.


The -calculus is an extremely primitive formalism about functions. Basically, we can form functions (by -abstraction) and apply them to arguments; that's all. Here I treat brie y the typed -calculus. We start with a set S of type symbols S1 ; S2; : : : Out of S we make the set of types as follows: every type symbol is a type, and if T1 and T2 are types then so is (T1 )T2 ). We have also terms of each type (we label the terms like t:T to indicate that t is a term of type T): we may have constants c:T of type T ; for every type T we have a denumerable set of variables x1 :T; x2 :T; : : :; given a term t:(T1 )T2 ) and a term s:T1 , there is a term (ts):T2 ; given t:T2 and a variable x:T1 there is a term x:t:T1 )T2. Terms x:t are said to be formed by -abstraction. This procedure binds the variable x in t. Furthermore we have the usual notion of substitution for free variables in a term t (types have to match, of course). Terms of form (ts) are said to be formed by application. In the -calculus, the only statements we can make are equality statements about terms. Again, I formulate the rules in terms of theories. First, let us say that a language consists of a set of type symbols and a set of constants, each of a type generated by the set of type symbols. An equality judgement is an expression of the form jt = s:T (to be read: \ thinks that s and t are equal terms of type T "), where is a nite set of variables which includes all the variables free in either t or s, and t and s are terms of type T . A theory is then a set T of equality judgements which is closed under the following rules: i) jt = s:T in T implies jt = s:T in T for every superset of ; ii) FV (t)jt = t:T is in T for every term t:T of the language (again, FV (t) is the set of free variables of t); if jt = s:T and js = u:T are in T then so is jt = u:T;

7.2 Typed -calculus and cartesian closed categories

67

Categories

iii) if t(x1 ; : : :; xn):T is a term of the language, with free variables x1:S1 ,: : :,xn:Sn , and js1 = t1 :S1 ; : : :; jsn = tn:Sn are in T then

jt s1=x1; : : :; sn=xn] = t t1=x1; : : :; tn=xn]:T


is in T ; iv) if t and s are terms of type (T1 )T2 ), x a variable of type T1 which does not occur in t or s, and fxgj(tx) = (sx):T2 is in T , then n fxgjt = s:(T1 )T2 ) is in T ; v) if s:T1 and t:T2 are terms and x a variable of type T2 , then FV (s) n fxg FV (t)j(( x:s)t) = s t=x]:T1 is in T . Given a language, an interpretation of it into a ccc C starts by choosing objects S ] of C for every type symbol S. This then generates objects T ] for every type T by the clause T1)T2 ] = T2 ] T1 ] The interpretation is completed by choosing interpretations
c 1 !] T ] for every constant c:T of the language. Such an interpretation then generates, in much the same way as in chapter 4, interpretations of all terms. For a nite set = fx1:T1 ; : : :; xn:Tn g let's again write ] for the product T1 ] Tn ] (this is only de ned modulo a permutation of the factors of the product, but that will cause us no trouble). The interpretation of t:T will now be an arrow t FV (t) ] !] T ]

de ned as follows: x ] is the identity on T ] for every variable x:T; given t ] : FV (t) ] ! T2 ] T1 ] and s ] : FV (s) ] ! T1 ] we let (ts) ] : FV ((ts)) ] ! T2 ] be the composite
;s FV ((ts)) ] h t ] t ! ] s i T2 ] T1 ] " T1 ] ! T2 ]

where t and s are the projections from FV ((ts)) ] to FV (t) ] and FV (s) ] , respectively;

68

7. Cartesian closed categories and the -calculus

given t ] : FV (t) ] ! T2 ] and the variable x:T1 we let x:t ] : FV (t)n fxg ] ! T2 ] T1 ] be the transpose of FV (t) n fxg ]
~ t T1 ] ! T2 ]

~ where, if x occurs free in t so FV (t) n fxg ] T1 ] ' FV (t) ] , t is ~ is t ] composed with the obvious just t ] ; and if x doesn't occur in t, t projection. We now say that an equality judgement jt = s:T is true in this interpretation, if the diagram FV (t)I]
u t uuu uu u uu ]I II II I s III
: $

II t ] II II II
$ :

FV (s) ] commutes (again, s and t projections). Lemma 7.4 Let t(x1 ; : : :; xn):T have free variables xi :Ti and let ti :Ti be terms.
Let

u uu uu uu s ] uu

T]

~i : FV (t t1 =x1; : : :; tn=xn ]) ] ! Ti ] t be the obvious composite of projection and ti ] .


Then the composition

FV (t t1 =x1; : : :; tn =xn]) ] hti ji=1:::ni !


~

n Y i=1

t Ti ] = FV (t) ] !] T ]

is the interpretation t t1=x1; : : :; tn=xn] ] .

under the rules in the de nition of a theory. i) and ii) are trivial; iii) follows at once by lemma 7.4;

Exercise 105. Prove the lemma take your time. This is not immediate]. Theorem 7.5 Let S be a set of equality judgements and T = Cn(S) be the least theory containing S . If every judgement of S is true in the interpretation, so is every judgement in T . Proof. Again, we show that the set of true judgements is a theory, i.e. closed 69

Categories

iv) Since that

( n fxg) fxg and because of the inductive hypothesis, we have


n id s nnnnnn n n nnn
6

FV (s) ]

T1 ] s ]

id
/

T1)T2 ]

n fxg PP ]

OOO1 OOO "O OOO O


'

T ]

PPP PPP t id PPPP


(

FV (t) ]

T1 ] t ]

id
/

T1)T2 ]

ooo ooo oo " ooo


7

T2 ]

T1 ]

commutes. Taking the transposes of both maps, we get the equality we want. v) According to lemma 7.4, FV (s t=x]) ] s t=x] ] T1 ] is !
~ s t FV (s t=x]) ] ! FV (s) ] !] T1 ]

This is the same as


t FV (s t=x]) ] h ;! ] i FV (s) n fxg ]

T2 ] x:s ] id T2)T1 ] !
(( x:s)t)]]

" T2 ] ! T1 ]

which is

FV (( x:s)t) ]

T1 ]

There is also a completeness theorem: if a judgement jt = s:T is true in all possible interpretations, then every theory (in a language this judgement is in) contains it. The relevant construction is that of a syntactic cartesian closed category out of a theory, and an interpretation into it which makes exactly true the judgements in the theory. The curious reader can nd the, somewhat laborious, treatment in Lambek & Scott's \Higher Order Categorical Logic".

7.3 Representation of primitive recursive functions in ccc's with natural numbers object
Dedekind observed, that in Set, the set ! is characterized by the following f property: given any set X, any element x 2 X and any function X ! X, there is a unique function F : ! ! X such that F(0) = x and F(x + 1) = f(F(x)). Lawvere took this up, and proposed this categorical property as a de nition (in a more general context) of a \natural numbers object" in a category.

70

7. Cartesian closed categories and the -calculus

De nition 7.6 In a category C with terminal object 1, a natural numbers ob0 S ject is a triple (0; N; S) where N is an object of C and 1 ! N , N ! N arrows in C , such that for any other such diagram
f 1 x X X there is a unique map : N ! X making
/ /

1 ?? 0 N S N
/ /

?? ? x ???

X f X
/

Of course we think of 0 as the zero element, and of S as the successor map. The de ning property of a natural numbers object enables one to \do recursion", a weak version of which we show here: we show that every primitive recursive function can be represented in a ccc with natural numbers object. De nition 7.7 Let C be a ccc with natural numbers object (0; N; S). We say that a number-theoretic function F : Nk ! N is represented by an arrow f : N k ! N if for any k-tuple of natural numbers n1; : : :nk , the diagram 1 MMMM
0
/

commute.

MMM M 0 MMMMM
&

hS n1 ;:::;S nk i
/

Nk
f
/

N S F (n1 ;:::;nk ) N

commutes.

Recall that the class of primitive recursive functions is given by the following clauses: The constant zero function ~ :0 : Nk ! N, the function x:x + 1 : N ! N x and the projections ~ :xi : N ! N are primitive recursive; x The primitive recursive functions are closed under composition: if F1; : : :; Fk : Nl ! N and G : Nk ! N are primitive recursive, then so is G(hF1; : : :; Fk i) : Nl ! N; The primitive recursive functions are closed under de nition by primitive recursion : if G : Nk ! N and H : Nk+2 ! N are primitive recursive, and F : Nk+1 ! N is de ned by F(0;~ ) = G(~ ) and F(n + 1;~ ) = x x x H(n; F(n;~ );~ ) then F is primitive recursive. x x

71

Categories

Proposition 7.8 In a ccc C with natural numbers object, every primitive recursive function is representable.

Proof. I do only the case for de nition by primitive recursion. So by inductive


~ :G(~ ) : 1 ! N (N k ) x x ~ :H(n; (~ );~ ) : N (N ) N ! N (N ) x x x which is the interpretation of a term with free variables :N (N k ) and n:N; this map is the exponential transpose of the map which intuitively sends (n; ;~ ) to x (n; (~ );~ ). Now look at x x 1
h x:G(~);0i ~ x
/

hypothesis we have arrows G and H representing the homonymous functions. By interpretation of the -calculus, I use -terms: so there is an arrow
k k

and an arrow

N (N k ) N

( ~ :H (n; (~);~ )) S x x x
/

N (N k ) N

By the natural numbers object property, there is now a unique map ~ F = hF; i : N ! N (N k ) N which makes the following diagram commute: 1 RRRRR
h
0
/

RRR RR x x R ~ :G(~);0i RRRRR


)

N
F

S
/

N
F

N (N k )
~ F id
/

N ( ~ :H (n; (~);~ )) S x x x
/

N (N k )

One veri es that is the identity, and that the composite N k+1 represents F. N (N k ) N k
"
/

Exercise 106. Make these veri cations.


That's it!!

72

Index

abelianization, 5 adjoint functor theorem, 50 adjunction, 45 Alexandro topology, 5 algebras for monad, 54 arrows, 1 associative, 1 atom in Boolean algebra, 16 Boolean algebra, 15 atomic, 16 complete, 15 category, 1 cartesian, 23 cartesian closed, 63 complete, 23 discrete, 13 nitely complete, 23 has binary products, 20 has equalizers, 20 has pullbacks, 20 indiscrete, 13 left exact, 23 lex, 23 locally small, 4 path, 3 quotient, 3 regular, 29 slice, 4 small, 13 ccc, 63 closure operation on poset, 54 cocone for a functor, 25 codomain, 1 coequalizer, 25 coequalizer diagram, 25 coherent logic, 33 colimiting cocone, 25 comonad, 53

comparison functor, 57 complement in a lattice, 15 composition, 1 comultiplication of comonad, 53 cone for a functor, 17 congruence relation, 3 coproduct, 25 coproduct inclusions, 25 coprojections, 25 counit of adjunction, 45 counit of comonad, 53 diagram commutes, 4 diagram of type C , 17 domain, 1 duality principle, 6 embedding, 10 epi, 6 epimorphism, 6 equality judgement in -calculus, 67 equalizer, 18 equalizer diagram, 18 equivalence of categories, 15 equivalent categories, 15 equivalent formulas, 39 evaluation in ccc, 64 exponents in ccc, 64 frame, 39 free group, 3 free monoid, 46 functor, 2 contravariant, 5 covariant, 5 faithful, 7 forgetful, 2 free, 3 full, 7 Hom, 5

73

INDEX

preserving a property, 7 preserving limits, 23 re ecting a property, 7 representable, 4 generator, 63 group monad, 56 groupoid, 14 Grp, 2 Grph, 2 homotopy, 3 identity arrow, 1 image of a map, 32 index category of diagram, 17 initial object, 7 inverse of an arrow, 7 isomorphic objects, 8 isomorphism, 7 kernel pair of a map, 29 Kleisli category of monad, 60 labelled sequent, 35 -abstraction, 67 -calculus, 67 lattice, 15 distributive, 15 left adjoint functor, 43 lifting monad, 57 limiting cone, 17 MacLane's pentagon, 23 map, 1 monad, 53 monadic, 57 mono, 6 monoid, 1 monomorphism, 6 morphism, 1 multiplication of monad, 53 natural

bijection, 10 natural numbers object, 71 natural transformation, 9 objects, 1 Pos, 2 preorder, 1 primitive recursive function, 71 product category, 2 product cone, 18 product in category, 18 projections, 18 pseudo inverse of a functor, 15 pullback along a map, 32 pullback diagram, 20 pushout, 26 regular epi, 27 regular mono, 22 retraction, 7 right adjoint functor, 43 Rng, 2 section, 7 solution set condition (ssc), 50 specialization ordering, 6 split epi, 7 split mono, 7 stable under pullback, 30 subobject, 31 terminal object, 7 theory in -calculus, 67 theory in coherent logic, 35 Top, 2 transpose of map, 43 triangle equalities, 45 unit of adjunction, 45 unit of monad, 53

74

vertex of a cone, 17

INDEX

Yoneda embedding, 10 Yoneda lemma, 10

75

S-ar putea să vă placă și