On Wed, Nov 10, 2021 at 11:44 AM Ethan Furman
I don't know if there's a formal name, but in my mind, if you have something you don't have nothing. If you have a barrel with nothing in it (not even air, just a hard vacuum) then saying you have nothing in that barrel is a true statement; as soon as something is in that barrel, then saying you have nothing in the barrel is a false statement.
You're defining nothingness as the absence of anything. "Is this bitset empty?" is a test of nothingness that parallels what you're asking. (I'm not sure what the truth value of these kinds of flagsets is, but it would make sense for an empty flag set to be false.) But asking if there is nothing in the barrel is a quirk of English. Suppose we have a barrel with multiple colours of balls in it. 1) Do we have any red balls in the barrel? 2) Do we have any green balls in the barrel? 3) Do we have red and green balls in the barrel? Clearly, testing for the combination red|green depends on both red and green being there. 4) Do we have blue balls in the barrel? 5) Do we have red and blue balls in the barrel? Same concept. Cool. If you start thinking backwards, clearly going from "red|blue" to "red" makes it easier for it to be true. And going from "red|blue" to "blue" also makes it easier for it to be true. Removing a condition from the set that's being tested will never change it from "yes we do" to "no we don't". If we have some set of balls in the barrel, we must logically have a subset of those balls. The ultimate in flag removal is no flags at all. If going from "red|blue" to "red" makes it easier to be true, and going from "green|blue" to "green" does too, then logically, going from "blue" to "nothing" should also. In other words, asking if we have all of, uhh, no flags at all, should always be true. It's a bit of a weird question to ask - kinda like "what is the product of no numbers" (or if you prefer: "what is x to the zeroth power") - but logic dictates the result. (All we have to do is fix English so it's more logical.) ChrisA