> Sorry this is probably a newbie question but why is \$$\mathcal{Y}(F(x), y )\$$ of type \$$\mathbf{Bool}\$$ ?

The short answer: is because partial orders are \$$\mathbf{Bool}\$$-categories, and a monotone function is exactly the same as a functor between \$$\mathbf{Bool}\$$-categories .

The long answer: For **Puzzle 204**, we want to define a feasibility relation \$$\Phi : \mathbf{Bool} \nrightarrow [0,\infty)\$$.

If we have a monotone function \$$F: \mathcal{X} \to \mathcal{Y} \$$, its companion \$$\hat{F} : \mathcal{X} \to \mathcal{Y} \$$ is defined by \$$\hat{F}(x,y) = \mathcal{Y}(F(x),y)\$$.

So if we want \$$\Phi = \hat{F}\$$ for some \$$F\$$, we need a monotone function \$$F: \mathbf{Bool} \to [0,\infty)\$$.

Perhaps what is confusing is that we are using some shorthand here.

\$$\mathbf{Bool}\$$ is shorthand for "the bounded total order \$$(\lbrace \mathtt{false}, \mathtt{true}\rbrace, \leq, \mathtt{false})\$$ where \$$\mathtt{false} \le \mathtt{true}\$$." Perhaps most confusingly, we are taking \$$\mathbf{Bool}\$$ here to be a \$$\mathbf{Bool}\$$-enriched category. In particular, as a \$$\mathbf{Bool}\$$-enriched category \$$\mathbf{Bool}(x,y) = x \leq y\$$.

Moreover \$$[0,\infty)\$$ is shorthand "the lower-bounded total order \$$([0,\infty), \leq, 0)\$$ where under the conventional ordering from analysis class". Once again we have a \$$\mathbf{Bool}\$$-enriched category on our hands, since all partial orders are bool-enriched categories. In particular, as a \$$\mathbf{Bool}\$$-enriched category \$$[0,\infty)(x,y) = x \leq y\$$.

So finding a map \$$F: \mathbf{Bool} \to [0,\infty)\$$, but we know price goes up with quantity so I just list out the price of things.

John's answer is the right adjoint of my answer (if this isn't obvious, perhaps we can check this).