Lecture 58 - Composing Feasibility Relations

Lecture 58 - Composing Feasibility Relations

In the puzzles last time we saw something nice: a feasibility relation between preorders is a generalization of something we learned about a long time ago: a monotone function between preorders.

But the really cool part is this: given preorders \(X\) and \(Y\), we can get a feasibility relation \(\Phi : X \nrightarrow Y\) either from a monotone function \(f : X \to Y\) or from a monotone function \(g: Y \to X\). So, feasibility relations put monotone functions going forwards from \(X\) to \(Y\) and those going backwards from \(Y\) to \(X\) into a common framework!

Even better, we saw that one of our favorite themes, namely adjoints, is deeply connected to this idea. Let me state this as a theorem:

Theorem. Let \(f : X \to Y \) and \(g: Y \to X\) be monotone functions between the preorders \(X\) and \(Y\). Define the feasibility relations \(\Phi : X \nrightarrow Y\) by

[ \Phi(x,y) \text{ if and only if } f(x) \le y ]

and

[ \Psi(x,y) \text{ if and only if } x \le g(y) .]

Then \(\Phi = \Psi\) if and only if \(f \) is the left adjoint of \(g\).

Proof. We have \(\Phi = \Psi\) iff

[ \Phi(x,y) \text{ if and only if } \Psi(x,y) ]

for all \(x \in X, y \in Y\), but by our definitions this is true iff

[ f(x) \le y \text{ if and only if } x \le g(y) ]

which is true iff \(f\) is the left adjoint of \(g\). \( \qquad \blacksquare \)

Ah, if only all proofs were so easy!

Now, to make feasibility relations into a truly satisfactory generalization of monotone functions, we should figure out how to compose them. Luckily this is easy, because we already know how to compose relations from Lecture 40. So, we should try to prove this:

Theorem. Suppose that \(\Phi : X \nrightarrow Y, \Psi : Y \nrightarrow Z\) are feasibility relations between preorders. Then there is a composite feasibility relation

[ \Psi \Phi : X \nrightarrow Z ]

defined as follows:

[ (\Psi \Phi)(x,z) = \text{true} ]

if and only if for some \(y \in Y\),

[ \Phi(x,y) = \text{true} \text{ and } \Psi(y,z) = \text{true}. ]

Puzzle 176. Prove this! Show that \(\Psi \Phi\) really is a feasibility relation.

I hope you see how reasonable this form of composition is. Think of it in terms of our pictures from last time:

Here we have three preorders \(X,Y,Z\), which we can think of as cities with one-way roads. We can also take one-way airplane flights from \(X\) to \(Y\) and from \(Y\) to \(Z\): the flights in blue are a way of drawing a feasibility relation \(\Phi: X \nrightarrow Y\), and the flights in red are a way of drawing \(\Psi: Y \nrightarrow Z\).

Puzzle 177. Is \( (\Psi\Phi)(N,y) = \text{true}\)?

Puzzle 178. Is \( (\Psi\Phi)(W,y) = \text{true}\)?

Puzzle 179. Is \(( \Psi\Phi)(E,y) = \text{true}\)?

Puzzle 180. Prove that there is a category \(\textbf{Feas}\) whose objects are preorders and whose morphisms are feasibility relations, composed as above.

Puzzle 181. Suppose that \(\Phi : X \nrightarrow Y, \Psi : Y \nrightarrow Z\) are feasibility relations between preorders. Prove that

[ (\Psi\Phi)(x,z) = \bigvee_{y \in Y} \Phi(x,y) \wedge \Psi(y,z) ]

where \(\wedge\) is the meet in the poset \(\textbf{Bool}\), and \(\bigvee\) is the join. How is this formula related to matrix multiplication?

You may remember that a feasibility relation is a \(\mathcal{V}\)-enriched profunctor in the special case where \(\mathcal{V} = \textbf{Bool}\). This formula will be the key to defining composition for more general \(\mathcal{V}\)-enriched profunctors. But we need to talk about that more.

To read other lectures go here.


© 2018 John Baez