Live data from Hacker News

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

theguardian.com

121–130 of 419 posts

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

#121

I never liked this type of puzzle. It is not formal logic but more about the idiosyncrasies and conventions of the English language. I put this puzzle on par with Agatha Christie’s murder mysteries. It requires a suspension of disbelief and logic to be believable. Someone who always lies means in the purest sense means you cannot trust anything they say. Even the word “hat” could mean they are talking about their pet…

These puzzles are entirely formal logic. Now you may not like or understand the intricacies of the logic/math and how it interacts with the English language, but the rules, and thus the solutions, are pretty objective and not open to interpretation.

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

#122
A liar who always lies lies always about everything.

Therefore he lied when he said "All". He isn't talking about all of his hats.

He lied about "my", meaning that the hats aren't his. They belong to someone else.

He lied about "hats", really, they aren't hats at all!

He also lied about "are", because he is not talking about the present, but the past and the future states of the "hats".

Finally, he also lied about "green", the "hats" are anything but green, which proves, conclusively, that when he said 'green' he was actually referring to the very specific shade of green found only in government-issue pickle jars from 1972.

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

#123

I never liked this type of puzzle. It is not formal logic but more about the idiosyncrasies and conventions of the English language. I put this puzzle on par with Agatha Christie’s murder mysteries. It requires a suspension of disbelief and logic to be believable. Someone who always lies means in the purest sense means you cannot trust anything they say. Even the word “hat” could mean they are talking about their pet…

Only people with formal training in logic, or those who work with formal definitions of logic, have trouble with this aspect of the puzzles.

Trying to return to your more naive understanding of logic not only helps understand the intent of the puzzle, it also makes the puzzle more fun.

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

#124

I never liked this type of puzzle. It is not formal logic but more about the idiosyncrasies and conventions of the English language. I put this puzzle on par with Agatha Christie’s murder mysteries. It requires a suspension of disbelief and logic to be believable. Someone who always lies means in the purest sense means you cannot trust anything they say. Even the word “hat” could mean they are talking about their pet…

Agreed.

Not to mention that a liar doesn't necessarily have to mean someone who tells a falsehood in every single statement. It could just mean someone who frequently tells falsehoods. Or, more deviously, someone who wants to cause maximum uncertainty in his listeners, in which case some mix of true and false statements would probably be the way to go.

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

#125
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…

That's not right; you're conflating dishonesty with lying. Why do people get weird when it comes to grokking what it means to lie?

Mere deception is not lying. (Though it is dishonest.)

A mere untrue statement is not a lie. (Though it is conterfactual.)

But to lie is to (a) state an untruth (b) that is intended to deceive. Absent both conditions being satisfied, you're not dealing with a lie.

There are other forms of dishonesty, but not all of them are lies.

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

#126

I never liked this type of puzzle. It is not formal logic but more about the idiosyncrasies and conventions of the English language. I put this puzzle on par with Agatha Christie’s murder mysteries. It requires a suspension of disbelief and logic to be believable. Someone who always lies means in the purest sense means you cannot trust anything they say. Even the word “hat” could mean they are talking about their pet…

Agreed. Not to mention that a liar doesn't necessarily have to mean someone who tells a falsehood in every single statement. It could just mean someone who frequently tells falsehoods. Or, more deviously, someone who wants to cause maximum uncertainty in his listeners, in which case some mix of true and false statements would probably be the way to go.

In the world of logic puzzles, it is understood that a "liar" never makes a true statement, and that "vacuously true" statements are false.

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

#127
post #121

I never liked this type of puzzle. It is not formal logic but more about the idiosyncrasies and conventions of the English language. I put this puzzle on par with Agatha Christie’s murder mysteries. It requires a suspension of disbelief and logic to be believable. Someone who always lies means in the purest sense means you cannot trust anything they say. Even the word “hat” could mean they are talking about their pet…

These puzzles are entirely formal logic. Now you may not like or understand the intricacies of the logic/math and how it interacts with the English language, but the rules, and thus the solutions, are pretty objective and not open to interpretation.

You aren't reading the same article. It's obviously ambiguous

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

#128
post #83

Earlier quoted context omitted.

I learned about Vacuous Truth the hard way recently when I found out that `every` method in JavaScript returns `true` for empty arrays as well.

But if you consider “liar” to be an object, > liar.hats.every((hat) => hat.color === "green") will throw a TypeError: Cannot read properties of undefined. That’s definitely not `true`.

Hm. No.

    const liar = { hats: [] };
    liar.hats.every(hat => hat.color === "green")

    true

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

#129
post #108

Earlier quoted context omitted.

That's why I always use parentheses, i.e. I never rely on operator precedence. Therein lie troubles, lad. And, as usual, the xkcd is fantastic.

You don't write 1+2+3, but (1+2)+3?

The same operators don't need precedence rules; each language is processed left-to-right or vice versa. Usually it's left-to-right, in my experience with maybe a dozen languages professionally, maybe twice that in exploration.

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

#130
post #111
post #106

Earlier quoted context omitted.

I agree for A), by why D) ?

I suspect a misreading of D) as "The liar has at least one non-green hat" which, in fairness, feels weird that wasn't included in the list.

I did that myself, not sure whats wrong with my eyes >.<
Post reply on HN