No, the liar having no hats would not make the statement true. ‘All my hats implies’ implies the liar stating they have hats.
The liar either has zero hats or some amount of hats. The only thing we know for certain is that if they do have hats, there is at least one non Green hat.
I read statement "All my hats are green" as meaning:
For every hat H that I have, H is green.
If I have no hats, this statement is true, just as
* the empty sum is 0,
* the empty product is 1,
* the empty AND is True, and
* the empty OR is False.
So with this interpretation, the liar having no hats would make the statement true.
Perhaps I'm being a bit too logical, but in mathematics and logic the statement
For all x in A, x has XYZ property
is taken to be true when A is the empty set.No, in logic that is a vacuous truth. All my hats is true for zero hats. But that would not be a lie. And since the liar always lies, that can not be case.
No. In formal logic, if you have no hats, it is true that all your hats are green. You can claim anything about those hats, it is even true that each one of those hats is the same size as the universe, or that they are all completely green and completely red at the same time. In normal language, this would be different, but that is not the context here.
> Note: this question was originally set in a maths exam, so the answer assumes some basic assumptions about formal logic. A liar is someone who only says false statements.