Stone Duality for Boolean Algebras

4 The functors

We define the two functors that make up Stone duality for Boolean algebras: \(\operatorname*{\mathsf{Clp}}\colon \mathbf{BoolSp}\to \mathbf{BoolAlg}\) and \(\operatorname*{\mathsf{Spec}}\colon \mathbf{BoolAlg}\to \mathbf{BoolSp}\).

From spaces to algebras.

If \(X\) is a Boolean space, write \(\operatorname*{\mathsf{Clp}}(X)\) for the set of clopen subsets of \(X\).

Proposition 8

\(\operatorname*{\mathsf{Clp}}(X)\) is a Boolean subalgebra of the Boolean algebra \(\mathcal{P}(X)\).

Proof

Finite unions and complements of clopen sets are clopen, and the empty set is clopen.

Proposition 9
#

If \(f \colon X \to Y\) is a continuous function between Boolean spaces, then \(f^{-1} \colon \operatorname*{\mathsf{Clp}}(Y) \to \operatorname*{\mathsf{Clp}}(X)\) is a Boolean algebra homomorphism.

Proof

\(f^{-1}(\emptyset ) = \emptyset \), \(f^{-1}(K^\c ) = f^{-1}(K)^\c \), and \(f^{-1}(K_1 \cup K_2) = f^{-1}(K_1) \cup f^{-1}(K_2)\) for any clopens \(K, K_1, K_2\) of \(Y\).

One sometimes writes \(\operatorname*{\mathsf{Clp}}(f)\) for \(f^{-1}\) but the notation is a bit heavy.

Proposition 10

The assignments \(X \mapsto \operatorname*{\mathsf{Clp}}(X)\) and \(f \mapsto f^{-1}\) give a contravariant functor \(\mathbf{BoolSp}\to \mathbf{BoolAlg}\).

Proof

The assignments are well-defined by proposition 8 and proposition 9. It is a contravariant functor because \(\mathsf{id}_X^{-1}(K) = K\) and \((f \circ g)^{-1}(K) = g^{-1}(f^{-1}(K))\) for any clopen \(K\).

From algebras to spaces.

If \(A\) is a Boolean algebra, write \(\operatorname*{\mathsf{Spec}}(A)\) for the set of homomorphisms from \(A\) to \(\mathbf{2}\). We equip \(\operatorname*{\mathsf{Spec}}(A)\) with the subspace topology induced by the \(|A|\)-fold power \(\mathbf{2}^{A}\), where \(\mathbf{2}\) has the discrete topology. Define, for any \(a \in A\),

\[ U_a \stackrel{\mathrm{def}}{=}\{ x \in \operatorname*{\mathsf{Spec}}(A) \ \mid \ x(a) = 1\} \ . \]
Lemma 11

For any \(a \in A\), the complement of \(U_a\) is equal to \(U_{\neg a}\).

Proof

Note that \(x \in (U_a)^\c \iff x(a) \neq 1\iff x(a) = 0\iff x(\neg a) = 1\iff x \in U_{\neg a} \ .\)

Lemma 12

For any \(a, b \in A\) we have \(U_a \cup U_b = U_{a \vee b}\), and moreover \(U_{0} = \emptyset \).

Proof

For any \(x \in \operatorname*{\mathsf{Spec}}(A)\), we have

\[ x(a \vee b)= 1\iff x(a) \vee x(b) = 1\iff x(a) = 1\text{ or } x(b) = 1\ . \]

This shows that \(U_a \cup U_b = U_{a \vee b}\). To see that \(U_{0} = \emptyset \) just notice that \(x(0) = 0\neq 1\).

Lemma 13

For any \(a \in A\), the set \(U_a\) is clopen in \(\operatorname*{\mathsf{Spec}}(A)\).

Proof

For any \(a \in A\), the set \(U_a\) is open because it is \(\pi _a^{-1}(1)\) where \(\pi _a\) denotes the restriction of the projection function from \(\operatorname*{\mathsf{Spec}}(A)\) to \(\mathbf{2}\) on the coordinate \(a\), and this projection function is continuous by the definitions of product and subspace topology. The set \(U_a\) is closed because its complement is equal to \(U_{\neg a}\) by lemma 11, and we just showed that any \(U_b\) is open.

Proposition 14

The topology on \(\operatorname*{\mathsf{Spec}}(A)\) is generated by the basis \((U_a)_{a \in A}\) of clopen sets.

Proof

In general, the topology on a product \(\prod _{i\in I} X_i\) is generated by the sets \(\pi _i^{-1}(U)\) where \(i \in I\) and \(U \subseteq X_i\) ranges over a basis for the open sets of \(X_i\). Now in the case of \(\mathbf{2}^A\), this implies that the topology has as a basis the sets \(\pi _a^{-1}(0)\) and \(\pi _a^{-1}(1)\), as \(a\) ranges over the elements of \(A\). But lemma 11 gives that \(\pi _a^{-1}(0) = \pi _{\neg a}^{-1}(1)\), so it actually suffices to take the sets \(U_a = \pi _a^{-1}(1)\) as \(a\) ranges over the elements of \(A\).

Theorem 15

The topological space \(\operatorname*{\mathsf{Spec}}(A)\) is a Boolean space.

Proof

If \(x, y \in \operatorname*{\mathsf{Spec}}(A)\) are distinct, then there is an element \(a \in A\) such that \(x(a) \neq y(a)\). Without loss, say that \(x(a) = 1\) and \(y(a) = 0\). Then \(x \in U_a\) and \(y \not\in U_a\). Thus, any two distinct elements are separated by a clopen set. This suffices to conclude that \(\operatorname*{\mathsf{Spec}}(A)\) is totally disconnected by , and it also clearly implies that the space is Hausdorff. It remains to prove that \(\operatorname*{\mathsf{Spec}}(A)\) is compact. This is where a weak form of axiom of choice must be used. We show that the set of homomorphisms is closed as a subspace of \(\mathbf{2}^{|A|}\), and it is therefore compact, since \(\mathbf{2}^{|A|}\) is compact by Tychonoff’s Theorem. In order to see that \(\operatorname*{\mathsf{Spec}}(A)\) is closed in \(\mathbf{2}^{|A|}\), notice that

\[ \operatorname*{\mathsf{Spec}}(A) = \bigcap _{a,b\in A} J_{a,b} \cap \bigcap _{a \in A} N_a \cap Z \ , \]

where \(J_{a,b} \stackrel{\mathrm{def}}{=}\{ x \in \mathbf{2}^A \ : \ x(a \vee b) = x(a) \vee x(b) \} ,\) \(N_a \stackrel{\mathrm{def}}{=}\{ x \in \mathbf{2}^A \ : \ x(\neg a) = \neg x(a) \} ,\) \(Z \stackrel{\mathrm{def}}{=}\{ x \in \mathbf{2}^A \ : \ x(0) = 0\} .\) Each of these sets is clopen because its definition only depends on a finite number of coordinates of \(x\). For example, to spell this out a bit more, for any \(a, b \in A\),

\[ J_{a,b} = (\pi _{a \vee b}^{-1}(0) \cap \pi _{a}^{-1}(0) \cap \pi _{b}^{-1}(0)) \cup (\pi _{a \vee b}^{-1}(1) \cap (\pi _a^{-1}(1) \cup \pi _b^{-1}(1))) \ , \]

where \(\pi _c \colon \mathbf{2}^A \to \mathbf{2}\) is the projection onto the \(c\) coordinate.

Definition 16
#

Given a homomorphism \(f \colon A \to B\) we define \(f_* \colon \operatorname*{\mathsf{Spec}}(B) \to \operatorname*{\mathsf{Spec}}(A)\) as the map that sends \(y \colon B \to \mathbf{2}\) to \(y \circ f \colon A \to \mathbf{2}\).

This is well-defined: Since \(y \circ f\) is the composition of two homomorphisms, it is again a homomorphism, showing that \(f_*\) is a well-defined function.

Proposition 17

For any Boolean algebra homomorphism \(f \colon A \to B\), \(f_* \colon \operatorname*{\mathsf{Spec}}(B) \to \operatorname*{\mathsf{Spec}}(A)\) is a continuous function.

Proof

For any \(a \in A\) and \(y \in \operatorname*{\mathsf{Spec}}(B)\), we have

\[ y \in f_*^{-1}(U_a) \iff f_*(y) \in U_a \iff y(f(a)) = 1\iff y \in U_{f(a)}\ , \]

so that the inverse image \(f_*^{-1}(U_a)\) of any basic open set is again a (basic) open.

Proposition 18

The assignment \(f \mapsto f_*\) is contravariant functorial from \(\mathbf{BoolAlg}\) to \(\mathbf{BoolSp}\).

Proof

If \(f \colon A \to B\) and \(g \colon B \to C\) then for any \(y \in \operatorname*{\mathsf{Spec}}(C)\),

\[ (\mathsf{id}_C)_*(y) = y \circ \mathsf{id}_C = y, \quad (g \circ f)_*(y) = y \circ g \circ f = f_*(g_*(y)) \ . \qedhere \]

One sometimes writes \(\operatorname*{\mathsf{Spec}}f\) for \(f_*\) but the notation is a bit heavy.