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

- All Categories 2.2K
- Programming with Categories Course 26
- Exercises - Programming with Categories Course 16
- Mini-Talks - Programming with Categories Course 3
- Applied Category Theory Course 341
- Applied Category Theory Seminar 4
- Exercises - Applied Category Theory Course 149
- Discussion Groups 50
- How to Use MathJax 15
- Chat 487
- Azimuth Code Project 108
- News and Information 147
- Azimuth Blog 149
- Azimuth Forum 29
- Azimuth Project 189
- - Strategy 108
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 711
- - Latest Changes 701
- - - Action 14
- - - Biodiversity 8
- - - Books 2
- - - 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 21
- - - Statistical methods 2
- - - Sustainability 4
- - - Things to do 2
- - - Visualisation 1
- General 42

Options

Suppose you have a set \(X\) of resources and a way of combining them, which I'll write as \(+\). Suppose each resource has a price, which is a real number. Then we get a function

$$ f : X \to \mathbb{R} $$ assigning each resource its price. Often we have

$$ f(x) + f(x') = f(x + x') $$ and this makes pricing very simple: to compute the price of a bunch of resources you just add up their prices.

On the other hand, there are sometimes sales where you can buy the first few items of some kind at a discount, but to keep you from buying too many, the price per item goes up when you buy more. In this case we have

$$ f(x) + f(x') \le f(x + x') .$$ The whole costs more than than sum of its parts!

More commonly are discounts on buying goods in bulk, to encourage you to buy more. For example, "the second gallon of milk is half-price". In this case we have

$$ f(x) + f(x') \ge f(x + x') .$$
Now the whole costs *less* than the sum of its parts! For more, see:

- Wikipedia, Economies of scale.

Now, last time I showered you with free goods you hadn't asked for: various flavors of "monoidal monotones". These are maps between monoidal preorders that behave in various ways. This was not abstraction for its own sake. Among other things, they can be used to model the three situations I just described. The first situation, where \( f(x) + f(x') = f(x + x')\), happens when \(f\) is "strict monoidal". The second, where \(f(x) + f(x') \le f(x + x')\), happens when \(f\) is "lax monoidal". And the third, where \( f(x) + f(x') \ge f(x + x')\), happens when \(f\) is "oplax monoidal".

But these different flavors also tend to show up when we have Galois connections - that is, monotone functions with adjoints. Last time we looked at the function

$$ i : \mathbb{Z} \to \mathbb{R} $$
which sends each integer to itself, *regarded as a real number*. This is strict monoidal monotone with respect to addition. In particular,

$$ i(x) + i(x') = i(x + x') .$$ This function \(i\) has a right adjoint

$$ \lfloor \cdot \rfloor : \mathbb{R} \to \mathbb{Z} , $$
the **floor function**, which is lax monoidal monotone. In particular,

$$ \lfloor x \rfloor + \lfloor x' \rfloor \le \lfloor x + x' \rfloor .$$ For example, \( \lfloor 0.7 \rfloor + \lfloor 0.4 \rfloor = 0 \) is less than \( \lfloor 0.7 + 0.4 \rfloor = 1 \). On the other hand, \(i\) has a left adjoint

$$ \lceil \cdot \rceil : \mathbb{R} \to \mathbb{Z} , $$
the **ceiling function**, which is oplax monoidal monotone. In particular,

$$ \lceil x \rceil + \lceil x' \rceil \ge \lceil x + x' \rceil .$$ For example, \( \lceil 0.7 \rceil + \lceil 0.2 \rceil = 2 \) is greater than \( \lceil 0.7 + 0.2 \rceil= 1 \).

So, your prices at the grocery store would be lax monoidal if the clerk rounded your bill down to the nearest dollar... but oplax monoidal if the clerk rounded it up!

Is this a coincidence, this relation between right/left adjoints and lax/oplax monoidal monotones? No! In fact there's a very general, beautiful pattern at work here.

In everything that follows, \(X\) and \(Y\) will be monoidal preorders. I'll use the same symbols for \(\le\), \(\otimes\) and \(I\) in both \(X\) and \(Y\). This reduces clutter, and the context makes everything unambiguous. Remember that a monotone map \(f : X \to Y\) is a **strict** monoidal monotone if

$$ f(x) \otimes f(x) = f(x \otimes x') \textrm{ and } I = f(I). $$
It's a **lax** monoidal monotone if

$$ f(x) \otimes f(x) \le f(x \otimes x') \textrm{ and } I \le f(I), $$
and it's an **oplax** monoidal monotone if

$$ f(x) \otimes f(x) \ge f(x \otimes x') \textrm{ and } I \ge f(I). $$
**Theorem.** Suppose \(f : X \to Y\) is a strict monoidal monotone and \(g: Y \to X\) is a right adjoint of \(f\). Then \(g\) is a lax monoidal monotone.

**Proof.** Since \(g\) is a right adjoint of \(f\) it is, by definition, a monotone function. Thus, to show \(g\) is a lax monoidal monotone, we only need to prove a couple of inequalities. The first of these is

$$ g(y) \otimes g(y') \le g(y \otimes y') $$ for all \(y,y' \in Y\). Since \(g\) is a right adjoint of \(f\), this is equivalent to

$$ f(g(y) \otimes g(y')) \le y \otimes y'. $$ So, let's show this!

Since \(f\) is strict monoidal we have

$$ f(g(y) \otimes g(y')) = f(g(y)) \, \otimes \, f(g(y')) .$$ Since \(g\) is a right adjoint of \(f\) we have

$$ f(g(y)) \le y \textrm{ if and only if } g(y) \le g(y) $$ and the latter is true so indeed we have \(f(g(y)) \le y\), and by the same logic \(f(g(y')) \le y'\). By the monoidal preorder law this implies

$$ f(g(y)) \, \otimes \, f(g(y')) \le y \otimes y'. $$ Putting all the pieces together we get

$$ f(g(y) \otimes g(y')) \; = \; f(g(y)) \, \otimes\, f(g(y')) \; \le \; y \otimes y' $$ which is what we needed to show.

The second inequality we need to prove is

$$ I \le g(I) .$$ Since \(g\) is a right adjoint of \(f\) this is equivalent to \(f(I) \le I\), and since \(f\) is strict monoidal we actually have \(f(I) = I\). So, we're done! \( \qquad \blacksquare \)

This theorem has a partner, whose proof is very similar: just turn around a lot of inequalities!

**Theorem.** Suppose \(g: Y \to X\) is a strict monoidal monotone and \(f: X \to Y\) is a left adjoint of \(g\). Then \(f\) is an oplax monoidal monotone.

But even better, both these theorems are special cases of a beautifully symmetrical super-theorem, which is proved in basically the same way!

**Theorem.** Suppose the monotone function \(f: X \to Y\) is a left adjoint to the monotone function \(g: Y \to X\). Then \(f\) is an oplax monoidal if and only if \(g\) is a lax monoidal.

You can see that this implies the other two results, because a strict monoidal monotone is both lax and oplax. (In fact, a bit more generally, any monotone function that's both lax and oplax monoidal is called a **strong** monoidal monotone. So, in our first two theorems today, we could have replaced the word "strict" by "strong", and they'd still be true.)

**Puzzle 83.** Prove the super-theorem, preferably without "cheating" and looking at the proof of the earlier one. The trick, as so often in math, is simply to write down the facts you're given, and also the facts you want to prove, and play around with the former until you get the latter.

## Comments

Dan noted in a Lecture 26 that John switched the unit conditions for lax and oplax in this Lecture. Here is his post:

For reference we have

Lecture 26Lax: \(f(I_X) \le_Y I_Y\). Oplax: \(I_Y \le_Y f(I_X) \).Lecture 27Lax: \(I_Y \le_Y f(I_X) \). Oplax: \(f(I_X) \le_Y I_Y\).My examples and proofs seem to disagree with each other about what the condition

shouldbe. Here's what I've tried so far:An example showing that the condition Lecture 26 should be true:Define \(f: \mathbb Z \to \mathbb R\) by \(f(x) = x+ 1\). It has a right adjoint \(g: \mathbb R \to \mathbb Z\) defined by \(g(y) = \lfloor y-1 \rfloor\). So \[g(0) = -1 \leq 0.\] Since the super-theorem wants \(g\) to be lax monoidal monotone, the unit condition for lax monoidal monotone should be \(g(I_Y) \leq_X I_X\) which is the condition John listed in Lecture 26.

A hand-wavy reason why the Lecture 26 condition should be true:Again, I'm trying working to define the condition so that the super-theorem is true. If \(g\) is a right adjoint that means it is the approximate inverse of \(f\) from below. A perfect inverse would map \(I_Y\) exactly to \(I_X\) so since \(g\) is "from below" if makes sense that \(g(I_Y) \leq_X I_X\).

Why it would be nice if the condition in Lecture 27 were true:I agree with Dan that the Lecture 26 condition seems much more challenging to prove than the Lecture 27 condition: \(I_X \leq_X g(I_Y) \). If this is the unit condition, then it can be proved in the super-theorem as follows: By hypothesis \(f\) is oplax so by the Lecture 27 oplax unit condition \(f(I_X) \leq_Y I_Y\). Since \(f\) is left adjoint to \(g\) this implies that \(I_X \leq_X g(I_Y)\).

I feel like I've got myself all tangled up! What do you all think?

`Dan <a href = "https://forum.azimuthproject.org/discussion/comment/18261/#Comment_18261"> noted in a Lecture 26</a> that John switched the unit conditions for lax and oplax in this Lecture. Here is his post: > [John](https://forum.azimuthproject.org/profile/17/John%20Baez) I was having a hard time proving [puzzle 83](https://forum.azimuthproject.org/discussion/2098/lecture-27-chapter-2-adjoints-of-monoidal-monotones#latest) and I think it's because the unit conditions are the other way around for the lax and oplax monotones, respectively: > - For the lax monotone we should require: \\( I_Y \le f(I_X) . \\) > - For the oplax monotone we should require: \\( f(I_X) \le_Y I_Y . \\) > And a nitpick: > one of these equations was using \\(1\\) rather than \\(I\\) to denote the unit; I've noticed this notation is also mixed at the end of the [next lecture](https://forum.azimuthproject.org/discussion/2098/lecture-27-chapter-2-adjoints-of-monoidal-monotones#latest). For reference we have - **Lecture 26** Lax: \\(f(I_X) \le_Y I_Y\\). Oplax: \\(I_Y \le_Y f(I_X) \\). - **Lecture 27** Lax: \\(I_Y \le_Y f(I_X) \\). Oplax: \\(f(I_X) \le_Y I_Y\\). My examples and proofs seem to disagree with each other about what the condition *should* be. Here's what I've tried so far: **An example showing that the condition Lecture 26 should be true:** Define \\(f: \mathbb Z \to \mathbb R\\) by \\(f(x) = x+ 1\\). It has a right adjoint \\(g: \mathbb R \to \mathbb Z\\) defined by \\(g(y) = \lfloor y-1 \rfloor\\). So \\[g(0) = -1 \leq 0.\\] Since the super-theorem wants \\(g\\) to be lax monoidal monotone, the unit condition for lax monoidal monotone should be \\(g(I_Y) \leq_X I_X\\) which is the condition John listed in Lecture 26. **A hand-wavy reason why the Lecture 26 condition should be true:** Again, I'm trying working to define the condition so that the super-theorem is true. If \\(g\\) is a right adjoint that means it is the approximate inverse of \\(f\\) from below. A perfect inverse would map \\(I_Y\\) exactly to \\(I_X\\) so since \\(g\\) is "from below" if makes sense that \\(g(I_Y) \leq_X I_X\\). **Why it would be nice if the condition in Lecture 27 were true:** I agree with Dan that the Lecture 26 condition seems much more challenging to prove than the Lecture 27 condition: \\(I_X \leq_X g(I_Y) \\). If this is the unit condition, then it can be proved in the super-theorem as follows: By hypothesis \\(f\\) is oplax so by the Lecture 27 oplax unit condition \\(f(I_X) \leq_Y I_Y\\). Since \\(f\\) is left adjoint to \\(g\\) this implies that \\(I_X \leq_X g(I_Y)\\). I feel like I've got myself all tangled up! What do you all think?`

Sophie, I think that the inequalities from this Lecture 27 are the "correct" ones. A nice way to remember which way the unit condition should go is to note that there the greater or equal side is of the form \(f(-)\), both in \(f(x) \otimes f(x') \leq f(x\otimes x')\) and in \(I \leq f(I)\). These two inequalities are like the multiplication and the unit of a monoid: in the case of the multiplication, you have

twothings going in andonething coming out, which corresponds to two \(f\)'s on the left and one on the right. The unit of a monoid is just a constant, which means that it hasnothing going in and againonething coming out; just like the \(f\)'s in \(I\leq f(I)\).In case that all this sounds a bit mysterious or confusing to you now, let me just say that it will become clear further along the course! (Assuming that lax monoidal functors will be covered.)

`Sophie, I think that the inequalities from this Lecture 27 are the "correct" ones. A nice way to remember which way the unit condition should go is to note that there the greater or equal side is of the form \\(f(-)\\), both in \\(f(x) \otimes f(x') \leq f(x\otimes x')\\) and in \\(I \leq f(I)\\). These two inequalities are like the multiplication and the unit of a monoid: in the case of the multiplication, you have *two* things going in and *one* thing coming out, which corresponds to two \\(f\\)'s on the left and one on the right. The unit of a monoid is just a constant, which means that it has *no* thing going in and again *one* thing coming out; just like the \\(f\\)'s in \\(I\leq f(I)\\). In case that all this sounds a bit mysterious or confusing to you now, let me just say that it will become clear further along the course! (Assuming that lax monoidal functors will be covered.)`

Sophie, you gave the following example in favor of the definition from Lecture 26:

But it seems to me that for this particular example both definitions are consistent with the super-theorem:

`[Sophie](https://forum.azimuthproject.org/profile/2225/Sophie%20Libkind), you gave the following example in favor of the definition from Lecture 26: > Define \\(f: \mathbb Z \to \mathbb R\\) by \\(f(x) = x+ 1\\). It has a right adjoint \\(g: \mathbb R \to \mathbb Z\\) defined by \\(g(y) = \lfloor y-1 \rfloor\\). But it seems to me that for this particular example both definitions are consistent with the super-theorem: - According to the definitions from lecture 26, \\(f\\) is oplax and \\(g\\) is lax (as you have just showed). - According to the definitions from lecture 27, \\(f\\) is not oplax, \\(f(0) = 1 \nleq 0\\), and \\(g\\) is not lax, \\(0 \nleq -1 = g(0)\\).`

Ah I see my mistake. Thank you for the insights Tobias and Dan!

`Ah I see my mistake. Thank you for the insights Tobias and Dan!`

Sorry for screwing this up in Lecture 26. I'll fix it! As Tobias points out, in a lax monoidal monotone \(f : X \to Y\) the stuff involving the multiplication and unit in \(Y\) is \(\le\) the stuff involving the multiplication and unit in \(X\):

$$ f(x) \otimes_Y f(x') \le f(x \otimes_X x') $$ and

$$ I_X \le f(I_Y) .$$ With oplax monoidal monotones, both inequalities are reverse. Everything important works wll this way, and as far as I know nothing works better if you mix the two kinds of inequalities.

`Sorry for screwing this up in Lecture 26. I'll fix it! As Tobias points out, in a lax monoidal monotone \\(f : X \to Y\\) the stuff involving the multiplication and unit in \\(Y\\) is \\(\le\\) the stuff involving the multiplication and unit in \\(X\\): \[ f(x) \otimes_Y f(x') \le f(x \otimes_X x') \] and \[ I_X \le f(I_Y) .\] With oplax monoidal monotones, both inequalities are reverse. Everything important works wll this way, and as far as I know nothing works better if you mix the two kinds of inequalities.`

Here's a blow-by-blow proof of the "super-theorem" (

Puzzle 83):First, note that \(f\) left adjoint to \(g\) implies that \((fx \leq y \iff x \leq gy)\) and that \(fgy \leq y\)

Now assume \(f\) is oplax monoidal.

The adjunction immediately gives us \(f1_X \leq 1_Y \implies 1_X \leq g1_Y\)

As for the product rule, we have \(f(x_0 \otimes x_1) \leq fx_0 \otimes fx_1\)

So by adjunction we get \(x_0 \otimes x_1 \leq g(fx_0 \otimes fx_1)\)

Setting \(x_0 = gy_0\) and \(x_1 = gy_1\), we get \(gy_0 \otimes gy_1 \leq g(fgy_0 \otimes fgy_1)\)

But \(fgy_0 \leq y_0\) and \(fgy_1 \leq y_1\), so \(fgy_0 \otimes fgy_1 \leq y_0 \otimes y_1\)

And \(g\) is monotone, so \(g(fgy_0 \otimes fgy_1) \leq g(y_0 \otimes y_1)\)

Putting these together we get \(gy_0 \otimes gy_1 \leq g(y_0 \otimes y_1)\)

So \(g\) is lax monoidal.

The converse (\(g\) lax \(\implies\) \(f\) oplax) follows by duality.

`Here's a blow-by-blow proof of the "super-theorem" (**Puzzle 83**): First, note that \\(f\\) left adjoint to \\(g\\) implies that \\((fx \leq y \iff x \leq gy)\\) and that \\(fgy \leq y\\) Now assume \\(f\\) is oplax monoidal. The adjunction immediately gives us \\(f1_X \leq 1_Y \implies 1_X \leq g1_Y\\) As for the product rule, we have \\(f(x_0 \otimes x_1) \leq fx_0 \otimes fx_1\\) So by adjunction we get \\(x_0 \otimes x_1 \leq g(fx_0 \otimes fx_1)\\) Setting \\(x_0 = gy_0\\) and \\(x_1 = gy_1\\), we get \\(gy_0 \otimes gy_1 \leq g(fgy_0 \otimes fgy_1)\\) But \\(fgy_0 \leq y_0\\) and \\(fgy_1 \leq y_1\\), so \\(fgy_0 \otimes fgy_1 \leq y_0 \otimes y_1\\) And \\(g\\) is monotone, so \\(g(fgy_0 \otimes fgy_1) \leq g(y_0 \otimes y_1)\\) Putting these together we get \\(gy_0 \otimes gy_1 \leq g(y_0 \otimes y_1)\\) So \\(g\\) is lax monoidal. The converse (\\(g\\) lax \\(\implies\\) \\(f\\) oplax) follows by duality.`

Anindya - great solution to Puzzle 83! As readers will see, the proof of the "super theorem" is not really more complicated than the proof of the weaker theorem in the lecture. It just notes that various

equationsin the weaker theorem could be replaced byinequalities, and the argument would still work!The result is a more symmetrical theorem.

`Anindya - great solution to Puzzle 83! As readers will see, the proof of the "super theorem" is not really more complicated than the proof of the weaker theorem in the lecture. It just notes that various _equations_ in the weaker theorem could be replaced by _inequalities_, and the argument would still work! The result is a more symmetrical theorem.`

Typos: There are some primes missing in the strict, lax and oplax monoidal monotone definitions for f.

`Typos: There are some primes missing in the strict, lax and oplax monoidal monotone definitions for f.`