Live data from Hacker News

A liar who always lies says "All my hats are green."

theguardian.com

61–70 of 419 posts

Re: A liar who always lies says "All my hats are green."

#61
post #37

Earlier quoted context omitted.

Correct. Common source of confusion/trickery/divergence between ordinary language and formal logic. Edit: Logically speaking, the following two are equivalent: They married and had kids. They had kids and married.

Also I think sometimes children will realize a logic gap there and so they will try this funny trickery where they will make statements like these, which technically are true, but imply something totally otherwise to others. Which I find very interesting and kind of speaks to ability and inventiveness of children to think outside the box. Parents may find it annoying or dismiss it, but I think it is great.

vacuous truths are indeed a useful form of half-truth if you are aiming to deceive.

Re: A liar who always lies says "All my hats are green."

#62
post #13

Earlier quoted context omitted.

Do you think regular people, when communicating, use academic logic? Or do you think the liar is an academic?

Let's say that saying 'all my hats' implies that the set of hats is non empty, then you have the two following statements my-hats is not empty for every hat in my-hats, is-green(hat) is true We know that the speaker always lies, so both statements must be false: my-hats must be empty, and it must be that it exists at least one hat in my-hat that is not green. This is a contradiction. So either the speaker or the puzz…

I was initially thinking that, but you can parse it as one statement "my-hats is not empty AND for every hat in my-hats, is-green(hat) is true", in which case it's still consistent for that single statement to be false, and it can be false by my-hats being empty.

Re: A liar who always lies says "All my hats are green."

#63

Earlier quoted context omitted.

I don't have formal logic or any math beyond calculus, either, and it appears that this fact is to our advantage.

You don't need to have learned formal logic to conclude the answer to this puzzle in my view. Yes, formal logic concludes it, but plain logic as well. The key is to realize that the answer will go against your learned social intuition and be fine with that. Social communication in many cases is illogical for efficiency reasons and that is fine. It is interesting to point out those cases and make puzzles out of them.

I agree.

I would appreciate it if you would correct my thinking on the subject, if I have erred: https://news.ycombinator.com/item?id=42365506

Thanks in advance.

Re: A liar who always lies says "All my hats are green."

#64
post #62

Earlier quoted context omitted.

Let's say that saying 'all my hats' implies that the set of hats is non empty, then you have the two following statements my-hats is not empty for every hat in my-hats, is-green(hat) is true We know that the speaker always lies, so both statements must be false: my-hats must be empty, and it must be that it exists at least one hat in my-hat that is not green. This is a contradiction. So either the speaker or the puzz…

I was initially thinking that, but you can parse it as one statement "my-hats is not empty AND for every hat in my-hats, is-green(hat) is true", in which case it's still consistent for that single statement to be false, and it can be false by my-hats being empty.

That's a very good point!

Re: A liar who always lies says "All my hats are green."

#65

Earlier quoted context omitted.

Why would you conclude that the liar is telling the truth that they have any hats at all?

"for each hat in the set of hats I know. the statement 'the hat is green' is true"; the previous statement would be true if the set of hats I know is empty. Incidentally, if you are a programmer it should be obvious that folding 'and' on an empty set must return True.

Uninitialized variables are 90% of our bugs, or so I've been told.

I don't consider a boolean "and" or "or" of a list of bools to be automatically true or false of an empty set, my friend. To me, the specific case for a boolean function applied to an empty list of bools would have to be explicitly stated in the design.

Thanks for explaining how mathematicians and logicians treat the empty set. I have more pragmatic situations to address :-)

Re: A liar who always lies says "All my hats are green."

#66
post #2

My take (possible spoiler): If he had no hats, then his statement would technically be true. Therefore he has at least one hat. He may have some green hats and some non-green hats, but must have at least one non-green hat. He could have any number of green hats, including zero, as long as he has at least one non-green hat. So the only derived statement that we can conclude to be true is A.

Speaking mathematically , you are right. However, linguistically I disagree. Consider: Someone tells you that "all of their kids are doing great in school". Turns out they have no kids. They obviously were trying to deceive you, and make you think they do have kids - in fact, since plural, more than one kid. Hence, it is effectively a lie. So if the liar speaks of "all my hats" while having none, that is deceptive. I…

Who hasn't had a picture taken with only them sitting in a room, labeled "X with all their friends" can cast the first stone.

Re: A liar who always lies says "All my hats are green."

#67
post #48

Earlier quoted context omitted.

Why would you conclude that the liar is telling the truth that they have any hats at all?

This is the contentious, formal-logicy part of the puzzle. "All my hats are green" as a logical statement, in most formal logic systems, would be true if I didn't own any hats (a so-called vacuous truth, because it doesn't mean anything, for similar reasons any statement conditioned on a false statement is true, e.g. "if 2+2=5, then I am god" is similarly vacuously true). So if I'm a liar and that statement is false,…

Thanks for breaking that down for me.

I guess, to me, a programmer logician not a mathematician logician, the real problem for me here is the definition of "liar" as it applies to how we parse the problem statement's facts.

Re: A liar who always lies says "All my hats are green."

#68

Actually I would say by the rules of English we cannot conclude any of those multiple choice questions is the absolute case - A) "The liar has at least one hat." cannot conclude because may have no hats, thus the lie is in the "all my hats" B) "The liar has only one green hat." cannot conclude because may have 2+ green hats out of a 3+ set. C) "The liar has no hats." cannot conclude that because he may have hats that…

There are few hard semantic rules in English; it is more a matter of conventional usage and expectations - and when 'all' is used, people usually expect that the sentence is about at least one thing, and probably more. I suspect that this is mainly a matter of omission: in ordinary discourse, there seem to be few occasions for using it when it is definitely the case that the resulting sentence is not referring to any…

given that this is a liar the use of all may be meant to deceive, the main thing here is the use of the word conclude.

I doubt, given in what context this was written, that this is a matter of omission.

Re: A liar who always lies says "All my hats are green."

#69

Actually I would say by the rules of English we cannot conclude any of those multiple choice questions is the absolute case - A) "The liar has at least one hat." cannot conclude because may have no hats, thus the lie is in the "all my hats" B) "The liar has only one green hat." cannot conclude because may have 2+ green hats out of a 3+ set. C) "The liar has no hats." cannot conclude that because he may have hats that…

There are few hard semantic rules in English; it is more a matter of conventional usage and expectations - and when 'all' is used, people usually expect that the sentence is about at least one thing, and probably more. I suspect that this is mainly a matter of omission: in ordinary discourse, there seem to be few occasions for using it when it is definitely the case that the resulting sentence is not referring to any…

I agree in general but I do wonder how unusual using ‘all’ to assume existence is. For example “have you done all your homework?” What we are really asking is whether there is any homework that wasn’t done, not did you do any homework.

Re: A liar who always lies says "All my hats are green."

#70

Earlier quoted context omitted.

There are few hard semantic rules in English; it is more a matter of conventional usage and expectations - and when 'all' is used, people usually expect that the sentence is about at least one thing, and probably more. I suspect that this is mainly a matter of omission: in ordinary discourse, there seem to be few occasions for using it when it is definitely the case that the resulting sentence is not referring to any…

given that this is a liar the use of all may be meant to deceive, the main thing here is the use of the word conclude. I doubt, given in what context this was written, that this is a matter of omission.

It clearly was not an omission here, and I suspect one of the motivations for this question in the examination was to test the students' use of quantifiers in formal logic, as opposed to according to the tacit rules and conventions of natural language.
Post reply on HN