Skip to main content
Loading Explore guides…
Category Theory Limits · Acedra
Home
Explore
Mathematics
Category Theory Limits
Sign in to save
Chat
If YouTube asks you to sign in, open the video on YouTube.
Watch on YouTube
Reload player
Transcript
61 segments
Copy
Hide video
0:00
Hello everyone, and welcome to Kan Academy. I'm your host Dan. Today, we're going to talk about limits. Limits are quite a ubiquitous concept. One might even say that limits are universal. You can't escape limits---by definition; it's their defining property. All the cool kids talk about them, and some people even go out of their way to chase through diagrams in search of them. But I get it: limits are scary the first time you see them.
0:27
Without a guide, you might get pushed out and find yourself running in cycles. I'm here to pull you back out of this endless cycle, bringing you into larger and larger rings until you get more comfortable with limits. Who knows, with enough pulling, you might even become an *adic*. At this point, you might be suspicious about what this video is about. I should probably come clean now. I'm not Daniel Kan. That was a heavy burden to lift.
0:59
Now that my shoulders are a little lighter, let's get back on topic: limits. While they may seem gatekeepy---and don't get me wrong, they are---they're actually quite elementary. In a sense, they're a way for us to pretend that whatever fancy mathematical objects we're studying are just plain old sets. Therefore, it's probably a good idea to begin our story in the category of sets. Sets are about as benign as it gets---as long as they're not too big.
1:26
A set is just a small collection of things. For example, we have a set of all playing cards in a standard poker deck. We also have a set of all real numbers, and we have a set of all sets that don't contain themselves! Okay, maybe scratch that last one. In ZFC, though, we do have a set of all sets that *do* contain themselves. Let's focus on the set of playing cards. Well, I call it the set of playing cards, but as far as the category of sets is concerned,
1:54
its elements don't mean anything: the only defining feature of the set is its size, and with that regard, the set of playing cards is as good as any other set with 52 elements. That's a card trick I like to call card*inality*. The way we give elements of a set meaning is through functions. For example, we can express that every playing card has an associated value by defining a function nu to the natural numbers, associating to each card its value.
2:21
For example, nu would send the five of clubs to five, and the ace of diamonds to one. In fact, we could be more precise and say that nu maps from C to the set of natural numbers from 1 to 13. On the other hand, we can also define a function identifying each card's suit, sending the five of clubs to clubs, the ace of diamonds to diamonds, and so on. You might notice that these two functions can completely characterise the set of cards.
2:48
More precisely, for every value v, and every suit s, there's a unique playing card c with a value v and a suit s. This means that we can identify playing cards with ordered pair pairs consisting of a value and a suit. In fancier terms, this means that the set C of playing cards is canonically isomorphic to the Cartesian product of the set of values with the set of suits. "But (g+)+, this is just fancy and confusing jargon describing something
3:15
really obvious!" I hear you say, and you're right. In the category of sets, we don't need any of this fancy language, but that's exactly the point! This category is so straightforward to reason with that it's the perfect place to ease into fancier nonsense so that we have some idea what's going on in general. So now that we're in a mindset to overcomplicate the benevolent category of sets, let me continue down this road. I just said that we can give
3:40
otherwise indistinguishable elements meaning through the use of functions. We can take this one step further: elements themselves can also be represented with functions. Let this asterisk represent a singleton set with exactly one element, and I'll call the element "bang". With this set, we can identify elements a of a set S with functions from the singleton into S, where the unique element bang goes to a.
4:05
Now we can take the previous jumbled mess of symbols and rewrite it as a diagram. As explained before, our set C of playing cards has a function nu into the set of values, and another function sigma into the set of suits. If we have a given value v and a given suit s---now represented as functions from the singleton then we can use them to construct a unique card C. This unique card has the same value v and the same suit s, and these restrictions
4:32
can also be expressed by the diagram through a concept called commutativity. In this diagram, notice that we have two paths from the singleton to the set of values: we can either travel along v's function, or travel along c and then nu. For this triangle to commute, we need that the result of applying the functions along either path gives us the same answer. In other words, if we take the unique element
4:56
bang, apply c (picking out a unique card), and then apply nu (picking out the card's value), we should get the same result as with starting with bang and then applying v directly (which picks out the value we started with). Commutativity of the lower triangle says that the card's suit should match the suit that we started with as well. Since we have playing cards, let's try and do something with them.
5:17
Using cartesian products, we can construct a set of all possible pairs of cards as well. Again, we can represent this construction with a diagram: given any choice of two cards c_1 and c_2, we get a unique pair p such that the first component of p is c_1, and the second component of p is c_2. What if I'm only interested in the pairs of cards that form two-of-a-kind? That is, when both cards have the same value.
5:43
Well, with set-builder notation, we can define it as the set of all pairs c_1 and c_2 such that nu(c_1) is equal to nu(c_2). Can we do the same thing with a diagram? Well, it would be strange if I brought us here just to say that we couldn't. If I have two cards c_1 and c_2, then the equation nu(c_1) equals nu(c_2) can be expressed with a commutative square. With this concept, our set P-tilde is exactly the set of all pairs of
6:10
cards that make this diagram commute. In other words, whenever we have an element c_1 and another element c_2 such that this perimeter commutes, then there is a unique pair p in P-tilde whose first component is c_1, and whose second component is c_2. In fancier jargon, we would say that P-tilde is the fibre product of C with itself over the set of values. This shows how we can restrict our construction of pairs by requiring a certain equation is satisfied.
6:38
"But (g+)+," I hear you say. "The set P-tilde also contains impossible pairs, like two copies of the four of hearts!" You're right; that's not ideal. For a pair of cards to be a valid two-of-a-kind, we need the values to be the same (as we've already done), but we also need the suits to be different; otherwise, we have two copies of the same card, which isn't possible in a standard deck! In set-builder notation we want the set
7:03
of all pairs c_1 and c_2 in P-tilde such that sigma(c_1) is not equal to sigma(c_2). Although our diagrams do really well when dealing with equality, they can't really express unequality. However, we can rectify this by using special functions: consider the two-element set Omega, holding an element called "true", and another element called "false". We can define a function g that takes a pair
7:29
of cards in P-tilde, and returns "true" whenever the two cards in the pair have different suits. With this simple hack, we can redefine the set of all valid two-of-a-kind pairs by restricting with an equation saying that g(p) has to be equal to "true". This allows us to translate the construction into a diagram: whenever we have a pair p in P-tilde such that this fork-shaped diagram commutes---which means g(p) is "true"---then this pair corresponds to a unique element of
7:57
our set P of valid two-of-a-kind pairs. In other words, we're saying that P is the equaliser of the function g with the constant function "true". If you're still waiting for me to talk about limits, I respect your patience, but we've actually already been talking about them! Was this not the type of limit you wanted to learn about? Well, if you want to learn about the *other* kind of limits, you can do so with the help of today's sponsor: Brilliant.
8:23
Mathematics is not a spectator sport (though some people wouldn't call it a sport at all): the only way you can get good at it is by actually doing it, and Brilliant is a great place for you to get that hands-on experience. Brilliant has thousands of interactive lessons in data analysis, AI, programming, and of course, mathematics. On top of being a great place for you to learn and review the other type of limits you might have
8:46
mistakenly come to this video for, their course on vectors can also give you a leg up if you want to better understand the limits in the category of vector spaces (which is where we're going next). In fact, Brilliant also has some courses in other introductory topics in algebra, like group theory and number theory which are crucial if you really wanted to understand limits. In the category of learning, Brilliant enjoys the following versal property:
9:10
for any starting point, and any learning goal, Brilliant can come up with a plan p through which you can take yourself from the start to the goal. To try everything Brilliant has to offer, free, for 30 days, visit Brilliant.org/GSheaf, or click on the link in the description below. By following this link, you'll also get 20% off an annual premium subscription. Thank you so much to Brilliant for sponsoring this video! Although we've been talking about limits so far,
9:36
I haven't given a proper definition yet this is because the full-fledged definition is much more than justifiably necessary in the category of sets. So let's revisit a channel favourite: the category of vector spaces. As far as categories are concerned, the category of vector spaces is still very tame, so we can guide our intuition here. Recall that the characteristic properties of a vector space [are] that its elements can be added together or rescaled.
10:01
If we have two vector spaces V and W, consider the Cartesian product of their underlying sets. Although this is only a set by construction, we can use the addition and rescaling structures of V and W to define the same structure on the product. This vector space structure on the Cartesian product is probably the simplest one we can come up with. It's also the only structure you can give V x W so that the projection maps to V and to
10:26
W are both linear transformations. In particular, V x W including its Vector space structure is completely determined by these linear projections. This suggests that we can maybe construct the vector space V x W using a similar diagram as the Cartesian product of sets. Of course, I brought us here because we can do this; however, we can't do it in exactly the same way: while the category of sets gives us access to arbitrary functions between sets, the category of vector
10:55
spaces limits us to using linear transformations. This means that the arrows in our diagrams must be linear transformations between vector spaces. While this is all fine and dandy for the projection maps, we see problems with the singleton star. There is a vector space with exactly one element: it's the zero-dimensional vector space. The problem though is that every linear transformation has to send the zero vector to the zero vector; in particular,
11:21
for any vector space V, there is only one linear transformation from the zero-dimensional space. In the category of sets, we used the singleton to identify elements, but this shows that we can't do the same thing for vector spaces. Luckily for us, we can resolve this problem by replacing the singleton with the one-dimensional vector space R. Specifically, a vector in V corresponds to the unique linear transformation from R to V that sends 1 to that vector.
11:51
Now, in the exact same way as with sets, we can completely characterise the vector space V x W by the following properties. First, we have linear transformations projecting from V x W to V, and from V x W to W. Secondly, for any vector in V, and for any other vector in W, there is a unique pair in V x W such that the first component is v and the second component is w. Now that we've established the Cartesian product, let's look at
12:19
another common construction in linear algebra. Suppose I have some linear transformation f from the vector space V to W. Then, the kernel---or null space---of f is given by the set of all vectors in V that are annihilated by f. If we want the inclusion of the kernel into V to be a linear transformation, then there is only one way to give the kernel a well-defined vector space structure. [[Take a guess!]] Since this space is determined by an equation---namely that f(v) equals
12:47
0---we can describe this space as a diagram realising the kernel as an equaliser of f and 0. Although the constructions of limits over sets and over vector spaces are similar, you might find it unsettling that the set-theoretic constructions use the singleton set star, whereas the linear algebraic constructions use the one-dimensional vector space R. How do we decide what to use in general? [[That's the neat thing: you don't.]]
13:12
Although the category of vector space is slightly more non-trivial than the category of sets, it's still too tame: vector spaces still have an obvious notion of element, and this notion behaves very well with linear transformations. This is what allows us to reduce the theory of vector spaces to the theory of sets, and the resulting theory of limits is not affected too much. However, more general categories do not enjoy this kind of luxury.
13:36
To demonstrate this, without going too far left *field*, consider the category of chain complexes. I'm not going to give a crash course on homology, so there are going to be holes in my explanation, so please bear with this abstract definition. A chain complex consists of a sequence of vector spaces chained together with certain maps. The vectors of the kth vector space are usually called chains of degree k,
14:01
and the linear transformations that connect them are called boundary maps, and the only additional property that chain complexes have to satisfy is that the boundary of a boundary has to be zero. This gives us the objects of our category of chain complexes. On the other hand, the maps between chain complexes are given by linear transformations from k-chains to k-chains that respect these boundary maps. Specifically, the boundary of the image of a
14:27
vector has to be the image of the boundary of that vector. Incidentally, this can be expressed by a commutative diagram, but I digress. In a chain complex, the natural notion of element is a chain of some degree, but unlike in our previous examples, we cannot probe arbitrary chains by mapping from a specially-chosen chain complex. However, if we group the chains by degree, then we can do almost as well with a family of chain complexes.
14:53
Specifically, let D(k) be the chain complex consisting of two copies of R concentrated in degrees k and (k-1), and connected with the identity boundary map (meaning that this function doesn't do anything). Then, k-chains in a chain complex correspond to maps from D(k). Now, let's revisit fibre products: suppose I have three chain complexes U, V, and W, with two chain maps f and g connecting V and W to U, respectively.
15:21
From our set theory example, the fibre product of V and W over U should be the chain complex whose chains are given by pairs---one element from V, and one from W---and f and g should map these respective chains to the same chain in U. While this set-builder notation has the right idea, it's not quite precise: there [are] a few things that we need to address. For example, we need to establish which pairs of chains can actually be used,
15:47
what the resulting degree of those chains are, how these chains map under boundary maps, and what the resulting vector space structure is in each degree. While none of these considerations are particularly difficult to address, the point of limits is to allow us to address all of them without really thinking about it, and indeed, all of the structure that we need to know can be summarised by the fibre
16:06
product diagram we've already seen before. The only difference in this case is that the source object in this category can be given by any object in the family of D(k)s. So now you might be even more distraught about the choice of source object when characterising these limits: not only does this choice seem to depend on the category, but now there might not even be a single sufficient choice! Luckily, we don't actually need to make any choices! Not only does this save us the
16:32
trouble of trying to be clever about choosing the source object, this also highlights the significance of limits (which makes you wonder why I haven't talked about it until now). Let's consider objects A, B, and C in a general category, where A and B are connected to C via arrows f and g, respectively. As we already know, the fibre product of A and B over C comes with projection arrows pi_1 to A, and pi_2 to B, and this makes the following square commute.
17:00
Now, the thing about being a limit is that the fibre product is the universally best object with such maps: any other object s with its own projection maps p_1 to A, and p_2 to B---making the resulting square commute---must inevitably factor through this fibre product. In other words, the fibre product of A and B over C is the universal object with maps pi_1 to A, and pi_2 to B satisfying that pi_1 of f is equal to pi_2 of g.
17:29
This is the so-called universal property of a fibre product, and this leads to the main advantage of using limits: limits are easy to map into. In a general category, elaborate objects may be difficult to study naïvely. In particular, if objects are too complicated or large, it can be particularly difficult to construct maps into these objects that respect the structure you're interested in. However, if this complicated object is actually given as a limit,
17:55
then you can use its universal property to build this map piece-by-piece. To map into the fibre product of A and B over C, you can just construct a map into A and a map into B, and then verify that these maps agree when they map to C. Then, the universal property guarantees that this defines a completely unique map into the fibre product whose components are what you have provided. For example, this is why you can describe parametric curves in R^2 using real-valued
18:22
functions for the x-coordinate and the y-coordinate separately. "(g+)+," I hear you say, "you've been beating around the bush for like 15 minutes now! Will you finally define a limit?" Well, not really, but before you riot, I did promise myself I would go 90% of the way. To talk about general limits, we first need some sort of shape J. For example, I'll take this infinite chain of arrows as my shape.
18:49
If you wanted to construct one of the limits we've already talked about from earlier, you could choose J to be one of these other shapes. Now, technically speaking, this shape is supposed to be a category, but if you don't know what that is, it's fine to just view them as a directed graph; you know, just vertices and arrows between them. Now that we have this abstract shape for a diagram, the next step is to realise this diagram inside of a category.
19:13
In general, this means associating to every vertex j some object F(j) in your category and associating to every edge (i to j) in your diagram a map (f(i) to f(j)) in your category. For example, if you wanted to realise a diagram in the category of vector spaces, every vertex would need to be given a vector space, and every arrow would have to be given a linear transformation. Of course, not just any association works, but if your diagram doesn't have any triangles in it,
19:40
then you don't have to worry about anything else; otherwise, you'll have to be sure that the association is functorial: any commutative triangle in J has to map to a commutative triangle in your category. Given my choice of abstract diagram, I'm going to work in the category of commutative rings, and associate to every vertex the following rings. If you're unfamiliar with these rings it's enough for today to see Z/10^n as the ring of integers,
20:07
where two numbers are considered the same if the first n digits are the same. Now that we have a concrete diagram, a limit of this diagram is an object that has a map to every single object in our diagram. We call these maps projections. In my case, this means that my limit is some ring that has a projection ring homomorphism into Z/10^n for every n. Again, not just any collection of projection maps will do: they
20:34
need to respect the structure of your diagram. For every edge that already exists in our diagram, we can use these projection maps to construct a triangle. The requirement on these projection maps is that these triangles always commute. In my case, this means for every element of the limit, the first end digits of the projection to Z/10^(n+1) is the same as the first end digits of the projection to Z/10^n.
21:00
In other words, once I know where it goes in Z/10^n,
21:04
I only have the freedom to select the (n+1)st digit of where it goes in Z/10^(n+1). This is the property that a limit has to satisfy, but the point is that the limit is universally determined by this property: in other words, if I find some other object with its own projection maps into each object in our diagram, such that the same triangles commute, then this should define a unique map u into our limit object, which factors through every p_j simultaneously via the projection maps.
21:33
In my case, this universal property implies that an element in my limit is uniquely characterised by its first n digits, for every positive integer n. This means the elements of my limit can be represented as infinite sequences of decimal digits, going to the left. Moreover, you can use grade school arithmetic techniques to compute the sum and the products of these numbers (although it might take you a while). This ring is known as the ring of 10-adic integers.
22:01
If you're still here, thank you for watching! If you like what you watched, then I hope this video is universal with that property. If you didn't like what you watched, you must be crossed with the field of categories. Wait, that can't be right... Ah, I misread; silly me. You must have crossed in the category of fields! See, the thing is, I've conveniently overlooked the fine-print of limits. While limits are great when we have them, actually having them can be a
22:30
tricky part to show, depending on the category you're working in. Since the universal property of a limit is pretty strong, actually proving that something satisfies the universal property of a limit can be a good deal of work to do directly. This is why we usually resort to other techniques for asserting the existence of limits. Proving that limits exist in the category of sets is actually not too bad, but that's almost
22:52
by design, so I don't know if that really counts. In the category of vector spaces, we can show that it has all limits because the category is monadic over the category of sets. If you watched a previous video of mine, you already know what this means (although not necessarily that this implies that it has all limits). For the category of chain complexes, we can show that it has all limits because it's a reflective
23:13
subcategory of a category of functors with values in the category of vector spaces. Don't be discouraged by this; if you don't have access to high-level machinery, either because it's not available, or because you don't understand it yet, proving that a category has all limits is not as bad as just made it sound---it's just not trivial. You don't necessarily have to check every possible diagram shape to show that your category has all limits.
23:36
In fact, it's enough to just check that it has all products and equalisers! Since products and equalisers are relatively simple diagrams, this makes general limits not so bad, at least so long as your category actually *has* all limits. Intuitively, products correspond to constructing lists of things, and equalisers correspond to restricting things by equations. Therefore, this this fact says that a general
23:59
limit is a categorical analog of taking lists of elements that satisfy certain relations. Given how elaborate diagrams can be, this might be hard to believe the first time you hear, but it'll all make sense when you look at *this*. Okay, okay, let's look at an example. If we look at my 10-adic ring again, we can construct this limit by first starting with this infinite product. The elements of this ring look like sequences of numbers, where the nth number is in Z/10^n.
24:28
Now I can construct two maps from this ring to itself. The first map just does nothing---it sends each element to itself. The other map, though, shifts everything down by one. Shifting down just means paying attention to one fewer digit. Now we're going to take the equaliser of these two maps, and I claim that the result is going to be the 10-adic integers again. Explicitly, the equaliser consists of all sequences of numbers where shifting down does nothing.
24:56
We can check this component-by-component, so this would mean that the fifth number is equal to the fourth number, the fourth is equal to the third, the third is equal to the second, and the second is equal to the first. Of course, if that was all that was true, then this would be a sequence of equal numbers. However, these equalities are checked in different rings. Since we only care about the first n digits of a number in Z/10^n, this means that the elements of this equaliser
25:20
can be thought of as a sequence of finite length approximations of the 10-adic numbers. Each successive finite length approximation gives us a new digit of our number, and if we string all of them together, we get an infinite sequence that reconstructs the entire 10-adic number that we started with! This is the guiding intuition behind the proof that the equaliser will actually reconstruct the limit of our original diagram.
25:43
I hope now that I've talked a bit about proving existence that you've come around. If not, it's fine. While the set of fans who've got my back may not necessarily satisfy any universal property, it will always be a weak terminal object.
Here to help you learn
Sign in to keep a private conversation with your course tutor.
Ask me anything about the material…
Sign in to chat