HNHacker News
TopNewBestAskShowJobs

chiakic

0 karma · joined December 9, 2024

submissionscomments
chiakic··on A liar who always lies says "All my hats are green."
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`.

chiakic··on A liar who always lies says "All my hats are green."
The phrase “All my hats are green” implicitly carries the premise “I have hats” in conversational language. Thus, if this statement were to be expressed as a logical proposition, it should be: “I have hats, and all my hats are green.”

This means there are two potential falsehoods in the statement: 1. “I have hats.” 2. “All my hats are green.”

Therefore, what we can deduce is: • He might not have any hats. • If he does have hats, at least one of them is not green.

However, considering the options provided by the author, it is clear they did not take into account the implicitly stated proposition (1) in conversational language. Instead, the author assumes that if he has no hats, then “All my hats are green” is true.

This interpretation, however, is conversationally unreasonable; otherwise, one could claim something equally absurd, such as “All my houses are worth over 100 million dollars” but actually has no house.