ebook img

Category theory for computing science PDF

558 Pages·2012·2.627 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Category theory for computing science

Reprints in Theory and Applications of Categories, No. 22, 2012. CATEGORY THEORY FOR COMPUTING SCIENCE MICHAEL BARR AND CHARLES WELLS Transmitted by Richard Blute, Robert Rosebrugh and Alex Simpson. Reprint published on 2012-09-19, revised 2013-09-22. 2010 Mathematics Subject Classification: 18-01,68-01. Key words and phrases: Category theory, computing science. 1 Preface to the TAC reprint (Revised 2013-09-22) This is a reprint of the final version, published by the Centre de Recherche Math´ematique at the Universit´e de Montr´eal. We are now aware of the following errors. If any others are reported, we will post corrections at ftp.math.mcgill.ca/barr/pdffiles/ctcserr.pdf and at http://www. abstractmath.org/CTCS/ctcserr.pdf. There is a diagram missing in the solution to problem 4.1.4. The problem is on page 98 and the solution on page 438. The diagram is id (cid:47)(cid:47) CC CC 00 11 F0 F1 (cid:15)(cid:15) (cid:15)(cid:15) (cid:47)(cid:47) DD DD 00 11 id On page 302, the second of the first line of diagrams near the middle of the page should be ccc (cid:127) 333 (cid:63)(cid:63) (cid:127) (cid:63) (cid:127) (cid:63) (cid:127) (cid:63) (cid:127) (cid:63) p1(cid:127)(cid:127) (cid:63)(cid:63)p2 (cid:127)(cid:127)(cid:127) (cid:104)p1,p2(cid:105) (cid:63)(cid:63)(cid:63) (cid:127) (cid:63) (cid:127) (cid:63) (cid:127)(cid:127)(cid:127) (cid:15)(cid:15) (cid:31)(cid:31) (cid:111)(cid:111) (cid:47)(cid:47) cc ccc cc 11 p1 222 p2 11 The left bottom p goes in the wrong direction and there is a spurious 0. 1 Dan Synek has pointed out that the definition of cone is not really coherent because it depends on an ambient category and there is none. Accordingly, we define a cone as a rooted graph in which there is exactly one arrow from the root to each other node (along with, in general, other arrows). A cone in a category is a limit cone if the root is the limit in the usual sense if the arrows out of the root are the transition arrows of a limit of the remaining nodes and arrows of the cone. A model of the sketch is required to take each cone to a limit cone. He also pointed out that in the description of the sketch for categories, three arrows have to be added to the underlying graph of the sketch, all appearing in display in the middle of page 303. The (cid:47)(cid:47) first one, on the left hand diagram of that display, is the unlabeled arrow c c (“the object in 2 0 (cid:47)(cid:47) the middle of a composite”). The other two are arrows c c so that the right hand diagram of 3 0 the same display becomes: (cid:124)(cid:124)(cid:121)(cid:121)(cid:121)(cid:121)p(cid:121)1(cid:121)(cid:121)(cid:11)(cid:121)(cid:11)(cid:121)(cid:11)(cid:11)(cid:121)(cid:11)(cid:121)(cid:11)(cid:11)(cid:121)(cid:11)(cid:11)cccccp(cid:15)(cid:15)233333(cid:51)(cid:51)(cid:69)(cid:51)(cid:69)(cid:51)(cid:51)(cid:69)(cid:51)(cid:69)(cid:51)(cid:51)(cid:69)(cid:51)(cid:69)(cid:51)(cid:69)p(cid:69)3(cid:69)(cid:69)(cid:69)(cid:69)(cid:34)(cid:34) scc(cid:15)(cid:15)11(cid:5)(cid:5)(cid:11)(cid:11)(cid:124)(cid:124)(cid:121)(cid:11)(cid:121)(cid:11)(cid:11)(cid:121)(cid:11)(cid:121)(cid:11)(cid:11)(cid:121)(cid:11)(cid:121)(cid:11)(cid:11)(cid:121)t(cid:121)(cid:121)(cid:121)(cid:121)(cid:121)ccc111 (cid:69)(cid:69)(cid:69)(cid:69)(cid:69)s(cid:69)(cid:69)(cid:51)(cid:51)(cid:69)(cid:51)(cid:69)(cid:51)(cid:51)(cid:69)(cid:51)(cid:69)(cid:51)(cid:51)(cid:69)(cid:51)(cid:34)(cid:34)(cid:51)cc(cid:25)(cid:25) (cid:15)(cid:15)11t ccc ccc 000 000 Category Theory for Computing Science Michael Barr Charles Wells cMichael Barr and Charles Wells, 1998 (cid:176) Category Theory for Computing Science Michael Barr Department of Mathematics and Statistics McGill University Charles Wells Department of Mathematics Case Western Reserve University For Becky, Adam and Joe and Matt and Peter Contents Preface xi 1 Preliminaries 1 1.1 Sets 1 1.2 Functions 3 1.3 Graphs 8 1.4 Homomorphisms of graphs 11 2 Categories 15 2.1 Basic definitions 15 2.2 Functional programming languages as categories 20 2.3 Mathematical structures as categories 23 2.4 Categories of sets with structure 27 2.5 Categories of algebraic structures 32 2.6 Constructions on categories 35 2.7 Properties of objects and arrows in a category 40 2.8 Monomorphisms and subobjects 47 2.9 Other types of arrow 53 2.10 Factorization systems 58 3 Functors 65 3.1 Functors 65 3.2 Actions 74 3.3 Types of functors 80 3.4 Equivalences 84 3.5 Quotient categories 88 4 Diagrams, naturality and sketches 93 4.1 Diagrams 93 4.2 Natural transformations 101 4.3 Natural transformations between functors 109 4.4 The Godement calculus of natural transformations 117 4.5 The Yoneda Lemma and universal elements 121 4.6 Linear sketches (graphs with diagrams) 127 4.7 Linear sketches with constants: initial term models 133 4.8 2-categories 140 vii viii Contents 5 Products and sums 153 5.1 The product of two objects in a category 153 5.2 Notation for and properties of products 157 5.3 Finite products 168 5.4 Sums 178 5.5 Natural numbers objects 182 5.6 Deduction systems as categories 186 5.7 Distributive categories 188 6 Cartesian closed categories 195 6.1 Cartesian closed categories 195 6.2 Properties of cartesian closed categories 202 6.3 Typed λ-calculus 208 6.4 λ-calculus to category and back 210 6.5 Arrows vs. terms 212 6.6 Fixed points in cartesian closed categories 215 7 Finite product sketches 219 7.1 Finite product sketches 220 7.2 The sketch for semigroups 225 7.3 Notation for FP sketches 231 7.4 Arrows between models of FP sketches 234 7.5 The theory of an FP sketch 237 7.6 Initial term models for FP sketches 239 7.7 Signatures and FP sketches 245 8 Finite discrete sketches 251 8.1 Sketches with sums 251 8.2 The sketch for fields 254 8.3 Term algebras for FD sketches 257 9 Limits and colimits 265 9.1 Equalizers 265 9.2 The general concept of limit 268 9.3 Pullbacks 273 9.4 Coequalizers 277 9.5 Cocones 280 9.6 More about sums 285 9.7 Unification as coequalizer 289 9.8 Properties of factorization systems 294

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.