---
tags: logic, category theory, stone duality
---
# A Short Introduction to Stone Duality (Algebra)
[up](https://hackmd.io/@alexhkurz/S1W8SC0Tc)
## Part 2: Algebraic duality
(draft)
Recall that we stopped with the following
**Theorem:** There is a bijection between functions $2^Y\to 2^X$ preserving intersections and unions and functions $X\to Y$.
In this part, reviewing the proof of the theorem, we will find that the proof does not rely on the elements of $2^X$ being sets themselves.
Trying to extract the exact requirements needed to make the proof work, we are going to replace the powersets $2^Y,2^X$ by certain algebras $A,B$ and the intersection/union preserving maps $2^Y\to 2^X$ by maps $A\to B$ preserving the algebraic structure.
We start by axiomatising the abstract properties of intersection and union. Instead of $a\cap b$ we write $a\wedge b$ ("$a$ meet $b$") and drop the assumption that $a,b$ are sets. Instead, all we assume is that $a,b$ are elements of some set $A$ (formerly $2^X$) about which we make no further assumptions (apart from those we are about to introduce, namely that $A$ is a "lattice"). Instead of $a\cup b$ we have now $a\vee b$ ("$a$ join $b$"). So far, $\wedge$ and $\vee$ are arbitrary binary operations. This is not enough to make them behave like intersection and union. For this we add some axioms. Alltogether, this mathematical structure is called a **lattice** and you can find the details at [Wikipedia](https://en.wikipedia.org/wiki/Lattice_(order)#Definition). In fact, we are interested in **bounded lattices** which have an element $0$ playing the role of the empty set and an element $1$ playing the role of the set of all elements (formerly $X$).
Now we know what a lattice is, we define a **lattice morphism** $f:A\to B$ to be a function that preserves $0,1,\wedge,\vee$. [^latticemorphism]
[^latticemorphism]: Explicitely, $f:A\to B$ is a lattice morphism if
$$
\begin{align}
f(0) & = 0\\
f(1) & = 1\\
f(a\wedge a') & = f(a)\wedge f(a')\\
f(a\vee a') & = f(a) \vee f(a')
\end{align}
$$
for all $a,b\in A$. (Note that $0,1,\wedge,\vee$ refer to the operations of $A$ on the left of the equations and to the operations of $B$ on the right.)
From now on, to keep things simple in the first exposition, we will only consider finite lattices.
We are now ready to repeat the proof of the lemma of Part 1 in the new algebraic setting.
**Proposition:** Let $A,B$ be finite lattices. Any lattice morphism $g:A\to B$ has a left adjoint $g_\exists:B\to A$ and a right adjoint $g_\forall:B\to A$.[^adjoints]
[^adjoints]: (This is the same as in Part 1, with the lattice order $\le$ replacing the $\subseteq$.) By definition, $l$ is left-adjoint to $r$ (and $r$ is right-adjoint to $l$), written as $l\dashv r$, if for all $a,b$
$$l(a)\le b \ \Leftrightarrow\ a \le r(b) \quad (*)$$
The following statements may help with proving the propositions.
$(*)$ implies $a\le r(l(a))$ and $l(r(b))\le b$.
$(*)$ implies that $l$ and $r$ are monotone.
(Footnote: A function $f$ is *monotone* if $a\le a' \ \Rightarrow \ f(a)\le f(a')$.)
Conversely, if $a\le r(l(a))$ and $l(r(b))\le b$ for all $a,b$ and if $l,r$ are monotone, then $(*)$.
Given $r$, the condition $(*)$ determines $l$ uniquely and, vice versa, $(*)$ determines $r$ uniquely given $l$.
(You may take these statements for granted or as further exercises.)
In the new setting, what was known as atoms before is now called prime or join-prime or completely join-prime.
**Definition:** $a\in A$ is **prime** if for all $b,c \in A$ we have that $a\le b\vee c$ implies $a\le b$ or $a\le c$.
**Lemma:** Let $A,B$ be finite lattices and $g:A\to B$ a lattice morphism. Then the left adjoint $g_\exists$ maps primes to primes.
Part 1 continued with a theorem that extended the lemma to a bijection between different kind of maps.
**Challenge:** Can you achieve something similar here?
(some missing ideas will have to be discovered to answer the question)