Oh boy... so I actually wrote a thesis in graduate school on conversational implicature, Paul Grice, and various other theories of implying things.
I would actually agree user dwheeler here.
Whether or not you agree with Gricean implicature theory (I do not), the point is that making a claim about a group that doesn't exist is absurd. Absurd statements do not convey meaning, and language is a tool for communication, thus it is generally an assumed axiom that statements will have meaning. Here, even when people make borderline nonsensical statements, we assume there is a metaphor or language game involved.
So, by making a statement about 'all my hats', if the number of hats you have is zero, then any predication is absurd and the statement is absurd, so given an axiom of not making absurd statements for natural language, you can assume there are at least two hats. Obviously there are no formal rules here, but the functionality of natural language demonstrates that these heuristics exist.
absurd statements are usually jokes
a joke
> "all my hats are green" - bill
> "but green hats catch fire in the sunlight" - joe
> "and thats why i dont have any hats" - bill
from the link:
> Many conversations have goals other than the exchange of information. One is amusement, which speakers often pursue by making jokes (Lepore & Stone 2015: §11.3). Because the goal is not to provide information, the maxims of Quality, Quantity, and Relation do not apply. If for any of these reasons the Cooperative Principle does not apply, reasoning based on it will be unsound.
i think i disagree - the joke is intended to say that bill doesnt have any hats, but would like one, and only a green one, and only if they didnt catch fire in the sunlight
Granted all that, but we're not really talking about normal everyday English, but a hypothetical conversation with some mythical entity who can only lie, which is not really a capability of humans; even the most pathological liar among us can and will tell the truth.
So I'd put all that theory in a drawer somewhere and acknowledge that, when we're talking about logic puzzles, the rules of logic are paramount, not grammar.
Is "absurd" a term of art here, or you just mean it conflicts with common intuition? This sort of thing comes up a lot in programming languages. For example, is Null=Null true or false? What about Null!=Null? Maybe they can both be true or both false. It's strange because there's no simple obvious right answer but we need some answer and programming languages manage to define that sort of thing so it ends up logically consistent. Closer to this topic, how about a typed collection with no item in it? We expect the type system to enforce "all its items are green" but when it's empty, that constraint would become absurd and we can no longer pass an empty collection to a function that requires a collection of greens?
A simple program to test "all my hats are green" allows the empty set to be all green: