It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 1.9K
- Applied Category Theory Course 42
- Applied Category Theory Exercises 62
- Azimuth Code Project 107
- News and Information 550
- Chat 406
- Azimuth Blog 148
- Azimuth Forum 29
- Azimuth Project 190
- - Strategy 109
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 706
- - Latest Changes 698
- - - Action 14
- - - Biodiversity 8
- - - Books 1
- - - Carbon 9
- - - Computational methods 38
- - - Climate 53
- - - Earth science 23
- - - Ecology 43
- - - Energy 29
- - - Experiments 30
- - - Geoengineering 0
- - - Mathematical methods 69
- - - Meta 9
- - - Methodology 16
- - - Natural resources 7
- - - Oceans 4
- - - Organizations 34
- - - People 6
- - - Publishing 4
- - - Reports 3
- - - Software 20
- - - Statistical methods 2
- - - Sustainability 4
- - - Things to do 2
- - - Visualisation 1
- General 37

Options

I've spent four lectures on the logic of partitions; you may be wondering why. One reason was to give you examples illustrating this important fact:

**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'). $$ The proof is very easy, so this deserves being called a "Theorem" only because it's so fundamental! I will prove it later, in more generality. Right now let's see how it's relevant to what we've been doing.

In Lecture 9 we saw something interesting about the subsets. Given any set \(X\) there's a poset \(P(X)\) consisting of all subsets of \(X\). Given any function \(f : X \to Y\) there's a monotone map

$$ f^* : P(Y) \to P(X) $$
sending any subset of \(Y\) to its preimage under \(f\). And we saw that \( f^{\ast} \) has both a left adjoint and a right adjoint. This means that \( f^{\ast} \) *is* both a right adjoint and a left adjoint. (Remember: *having* a left adjoint means *being* a right adjoint, and vice versa.)

So by our Theorem, we see that \(f^* : P(Y) \to P(X)\) preserves both meets and joins! You can also see this directly - see Puzzle 41 in Lecture 13. But what matters here is the general pattern.

In Lecture 13 we also saw something interesting about partitions. Given any set \(X\) there's a poset \( \mathcal{E}(X)\) consisting of all partitions of \(X\). Given any function \(f : X \to Y\) there's a monotone map

$$ f^* : \mathcal{E}(Y) \to \mathcal{E}(X) $$ sending any partition of \(Y\) to its pullback along \(f\). And we saw that while \( f^{\ast} \) preserves meets, it does not preserve joins!

So by our Theorem, we see that \(f^* : \mathcal{E}(Y) \to \mathcal{E}(X)\) *cannot* be a left adjoint. On the other hand, it *might* be a right adjoint.

And indeed it is! So, this strange difference between the logic of subsets and the logic of partitions is really all about adjoints.

**Puzzle 42.** Given a function \(f : X \to Y\) there is a way to **push forward** any partition \(P\) on \(X\) and get a partition \(f_{!} (P)\) on \(Y\). In pictures it looks like this:

although this is not the most exciting example, since here \(f_{!}(P)\) has just one part. Figure out the precise general description of \(f_{!} (P)\). If you get stuck read Section 1.5.2 of *Seven Sketches*.

**Puzzle 43.** Show that for any function \(f : X \to Y\), pushing forward partitions along \(f\) gives a monotone map

$$ f_{!} : \mathcal{E}(X) \to \mathcal{E}(Y) . $$
**Puzzle 44.** Show that for any function \(f : X \to Y\), \(f^* : \mathcal{E}(Y) \to \mathcal{E}(X)\) is the right adjoint of \(f_{!}: \mathcal{E}(X) \to \mathcal{E}(Y)\).

## Comments

Wait, do pushforwards of partitions map \(f_{!}: \mathcal{E}(Y) \to \mathcal{E}(X)\) or \(f_{!}: \mathcal{E}(X) \to \mathcal{E}(Y)\)?

`Wait, do pushforwards of partitions map \\(f_{!}: \mathcal{E}(Y) \to \mathcal{E}(X)\\) or \\(f_{!}: \mathcal{E}(X) \to \mathcal{E}(Y)\\)?`

Pushforwards always go

forwardso it's \(f_{!}: \mathcal{E}(X) \to \mathcal{E}(Y)\). Thanks for catching the typo in Puzzle 44 - I assume that's what you're referring to. Everyone should always expect large numbers of typos when I first crank out a post, and not be shy of pointing out possible typos.`Pushforwards always go _forward_ so it's \\(f_{!}: \mathcal{E}(X) \to \mathcal{E}(Y)\\). Thanks for catching the typo in Puzzle 44 - I assume that's what you're referring to. Everyone should always expect large numbers of typos when I first crank out a post, and not be shy of pointing out possible typos.`

Puzzle 43: The way I would define the pushforward \(f_!(P)\) of a partition \(P\) is by first using \(f_!: P(X)\to P(Y) \) to push forward each part of P, getting a family of subsets of \(Y\), and then taking the finest partition \(Q\) of \(Y\) such that each subset in the family is contained in one of \(Q\)'s parts.

On the level of equivalence relations, it would look like this: Given an equivalence relation \(\approx\) on \(X\), first define \(y_1\sim y_2\) in \(Y\) by \(y_1\sim y_2\iff \) (there exist \(x_1\mapsto y_1\) and \(x_2\mapsto y_2\) such that \(x_1\approx x_2\) in \(X\)). This relation \(\sim\) is always symmetric, but generally not transitive, and is not even reflexive if \(f:X\to Y\) is not surjective. So make \(\sim\) into an equivalence relation on \(Y\) by generously adding everything it's missing: declare \(y\approx y'\) iff there is a chain of elements \(y_0,\dots,y_n\) in \(Y\) such that \(y = y_0\sim y_1\sim\ldots\sim y_n=y'\).

Each step in this construction is monotone with respect to fineness: if \(x_1\approx x_2\) implies \(x_1\approx' x_2\), then \(y_1\sim y_2\) implies \(y_1\sim' y_2\) and \(y_1\approx y_2\) implies \(y_1\approx' y_2\). So we've produced a monotone map of posets \(f_! : \mathcal{E}(X)\to \mathcal{E}(Y)\).

`Puzzle 43: The way I would define the pushforward \\(f_!(P)\\) of a partition \\(P\\) is by first using \\(f_!: P(X)\to P(Y) \\) to push forward each part of P, getting a family of subsets of \\(Y\\), and then taking the finest partition \\(Q\\) of \\(Y\\) such that each subset in the family is contained in one of \\(Q\\)'s parts. On the level of equivalence relations, it would look like this: Given an equivalence relation \\(\approx\\) on \\(X\\), first define \\(y_1\sim y_2\\) in \\(Y\\) by \\(y_1\sim y_2\iff \\) (there exist \\(x_1\mapsto y_1\\) and \\(x_2\mapsto y_2\\) such that \\(x_1\approx x_2\\) in \\(X\\)). This relation \\(\sim\\) is always symmetric, but generally not transitive, and is not even reflexive if \\(f:X\to Y\\) is not surjective. So make \\(\sim\\) into an equivalence relation on \\(Y\\) by generously adding everything it's missing: declare \\(y\approx y'\\) iff there is a chain of elements \\(y_0,\dots,y_n\\) in \\(Y\\) such that \\(y = y_0\sim y_1\sim\ldots\sim y_n=y'\\). Each step in this construction is monotone with respect to fineness: if \\(x_1\approx x_2\\) implies \\(x_1\approx' x_2\\), then \\(y_1\sim y_2\\) implies \\(y_1\sim' y_2\\) and \\(y_1\approx y_2\\) implies \\(y_1\approx' y_2\\). So we've produced a monotone map of posets \\(f_! : \mathcal{E}(X)\to \mathcal{E}(Y)\\).`

Another typo, I think: Where John wrote

I think he meant \(f^\ast: \mathcal{E}(Y)\to \mathcal{E}(X)\).

Puzzle 44: To check that \(f_!\) is the left adjoint of \(f^\ast\), we need to show that for any two partitions \(P\) of \(X\) and \(Q\) of \(Y\), the two inequalities \(P \leq f^\ast(Q)\) and \(f_!(P) \leq Q\) are equivalent.In the language of equivalence relations, let's suppose we have equivalence relations \(\sim_P\) on \(X\) and \(\sim_Q\) on \(Y\), and that \(x_1\sim_P x_2\implies x_1\sim_{f^\ast(Q)} x_2\). The latter is equivalent to saying that \(f(x_1)\sim_Q f(x_2)\), so the assumption \(P \leq f^\ast(Q)\) is equivalent to \[x_1\sim_P x_2 \implies f(x_1)\sim_Q f(x_2).\] On the other hand, let's consider the inequality \(f_!(P) \leq Q\). Since \(\sim_{f_!(P)}\) is the smallest equivalence relation containing the relation \(\sim\) defined by "\(y_1\sim y_2\) iff \(x_1\sim_P x_2\) for some \(x_1\) and \(x_2\) with \(f(x_1)=y_1\) and \(f(x_2)=y_2\)", and since \(\sim_Q\) is an equivalence relation, the inequality \(f_!(P)\leq Q\) says exactly "For all \(y_1\) and \(y_2\), if \(x_1\sim_P x_2\) for some \(x_1\) and \(x_2\) with \(f(x_1)=y_1\) and \(f(x_2)=y_2\), then \(y_1\sim_Q y_2\)." Or in other words, "For all \(x_1\) and \(x_2\), if \(x_1\sim_P x_2\) then \(f(x_1)\sim_Q f(x_2)\)." But this is exactly the statement \[x_1\sim_P x_2 \implies f(x_1)\sim_Q f(x_2)\] we said was equivalent to \(P\leq f^\ast(Q)\). Therefore \(P\leq f^\ast(Q) \iff f_!(P)\leq Q\).

`Another typo, I think: Where John wrote > So by our Theorem, we see that \\(f^* : P(Y) \to P(X)\\) _cannot_ be a left adjoint. I think he meant \\(f^\ast: \mathcal{E}(Y)\to \mathcal{E}(X)\\). **Puzzle 44**: To check that \\(f_!\\) is the left adjoint of \\(f^\ast\\), we need to show that for any two partitions \\(P\\) of \\(X\\) and \\(Q\\) of \\(Y\\), the two inequalities \\(P \leq f^\ast(Q)\\) and \\(f_!(P) \leq Q\\) are equivalent. In the language of equivalence relations, let's suppose we have equivalence relations \\(\sim_P\\) on \\(X\\) and \\(\sim_Q\\) on \\(Y\\), and that \\(x_1\sim_P x_2\implies x_1\sim_{f^\ast(Q)} x_2\\). The latter is equivalent to saying that \\(f(x_1)\sim_Q f(x_2)\\), so the assumption \\(P \leq f^\ast(Q)\\) is equivalent to \\[x_1\sim_P x_2 \implies f(x_1)\sim_Q f(x_2).\\] On the other hand, let's consider the inequality \\(f_!(P) \leq Q\\). Since \\(\sim_{f_!(P)}\\) is the smallest equivalence relation containing the relation \\(\sim\\) defined by "\\(y_1\sim y_2\\) iff \\(x_1\sim_P x_2\\) for some \\(x_1\\) and \\(x_2\\) with \\(f(x_1)=y_1\\) and \\(f(x_2)=y_2\\)", and since \\(\sim_Q\\) is an equivalence relation, the inequality \\(f_!(P)\leq Q\\) says exactly "For all \\(y_1\\) and \\(y_2\\), if \\(x_1\sim_P x_2\\) for some \\(x_1\\) and \\(x_2\\) with \\(f(x_1)=y_1\\) and \\(f(x_2)=y_2\\), then \\(y_1\sim_Q y_2\\)." Or in other words, "For all \\(x_1\\) and \\(x_2\\), if \\(x_1\sim_P x_2\\) then \\(f(x_1)\sim_Q f(x_2)\\)." But this is exactly the statement \\[x_1\sim_P x_2 \implies f(x_1)\sim_Q f(x_2)\\] we said was equivalent to \\(P\leq f^\ast(Q)\\). Therefore \\(P\leq f^\ast(Q) \iff f_!(P)\leq Q\\).`

Owen wrote:

Yes - it's all part of my plan to make people carefully question what I write, instead of just assuming it's all true.

Fixed, thanks!

`Owen wrote: > Another typo, I think: Where John wrote > > So by our Theorem, we see that \\(f^* : P(Y) \to P(X)\\) _cannot_ be a left adjoint. > I think he meant \\(f^\ast: \mathcal{E}(Y)\to \mathcal{E}(X)\\). Yes - it's all part of my plan to make people carefully question what I write, instead of just assuming it's all true. Fixed, thanks!`