{"id":18,"date":"2006-06-12T08:40:00","date_gmt":"2006-06-12T08:40:00","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2006\/06\/12\/more-category-theory-getting-into-functors\/"},"modified":"2006-06-12T08:40:00","modified_gmt":"2006-06-12T08:40:00","slug":"more-category-theory-getting-into-functors","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2006\/06\/12\/more-category-theory-getting-into-functors\/","title":{"rendered":"More Category Theory: Getting into Functors"},"content":{"rendered":"<p> Let&#8217;s talk a bit about functors. Functors are fun!<\/p>\n<p> What&#8217;s a functor? I already gave the short definition: a structure-preserving mapping between categories. Let&#8217;s be a bit more formal. What does the structure-preserving property mean?<\/p>\n<p> A functor F from category C to category D is a mapping from C to D that:<\/p>\n<ul>\n<li> Maps each member <img src='http:\/\/l.wordpress.com\/latex.php?latex=m%20in%20Obj%28C%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='m in Obj(C)' style='vertical-align:1%' class='tex' alt='m in Obj(C)' \/> to an object <img src='http:\/\/l.wordpress.com\/latex.php?latex=F%28m%29%20in%20Obj%28D%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='F(m) in Obj(D)' style='vertical-align:1%' class='tex' alt='F(m) in Obj(D)' \/>.<\/li>\n<li> Maps each arrow <img src='http:\/\/l.wordpress.com\/latex.php?latex=a%20%3A%20x%20rightarrow%20y%20%20in%20Mor%28C%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='a : x rightarrow y  in Mor(C)' style='vertical-align:1%' class='tex' alt='a : x rightarrow y  in Mor(C)' \/> to an arrow <img src='http:\/\/l.wordpress.com\/latex.php?latex=F%28a%29%20%3A%20F%28x%29%20rightarrow%20F%28y%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='F(a) : F(x) rightarrow F(y)' style='vertical-align:1%' class='tex' alt='F(a) : F(x) rightarrow F(y)' \/>, where:\n<ul>\n<li> <img src='http:\/\/l.wordpress.com\/latex.php?latex=forall%20o%20in%20Obj%28C%29%3A%20F%281_o%29%20%3D%201_%7BF%28o%29%7D&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='forall o in Obj(C): F(1_o) = 1_{F(o)}' style='vertical-align:1%' class='tex' alt='forall o in Obj(C): F(1_o) = 1_{F(o)}' \/>. <em>(Identity is preserved by the functor mapping of morphisms.)<\/em><\/li>\n<li> <img src='http:\/\/l.wordpress.com\/latex.php?latex=forall%20m%2Cn%20in%20Mor%28C%29%3A%20%20F%28n%20circ%20o%29%20%3D%20F%28o%29%20circ%20F%28n%29&#038;bg=FFFFFF&#038;fg=000000&#038;s=0' title='forall m,n in Mor(C):  F(n circ o) = F(o) circ F(n)' style='vertical-align:1%' class='tex' alt='forall m,n in Mor(C):  F(n circ o) = F(o) circ F(n)' \/>. <em>(Associativity is preserved by the Functor mapping of morphisms.)<\/em><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p> That&#8217;s the standard textbook gunk for defining a functor. But if you look back at the original definition of a category, you should notice that this looks familiar. In fact, it&#8217;s almost identical to the definition of the necessary properties of arrows!<\/p>\n<p> We can make functors much easier to understand by talking about them in the language of categories themselves. Functors are arrows between a category of categories.<\/p>\n<p> There&#8217;s a kind of category, called a <em>small<\/em> category. (I happen to dislike the term &#8220;small&#8221; category; I&#8217;d prefer something like &#8220;well-behaved&#8221;.) A small category is a category C where Obj(C) and Mor(C) are sets, not proper classes.  Alas, more definitions; in set theory, a <em>class<\/em> is a collection of sets that can be defined by a non-paradoxical property that all of its members share. Some classes are sets of sets; some classes are <em>not<\/em> sets; they lack some of the required properties of sets &#8211; but still, the class is a collection with a well-defined, non-paradoxical, unambiguous property.  If a class isn&#8217;t a set of sets, but just a collection that isn&#8217;t a set, then it&#8217;s called a <em>proper class<\/em>.<\/p>\n<p> Any category whose collections of objects and arrows are sets, not proper classes, are called small categories. Small categories are, basically, categories that are well-behaved &#8211; meaning that their collections of objects and arrows don&#8217;t have any of the obnoxious properties that would prevent them from being sets.<\/p>\n<p> The small categories are, quite beautifully, the objects of a category called <b>Cat<\/b>. (For some reason, category theorists like three-letter labels.) The arrows of <b>Cat<\/b> are the functors: Functors are morphisms between small categories. Once you wrap you head around that, then the meaning of a functor, and the meaning of a structure-preserving transformation become extremely easy to understand.<\/p>\n<p> Functors come up over and over again, all over mathematics. They&#8217;re an amazingly useful notion. I was looking for a list of examples of things that you can describe using functors, and found <a href=\"http:\/\/en.wikipedia.org\/wiki\/Functor\">a really wonderful list on wikipedia.<\/a>. I highly recommend following that link and taking a look at the list. I&#8217;ll just mention one particularly interesting example: groups and group actions.<\/p>\n<p> If you&#8217;ve been reading GM\/BM long enough, you&#8217;ll remember <a href=\"http:\/\/goodmath.blogspot.com\/2006\/06\/group-theory-index.html\">my posts on group theory<\/a>, and how long it took for me to work up to the point where I could really define what symmetry meant, and how every symmetric transformation was actually a group action. Category theory makes that much easier.<\/p>\n<p> Every group can be represented as a category with a single object. A functor from the category of a group to the category of Sets is a group action on the set that is the target of the functor. Poof! Symmetry. <em>(This paragraph was modified to correct some ambiguous wording; the ambiguity was pointed out by commenter &#8220;Cat lover&#8221;.)<\/em><\/p>\n<p> Since symmetry means structure-preserving transformation; and a functor is a structure preserving transformation &#8211; well, they&#8217;re almost the same thing. The functor is an even more general abstraction of that concept: group symmetry is just one particular case of a functor transformation. Once you get functors, understanding symmetry is easy. And so are lots of other things.<\/p>\n<p> And of course, you can always carry these things further. There is a category of functors <em>themselves<\/em>; and notions which can be most easily understood in terms of functors operating on the category of functors!<\/p>\n<p> By now, it should be sort of clear why category theory is affectionately known as abstract nonsense. Category theory operates at a level of abstraction where almost anything can be wrapped up in it; and once you&#8217;ve wrapped something up in a category, almost anything you can do with it can itself be wrapped up asa category &#8211; levels upon levels, categories of categories, categories of functors on categories of functors on categories, ad infinitum. And yet, it makes sense. It captures a useful, comprehensible notion. All that abstraction, to the point where it seems like nothing could possibly come out of it. And then out pops a piece of beautiful crystal.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Let&#8217;s talk a bit about functors. Functors are fun! What&#8217;s a functor? I already gave the short definition: a structure-preserving mapping between categories. Let&#8217;s be a bit more formal. What does the structure-preserving property mean? A functor F from category C to category D is a mapping from C to D that: Maps each member [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[76,24],"tags":[],"class_list":["post-18","post","type-post","status-publish","format-standard","hentry","category-category-theory","category-goodmath"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p4lzZS-i","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/18","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/comments?post=18"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/18\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=18"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=18"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=18"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}