Keith wrote:

> \\[
\mathbf{Set} & \overset{i}\rightarrow & \mathbf{Rel}\\\\
\iota\downarrow & & \downarrow \iota' \\\\
\mathbf{Poset} & \underset{i'}\rightarrow & \mathbf{Feas}

> So, if I understand, the composition in \\(\mathbf{Feas}\\) should be like that of both \\(\mathbf{Rel}\\), where we compose on an existence of common objects, and that of \\(\mathbf{Poset}\\), where composition preserves the monotone structure.

Your intuition is good here!

\\(\mathbf{Feas}\\) is a kind of 'blend' of \\(\mathbf{Poset} \\) and \\(\mathbf{Rel}\\), which in turn both contain \\(\mathbf{Set}\\). Once we get \\(\mathbf{Feas}\\) up and running, we'll see there's a commutative diagram of functors just like you drew, where \\(\mathbf{Set}\\) is included in \\(\mathbf{Poset}\\) as the discrete posets, and \\(\mathbf{Set}\\) is included in \\(\mathbf{Rel}\\) with functions getting mapped to the total deterministic relations.

Using this intuition to actually _construct_ the category \\(\mathbf{Feas}\\) is not so easy. I instantly think of a 'pushout'. Very often in math you have a diagram like

> \\[
\mathcal{A} & \overset{i}\rightarrow & \mathcal{B}\\\\
\iota\downarrow & & \downarrow ? \\\\
\mathcal{C} & \underset{?}\rightarrow & ?

and you want to find the "best" way to fill in the diagram in a commutative way. This is called a [pushout]( You can think of it as a systematic approach to analogies. When we have a pushout we are filling in the analogy

> ? is to B as C is to A

but also

> ? is to C as B is to A.

So, you could try to create \\(\mathbf{Feas}\\) using a pushout in \\(\mathbf{Cat}\\). But since \\(\mathbf{Cat}\\) is a 2-category, it'd be wiser to use a "2-pushout", which makes the square commute only up to natural isomorphism.

I'm not sure this would actually give \\(\mathbf{Feas}\\). I am sure, however, that this is about fifty times harder than simply checking that composition as I defined it for \\(\mathbf{Feas}\\) is associative, and that there exist identity morphisms. I could have done that in less time than it took to write this comment!

> Are there particularly nice ways to make a category from old categories we have?

Tons! Category theory is full of ways of creating new objects from old, like pushouts... and many of them apply to the category \\(\mathbf{Cat}\\). Category theory pulls itself up by its boostraps. We are, unfortunately, just getting started: we are very weak, so it pays to just build tools by hand. Later we can use these tools to build other tools, and eventually we'll get tools that can more efficiently build the tools we're building by hand now!