Lecture 5 - Galois Connections

# Lecture 5 - Galois Connections

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?

To read other lectures go here.