Joins and meets are much more deeply connected to left and right adjoints than I've admitted so far. To dig a little deeper, let's prove this result I mentioned [last time](https://forum.azimuthproject.org/discussion/2013/lecture-14-chapter-1-adjoints-joins-and-meets/p1):

**Theorem.** Left adjoints preserve joins and right adjoints preserve meets. Suppose \$$f : A \to B\$$ and \$$g : B \to A\$$ are monotone functions between posets. Suppose that \$$f\$$ is the left adjoint of \$$g\$$, or equivalently, \$$g\$$ is the right adjoint of \$$f\$$. If the join of \$$a,a' \in A\$$ exists then so does the join of \$$f(a), f(a') \in B\$$, and

$f(a \vee a') = f(a) \vee f(a').$

If the meet of \$$b,b' \in B\$$ exists then so does the meet of \$$g(b), g(b') \in A\$$, and

$g(b \wedge b') = g(b) \wedge g(b').$

**Proof.** First, suppose \$$f : A \to B\$$ is _any_ monotone function and the join \$$a \vee a'\$$ exists. By definition, \$$a \vee a' \$$ is the least upper bound of \$$a \$$ and \$$a' \$$, so

$a \le a \vee a' \textrm{ and } a' \le a \vee a' .$

Since \$$f \$$ is monotone this gives

$f(a) \le f(a \vee a') \textrm{ and } f(a') \le f(a \vee a') .$

This says that \$$f(a \vee a') \$$ is an upper bound of \$$f(a) \$$ and \$$f(a') \$$.

To finish the job, we need to bring in our assumption that \$$f \$$ is the left adjoint of \$$g \$$. Let's show that \$$f(a \vee a') \$$ is the _least_ upper bound of \$$f(a) \$$ and \$$f(a') \$$. So, suppose \$$b \$$ is any other upper bound of these guys:

$f(a) \le b \textrm{ and } f(a') \le b.$

Since \$$f \$$ is the left adjoint of \$$g \$$, this means

$a \le g(b) \textrm{ and } a' \le g(b).$

This says that \$$g(b) \$$ is an upper bound of \$$a \$$ and \$$a' \$$. Since \$$a \vee a' \$$ is the _least_ upper bound, we have

$a \vee a' \le g(b) .$

Since \$$f \$$ is the left adjoint of \$$g \$$, this means

$f(a \vee a') \le b.$

So, \$$f(a \vee a') \$$ is indeed the _least_ upper bound of \$$f(a) \$$ and \$$f(a') \$$. This implies that \$$f(a) \vee f(a') \$$ actually exists, and that

$f(a \vee a') = f(a) \vee f(a').$

The argument that right adjoints preserve meets works exactly the same way, with all the inequalities reversed. \$$\quad \blacksquare \$$

To check that you understand this material, come up with the similar argument for right adjoints when you're on a boring train or airplane trip - without looking at any notes.

It's worth noting a little spinoff of the argument I gave. If \$$f : A \to B \$$ is _any_ monotone function between posets,

$f(a) \vee f(a') \le f(a \vee a')$

when the joins here actually exist. Assuming that \$$f \$$ is a left adjoint gives us the reverse inequality. Similarly, if \$$g : B \to A \$$ is _any_ monotone function between posets,

$g(b \wedge b') \le g(b) \wedge g(b')$

when the meets actually exist. Assuming that \$$g \$$ is a right adjoint gives us the reverse inequality.

Our next step will be to strengthen the theorem we proved today. The idea doesn't just apply to "binary" meets and joins - that is, meets and joins of a pair of elements. It applies to meets and joins of _arbitrary_ subsets. And when we state it that way, a kind of converse is true too.

Suppose, for example, we have two posets that have all meets and joins. Then a monotone map between them preserves joins of arbitrary subsets _if and only if_ it's a left adjoint! And it preserves meets of arbitrary subsets _if and only if_ it's a right adjoint!

This is staggeringly beautiful. It's called the "Adjoint Functor Theorem for Posets". We'll prove it next time.

Why does it have that name? It's a special case of a more general theorem about adjoint functors for categories. You see, all our results about posets can be generalized to categories, since:

* posets are a special case of [categories](https://ncatlab.org/nlab/show/category#definitions),
* monotone functions between posets are a special case of [functors](https://ncatlab.org/nlab/show/functor#definition) between categories,
* Galois connections between posets are a special case of [adjoint functors](https://ncatlab.org/nlab/show/adjoint+functor#definition) between categories,