Feeds:
Posts

## Operations, pro-objects, and Grothendieck’s Galois theory

Previously we looked at several examples of $n$-ary operations on concrete categories $(C, U)$. In every example except two, $U$ was a representable functor and $C$ had finite coproducts, which made determining the $n$-ary operations straightforward using the Yoneda lemma. The two examples where $U$ was not representable were commutative Banach algebras and commutative C*-algebras, and it is possible to construct many others. Without representability we can’t apply the Yoneda lemma, so it’s unclear how to determine the operations in these cases.

However, for both commutative Banach algebras and commutative C*-algebras, and in many other cases, there is a sense in which a sequence of objects approximates what the representing object of $U$ “ought” to be, except that it does not quite exist in the category $C$ itself. These objects will turn out to define a pro-object in $C$, and when $U$ is pro-representable in the sense that it’s described by a pro-object, we’ll attempt to describe $n$-ary operations $U^n \to U$ in terms of the pro-representing object.

The machinery developed here is relevant to understanding Grothendieck’s version of Galois theory, which among other things leads to the notion of étale fundamental group; we will briefly discuss this.

Operations on finite groups

A general recipe for finding a pair $(C, U)$ where $U$ is not quite representable is to start with an example where $U$ is representable by some object and then restrict to a subcategory not containing that object. We’ll focus first on the example of the category of finite groups (the subject of the puzzle in the previous post) for concreteness.

The obvious forgetful functor $\text{FinGrp} \to \text{Set}$ is not representable: indeed, if $G$ is any finite group then we can find a nontrivial finite group $H$ such that there are no nonzero homomorphisms $G \to H$ (for example by taking $\gcd(|G|, |H|) = 1$, so $G$ cannot represent the forgetful functor. However, we can come close: for any positive integer $k$, the cyclic group $\mathbb{Z}/k\mathbb{Z}$ represents the functor sending a group to its set of $k$-torsion elements, and in some sense “as $k \to \infty$” this gives us the forgetful functor. More precisely, the forgetful functor is the colimit

$\displaystyle U(-) \cong \underset{k}{\text{colim }} \text{Hom}(\mathbb{Z}/k\mathbb{Z}, -)$

where the diagram containing the $\mathbb{Z}/k\mathbb{Z}$ is the diagram of finite quotients of $\mathbb{Z}$ together with the natural quotient maps; this is because every element of a finite group is $k$-torsion for some $k$. (Recall that colimits in functor categories are computed pointwise, so the above notation denotes both a colimit of sets and a colimit of functors to $\text{Set}$.) It follows that at least the unary operations $U \to U$ can be computed, by the universal property of colimits and the Yoneda lemma, as

$\displaystyle \lim_k \text{ } U(\mathbb{Z}/k\mathbb{Z}) \cong \hat{\mathbb{Z}}$

where $\hat{\mathbb{Z}}$ denotes the profinite integers, which are isomorphic to the direct product $\prod_p \mathbb{Z}_p$ of the $p$-adic integers over all primes $p$ (essentially by the Chinese remainder theorem). What this tells us is that $g \mapsto g^m$ is a unary operation on finite groups not only for every integer $m$, but for every profinite integer $m$.

What do these strange new operations actually look like? Roughly speaking, the profinite integers are the answer to the question “what happens if I try to specify an integer by specifying its remainder modulo all positive integers, but my requirements aren’t satisfied by any actual integer?” Such a formal object can still act sensibly on any given finite group $G$, since to define $g \mapsto g^m$ we only need to know the value of $m \bmod |G|$, but it may act on a collection of finite groups in a way that an actual integer can’t. For an explicit example, consider the element of $\prod \mathbb{Z}_p$ whose component at every prime $p$ other than $2$ is $1$ and whose component at $2$ is the $2$-adic integer

$\displaystyle ...1010101 \in \mathbb{Z}_2$.

The corresponding unary operation on finite groups acts as follows. Every element $g \in G$ of a finite group generates a cyclic subgroup of some order $d$. This cyclic group is the product of its Sylow $p$-subgroups over all primes $p$. On the Sylow $p$-subgroups, $p \neq 2$, our new operation acts as the identity, but on the Sylow $2$-subgroup our operation acts as exponentiation “to the $- \frac{1}{3}$ power” in the sense that on $2$-power torsion the map $g \mapsto g^{-3}$ is invertible and the operation we have described computes its inverse. This follows from the observation that $...1010101$ is the sum of the $2$-adically convergent infinite series $\sum_k 4^k = \frac{1}{1 - 4}$.

More generally, $\hat{\mathbb{Z}}$ inherits a topology, the coarsest topology such that all projection maps $\hat{\mathbb{Z}} \to \mathbb{Z}/n\mathbb{Z}$ are continuous (where the latter is given the discrete topology). A sequence converges with respect to this topology if and only if it converges $p$-adically for all primes $p$, and with respect to this topology $\mathbb{Z}$ is dense. Thus, for example, the series

$\displaystyle 1! + 2! + 3! + 4! + ... \in \hat{\mathbb{Z}}$

converges $p$-adically with respect to all primes $p$, and consequently it defines an operation

$\displaystyle g \mapsto g^{1!} g^{2!} g^{3!} ...$

which corresponds to an element of $\hat{\mathbb{Z}} \setminus \mathbb{Z}$.

What about $n$-ary operations? Here the diagram analogous to the diagram of the finite cyclic groups above is more complicated: it consists of all finite groups generated by $n$ elements, together with quotient maps preserving a particular choice of generators. Equivalently, the diagram is the diagram of all finite quotients of the free group $F_n$, hence

$\displaystyle U^n(-) \cong \underset{N}{\text{colim }} \text{Hom}(F_n/N, -)$

where $N$ runs over all subgroups of $F_n$ of finite index. The same argument as before shows that the $n$-ary operations $U^n \to U$ can naturally be identified with

$\displaystyle \lim_N \text{ } U(F_n/N)$

which gives the profinite completions $\hat{F_n}$ of the free groups $F_n$. The resulting Lawvere theory might be called the profinite completion of the Lawvere theory of groups. There is again a topology on $\hat{F_n}$, and we can write down elements of $\hat{F_n}$ by writing down convergent sequences of elements of $F_n$, such as

$\displaystyle (g, h) \mapsto g^{1!} h^{1!} g^{2!} h^{2!} g^{3!} h^{3!} ...$

which corresponds to an element of $\hat{F_2} \setminus F_2$.

A digression on representability

In the next several examples we’ll be showing that various forgetful functors $U : C \to \text{Set}$ fail to be representable. To do this it will be helpful to record the following corollary of the Yoneda lemma.

Proposition: Suppose $U$ is represented by some object $u$. Then the element $\text{id}_u \in \text{Hom}(u, u) \cong U(u)$ has the property that, in the natural identification $U(c) \cong \text{Hom}(u, c)$, the element of $U(c)$ associated to a given morphism $f \in \text{Hom}(u, c)$ is the image of $\text{id}_u \in U(u)$ under the induced map $U(f) : U(u) \to U(c)$.

Intuitively, $u$ is the free object of $C$ on one element, and $\text{id}_u \in U(u)$ is that element. We’ll be showing that various $U$ are not representable by showing that there does not exist any object $u$ and element of $U(u)$ capable of mapping to any element of some other $U(c)$.

Simpler examples

The example of finite groups is unusually complicated in that the diagram representing $U$ doesn’t give a diagram representing $U^n$ in a straightforward way, the problem being that most coproducts don’t exist in the category of finite groups. In the following examples finite coproducts will exist and the situation simplifies.

Example. Let $C = \text{FinAb}$ be the category of finite abelian groups. The unary operations are the same as for finite groups, but for $n$-ary operations with $n > 1$ we find that we can use a simpler diagram to represent $U^n$, roughly speaking the coproduct of $n$ copies of the diagram for $U$. More precisely, we have

$\displaystyle U^n(-) = \underset{k}{\text{colim }} \text{Hom}(\mathbb{Z}/k\mathbb{Z} \oplus ... \oplus \mathbb{Z}/k\mathbb{Z}, -)$

since any $n$-tuple of elements of a finite abelian group is $k$-torsion for some $k$. It follows that the $n$-ary operations can be determined from the unary ones in a straightforward way: they are just given by the elements of $\hat{\mathbb{Z}}^n$.

Example. Let $C$ be the category of finite-dimensional $\mathbb{C}[x]$-modules. (This example is closely analogous to $\text{FinAb}$.) The forgetful functor is the colimit over a rather large diagram, namely

$\displaystyle U(-) \cong \underset{f}{\text{colim }} \text{Hom}(\mathbb{C}[x]/f(x), -)$

where $f$ ranges over all nonzero polynomials and the maps are the obvious maps preserving $x$. Equivalently, we’re looking at the diagram of all finite-dimensional quotients of $\mathbb{C}[x]$ as a $\mathbb{C}[x]$-module. It follows that the unary operations $U \to U$ can naturally be identified with the limit

$\displaystyle \lim_f \text{ } U(\mathbb{C}[x]/f(x)) \cong \widehat{\mathbb{C}[x]}$

or what one might call the “pro-finite-dimensional completion” of $\mathbb{C}[x]$. The $n$-ary operations are given by $\widehat{\mathbb{C}[x]}^n$ as above. Analogous to the case of $\mathbb{Z}$, the Chinese remainder theorem shows that

$\displaystyle \widehat{\mathbb{C}[x]} \cong \prod_{p \in \mathbb{C}} \mathbb{C}[[x - p]]$

is the ring consisting of families of formal power series expansions at each point in the complex plane. Note in particular that any holomorphic function has such a family of power series expansions; in other words, the ring of holomorphic functions is naturally a subring of $\widehat{\mathbb{C}[x]}$, hence we recover abstractly the concrete fact that on a finite-dimensional $\mathbb{C}[x]$-module we can not only apply polynomials in $x$ but appropriate power series in $x$, in particular $e^x$. This construction is relevant to the passage from finite-dimensional representations of a Lie algebra $\mathfrak{g}$ to finite-dimensional representations of a suitable Lie group $G$ with Lie algebra $\mathfrak{g}$.

Example. Let $C$ be the category of finite $G$-sets for $G$ a group. If $G$ is finite, it represents the obvious forgetful functor to $\text{Set}$ and determining the $n$-ary operations is straightforward. If $G$ is infinite, the forgetful functor will sometimes but not always be representable, but it will always be expressible as

$\displaystyle U(-) \cong \underset{N}{\text{colim }} \text{Hom}(G/N, -)$

where $N$ ranges over all normal subgroups of $G$ of finite index (the point being that if $G$ acts on a finite set then it necessarily acts through some finite quotient). It follows that the unary operations $U \to U$ can naturally be identified with the limit

$\displaystyle \lim_N \text{ } U(G/N) \cong \hat{G}$

which is just the profinite completion of $G$. In particular, if $\hat{G}$ is infinite, then $U$ cannot be representable. (In particular, if $G$ is both infinite and embeds into $\hat{G}$, then $U$ cannot be representable. A group embeds into its profinite completion iff it is residually finite.) More generally, taking coproducts we have

$\displaystyle U^n(-) \cong \underset{N}{\text{colim }} \text{Hom}(G/N \sqcup ... \sqcup G/N, -)$

since $G$ acts on any $n$-tuple of elements of a finite $G$-set through a finite quotient, and we find that the $n$-ary operations $U^n \to U$ are given by $\hat{G} \sqcup ... \sqcup \hat{G}$: more explicitly, by a unary operation on one factor.

Example. Let $C$ be the category of commutative nil rings; that is, commutative rings (necessarily non-unital) in which every element is nilpotent. The obvious forgetful functor is not representable: if $R$ is a nil ring and $r \in R$ is any element, then $r^k = 0$ for some $k$, so $r$ cannot map to an element satisfying $s^k \neq 0$. The forgetful functor can be expressed as a colimit as follows: let $R_k = x \mathbb{Z}[x]/x^k$ be the free non-unital ring on a $k$-step nilpotent element. Then

$\displaystyle U(-) = \underset{k}{\text{colim }} \text{Hom}(R_k, -)$.

The same argument as before shows that the unary operations $U \to U$ can naturally be identified with the limit

$\displaystyle \lim_k \text{ } U(R_k) \cong x \mathbb{Z}[[x]]$

which gives the non-unital ring of formal power series with no constant term. Note that this is precisely the condition required for composition of power series to be well-defined. More generally, taking coproducts we have

$\displaystyle U^n(-) = \underset{k}{\text{colim }} \text{Hom}(R_k \otimes ... \otimes R_k, -)$

since any $n$-tuple of elements of a nil ring is $k$-step nilpotent for some $k$, and we find that the $n$-ary operations $U^n \to U$ can naturally be identified with the non-unital ring of formal power series in $n$ variables with no constant term.

If we think of the Lawvere theory of commutative rings as the category of affine spaces $\mathbb{A}^n$ over $\mathbb{Z}$ (since this is the opposite of the category of free commutative rings on finitely many elements), then the Lawvere theory we obtain here is in some sense the category of formal neighborhoods of the origin in the affine spaces over $\mathbb{Z}$.

Example. We return now to the case of commutative Banach algebras. The obvious forgetful functor is not representable: if $B$ is a Banach algebra and $b \in B$ an element, then $b$ has some fixed norm $\| b \|$, hence can map to elements of spectral radius at most $\| b \|$. The forgetful functor can be expressed as a colimit of representable functors as follows. For each $k \in \mathbb{N}$, let $B_k$ denote the algebra of functions on the closed disk of radius $k$ which are holomorphic in the interior and continuous on the boundary. These conditions are preserved by uniform limits, so $B_k$ equipped with the uniform norm is a Banach algebra. The holomorphic functional calculus shows that any element $b$ of a Banach algebra $B$ of spectral radius less than $n$ can be associated to a homomorphism $B_k \to B$ so that the function $b_k \in B_k$ given by the inclusion of the disk of radius $k$ into $\mathbb{C}$ is sent to $b$, although the converse doesn’t seem to hold (see the discussion at MO). Nevertheless, this is enough to ensure that

$\displaystyle U(-) \cong \underset{k}{\text{colim }} \text{Hom}(B_k, -)$

where the diagram over the $B_k$ is given by the natural restriction maps $B_{k+1} \to B_k$. It follows that the unary operations $U \to U$ can be identified with

$\displaystyle \lim_n \text{ } U(B_n)$

which can in turn be identified with the holomorphic functions $\mathbb{C} \to \mathbb{C}$. More generally, taking coproducts we have

$\displaystyle U^n(-) \cong \underset{k}{\text{colim }} \text{Hom}(B_k \otimes ... \otimes B_k, -)$

since any $n$-tuple of elements of a Banach algebra has spectral radius less than $k$ for some $k$ (where $\otimes$ denotes the Banach algebra tensor product), and we find that the $n$-ary operations $U^n \to U$ can be identified with the holomorphic functions $\mathbb{C}^n \to \mathbb{C}$ (thinking of $B_k \otimes ... \otimes B_k$ as a suitable algebra of functions on the product of $n$ copies of the closed disk of radius $k$).

This result provides us with a definition of holomorphic function that makes no explicit mention of differentiability! However, the derivatives of a given operation $U \to U$ can be determined by applying it to nilpotent elements: for example, the first $n$ derivatives of an operation can be determined by applying it to $x \in \mathbb{C}[x]/x^{n+1}$, once the latter is equipped with a suitable Banach algebra norm (which can be obtained by taking the norm induced from any embedding into a matrix algebra).

Example. The case of commutative C*-algebras is nearly identical to the above, except that the algebras $B_k$ should be replaced with the algebras $A_k$ of continuous functions on the closed disk of radius $k$.

Directed colimits and pals

In the above examples, we dealt with forgetful functors $U : C \to \text{Set}$ that weren’t representable by writing them as a colimit of representable functors. It turns out that this can always be done.

Theorem: Let $C$ be a category. Any functor $U : C \to \text{Set}$ is canonically a colimit of representable functors.

“Canonically” means the following: if $C$ is any category, $S$ any set of objects in $C$, and $c$ any object, there is a canonical diagram consisting of all morphisms $f : s \to c$ from an object in $S$ to $c$ and all morphisms between objects in $S$ respecting these. (We constructed similar diagrams, but going the other direction, to describe the profinite completion, where $C$ was the category of groups and $S$ a set of objects containing at least one copy of each finite group.) $c$ is canonically the colimit of objects in $S$ if the morphisms $f : s \to c$ exhibit $c$ as the colimit of this diagram.

Proof. It suffices to verify the universal property. The canonical diagram consists of all natural transformations $\eta : \text{Hom}(c, -) \to U(-)$ together with all natural transformations between the $\text{Hom}(c, -)$ respecting these. By the Yoneda lemma, these natural transformations can be identified with elements of $U(c)$ and the natural transformations respecting these can be identified with morphisms $f : c \to d$ sending some element of $U(c)$ to some element of $U(d)$. (The shape of this diagram is the opposite $\text{el}(U)^{op}$ of the category of elements of $U$.) More use of the Yoneda lemma shows that a cocone over this diagram is precisely a natural transformation $\eta : U \to F$, and the initial such natural transformation is the identity $\text{id}_U$. The conclusion follows. $\Box$

This result doesn’t directly get us what we want (although it does lead to the useful intuition that a presheaf over a category is like a formal colimit of objects in that category; see free cocompletion); we would like to write functors as colimits of representable functors in order to compute natural transformations, but the colimit we get above doesn’t help us compute natural transformations at all (it just spits back the usual definition of a natural transformation). In practice, what we would like to do is write a functor as a colimit over a smaller and more manageable diagram of representable functors, and the above result at least assures us that there isn’t an obvious obstruction to doing this.

The diagrams we actually used above all had the following additional property. A directed set is a non-empty poset such that every pair of elements has an upper bound. Equivalently, thinking of such a poset $J$ as a category, for any two objects $x, y$ there exists an object $z$ together with morphisms $x \to z, y \to z$. In particular, any non-empty poset with either suprema or a greatest element is directed. A directed colimit or inductive limit (this is older terminology and conflicts with the modern use of the term limit, so we will avoid it) is a colimit over a diagram $F : J \to C$ over a directed set $J$.

Directed colimits in most familiar categories are “increasing unions”: in particular, many forgetful functors preserve directed colimits even when they don’t preserve other colimits such as coproducts.

Example. $\mathbb{N} = \{ 1, 2, 3, ... \}$ is the directed colimit of its initial segments $\{ 1 \} \to \{ 1, 2 \} \to \{ 1, 2, 3 \} \to ...$. This is true more generally for any limit ordinal.

Example. Every set is the directed colimit of its finite subsets.

Example. The group $\mathbb{Q}/\mathbb{Z}$ is the directed colimit of its finite subgroups $\frac{1}{n} \mathbb{Z}/\mathbb{Z}$. The former group may be regarded as the group of roots of unity and the latter as the subgroups of $n^{th}$ roots of unity.

Example. More generally, every group is the directed colimit of its finitely generated subgroups. Similar statements are true in other categories of algebraic objects, e.g. every ring is the directed colimit of its finitely generated subrings.

Example. A topological space is the directed colimit of its compact subspaces if and only if it is compactly generated. In particular, locally compact spaces have this property. Above we implicitly used the fact that $\mathbb{C}$ is the directed colimit of the closed disks of radius $k$ for every $k \in \mathbb{N}$.

Taking duals, a codirected set is a non-empty poset such that every pair of elements has a lower bound. A codirected limit or projective limit or inverse limit (the latter two are older terminology and, as before, we will avoid them) is a limit over a codirected set. We saw several such limits when computing operations above.

Example. The $p$-adic integers $\mathbb{Z}_p$ are the codirected limit over the quotients $\mathbb{Z}/p^k\mathbb{Z}$ of $\mathbb{Z}$.

Example. The ring $k[[x]]$ of formal power series over a base ring $k$ is the codirected limit over the quotients $k[x]/x^n$ of $k[x]$.

Example. The profinite completion $\hat{G}$ of a group $G$ is the codirected limit over the finite quotients $G/N$ of $G$.

Example. Stone spaces, or profinite sets, are precisely the codirected limits of the finite discrete topological spaces in $\text{Top}$.

Codirected limits are just directed colimits in the opposite category, and this has some surprising applications.

Example. Part of Pontrjagin duality asserts that the functor $A \mapsto \text{Hom}(A, S^1)$ induces an equivalence between the opposite of the category of abelian groups and the category of compact (Hausdorff) abelian groups. Since every abelian group is the directed colimit of its finitely generated subgroups, which are direct sums of $\mathbb{Z}$ and the finite cyclic groups, it follows that every compact abelian group is a codirected limit of products of the Pontrjagin duals of $\mathbb{Z}$ and the finite cyclic groups, namely $S^1$ and the finite cyclic groups. (More generally, in the nonabelian case, the Peter-Weyl theorem has as a corollary that every compact (Hausdorff) group is a codirected limit of compact Lie groups.)

Subexample. $\mathbb{Q}$ is the directed colimit of its subgroups $\frac{1}{n} \mathbb{Z}, n \in \mathbb{N}$. It follows that its Pontrjagin dual $\text{Hom}(\mathbb{Q}, S^1)$ can be identified with the codirected limit of a suitable diagram involving countably many copies of $S^1$ indexed by the positive integers. There is a morphism $S^1(n) \to S^1(m)$ in this diagram whenever $m | n$, and it is given by $z \mapsto z^{\frac{n}{m}}$. The corresponding group is an example of a solenoid; see this math.SE question.

Subexample. Similarly, $\text{Hom}(\mathbb{Q}/\mathbb{Z}, S^1)$ can be identified with the codirected limit of a suitable diagram involving the finite cyclic groups, in fact the same diagram whose limit is the profinite integers $\hat{\mathbb{Z}}$. Hence the latter is the Pontrjagin dual of the former. (This makes explicit something we ignored earlier, which is that $\hat{\mathbb{Z}}$ has a natural (compact Hausdorff) topology given by taking the codirected limit in the category of topological groups rather than the category of groups.)

The intuition that directed colimits behave like increasing unions can be made precise for sets as follows.

Proposition: Let $J$ be a directed set and $D : J \to \text{Set}$ be a diagram of sets of shape $J$. Then the directed colimit of $D$ is the quotient of the disjoint union $\bigsqcup_j D(j)$ by the following equivalence relation: an element $x_1 \in D(j_1)$ is equivalent to another element $x_2 \in D(j_2)$ if and only if there exists an object $j_3$ and two morphisms $f_1, f_2 : j_1, j_2 \to j_3$ in $J$ such that $D(f_1)(x_1) = D(f_2)(x_2) \in D(j_3)$.

Intuitively, two elements are equal if and only if they are “eventually equal” as we keep mapping them “forward” with respect to the directed set $J$.

Proof. We will build the directed colimit out of coproducts and coequalizers in the usual way, namely as the coequalizer of

$\displaystyle s, t : \bigsqcup_{f \in \text{Hom}(J)} D(\text{dom}(f)) \to\bigsqcup_{j \in \text{Ob}(J)} D(j)$

where $\text{Hom}(J)$ denotes the set of all morphisms in $J$, $\text{dom}$ denotes the domain $a$ of a morphism $f : a \to b$, and $s, t$ act by the identity $D(\text{dom}(f)) \to D(\text{dom}(f))$ and by the induced map $D(f) : D(\text{dom}(f)) \to D(\text{cod}(f))$ on components respectively, where $\text{cod}$ denotes the codomain.

In $\text{Set}$, the coequalizer of a pair of morphisms $f, g : X \to Y$ is the quotient of $Y$ by the equivalence relation generated by the relation $f(x) \cong g(x)$ for every $x \in X$. Applied to the above diagram, we conclude that for every $x \in D(\text{dom}(f))$, where $f : j_1 \to j_2$ is some morphism in $J$, we want to identify $x \in D(j_1)$ with $D(f)(x) \in D(j_2)$. Composition of morphisms guarantees that this relation is transitive, but to make it an equivalence relation we also need to make it symmetric. This means that two objects which are identified under the equivalence relation generated by this relation are related by a zigzag of morphisms

in general, and we want to show that when $J$ is directed this zigzag can be reduced to a cospan

by removing spans from any zigzag. Indeed, if $j_1 \leftarrow j_2 \to j_3$ is such a span, then since $J$ is directed we can find $j_4$ and maps $j_1, j_3 \to j_4$ such that the diagram

commutes (since any diagram commutes in a poset). This allows us to replace the span $j_1 \leftarrow j_2 \to j_3$ in any zigzag with $j_4$ (if there are parts of the zigzag to the left of $j_1$ or to the right of $j_3$ mapping into them then we can compose with the maps $j_1, j_3 \to j_4$), and the conclusion follows. $\Box$

(What we used above is sometimes called the diamond property. The diamond property figures prominently in various versions of the diamond lemma, one version of which has applications such as the Poincaré–Birkhoff–Witt theorem; see, for example, this blog post by Ben Webster.)

Arguably the most important property of directed colimits is the following.

Proposition: Directed colimits in $\text{Set}$ commute with finite limits in $\text{Set}$.

Proof. By “commute” we mean the following. Let $D : J_1 \times J_2 \to \text{Set}$ be a diagram in $\text{Set}$, where $J_1$ is a directed set and $J_2$ is finite. There are natural maps $D(j_1, j_2) \to \underset{j_1}{\text{colim }} D(j_1, j_2)$ (where $j_1 \in J_1, j_2 \in J_2$) hence natural maps $\displaystyle \lim_{j_2} \text{ } D(j_1, j_2) \to \lim_{j_2} \text{ } \underset{j_1}{\text{colim }} D(j_1, j_2)$. These maps are compatible with the morphisms in $J_1$, hence give a natural map

$\displaystyle \underset{j_1}{\text{colim }} \lim_{j_2} \text{ } D(j_1, j_2) \to \lim_{j_2} \text{ } \underset{j_1}{\text{colim }} D(j_1, j_2)$

and we want to show that this map is an isomorphism. More abstractly, taking directed colimits of shape $J_1$ defines a functor $\text{colim} : (J_1 \Rightarrow \text{Set}) \to \text{Set}$, and we want to show that this functor preserves finite limits. It suffices to show that $\text{colim}$ preserves binary products and equalizers.

First we will show that $\text{colim}$ preserves binary products. $D_1, D_2 : J_1 \to \text{Set}$ be two diagrams of shape $J_1$. Following the intuition that directed colimits in $\text{Set}$ behave like increasing unions, we will abuse notation a little and write the colimits as unions $\bigcup_j D_1(j)$ and $\bigcup_j D_2(j)$. There is a natural map

$\displaystyle \bigcup_j D_1(j) \times D_2(j) \to \bigcup_j D_1(j) \times \bigcup_j D_2(j)$

and we want to show that it is an isomorphism. In fact we can exhibit its inverse: if $(x_1, x_2)$ is an element of the RHS, so $x_1 \in D_1(j_1)$ and $x_2 \in D_2(j_2)$ for some $j_1, j_2$, then by directedness we can find some $j_3$ equipped with maps $j_1, j_2 \to j_3$ which exhibit $x_1, x_2$ as elements of $D_1(j_3), D_2(j_3)$, hence $(x_1, x_2)$ is exhibited as an element of $D_1(j_3) \times D_2(j_3)$. This map doesn’t depend on the choice of $j_3$ by inspection, and it defines an inverse also by inspection. The conclusion follows.

The proof that $\text{colim}$ preserves equalizers is essentially identical. $\Box$

Directed colimits are not the most general class of colimit that commute with finite limits in $\text{Set}$. These would be colimits over filtered categories, or filtered colimits. A filtered category is a category in which not only does every pair of objects have an upper bound, but every pair of parallel morphisms is coequalized by some morphism. Everything we’ve said above about directed sets remains true for small or more generally essentially small filtered categories, and it seems to me that in practice there’s not much of a difference between directed colimits and filtered colimits: in particular, a category has all directed colimits iff it has all small filtered colimits, and a functor preserves all directed colimits iff it preserves all small filtered colimits. Below we will be saying “filtered” but thinking “directed.”

We can now justify the statement we made above that directed colimits behave like increasing unions in many familiar categories.

Corollary: Let $T$ be a Lawvere theory and let $C = \text{Prod}(T, \text{Set})$ be its category of models. Then $C$ has all small filtered colimits, and the forgetful functor $U : C \to \text{Set}$ preserves them.

Proof. By definition, models consist of product-preserving functors $T \to \text{Set}$. In the functor category $T \Rightarrow \text{Set}$, colimits are computed pointwise, hence all small colimits exist, and the forgetful functor is just evaluation on a particular object of $T$, but the colimit of a diagram of product-preserving functors may not be product-preserving. However, the small filtered colimit of a diagram of product-preserving functors continues to be product-preserving (since we can commute the product past the filtered colimit), so the conclusion follows. $\Box$

(It may be more satisfying to prove this result by hand, at least for specific examples like groups. Given a small filtered diagram of groups, take its filtered colimit as a diagram of sets, then define the group operation on this set, then verify that it satisfies the universal property. What makes everything work out is that the group axioms only ever involve finitely many elements of the filtered colimit at a time, so we can map any such finite collection of elements into a common group and work there.)

Back to operations

Say that a functor $U : C \to \text{Set}$ is pro-representable if it is a small filtered colimit of representable functors. (This is not entirely standard, but I think it’s the best option; see this math.SE question for discussion.) This was the case for all of the forgetful functors we examined above. The terminology comes from the idea that the thing that represents such a functor is not an object of $C$ but in fact a cofiltered diagram of objects in $C$, and after converting these into $\text{Hom}$ functors we get a filtered diagram of objects in $C \Rightarrow \text{Set}$. Such a diagram is called a pro-object in $C$, since we can think of it as a formal cofiltered limit of objects in $C$. The following proposition generalizes the work we did in all of the examples above except $\text{FinGrp}$.

Proposition: Let $(C, U)$ be a concrete category with finite coproducts such that $U$ is pro-representable by a diagram $D : J \to C$. Then $U^n$ is pro-representable by the coproduct of $n$ copies of $D$, hence $n$-ary operations $U^n \to U$ are given by elements of the cofiltered limit

$\displaystyle \lim_j \text{ } U(D(j) \sqcup ... \sqcup D(j))$.

Proof. Write $U(-) \cong \underset{j}{\text{colim }} \text{Hom}(D(j), -)$. Then

$\displaystyle U^n(-) \cong \left( \underset{j}{\text{colim }} \text{Hom}(D(j), -) \right)^n$.

Since the colimit is filtered, it commutes with finite products, hence $U^n(-)$ is also naturally isomorphic to

$\displaystyle \underset{j}{\text{colim }} \text{Hom}(D(j), -)^n \cong \underset{j}{\text{colim }} \text{Hom}(D(j) \sqcup ... \sqcup D(j), -)$

and the conclusion follows from the universal property of the colimit and from the Yoneda lemma. $\Box$

How can we tell if a given functor could be pro-representable?

Proposition: If $U : C \to \text{Set}$ is pro-representable, then it is left exact (preserves finite limits).

Proof. Write $U \cong \underset{j_1}{\text{colim }} \text{Hom}(D_1(j_1), -)$ as above where $D_1 : J_1 \to C$ is a cofiltered diagram. Let $D_2 : J_2 \to C$ be a diagram with $J_2$ finite. Then

$\displaystyle U(\lim_{j_2} \text{ } D_2(j_2)) \cong \underset{j_1}{\text{colim }} \text{Hom}(D_1(j_1), \lim_{j_2} \text{ } D_2(j_2))$.

Since representable functors and and filtered colimits both commute with finite limits, this is

$\displaystyle \underset{j_1}{\text{colim }} \lim_{j_2} \text{ } \text{Hom}(D_1(j_1), D_2(j_2)) \cong \lim_{j_2} \text{ } \underset{j_1}{\text{colim }} \text{Hom}(D_1(j_1), D_2(j_2))$

and the conclusion follows. $\Box$

Under mild hypotheses on $C$, the converse holds.

Theorem (Grothendieck): Let $C$ be an essentially small category with finite limits. Then every left exact functor $U : C \to \text{Set}$ is pro-representable.

Proof. Since $U$ is canonically the colimit over a diagram of shape the opposite $\text{el}(U)^{op}$ of the category of elements of $U$, it suffices to show that $\text{el}(U)^{op}$ is essentially small and filtered, or equivalently that $\text{el}(U)$ is essentially small and cofiltered. Essential smallness follows straightforwardly from the essential smallness of $C$. Furthermore, our assumptions imply that $\text{el}(U)$ has finite limits, and any category with finite limits is cofiltered. More explicitly, if $x_1 \in U(c_1), x_2 \in U(c_2)$ are two objects of $\text{el}(U)$, then they are mapped to by the element $(x_1, x_2) \in U(c_1) \times U(c_2) \cong U(c_1 \times c_2)$, and similarly if $f, g : c_1 \to c_2$ are two parallel arrows inducing parallel arrows $U(c_1) \ni x_1 \to x_2 \in U(c_2)$ in $\text{el}(U)$, then they are equalized by the equalizer $\text{eq}(f, g) : \text{Eq}(f, g) \to c_1$. $\Box$

The following corollary generalizes the work we did determining the operations on $\text{FinGrp}$.

Corollary: Let $D$ be a category, $d \in D$ an object in $D$, and $C$ be an essentially small full subcategory of $D$. Assume that $C$ is closed under finite limits in $D$. Then the functor $\text{Hom}(d, -) : C \to \text{Set}$ is pro-representable.

Proof. By assumption, any finite diagram in $C$ has a limit in $D$ which is contained in $C$; by fullness this is also a limit in $C$, from which it follows that $\text{Hom}(d, -) : C \to \text{Set}$ is left exact, and the result follows by the above.

We can also give a more direct proof as follows. Namely, consider the diagram of all morphisms $d \to c$ where $c \in C$, which has finite limits and is therefore cofiltered, and which is essentially small since $C$ is. Then take the corresponding $\text{Hom}$ functors to get a diagram of representable functors which is filtered and whose colimit in $C \Rightarrow \text{Set}$ is $\text{Hom}(d, -)$ by inspection. $\Box$

Note that when $C = \text{FinGrp}, D = \text{Grp}$ the above construction specializes to the profinite completion.

Pro-objects and pals

Pro-objects in a category $C$ themselves form a category $\text{Pro}(C)$, sometimes called the pro-completion of $C$. Explicitly, this is the category whose objects are small cofiltered diagrams $D : J \to C$ in $C$. If $D_1 : J_1 \to C$ and $D_2 : J_2 \to C$ are two such diagrams, then morphisms between them are given by

$\displaystyle \text{Hom}(D_1, D_2) = \lim_{j_2} \text{ } \underset{j_1}{\text{colim }} \text{Hom}(D_1(j_1), D_2(j_2))$

which exhibits $\text{Pro}(C)$ as the opposite category of the category of pro-representable functors $C \to \text{Set}$. Intuitively, $\text{Pro}(C)$ is obtained from $C$ by freely adjoining small cofiltered limits.

The corollary above can be interpreted as associating a functor $D \to \text{Pro}(C)$ to a suitable inclusion of categories $C \to D$. This functor may be regarded as the left pro-adjoint of the inclusion $C \to D$ in the following sense. A functor $F : C \to D$ has a left adjoint $G : D \to C$ if and only if the functor $\text{Hom}_D(d, F(-)) :$ is representable for all $d \in D$; the representing object is denoted $G(d) \in C$ and we can show that this extends to a functor. The corollary above identifies hypotheses guaranteeing that $\text{Hom}_D(d, F(-))$ is pro-representable for all $d \in D$, and sending $d$ to the corresponding pro-object in $\text{Pro}(C)$ gives a functor as before.

Dually, we can define an ind-object in a category $C$ to be a pro-object in the opposite category, or a small filtered diagram of objects in $C$, and this gives us a notion of ind-completion $\text{Ind}(C) \cong \text{Pro}(C^{op})^{op}$. Intuitively, $\text{Ind}(C)$ is obtained from $C$ by freely adjoining small filtered colimits.

Example. A profinite group is an object in $\text{Pro}(\text{FinGrp})$. We’ve encountered several examples above, given as profinite completions of various groups. ($\text{Pro}(\text{FinGrp})$ is, as it turns out, a full subcategory of topological groups.)

Example. $\text{Grp}$ is the ind-completion of the category of finitely generated groups. Similar statements are true for other categories of algebraic objects.

Example. $\text{Set}$ is the ind-completion of $\text{FinSet}$. Since the latter is the opposite of the category of finite Boolean algebras, we conclude that $\text{Set}^{op}$ is the pro-completion of the category of finite Boolean algebras. This turns out to be the category of complete atomic Boolean algebras.

Example. The category $\text{BRing}$ of Boolean rings is the ind-completion of the category of finite Boolean rings. Since the latter is the opposite of the category of finite sets, we conclude that $\text{BRing}^{op}$ is the pro-completion of the category of finite sets, which is one way to define the category of profinite sets. This is essentially Stone duality, except that we have not mentioned topological spaces at all.

Example. $\text{Ab}$ is the ind-completion of the category of finitely-generated abelian groups. By Pontrjagin duality, it follows that the category of compact (Hausdorff) abelian groups is the pro-completion of its subcategory of finite products of $S^1$ and cyclic groups (precisely the compact (Hausdorff) abelian Lie groups).

Example. The category $\text{TorAb}$ of torsion abelian groups is the ind-completion of the category of finite abelian groups, which is Pontrjagin self-dual. It follows that $\text{TorAb}^{op}$ is the pro-completion of the category of finite abelian groups, or equivalently the category of profinite abelian groups.

Example. $\text{Vect}$ is the ind-completion of $\text{FinVect}$, which is self-dual. It follows that $\text{Vect}^{op}$ is the pro-completion of $\text{FinVect}$, what we might call the category of pro-vector spaces, or equivalently the linearly compact vector spaces.

Grothendieck’s Galois theory

Profinite groups naturally appear in Galois theory as follows. Given a field $k$, define its absolute Galois group $\text{Gal}(k_s/k)$ to be the Galois group of a separable closure $k_s$ of $k$. The separable closure of $k$ is its largest Galois extension, and infinite Galois theory (as opposed to finite Galois theory, where we specialize to studying subextensions of a fixed finite Galois extension $L/k$) relates the study of all Galois extensions of $k$ to the study of $\text{Gal}(k_s/k)$.

The absolute Galois group is naturally a profinite group. To see this, note that $k_s$ is the colimit, in the category of separable $k$-extensions, of all of its finite Galois subextensions. Note further that any endomorphism of a separable $k$-extension is an automorphism. We may write

$\displaystyle \text{Hom}_k(k_s, k_s) \cong \lim_L \text{ Hom}_k(L, k_s)$

where $L$ runs over all finite Galois subextensions of $k_s$. But for such a subextension, the image of any homomorphism $L \to k_s$ is necessarily $L$ itself, and conversely it is a standard property of $k_s$ that any homomorphism $L \to L$ extends to a homomorphism $L \to k_s$, hence $\text{Hom}_k(L, k_s)$ may be naturally identified with $\text{Hom}_k(L, L) \cong \text{Gal}(L/k)$. We find that

$\displaystyle \text{Gal}(k_s/k) \cong \lim_L \text{ Gal}(L/k)$

is canonically a cofiltered limit of finite groups. This exhibits the absolute Galois group as the group which acts on all finite Galois extensions of $k$ in a way compatible with inclusions between such extensions. Together with the fact that we found various profinite objects above when studying operations, this suggests that the absolute Galois group should have a natural interpretation in terms of operations, which it does as follows.

Let $\text{FinSep}(k)$ denote the category of finite separable extensions of $k$. If $k_s$ is a separable closure, then $\text{Hom}(-, k_s)$ defines a functor

$\displaystyle U : \text{FinSep}(k)^{op} \to \text{Set}$.

We will call this a fiber functor for reasons to be explained later. The fiber functor $U$ is pro-representable; the pro-object which represents it, which is an ind-object in $\text{FinSep}(k)$, consists of all of the finite Galois subextensions of $k_s$ as before. The unary operations $U \to U$ can therefore be identified with the absolute Galois group $\text{Gal}(k_s/k)$. This gives us a functor

$\displaystyle \text{FinSep}(k)^{op} \to \text{Gal}(k_s/k)\text{-FinSet}$

from $\text{FinSep}(k)^{op}$ to the category of finite $\text{Gal}(k_s/k)$-sets. Actually we can modify the target category slightly to the category of finite, transitive, and continuous $\text{Gal}(k_s/k)$-sets, where “continuous” means either such that the corresponding map $\text{Gal}(k_s/k) \to S_n$ is continuous if the source is given the profinite topology and the target is given the discrete topology or, equivalently, that it factors through a finite quotient $\text{Gal}(L/k)$.

Fundamental theorem of Galois theory: With the above modification, the above functor is an equivalence of categories.

See, for example, Szamuely’s Galois Groups and Fundamental Groups. The fundamental theorem of Galois theory can therefore be regarded as analogous to the reconstruction theorem for categories of models of a Lawvere theory: indeed the absolute Galois group defines a special kind of a Lawvere theory, namely a Lawvere theory which is generated in degree $1$ in the sense that it is generated under composition and finite products by unary operations. However, it is somewhat unsatisfactory from this point of view because of the restriction to transitive $\text{Gal}(k_s/k)$-sets. It would be nice to be get an equivalence between some generalization of $\text{FinSep}(k)^{op}$ and the category of finite continuous $\text{Gal}(k_s/k)$-sets with no assumption of transitivity; this would be more or less the category of models of the corresponding Lawvere theory in $\text{FinSet}$, except for the continuity assumption.

We can get a hint as to what this category should be by noticing that transitive $\text{Gal}(k_s/k)$-sets don’t have coproducts; similarly, $\text{FinSep}(k)$ doesn’t have products. To fix this, we introduce the following notion. A finite-dimensional $k$-algebra is étale if it is a finite direct product of separable extensions of $k$. The functor $\text{Hom}(-, k_s)$ naturally extends to finite-dimensional étale algebras in a way that sends products to coproducts, since any homomorphism from a finite direct product to an integral domain factors uniquely through one of the factors. Hence we get a fiber functor

$\displaystyle U : \text{Etale}(k)^{op} \to \text{Set}$.

As before, the unary operations $U \to U$ can be identified with elements of the absolute Galois group $\text{Gal}(k_s/k)$, and we get a functor

$\displaystyle \text{Etale}(k)^{op} \to \text{Gal}(k_s/k)\text{-FinSet}$

to the category of finite $\text{Gal}(k_s/k)$-sets. Once again, we should really work with the continuous such $\text{Gal}(k_s/k)$-sets.

Grothendieck’s fundamental theorem of Galois theory: With the above modification, the above functor is again an equivalence of categories.

The absolute Galois group of a field $k$ therefore contains a huge amount of information about it (since in particular it classifies the finite separable extensions of $k$). A large chunk of number theory can be said to be about the study of absolute Galois groups of number fields, in particular $\mathbb{Q}$. For example, class field theory studies the $1$-dimensional representation theory, or equivalently the abelianization, of absolute Galois groups, and elliptic curves can be used to study their $2$-dimensional representation theory. More generally, the Langlands program tries to understand their $n$-dimensional representation theory; see, for example, this MO question.

Finite étale algebras over $k$ should be thought of as the correct notion of finite covering space of $\text{Spec } k$ in the following sense. Recall that for “nice” (locally path-connected, semi-locally simply connected) topological spaces $X$ there is a Galois theory of covering spaces of $X$, which in the formalism we have described here takes the following general form. For any point $x \in X$ there is a fiber functor

$\displaystyle U_x : \text{Cov}(X) \ni (\pi : Y \to X) \mapsto \pi^{-1}(x) \in \text{Set}$

from the category of (not necessarily connected) covering spaces of $X$ to the fiber over $x$ of the covering map (hence the name “fiber functor”). (It may not seem like we “chose a point” when talking about Galois theory, but we did: there the analogous choice is the choice of separable closure.) If $X$ is path-connected, this functor is representable by a universal cover $\tilde{X}$ of $X$. As in the case of separable extensions above, any endomorphism of a covering is an automorphism, so it follows that the unary operations $U_x \to U_x$ can be identified with the Galois group $\text{Gal}(\tilde{X}/X)$ of automorphisms of $\tilde{X}$ as a cover. This gives a functor

$\displaystyle \text{Cov}(X) \to \text{Gal}(\tilde{X}/X)\text{-Set}$.

Fundamental theorem of Galois theory for covering spaces: The above functor is an equivalence of categories.

On the other hand, if $p : x \to y$ is a continuous path in $X$, then path lifting induces a natural transformation $U_x \to U_y$ depending only on the homotopy class of $p$, and moreover we can show using the universal cover that every natural transformation has this form for a unique homotopy class of paths. Hence:

Theorem: The full subcategory of $\text{Cov}(X) \Rightarrow \text{Set}$ on fiber functors $U_x, x \in X$ is equivalent to the fundamental groupoid $\Pi_1(X)$ of $X$.

In particular, $\text{Gal}(\tilde{X}/X) \cong \pi_1(X, x)$, which recovers the usual form of Galois theory for covering spaces, but here we don’t require that $X$ be path-connected (in addition to not requiring that covers be path-connected). The full subcategory on the $U_x$ generates a multisorted Lawvere theory (a category with finite products such that each object is the product of objects from some set $S$ of objects, not necessarily the product of copies of one object) and together give a functor

$\displaystyle \text{Cov}(X) \to (\Pi_1(X) \Rightarrow \text{Set})$.

which is again an equivalence of categories, even without the hypothesis that $X$ is path-connected.

Returning again to the case that $X$ is path-connected, by restricting our attention to finite covering spaces we get an equivalence of categories with the category of finite continuous $\widehat{\pi_1(X, x)}$-sets. This strongly suggests that the topological and field-theoretic stories above ought to have something of a common generalization, and they do: Grothendieck defined the correct notion of finite covering space of a suitable class of schemes (which reduces to the notion of finite étale algebra when specialized to $\text{Spec } k$). Relative to this notion of covering space there are usually no universal covers, so the corresponding fiber functors are not representable. However, they are pro-representable, leading to the construction of a profinite group attached to any such scheme called the étale fundamental group. When specialized to $\text{Spec } k$ this recovers the absolute Galois group, and when specialized to nice schemes over $\mathbb{C}$, known comparison results imply that this recovers the profinite completion of the fundamental group of the corresponding topological space, with the analytic topology.

Note that by defining a notion of covering space in this setting, Grothendieck was able to define a notion of fundamental group without defining a notion of path!

For some applications of this formalism see, for example, the relevant section of Milne’s Lectures on Étale Cohomology. Among other things, if $X$ is a suitably nice variety over $\mathbb{Q}$ it is possible to use the étale fundamental group to define an action of the absolute Galois group $\text{Gal}(\mathbb{Q}_s/\mathbb{Q})$ on the profinite completion of $\pi_1(X(\mathbb{C}))$ by outer automorphisms. A case that has received a lot of attention in particular is $X = \mathbb{P}^1 \setminus \{ 0, 1, \infty \}$; some keywords here are Belyi’s theorem, dessin d’enfant, and Grothendieck-Teichmüller theory.

### 8 Responses

1. […] they represent the finite powers of the forgetful functor , which preserve filtered colimits (see this previous post). And every object is the colimit of the canonical diagram of finitely generated free objects […]

2. […] for reasons that are a little difficult to explain without more background. Previously it showed up when we discussed operations and pro-objects, but there we rushed through the proof and here we’ll take a more leisurely […]

3. This approach to operations on finite algebras is due to Jan Reiterman in the 80s who proved that pseudovarieties of finite algebras are defined by pseeudoidentifes. This approach was explored further by Jorge Almeida and has become the cornerstone of finite semigroup theory.

• Interesting! It’s good to see categorical abstractions being happily put to use like that.

• The idea is the following. A pseudovariety of finite groups (say) is a class of finite groups closed under finite products, subgroups and homomorphic images. Examples include all finite groups, finite abelian groups, finite nilpotent groups, finite solvable groups and finite p-groups for a prime p. Some pseudovarieties can be defined by identities, e.g., abelian groups are defined by $xy=yx$. But some cannot. For example, the free group is residually a p-group for any prime p. However, Reiterman proved that any pseudovariety of groups can be defined by a pseudoidentity.

Roughly speaking if $\pi,\rho\colon U^n\to U$ are $n$-ary (functorial) operations on finite groups, then a group $G$ satisfies the pseudoidentity $\pi=\rho$ if $\pi_G=\rho_G$ (i.e., $\pi$ and $\rho$ are the same $n$-ary operation $G$). Reiterman proved that pseudovarieties are exactly the classes of finite groups defined by pseudoidentities. A key step is the identifiation of functorial operations (which he calls implicit operations) with elements of the free profinite group.

For example, one can show that if $g$ is an element of a finite group, then the sequence $g^{p^{n!}}$ converges to a generator $g^{p^{\omega}}$ of the $p’$-component of $\langle g\rangle$. The assignment $g\mapsto g^{p^{\omega}}$ is a functorial unary operation and the pseudovariety of finite $p$-groups is defined by the pseudoidentity $x^{p^{\omega}}=1$. Jorge Almeida found a beautiful way to write down a pseudoidentity for nilpotent groups using the dynamics of the endomorphism monoid of the free profinite group (which is a profinite monoid).

4. Nice post!

Do you know about codensity monads? The first part of your post, about operations on finite groups, can be thought of as the computation of the codensity monad of the forgetful functor U: FinGp –> Set. This is a monad T on Set, which can be thought of as the composite of U with its non-existent left adjoint. (Well, you compute the value of T on finite sets, anyway.) There’s more here.

• Thanks! I’ve read your posts about codensity monads, but at the time they were written I don’t think I had enough background to really appreciate them. But it’s nice to know I ran into an example; that should help me understand them better.

5. Very interesting! You might like to look at Johnstone’s _Stone spaces_ – some other dualities are proved using the ind–pro duality as you did.