Scott - great! You've explained how my formula is really just matrix multiplication.

\$$\textbf{Bool}\$$ has a 'multiplication' \$$\wedge\$$ which distributes over the 'addition' \$$\vee\$$, so it's a lot like a [ring](https://en.wikipedia.org/wiki/Ring_(mathematics)#Definition); the only thing missing is subtraction, so we call it a **rig**, which is a joking shorthand for 'ri**n**g without **n**egatives'.

We can multiply matrices whose entries lie in any rig, and if we do this for \$$\textbf{Bool}\$$ we get exactly the formula for composing relations. Composing feasibility relations is a special case.

My one persnickety objection is that people don't call \$$\textbf{Bool}\$$ 'Boolean algebra'. The phrase 'Boolean algebra' means a couple of things:

1. There's a _branch of math_ called [Boolean algebra](https://en.wikipedia.org/wiki/Boolean_algebra), which that Wikipedia article discusses: "Boolean algebra is the branch of algebra in which the values of the variables are the truth values true and false, usually denoted 1 and 0 respectively."

2. Mathematicians have defined a _special kind of rig_ called a [Boolean algebra](https://en.wikipedia.org/w/index.php?title=Boolean_algebra_(structure)&action=edit§ion=2), and \$$\textbf{Bool}\$$ is _an example of_ a Boolean algebra, in fact the most important and fundamental example.

As a mathematician I hear my friends talk about 2 all the time but never 1.

I said a Boolean algebra is a special kind of rig; the link I gave lists the rules, but here's a high-powered description. It's a poset that has finite meets and joins, where \$$\vee\$$ and \$$\wedge\$$ distribute over each other, and such that every element \$$x\$$ has an element \$$\neg x\$$ such that \$$x \vee \neg x = \top\$$ and \$$x \wedge \neg x = \bot\$$.

The poset of subsets of any set \$$X\$$, called the **power set** \$$P(X)\$$, is the classic example of a Boolean algebra. If \$$X\$$ has just one element we get \$$\mathbf{Bool}\$$.