§ Direct and Inverse limits

§ Direct limit: definition

A direct limit consists of injections A1A2A_1 \rightarrow A_2 \rightarrow \dots. It leads to a limit object LL, which as a set is equal to the union of all the AiA_i. It is equipped with an equivalence relation. We can push data "towards" the limit object, hence it's a "direct" limit. So each element in AiA_i has an equivalence class representative in LL.

§ Direct limit: prototypical example

§ SnS_n

We can inject the symmetric groups S1S2S_1 \rightarrow S_2 \rightarrow \dots. However, we cannot project back some permutation of S2S_2 (say) to S1S_1: if I have (2,1)(2, 1) (swap 2 and 1), then I can't project this back into S1S_1. This is prototypical; in general, we will only have injections into the limit, not projections out of the limit.

§ Prufer group

Here, the idea is to build a group consisting of all the pnp^nth roots of unity. We can directly """define""" the group as:
P(q){exp(2πk/qn):n,kN, 0kqn} P(q)^\infty \equiv \{ \texttt{exp}(2\pi k /q^n) : \forall n, k \in \mathbb N, ~ 0 \leq k \leq q^n \}
That is, we take q1q^1th roots of unity, q2q^2th roots of unity, and so on for all nNn \in \mathbb N. To build this as a direct limit, we embed the group Z/qnZZ/q^n Z in Z/qn+1ZZ/q^{n+1}Z by sending: the qnq^n th roots of unity to qn+1q^{n+1}th roots of unity raised to the power qq. An example works well here.
  • To embed Z/9ZZ/9Z in Z/27ZZ/27Z, we send:
  • 2π1/92 \pi 1 /9 to 2π1/9×(3/3)=2π3/272 \pi 1/9 \times (3/3) = 2 \pi 3 / 27.
  • 2π2/92 \pi 2 /9 to 2π6/272 \pi 6/27
  • 2π3/92 \pi 3 /9 to 2π9/272 \pi 9 / 27
  • 2πk/92 \pi k / 9 to 2π(3k)/272 \pi (3k)/27
  • This gives us a full embedding.
The direct limit of this gives us the prufer group. We can see that the prufer group is "different" from its components, since for one it has cardinality N\mathbb N. For another, all subgroups of the prufer group are themselves infinite. The idea is to see that:
  • Every subgroup of the prufer group is finite.
  • By Lagrange, |prufer|/|subgroup| = |quotient|. But this gives us something like infinite/finite = infinite.
To see that every subgroup HH of the prufer group is finite, pick an element oo outside of the subgroup HH. This element oo will belong to some Z/qkZZ/q^kZ for some kZk \in \mathbb Z (since the direct limit has an elements the union of all the original elements modulo some equivalence). If the subgroup HH does not have oo (and thus does not contain Z/qkZZ/q^kZ), then we claim that it cannot contain any of the larger Z/qk+δZZ/q^{k+\delta}Z. If it did contain the larger Z/qk+δZ/q^{k + \delta}, then it would also contain Z/qkZ/q^k since we inject Z/qkZ/q^k into Z/qk+δZ/q^{k+\delta} when building the prufer group. Thus, at MAXIMUM, the subgroup HH can be Z/qk1ZZ/q^{k-1}Z, or smaller, which is finite in size. Pictorially:
...         < NOT in H
Z/q^{k+1}Z  < NOT IN H
Z/q^kZ      < NOT IN H
...         < MAYBE IN H, FINITE
Z/q^2Z      < MAYBE IN H, FINITE
Z/qZ        < MAYBE IN H, FINITE
The finite union of finite pieces is finite. This HH is finite.

§ Stalks

Given a topological space (X,T)(X, T) and functions to the reals on open sets F{UR}F \equiv \{ U \rightarrow \R \}, we define the restricted function spaces FU{FU:UR:fF}F|_U \equiv \{ F_U : U \rightarrow \mathbb R : f \in F \}. Given two open sets UWU \subseteq W, we can restrict functions on WW (a larger set) to functions on UU (a smaller set). So we get maps FWFUF|_W \rightarrow F|_U. So given a function on a larger set WW, we can inject into a smaller set UU. But given a function on a smaller set, it's impossible to uniquely extend the function back into a larger set. These maps really are "one way". The reason it's a union of all functions is because we want to "identify" equivalent functions. We don't want to "take the product" of all germs of functions; We want to "take the union under equivalence".

§ Finite strings / A*

Given an alphabet set AA, we can construct a finite limit of strings of length 00, strings of length 11, and so on for strings of any given length nNn \in \mathbb N. Here, the "problem" is that we can also find projection maps that allow us to "chop off" a given string, which makes this example not-so-great. However, this example is useful as it lets us contrast the finite and infinite string case. Here, we see that in the final limit AA*, we will have all strings of finite length. (In the infinite strings case, which is an inverse limit, we will have all strings of infinite length)

§ Vector Spaces over R\mathbb R

consider a sequence of vector spaces of dimension nn: V1V2VnV_1 \rightarrow V_2 \dots V_n. Here, we can also find projection maps that allows us to go down from VnV_n to Vn1V_{n-1}, and thus this has much the same flavour as that of finite strings. In the limiting object VV_\infty, we get vectors that have a finite number of nonzero components. This is because any vector in VV_{\infty} must have come from some VNV_N for some NN. Here, it can have at most NN nonzero components. Further, on emedding, it's going to set all the other components to zero.

§ Categorically

Categorically speaking, this is like some sort of union / sum (coproduct). This, cateogrically speaking, a direct limit is a colimit .

§ Inverse limit: definition

An inverse limit consists of projections A1A2A_1 \leftarrow A_2 \leftarrow \dots. It leads to a limit object LL, which as a set is equal to a subset of the product of all the AiA_i, where we only allow elements that "agree downwards" .Formally, we write this as:
L{a[:]iAi:proj(αω)(a[ω])=a[α] αω} L \equiv \{ a[:] \in \prod_i A_i : \texttt{proj}(\alpha \leftarrow \omega)(a[\omega]) = a[\alpha] ~ \forall \alpha \leq \omega \}
So from each element in LL, we get the projection maps that give us the component a[α]a[\alpha].
These 'feel like' cauchy sequences, where we are refining information at each step to get to the final object.

§ Inverse limit: prototypical example

§ infinite strings

We can consider the set of infinite strings. Given an infinite string, we can always find a finite prefix as a projection. However, it is impossible to canonically inject a finite prefix of a string into an infinite string! Given the finite string xxx, how do we make it into an infinite string? do we choose xxxa*, xxxb*, xxxc*, and so on? There's no canonical choice! Hence, we only have projections , but no injections .

§ P-adics

Consider the 7-adics written as infinite strings of digits in {0,1,,6}\{0, 1, \dots, 6\}. Formally, we start by:
  1. Having solutions to some equation in Z/7Z\mathbb{Z}/7\mathbb{Z}
  2. Finding a solution in Z/49Z\mathbb{Z}/49\mathbb{Z} that restricts to the same solution in Z/7Z\mathbb{Z}/7\mathbb{Z}
  3. Keep going.
The point is that we define the 77-adics by projecting back solutions from Z/49Z\mathbb{Z}/49\mathbb{Z}. It's impossible to correctly embed Z/7Z\mathbb{Z}/7\mathbb{Z} into Z/49Z\mathbb{Z}/49\mathbb{Z}: The naive map that sends the "digit i" to the "digit i" fails, because:
  • in Z/7Z\mathbb{Z}/7\mathbb{Z} we have that 2×412 \times 4 \equiv 1.
  • in Z/49Z\mathbb{Z}/49\mathbb{Z} 2×482 \times 4 \equiv 8.
So ϕ(2)×ϕ(7)ϕ(2×7)=ϕ(4)\phi(2) \times \phi(7) \neq \phi(2 \times 7) = \phi(4). Hece, we don't have injections , we only have projections .

§ Partitions

Let SS be some infinite set. Let {Πn}\{ \Pi_n \} be a sequence of partitions such that Πn+1\Pi_{n+1} is finer than Πn\Pi_n. That is, every element of Πn\Pi_n is the union of some elements of Πn+1\Pi_{n+1}. Now, given a finer partition, we can clearly "coarsen" it as desired, by mapping a cell in the "finer space" to the cell containing it in the "coarser space". The reverse has no canonical way of being performed; Once again, we only have projections , we have no injections . The inverse limit is:
{(P0,P1,P2,)i=0nΠn:Pa=projaz(Pz)az}. \{ (P_0, P_1, P_2, \dots) \in \prod_{i=0}^n \Pi_n : P_a = \texttt{proj}_{a \leftarrow z}(P_z) \forall a \leq z \}.
But we only care about "adjacent consistency", since that generates the other consistency conditions; So we are left with:
{(P0,P1,P2,)i=0nΠn:Pa=projab(Pb)a+1=b}. \{ (P_0, P_1, P_2, \dots) \in \prod_{i=0}^n \Pi_n : P_a = \texttt{proj}_{a \leftarrow b}(P_b) \forall a +1 = b \}.
But unravelling the definition of proj\texttt{proj}, we get:
{(P0,P1,P2,)i=0nΠn:PaPb)a+1=b}. \{ (P_0, P_1, P_2, \dots) \in \prod_{i=0}^n \Pi_n : P_a \supseteq P_b) \forall a +1 = b \}.
So the inverse limit is the "path" in the "tree of partitions".

§ Vector Spaces

I can project back from the vector space VnV_n to the vector space Vn1V_{n-1}. This is consistent, and I can keep doing this for all nn. The thing that's interesting (and I believe this is true), is that the final object we get, VωV^\omega, can contain vectors that have an infinite number of non-zero components! This is because we can build the vectors:
(1)V1(1,1)V2(1,1,1)V3(1,1,1,1)V4 \begin{aligned} &(1) \in V_1 \\ &(1, 1) \in V_2 \\ &(1, 1, 1) \in V_3 \\ &(1, 1, 1, 1) \in V_4 \\ &\dots \end{aligned}
Is there something here, about how when we build VV_\infty, we build it as a direct limit. Then when we dualize it, all the arrows "flip", giving us VωV^\omega? This is why the dual space can be larger than the original space for infinite dimensional vector spaces?

§ Categorically

Categorically speaking, this is like some sort of product along with equating elements. This, cateogrically speaking, a inverse limit is a limit (recall that categorical limits exist iff products and equalizers exist).

§ Poetically, in terms of book-writing.

  • The direct limit is like writing a book one chapter after another. Once we finish a chapter, we can't go back, the full book will contain the chapter, and what we write next must jive with the first chapter. But we only control the first chapter (existential).
  • The inverse limit is like writing a book from a very rough outline to a more detailed outline. The first outline will be very vague, but it controls the entire narrative (universal). But this can be refined by the later drafts we perform, and can thus be "refined" / "cauchy sequence'd" into something finer.

§ Differences

  • The direct limit consists of taking unions, and we can assert that any element in DiD_ibelongs in iDi\cup_i D_i. So this lets us assert that diDid_i \in D_i means that diLd_i \in L, or diL\exists d_i \in L, which gives us some sort of existential quantification.
  • The inverses limit consists of taking iDi\prod_i D_i. So given some element diDid_i \in D_i, we can say that elements in LL will be of the form {d1}×D2×D3\{d_1\} \times D_2 \times D_3 \dots. This lets us say d1D1,{d1}×D2L\forall d_1 \in D_1, \{d_1\} \times D_2 \dots \in L. This is some sort of universal quantification.