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

Okay: I've told you what a Galois connection is. But now it's time to explain why they matter. This will take much longer - and be much more fun.

Galois connections do something really cool: they tell you *the best possible way to recover data that can't be recovered*.

More precisely, they tell you *the best approximation to reversing a computation that can't be reversed.*

Someone hands you the output of some computation, and asks you what the input was. Sometimes there's a unique right answer. But sometimes there's more than one answer, or none! That's when your job gets hard. In fact, impossible! But don't let that stop you.

Suppose we have a function between sets, \(f : A \to B\) . We say a function \(g: B \to A \) is the **inverse** of \(f\) if

$$ g(f(a)) = a \textrm{ for all } a \in A \quad \textrm{ and } \quad f(g(b)) = b \textrm{ for all } b \in B $$ Another equivalent way to say this is that

$$ f(a) = b \textrm{ if and only if } a = g(b) $$ for all \(a \in A\) and \(b \in B\).

So, the idea is that \(g\) undoes \(f\). For example, if \(A = B = \mathbb{R}\) is the set of real numbers, and \(f\) doubles every number, then \(f\) has an inverse \(g\), which halves every number.

But what if \(A = B = \mathbb{N}\) is the set of *natural* numbers, and \(f\) doubles every natural number. This function has no inverse!

So, if I say "\(2a = 4\); tell me \(a\)" you can say \(a = 2\). But if I say "\(2a = 3\); tell me \(a\)" you're stuck.

But you can still try to give me a "best approximation" to the nonexistent natural number \(a\) with \(2 a = 3\).

"Best" in what sense? We could look for the number \(a\) that makes \(2a\) as close as possible to 3. There are two equally good options: \(a = 1\) and \(a = 2\). Here we are using the usual distance function, or metric, on \(\mathbb{N}\), which says that the distance between \(x\) and \(y\) is \(|x-y|\).

But we're not talking about distance functions in this class now! We're talking about *preorders*. Can we define a "best approximation" using just the relation \(\le\) on \(\mathbb{N}\)?

Yes! But we can do it in two ways!

**Best approximation from below.** Find the largest possible \(a \in \mathbb{N}\) such that \(2a \le 3\). Answer: \(a = 1\).

**Best approximation from above.** Find the smallest possible \(a \in \mathbb{N}\) such that \(3 \le 2a\). Answer: \(a = 2\).

Okay, now work this out more generally:

**Puzzle 14.** Find the function \(g : \mathbb{N} \to \mathbb{N}\) such that \(g(b) \) is the largest possible natural number \(a\) with \(2a \le b\).

**Puzzle 15.** Find the function \(g : \mathbb{N} \to \mathbb{N}\) such that \(g(b)\) is the smallest possible natural number \(a\) with \(b \le 2a\).

Now think about Lecture 4 and the puzzles there! I'll copy them here with notation that better matches what I'm using now:

**Puzzle 12.** Find a right adjoint for the function \(f: \mathbb{N} \to \mathbb{N}\) that doubles natural numbers: that is, a function \(g : \mathbb{N} \to \mathbb{N}\) with

$$ f(a) \le b \textrm{ if and only if } a \le g(b) $$ for all \(a,b \in \mathbb{N}\).

**Puzzle 13.** Find a left adjoint for the same function \(f\): that is, a function \(g : \mathbb{N} \to \mathbb{N}\) with

$$ g(b) \le a \textrm{ if and only if } b \le f(a) $$ Next:

**Puzzle 16.** What's going on here? What's the pattern you see, and why is it working this way?

## Comments

Puzzle 14Checking some concrete values, \(2(1) \leq 3, 2(2) \not \leq 3, 2(2) \leq 5, 2(3) \not \leq 5\). These suggest the function \(g(b) = \lfloor b/2 \rfloor \) is our maximum. More formally, we want \(g(b) = max\){\( a : 2a \leq b, a \in Z \)}, We need to show it's in our set, and that any other element in our set is smaller.First, \(2\lfloor b / 2 \rfloor \leq b \) so \(g(b) \in \){\( a : 2a \leq b \)}. Second, division by 2 and flooring are both monotonic functions, so if a is in our set, we have $$ 2a \leq b \Rightarrow a \leq b/2 \Rightarrow \lfloor a \rfloor \leq \lfloor b/2 \rfloor \Rightarrow a \leq \lfloor b/2 \rfloor $$ \(\lfloor b/2 \rfloor\) is the required maximum.

Puzzle 15This argument is analogous, except with \(\lceil b / 2 \rceil \). I would type it out, but I don't have time currently (famous last words).Puzzle 16I'm going to give an observation, but my understanding on this isn't complete.Given the definitions for adjunctions introduced in this lecture, it's clear they are unique (

Edit: This is true for the given example, but isn't true for every preorder, I shouldn't have said this was clear. And because the Galois connection definition is well defined for any preorder, my following suggestion won't generalize to a characterization for preorders by way of uniqueness!). Which means the definition in puzzle 12 is equivalent to the max definition. We can therefore show we can prove properties from one version to the other. I'll give the direction I've currently figured out.Suppose \(g\) is defined as in problem 14. Because all our functions are monotonic we have $$f(a) \leq b \Rightarrow g(f(a)) \leq g(b) \Rightarrow a \leq g(b)$$ and $$a \leq g(b) \Rightarrow f(a) \leq f(g(b)) \Rightarrow f(a) \leq b$$ Because \(f(g(b)) \leq b\) by definition of g. (It's the largest element x such that \(f(x) \leq b\)).

It should be possible to show these definitions are equivalent to maximizing in the sense defined in problem 14.

`**Puzzle 14** Checking some concrete values, \\(2(1) \leq 3, 2(2) \not \leq 3, 2(2) \leq 5, 2(3) \not \leq 5\\). These suggest the function \\(g(b) = \lfloor b/2 \rfloor \\) is our maximum. More formally, we want \\(g(b) = max\\){\\( a : 2a \leq b, a \in Z \\)}, We need to show it's in our set, and that any other element in our set is smaller. First, \\(2\lfloor b / 2 \rfloor \leq b \\) so \\(g(b) \in \\){\\( a : 2a \leq b \\)}. Second, division by 2 and flooring are both monotonic functions, so if a is in our set, we have $$ 2a \leq b \Rightarrow a \leq b/2 \Rightarrow \lfloor a \rfloor \leq \lfloor b/2 \rfloor \Rightarrow a \leq \lfloor b/2 \rfloor $$ \\(\lfloor b/2 \rfloor\\) is the required maximum. **Puzzle 15** This argument is analogous, except with \\(\lceil b / 2 \rceil \\). I would type it out, but I don't have time currently (famous last words). **Puzzle 16** I'm going to give an observation, but my understanding on this isn't complete. Given the definitions for adjunctions introduced in this lecture, it's clear they are unique (**Edit: This is true for the given example, but isn't true for every preorder, I shouldn't have said this was clear. And because the Galois connection definition is well defined for any preorder, my following suggestion won't generalize to a characterization for preorders by way of uniqueness!**). Which means the definition in puzzle 12 is equivalent to the max definition. We can therefore show we can prove properties from one version to the other. I'll give the direction I've currently figured out. Suppose \\(g\\) is defined as in problem 14. Because all our functions are monotonic we have $$f(a) \leq b \Rightarrow g(f(a)) \leq g(b) \Rightarrow a \leq g(b)$$ and $$a \leq g(b) \Rightarrow f(a) \leq f(g(b)) \Rightarrow f(a) \leq b$$ Because \\(f(g(b)) \leq b\\) by definition of g. (It's the largest element x such that \\(f(x) \leq b\\)). It should be possible to show these definitions are equivalent to maximizing in the sense defined in problem 14.`

I'm not sure if this is the answer you want John...

I want to expand on Alex Kreitzberg's observation. He is touching on an

alternate definitionof a Galois pair \(f \dashv g\):$$ f \text{ and } g \text{ are monotone functions and } f(g(b)) \leq b \text{ and } a \leq g(f(a)) $$ This is equivalent to the definition Fong, Spivak and you yourself use.

Moreover, if a monotone function has a left (or right) Galois adjoint it is unique.

`> **Puzzle 16**. What's going on here? What's the pattern you see, and why is it working this way? I'm not sure if this is the answer you want John... I want to expand on Alex Kreitzberg's observation. He is touching on an _alternate definition_ of a Galois pair \\(f \dashv g\\): $$ f \text{ and } g \text{ are monotone functions and } f(g(b)) \leq b \text{ and } a \leq g(f(a)) $$ This is equivalent to the definition Fong, Spivak and you yourself use. Moreover, if a monotone function has a left (or right) Galois adjoint it is unique.`

Here's my go at Puzzle 16: Let's say we have two monotone functions \(f : A\to B\) and \(g:B\to A\) between preorders and we're wondering whether the following three conditions on \(f\) and \(g\) are equivalent: $$\text{For all }a\text{ and }b,\ f(a)\leq b \iff a \leq g(b)$$ $$\text{For all }a,\ f(a)\text{ is the smallest $b$ with }a\leq g(b).$$ $$\text{For all }b,\ g(b)\text{ is the largest $a$ with }f(a)\leq b.$$ We'll show that the first and second are equivalent. First, note that since \(g\) is monotone, for any choice of \(a\) the set of all \(b\) such that \(a\leq g(b)\) is an upper set of \(B\). Therefore saying that \(f(a)\) is the smallest \(b\) with \(a\leq g(b)\) is saying that this upper set

isthe set of all elements of \(B\) at least as large as \(f(a)\). In other words, \(a\leq g(b)\) if and only if \(b\) is in this upper set if and only if \(b \geq f(a)\).The equivalence between the first and third conditions is similar. I was surprised that you didn't need both the second and third to get something equivalent to the first! In fact, the second and third are already equivalent to each other.

`Here's my go at Puzzle 16: Let's say we have two monotone functions \\(f : A\to B\\) and \\(g:B\to A\\) between preorders and we're wondering whether the following three conditions on \\(f\\) and \\(g\\) are equivalent: $$\text{For all }a\text{ and }b,\ f(a)\leq b \iff a \leq g(b)$$ $$\text{For all }a,\ f(a)\text{ is the smallest $b$ with }a\leq g(b).$$ $$\text{For all }b,\ g(b)\text{ is the largest $a$ with }f(a)\leq b.$$ We'll show that the first and second are equivalent. First, note that since \\(g\\) is monotone, for any choice of \\(a\\) the set of all \\(b\\) such that \\(a\leq g(b)\\) is an upper set of \\(B\\). Therefore saying that \\(f(a)\\) is the smallest \\(b\\) with \\(a\leq g(b)\\) is saying that this upper set *is* the set of all elements of \\(B\\) at least as large as \\(f(a)\\). In other words, \\(a\leq g(b)\\) if and only if \\(b\\) is in this upper set if and only if \\(b \geq f(a)\\). The equivalence between the first and third conditions is similar. I was surprised that you didn't need both the second and third to get something equivalent to the first! In fact, the second and third are already equivalent to each other.`

Some excellent responses! Just one small issue, coming from some mistakes in

Seven Sketches. Everything Matthew and Owen just said is true for posets, but not for preorders.Remember that a

preorderis a set with a binary relation \(\le\) that's reflexive and transitive. Aposetis a preorder where \(x \le y\) and \(y \le x\) imply \(x = y\).The left or right adjoint of a monotone function between posets is unique if it exists. This need not be true for preorders.

The issue can be seen clearly in the phrases "the smallest \(b\) with \(a \le g(b)\)". In a poset, such an \(a\) is unique if it exists. In a preorder, that's not true, since we could have \(a \le a'\) and \(a' \le a\) yet still \(a \ne a'\).

Adding to the confusion,

Seven Sketchesuses "poset" to mean "preorder", and "skeletal poset" to mean "poset". So, when the authors say the left or right adjoint of a monotone function between posets is unique if it exists, that's true with theusualdefinition of poset, but not fortheirdefinition.Luckily, I have convinced the authors to straighten this out. Here's what I wrote in an email to Brendan Fong. He just replied saying that he and David are fixing the mistakes I describe, and switching to the standard definition of "poset".

Someone in the course pointed out something that's more than a typo. If you're going to use "poset" to mean "preorder" (bad, bad, bad) then you can't talk about "the" meet or join of two elements in a poset, because even when it exists it's not unique.

Of course you can use "the" in the sophisticated way, meaning "unique up to canonical isomorphism"... but that seems a bit fancy for your intended audience, and it at least would need to be explained.

You guys just say things like:

You could fix this by changing "the" to "a", but every equation you write down involving meets and joins is wrong unless you restrict to the "skeletal poset" case. For example, Example 1.62:

More importantly, Prop. 1.84 - right adjoints preserve meets. The equations here are really just isomorphisms!

This then makes your statement of the adjoint functor theorem for posets incorrect.

I think this is the best solution:

Call preorders "preorders" and call posets "posets". Do not breed a crew of students who use these words in nonstandard ways! You won't breed enough of them to take over the world, so all you will accomplish is making them less able to communicate with other people. And for what: just because you don't like the sound of the word "preorder"?

Define meets and joins for preorders, but point out that they're unique for posets, and say this makes things a bit less messy.

State the adjoint functor theorem for posets... actual posets!

`Some excellent responses! Just one small issue, coming from some mistakes in _Seven Sketches_. Everything Matthew and Owen just said is true for posets, but not for preorders. Remember that a **preorder** is a set with a binary relation \\(\le\\) that's reflexive and transitive. A **poset** is a preorder where \\(x \le y\\) and \\(y \le x\\) imply \\(x = y\\). The left or right adjoint of a monotone function between posets is unique if it exists. This need not be true for preorders. The issue can be seen clearly in the phrases "the smallest \\(b\\) with \\(a \le g(b)\\)". In a poset, such an \\(a\\) is unique if it exists. In a preorder, that's not true, since we could have \\(a \le a'\\) and \\(a' \le a\\) yet still \\(a \ne a'\\). Adding to the confusion, _Seven Sketches_ uses "poset" to mean "preorder", and "skeletal poset" to mean "poset". So, when the authors say the left or right adjoint of a monotone function between posets is unique if it exists, that's true with the _usual_ definition of poset, but not for _their_ definition. <img src = "http://math.ucr.edu/home/baez/emoticons/confused_rolleyes.gif"> Luckily, I have convinced the authors to straighten this out. Here's what I wrote in an email to Brendan Fong. He just replied saying that he and David are fixing the mistakes I describe, and switching to the standard definition of "poset". <hr/> Someone in the course pointed out something that's more than a typo. If you're going to use "poset" to mean "preorder" (bad, bad, bad) then you can't talk about "the" meet or join of two elements in a poset, because even when it exists it's not unique. Of course you can use "the" in the sophisticated way, meaning "unique up to canonical isomorphism"... but that seems a bit fancy for your intended audience, and it at least would need to be explained. You guys just say things like: > Let P be a poset, and let A be a subset. We say that an element is the meet of A if ... You could fix this by changing "the" to "a", but every equation you write down involving meets and joins is wrong unless you restrict to the "skeletal poset" case. For example, Example 1.62: > In any poset P, we have \\(p \vee p = p \wedge p = p\\). More importantly, Prop. 1.84 - right adjoints preserve meets. The equations here are really just isomorphisms! This then makes your statement of the adjoint functor theorem for posets incorrect. I think this is the best solution: 1. Call preorders "preorders" and call posets "posets". Do not breed a crew of students who use these words in nonstandard ways! You won't breed enough of them to take over the world, so all you will accomplish is making them less able to communicate with other people. And for what: just because you don't like the sound of the word "preorder"? 2. Define meets and joins for preorders, but point out that they're unique for posets, and say this makes things a bit less messy. 3. State the adjoint functor theorem for posets... actual posets!`

John Baez #4:

Okay... but I don't see how my alternative definition uses anti-symmetry (i.e. the rule \(x \leq y\) and \(y \leq x\) imply \(x = y\)).

Here's my attempted proof:

Lemma: Assume that \(f\) and \(g\) are monotone and for all \(a\) and \(b\) we have \(f(g(b))\leq b\) and \(a \leq g(f(a))\)We want to show \(f \dashv g\), which is to say for all \(a\) and \(b\):

$$ f(a)\leq b\text{ if and only if } a \leq g(b) $$

Proof.I hope it's okay if I only show \(f(a)\leq b \Longrightarrow a \leq g(b)\), since the other direction is quite similar.Assume \(f(a)\leq b\). Then by monotony of \(g\) we have \(g(f(a)) \leq g(b)\). However, since \(a \leq g(f(a))\) by assumption, then we have \(a \leq g(b)\) by transitivity.

\(\Box\)

Since anti-symmetry wasn't used I don't see why this proof doesn't apply to preorders...? I greatly appreciate you taking the time to help me out.

`[John Baez #4](https://forum.azimuthproject.org/discussion/comment/16344/#Comment_16344): > Some excellent responses! Just one small issue, coming from some mistakes in Seven Sketches. Everything Matthew and Owen just said is true for posets, but not for preorders. > Remember that a **preorder** is a set with a binary relation ≤ that's reflexive and transitive. A **poset** is a preorder where \\(x \leq y\\) and \\(y \leq x\\) imply \\(x = y\\). Okay... but I don't see how my alternative definition uses anti-symmetry (i.e. the rule \\(x \leq y\\) and \\(y \leq x\\) imply \\(x = y\\)). Here's my attempted proof: **Lemma**: Assume that \\(f\\) and \\(g\\) are monotone and for all \\(a\\) and \\(b\\) we have \\(f(g(b))\leq b\\) and \\(a \leq g(f(a))\\) We want to show \\(f \dashv g\\), which is to say for all \\(a\\) and \\(b\\): $$ f(a)\leq b\text{ if and only if } a \leq g(b) $$ **Proof.** I hope it's okay if I only show \\(f(a)\leq b \Longrightarrow a \leq g(b)\\), since the other direction is quite similar. Assume \\(f(a)\leq b\\). Then by monotony of \\(g\\) we have \\(g(f(a)) \leq g(b)\\). However, since \\(a \leq g(f(a))\\) by assumption, then we have \\(a \leq g(b)\\) by transitivity. \\(\Box\\) Since anti-symmetry wasn't used I don't see why this proof doesn't apply to preorders...? I greatly appreciate you taking the time to help me out.`

Matthew: I was being pretty vague when I wrote

I didn't mean

nothingyou said was true for preorders. For example, I think the alternative characterization of Galois connections works fine for preorders. Looking over what you said, this is the only thing that I'm sure is false for preorders:I tried to hint at the reason why:

Do you see how to cook up a monotone function between preorders that has more than one left adjoint?

`Matthew: I was being pretty vague when I wrote > Everything Matthew and Owen just said is true for posets, but not for preorders. I didn't mean _nothing_ you said was true for preorders. For example, I think the alternative characterization of Galois connections works fine for preorders. Looking over what you said, this is the only thing that I'm sure is false for preorders: > Moreover, if a monotone function has a left (or right) Galois adjoint it is unique. I tried to hint at the reason why: > The left or right adjoint of a monotone function between posets is unique if it exists. This need not be true for preorders. > The issue can be seen clearly in the phrases "the smallest \\(b\\) with \\(a \le g(b)\\)". In a poset, such an \\(a\\) is unique if it exists. In a preorder, that's not true, since we could have \\(a \le a'\\) and \\(a' \le a\\) yet still \\(a \ne a'\\). Do you see how to cook up a monotone function between preorders that has more than one left adjoint?`

Yeah, I think I can see one - consider \(\mathbb{Z} ∐ \mathbb{Z}\). Let \(u : \mathbb{Z} ∐ \mathbb{Z} \to \mathbb{Z} \) be the forgetful functor that takes \(x_l \mapsto x\) and \(x_r \mapsto x\). Define the preorder on \(\mathbb{Z} ∐ \mathbb{Z}\) to be \(a \leq b\) if and only if \(u(a) \leq_{\mathbb{Z}} u(b)\).

Now consider the endomorphism \(f : \mathbb{Z} ∐ \mathbb{Z} \to \mathbb{Z} ∐ \mathbb{Z}\) where:

$$ x_l \mapsto (x+1)_l \\ x_r \mapsto (x+1)_r $$ I can see two left/right adjoints for this.

First, this function is invertible, some one left/right adjoint is \(f^{-1}\). Explicitly, this maps:

$$ x_l \mapsto (x-1)_l \\ x_r \mapsto (x-1)_r $$ There is also another left/right adjoint \(s\) that switches the sides of the coproduct:

$$ x_l \mapsto (x-1)_r \\ x_r \mapsto (x-1)_l $$ There are in fact an infinite number of left/right adjoints to \(f\). Consider any partition \(P\) on \(\mathbb{Z} ∐ \mathbb{Z}\). For each \(p \in P\), we can map the elements using either \(f^{-1}\) or \(s\). The resulting map is another left/right adjoint.

——————————

I am sure there is a simpler example.

Thank you again for taking the time to help me get clear on the difference between adjoints for preorders and adjoints for posets!

`> Do you see how to cook up a monotone function between preorders that has more than one left adjoint? Yeah, I think I can see one - consider \\(\mathbb{Z} ∐ \mathbb{Z}\\). Let \\(u : \mathbb{Z} ∐ \mathbb{Z} \to \mathbb{Z} \\) be the forgetful functor that takes \\(x_l \mapsto x\\) and \\(x_r \mapsto x\\). Define the preorder on \\(\mathbb{Z} ∐ \mathbb{Z}\\) to be \\(a \leq b\\) if and only if \\(u(a) \leq_{\mathbb{Z}} u(b)\\). Now consider the endomorphism \\(f : \mathbb{Z} ∐ \mathbb{Z} \to \mathbb{Z} ∐ \mathbb{Z}\\) where: $$ x_l \mapsto (x+1)_l \\\\ x_r \mapsto (x+1)_r $$ I can see two left/right adjoints for this. First, this function is invertible, some one left/right adjoint is \\(f^{-1}\\). Explicitly, this maps: $$ x_l \mapsto (x-1)_l \\\\ x_r \mapsto (x-1)_r $$ There is also another left/right adjoint \\(s\\) that switches the sides of the coproduct: $$ x_l \mapsto (x-1)_r \\\\ x_r \mapsto (x-1)_l $$ There are in fact an infinite number of left/right adjoints to \\(f\\). Consider any partition \\(P\\) on \\(\mathbb{Z} ∐ \mathbb{Z}\\). For each \\(p \in P\\), we can map the elements using either \\(f^{-1}\\) or \\(s\\). The resulting map is another left/right adjoint. —————————— I am sure there is a simpler example. Thank you again for taking the time to help me get clear on the difference between adjoints for preorders and adjoints for posets!`

Great! Here's a fun example.

Let \(A\) be any set, and make it into a preorder by defining every element to be less than or equal to every other element. Do the same for some set \(B\). Then any function \(f : A \to B\) is monotone, because we have \(f(a) \le f(a')\) no matter what \(a,a' \in A\) are. Similarly any function \(g : B \to A\) is monotone. And no matter what \(f\) and \(g\) are, \(g\) will be be a right adjoint to \(f\), since

$$ f(a) \le b \textrm{ if and only if } a \le g(b) $$ (both are always true). Similarly, \(g\) will always be a left adjoint to \(f\).

This shows that when we make our preorders as far from posets as possible, right and left adjoints become ridiculously non-unique.

`Great! Here's a fun example. Let \\(A\\) be any set, and make it into a preorder by defining every element to be less than or equal to every other element. Do the same for some set \\(B\\). Then any function \\(f : A \to B\\) is monotone, because we have \\(f(a) \le f(a')\\) no matter what \\(a,a' \in A\\) are. Similarly any function \\(g : B \to A\\) is monotone. And no matter what \\(f\\) and \\(g\\) are, \\(g\\) will be be a right adjoint to \\(f\\), since $$ f(a) \le b \textrm{ if and only if } a \le g(b) $$ (both are always true). Similarly, \\(g\\) will always be a left adjoint to \\(f\\). This shows that when we make our preorders as far from posets as possible, right and left adjoints become ridiculously non-unique.`

Inverse functions as a special case of adjoints: if \(A\) and \(B\) be preorders, where the ordering is the identity relation, then \(f: A \rightarrow B\) and \(g: B \rightarrow A\) are adjoint iff they are inverse functions.

`Inverse functions as a special case of adjoints: if \\(A\\) and \\(B\\) be preorders, where the ordering is the identity relation, then \\(f: A \rightarrow B\\) and \\(g: B \rightarrow A\\) are adjoint iff they are inverse functions.`

John Baez #6 wrote:

I actually see 4 equivalent definitions of a Galois connection \(f \dashv g\) for two preorders \(\langle A, \sqsubseteq\rangle\) and \(\langle B, \preceq\rangle\):

(1) \(f(a) \sqsubseteq b\) if and only if \(a \preceq g(b)\)

(2) \(f\) and \(g\) are mono and \(f(g(b)) \sqsubseteq b\) and \(a \preceq g(f(a))\)

(3) \(f\) is mono and \(f(g(b)) \sqsubseteq b\) and \(f(a) \sqsubseteq b \Longrightarrow a \preceq g(b)\)

(4) \(g\) is mono and \(a \preceq g(f(a))\) and \(a \preceq g(b) \Longrightarrow f(a) \sqsubseteq b\)

(3) and (4) are based on Owen Biesel's observation.

It looks like these definitions are pretty general - I think you can use them to give alternate ways of programming adjunctions in Haskell.

Let me double check, if this is the case we can maybe make a change to the Haskell

`adjunctions`

library.`[John Baez #6](https://forum.azimuthproject.org/discussion/comment/16420/#Comment_16420) wrote: > For example, I think the alternative characterization of Galois connections works fine for preorders. I actually see 4 equivalent definitions of a Galois connection \\(f \dashv g\\) for two preorders \\(\langle A, \sqsubseteq\rangle\\) and \\(\langle B, \preceq\rangle\\): (1) \\(f(a) \sqsubseteq b\\) if and only if \\(a \preceq g(b)\\) (2) \\(f\\) and \\(g\\) are mono and \\(f(g(b)) \sqsubseteq b\\) and \\(a \preceq g(f(a))\\) (3) \\(f\\) is mono and \\(f(g(b)) \sqsubseteq b\\) and \\(f(a) \sqsubseteq b \Longrightarrow a \preceq g(b)\\) (4) \\(g\\) is mono and \\(a \preceq g(f(a))\\) and \\(a \preceq g(b) \Longrightarrow f(a) \sqsubseteq b\\) -------------------------------------------- (3) and (4) are based on Owen Biesel's observation. It looks like these definitions are pretty general - I think you can use them to give alternate ways of programming adjunctions in Haskell. Let me double check, if this is the case we can maybe make a change to the Haskell `adjunctions` library.`

Matthew - that would be cool!

`Matthew - that would be cool!`

Made the PR this morning :D

`Made the PR this morning :D`

Minor typo (I think) in your lecture John:

Think that should be 2a=

3?If not, it's a "thinko" on my part (kudos to Patrick O'Neill for the "thinko" concept!).

`Minor typo (I think) in your lecture John: >But you can still try to give me a "best approximation" to the nonexistent natural number a with 2a=4. Think that should be 2a=**3**? If not, it's a "thinko" on my part (kudos to [Patrick O'Neill](https://forum.azimuthproject.org/discussion/comment/16151/#Comment_16151) for the "thinko" concept!).`

Thanks, Scott! It was definitely a typo on my part, not a thinko on yours. You'll be relieved to hear that there is indeed a natural number with \(2a = 4\). Even in the "new math".

`Thanks, Scott! It was definitely a typo on my part, not a thinko on yours. You'll be relieved to hear that there is indeed a natural number with \\(2a = 4\\). Even in the "new math". <img src = "http://math.ucr.edu/home/baez/emoticons/tongue2.gif">`