"All" bring a common colloquial term doesn't have a strict set theory definition here. It is reasonable many people think zero hats is means the lie is in this very first word.
A lot of people will consider "all" to implicitly mean 1 or more, while I think strict logicians will map colloquial all to 0 or more.
All mat imply colloquially 2 or more as well, as why bother say "all" if you had one hat in the truthful sense
"My hats" contrasts with the "has a hat" because having a hat in your possession that you could have borrowed does not confer ownership that the word "my" can imply.
So great, a three letter word and a two letter word and we are knee deep in ambiguity.
They could be wearing the hat to try to publicly locate the true owner who might say "hey I lost that hat at x".
"Are green"... Green as in vegetable? Green as in the specific wavelength defined as green and not lime or some other named shade? Completely green dyed being undermined by a black spot or a pattern on the hat?
Imo zero hats of ownership is a viable lie to the statement, as is having one red-green hat.