{"id":59,"date":"2006-07-06T19:26:28","date_gmt":"2006-07-06T19:26:28","guid":{"rendered":"http:\/\/scientopia.org\/blogs\/goodmath\/2006\/07\/06\/arrow-equality-and-pullbacks\/"},"modified":"2006-07-06T19:26:28","modified_gmt":"2006-07-06T19:26:28","slug":"arrow-equality-and-pullbacks","status":"publish","type":"post","link":"http:\/\/www.goodmath.org\/blog\/2006\/07\/06\/arrow-equality-and-pullbacks\/","title":{"rendered":"Arrow Equality and Pullbacks"},"content":{"rendered":"<p>We&#8217;re almost at the end of this run of category definitions. We need to get to the point of talking about something called a *pullback*. A pullback is a way of describing a kind of equivalence of arrows, which gets used a lot in things like interesting natural transformations. But, before we get to pullbacks, it helps to understand the equalizer of a pair of morphisms, which is a weaker notion of arrow equivalence.<br \/>\nWe&#8217;ll start with sets and functions again to get an intuition; and then we&#8217;ll work our way back to categories and categorical equalizers.<br \/>\nSuppose we have two functions mapping from members of set A to members of set B.<\/p>\n<p>f, g : A &rarr; B<\/p>\n<p>Suppose that they have a non-empty intersection: that is, that there is some set of values x &isin; A for which f(x) = g(x). The set of values C from A on which f and g return the same result (*agree*) is called the *equalizer* of f and g. Obviously, C is a subset of A.<br \/>\nNow, let&#8217;s look at the category theoretic version of that. We have *objects* A and B.<br \/>\nWe have two arrows f, g : A &rarr; B. This is the category analogue of the setup of sets and functions from above. To get to the equalizer, we need to add an object C which is a *subobject* of A (which corresponds to the subset of A on which f and g agree in the set model).<br \/>\nThe equalizer of A and B is the pair of the object C, and an arrow i : C &rarr; A. (That is, the object and arrow that define C as a subobject of A.) This object and arrow must satisfy the following conditions:<br \/>\n1. f &ordm; i = g &ordm; i<br \/>\n2. (&forall; j : D &rarr; A)  f &ordm; j = g &ordm; j &rArr; (&exist; 1 k : D &rarr; C) i &ordm; k = j.<br \/>\nThat second one is the mouthful. What it says is: if I have any arrow j from some other object D to A: if f and g agree on composition about j, then there can only be *one* *unique* arrow from C to D which composes with j to get to A. In other words, (C, i) is a *selector* for the arrows on which A and B agree; you can only compose an arrow to A in a way that will compose equivalently with f and g to B if you go through (C, i) Or in diagram form, k in the following diagram is necessarily unique:<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"equalizer.jpg\" src=\"https:\/\/i0.wp.com\/scientopia.org\/img-archive\/goodmath\/img_10.jpg?resize=182%2C90\" width=\"182\" height=\"90\" \/><\/p>\n<p>There are a couple of interesting properties of equalizers that are worth mentioning. The morphism in an equalizer is a *always* monic arrow (monomorphism); and if it&#8217;s epic (an epimorphism), then it must also be iso (an isomorphism).<br \/>\nThe pullback is very nearly the same construction as the equalizer we just looked at; except it&#8217;s abstracting one step further.<br \/>\nSuppose we have two arrows pointing to the same target, f : B &rarr; A and g : C &rarr; A. Then the pullback of of f and g is the triple of an object and two arrows (B&times;<sub>A<\/sub>C, p : B&times;<sub>A<\/sub>C &rarr; B, q : B&times;<sub>A<\/sub>C &rarr; C). The elements of this triple must meet the following requirements:<br \/>\n1. f &ordm; p = g &ordm; q<br \/>\n2. (f &ordm; p) :  B&times;<sub>A<\/sub>C &rarr; A<br \/>\n3. For every triple (D, h : D &rarr; B , k : D &rarr; C), there is exactly one unique arrow <sub>A<\/sub> : D &rarr; B&times;<sub>A<\/sub>C where p&ordm;<sub>A<\/sub> = h, and q &ordm; <sub>A<\/sub> = k.<br \/>\nAs happens so frequently in category theory, this is clearer using a diagram.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" alt=\"pullback.jpg\" src=\"https:\/\/i0.wp.com\/scientopia.org\/img-archive\/goodmath\/img_11.jpg?resize=248%2C232\" width=\"248\" height=\"232\" \/><\/p>\n<p>If you look at this, you should definitely be able to see how this corresponds to the categorical equalizer.  If you&#8217;re careful and clever, you can also see the resemblance to categorical product (which is why we use the &times;<sub>A<\/sub> syntax). It&#8217;s a general construction that says that f and g are equivalent with respect to the product-like object B&times;<sub>A<\/sub>C.<br \/>\nHere&#8217;s the neat thing. Work backwards through this abstraction process to figure out what this construction means if objects are sets and arrows are functions, and what&#8217;s the pullback of the sets A and B?<\/p>\n<p>{ (x,y) &isin; A &times; B : f(x) = g(y) }<\/p>\n<p>Right back where we started, almost. The pullback is an equalizer; working it back shows that.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;re almost at the end of this run of category definitions. We need to get to the point of talking about something called a *pullback*. A pullback is a way of describing a kind of equivalence of arrows, which gets used a lot in things like interesting natural transformations. But, before we get to pullbacks, [&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-59","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-X","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/59","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=59"}],"version-history":[{"count":0,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/posts\/59\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/media?parent=59"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/categories?post=59"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.goodmath.org\/blog\/wp-json\/wp\/v2\/tags?post=59"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}