> 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).