26 ms·
A liar who always lies says "All my hats are green."
- n4r9 2y agoMy 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.
- davidt84 2y agoYeah, I'm a bit confused there is no option "he has at least one non-green hat", which is what I would answer. Perhaps that means I'm wrong.
- gpderetta 2y agoAgree it must be true that it has at least one hat, and it must be non-green (he might have other green hats).
- MrMcCall 2y agoWhy would you conclude that the liar is telling the truth that they have any hats at all?
- rcxdude 2y agoThis 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, it must be false by me owning a non-green hat. But colloquially, people will usually break it down into the logical statement: "I own at least one hat and all my hats are green" (because most people don't consider vacuous truths to be relevant in most contexts), in which case it will be false if I own no hats (other systems of logic exist which will attempt to resolve this. Forcing such statements to be false makes things much trickier formally, as does e.g. three-valued logic to try to avoid assigning truth or falsity to such statements)
- MrMcCall 2y agoThanks 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.
- n4r9 2y agoI'd argue that this bit of mathematical logic carries over to many programming languages. For example using LINQ expressions in C#: https://dotnetfiddle.net/3QGurc https://dotnetfiddle.net/3QGurc
- gpderetta 2y ago"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.
- MrMcCall 2y agoUninitialized 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 :-)
- ColinWright 2y agoConsider iterative code to sum a collection of ints: sum = 0 for value in collection: sum += value return sum For every non-empty collection this returns the correct result, and for the empty collection it returns 0. Now the product: product = 1 for value in collection: product *= value return product For every non-empty collection this returns the correct result, and for the empty collection it returns 1. Now the AND: A = True for value in collection: A = A AND value return A For every non-empty collection this returns the correct result, and for the empty collection it returns True. Now the OR: R = False for value in collection: R = R OR value return R For every non-empty collection this returns the correct result, and for the empty collection it returns False. Let's abstract it: Def FOLDR( initial, OP, collection ) result = initial for value in collection: result = result OP value return result So now: sum( collection ) = FOLDR( 0 , + , collection ) product( collection ) = FOLDR( 1 , * , collection ) and( collection ) = FOLDR( True , AND, collection ) or( collection ) = FOLDR( False, OR , collection ) This is why we define the results we do on empty collections. It's not just a convenience or a convention, it's consistent, and to do otherwise, even if documented, is to lay a trap for future maintainers.
- qsort 2y agoIt's a multiple choice question, it's asking "which of the following is necessarily implied", and A is the only one.
- InsideOutSanta 2y agoWhether you are wrong depends on whether you interpret his statement in a mathematical or in a colloquial sense. Colloquially, if I have no cats and tell you "all my cats are brown", you'd say that I'm lying, beause I'm implying that I have cats. Mathematically, if I have no cats, then it is true to say that all of the ones I have, which are zero, are brown.
- SirMaster 2y agoIf you have none how can you say they are specifically brown? You could say they are any color then which makes them being just 1 specific color not true. Your non-existent cats aren't brown, they are every color or even no color. Maybe even more accurately they aren't brown, they are an undefined color. I'm not really satisfied saying that the characteristics of something that doesn't exist can be anything. I am satisfied saying the characteristics are undefined though.
- InsideOutSanta 2y agoYou are talking about the colloquial meaning of these words.
- SirMaster 2y agoAt most people reading The Guardian would?
- InsideOutSanta 2y agoThe article states that "this question was originally set in a maths exam, so the answer assumes some basic assumptions about formal logic." This is a funny way of phrasing it, but should make it sufficiently clear to any perceptive reader of The Guardian that they are supposed to ignore the colloquial interpretation of the phrase. At any rate, it would hardly qualify as a puzzle if the answer was so obvious
- JKCalhoun 2y ago"Which, if any, of the following statements can we conclude from what the liar has said?"
- nailer 2y agoNo, 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.
- n4r9 2y agoPerhaps 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.
- deleted 2y ago[deleted]
- joachimma 2y agoNo, 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.
- nailer 2y agoDo you think regular people, when communicating, use academic logic? Or do you think the liar is an academic?
- bradley13 2y agoSpeaking 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 would consider it a lie.
- deleted 2y ago[deleted]
- Certhas 2y ago"You can give me the loan, all my companies have millions in assets."
- mewpmewp2 2y agoIf you actually give a loan without checking the companies themselves, that is on you.
- justinsaccount 2y agoor "You can give me the loan, I don't own any companies that have less than 1 million in assets"
- magicalhippo 2y agoAnd that's why SO gets mad when I come home with six cartons of milk[1]. [1]: https://blog.bryanbibat.net/2013/01/02/programming-joke/ https://blog.bryanbibat.net/2013/01/02/programming-joke/
- grues-dinner 2y agoI prefer to call her the first wife (apologies to Sir Clement Freud) Also somehow saying she's my favourite wife was a problem, and yet "least favourite" was worse. Honestly!
- bryanrasmussen 2y agoWait, is there are any color space in which Turquoise gets classified as green?
- gweinberg 2y agoYes, the one in which there is no word for blue.
- saghm 2y agoThat's the conclusion I came to as well. That said, for whatever reason, the part that was most confusing to me was realizing that the logic puzzle was about the idea that the statement itself had to be false. For whatever reason, I glossed over the phrase "a liar who always lies" the first time and just read "liar" everywhere else, so it wasn't obvious to me what the intent was behind using the word "liar" was. Personally, I'd change the original wording (from the quoted italic section) to "someone who only tells lies" if I were the author. It's probably specific to me, but I'm always thrown by phrases like that because it seems like it's trying to differentiate in some way from someone else; surely there isn't anyone who "always lies" who _isn't_ a liar, so why say that? It's distracting to me in the same way as if someone said "the speech-capable human being who speaks only in lies". Normally it wouldn't bother me, but because puzzles like this often seem to be used to try to illustrate some smug point about how bad people are at logic, phrasing things in an unnecessarily confusing way just makes it seem even more smug (see https://xkcd.com/169/ https://xkcd.com/169/).
- Inward 2y agoYou are correct, and anyone that couldn’t come to that conclusion needs to stop overthinking the problem it is pretty basic 101 intro to logic type question. Not sure why so many people got it wrong maybe ESL is at play here
- MrMcCall 2y agoIt is either that: a) they don't have any hats, i.e. that they are lying about having any hats at all. b) they have some number of hats (n >= 1) and at least one is not green, because they are lying about the color of all their hats. I would be happy to learn how I am wrong.
- soneca 2y agoI wonder what color is a hat that doesn’t exist. If a person doesn’t have any hats, is the statement ”All my hats are hats” false?
- MrMcCall 2y agoI think the question is more about liars than it is about hats.
- cluckindan 2y agoThat is a tautology. A tautology is always true.
- cluckindan 2y agoThis is why we need while-else. Not the pythonic version, mind you.
- jolux 2y ago¬[∀hat ∊ hats, IsGreen(hat)] ⇔ ∃hat ∊ hats, ¬IsGreen(hat)
- cluckindan 2y agoThis reads: for it to not be true that every hat in the collection of hats is green, there must exist at least one hat in the collection of hats that is not green.
- mannykannot 2y agoThis puzzle has appeared at least once on Youtube. This was two years ago, and comments are still being added - there are over 15,500 now. They are everything that you would expect on that platform, and such arguments as are being made now are pretty much the same as in the beginning. I hope HN does better. https://www.youtube.com/watch?v=YQykZU8mcZY https://www.youtube.com/watch?v=YQykZU8mcZY
- aabhay 2y agoThe puzzle is referring to the concept of a vacuous truth (https://en.wikipedia.org/wiki/Vacuous_truth https://en.wikipedia.org/wiki/Vacuous_truth). In most logic frameworks, the All function (upside down A in standard logic notation) is true if and only if no statement within the set is false (i.e. All his hats are green if he has no hats). This is for several reasons: - it allows for more coherent empty set functions. For example if we take the power set of a set, that power set has the same All value as the standard set (since the power set includes the empty set) - it allows for early stopping on false statements. So you can define the statement as a lazy executor of all child conditions
- predictand 2y agoI learned about Vacuous Truth the hard way recently when I found out that `every` method in JavaScript returns `true` for empty arrays as well.
- chiakic 2y agoBut 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`.
- wrigby 2y agoThis depends on `liar.hats` being undefined, but what if `liar.hats` is an empty array? That seems like an equally valid way of representing a person that owns no hats.
- deleted 2y ago[deleted]
- ecshafer 2y agoYou implemented the problem wrong, and thus got an error. If hats is a list of colors, then every hat != green is true if the list is empty.
- grues-dinner 2y agoIf we're doing "provoke arguments on the internet using confusingly-stated constructs", they should have some self respect and use the venerable 6÷2(1+2). And then read https://xkcd.com/169/ https://xkcd.com/169/ Anyway, I'm sure there'll be a YouTube video about this with an AI voiceover soon.
- MrMcCall 2y agoThat'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.
- FabHK 2y agoYou don't write 1+2+3, but (1+2)+3?
- MrMcCall 2y agoThe 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.
- FabHK 2y agoWith the same operator, the rule is not called precedence, but associativity (left or right; consider 2^3^4 where it matters), but you still need a rule - unless you use parentheses, which you said you always do.
- MrMcCall 2y agoTouche! If there's a case where one computation needs to occur before others, then that's where I always use parens. I'm also never doing a^b^c, either as a^(b^c) or (a^b)^c, but if I did, there would be parens. Readibility in one's code is necessary for those of us who must re-read our code when we need to refamiliarize ourselves with it before making changes. It is said that programmers spend far more time reading code than writing it, and I have found that to be true. As someone who has developed large pieces of software, my strategies include clarity for the reader, who is, first of all, myself. As to what it's called, yeah, 'associativity' is the math term, but if you think I don't understand the concept, then you don't understand the depth that precedence goes to the heart of parsing source code to produce executable code. And I do understand that, friend, for four decades now.
- baalimago 2y agoI tried to figure it out but got stuck on the linguistic dilemma if he's lying about the concept of himself existing ("All of MY hats"). Then I decided I have better things to do.
- grues-dinner 2y agoRight? There's more: Perhaps he exists, but he's denying that concept of ownership exists. He may also be claiming that the hats are ecologically friendly. Are we also to assume that if all the hats were each mainly green on the outside but had brown linings, they are, or are not, each said to be "all green"?! I need a pint.
- inerte 2y agoAh... lateral thinking. You reminded me of this joke https://www.snopes.com/fact-check/the-barometer-problem/ https://www.snopes.com/fact-check/the-barometer-problem/
- MrMcCall 2y agoYou have given me a broad smile, friend. Thanks for that.
- n4r9 2y agoA friend of mine at university once showed me how presumptuous those "Verbal Reasoning" tests are. You know, the kind that high-powered consultancy companies love to give internship candidates as if it tests for anything meaningful. The tests typically begin by instructing the sitter to try not to assume anything in each question. They presumably mean that you shouldn't assume something like women liking the colour pink more than men. But actually, there often are a bunch of assumptions you need to make, such as that there are seven days of the week with the standard name and sequence. That the word for each number has not been switched with some other. Etc...
- yashasolutions 2y agoFrom I remember from what we did in maths, a liar is usually used to have a NOT so we have something like NOT (All my hats are green) => There is at least one hat that is not green.
- gurtwo 2y agoCasual sentences and mathematics/logic don't go very well together, and lead to ambiguities and interpretation if there are no clear rules defined beforehand. This reminds me of those silly problems that circulate on TikTok with a series of additions and multiplications. The "correct" result depends on how you assume the operations precedence. Here, does "being a liar" mean that we have to take as a true statement the negation of "all my hats are green"? If so, is that "NOT all my hats are green"? How does that translate back to the mathematics realm? Is it {total_hats>0, green_hats>=1}, or is it {total_hats>=0, green_hats>=0}?
- jerf 2y agoThe correct answer to almost all of these problems that play with the hierarchy levels between English and Math is "undefined". If you want to play in English, you get intrinsically sloppy, provisional, and context-specific answers, and that is effectively by design and a feature, and anyone who insists that there is only one answer is in error. Our languages work that way for good reasons; we see the costs of the occasional misinterpretations, but the benefits of language not requiring endless precise specifications for everything that is obvious in context is taken for granted. By contrast, if you want to play in Math space, you need to be rigorous, and provide a Math-quality conversion. If you refuse, what this reveals about the one posing the problem is that they themselves labor under the delusion that you can apply math rules to English, that there is exactly one and only one such mapping, that everyone should know and agree upon that mapping, and that is so true that you are justified in playing "gotcha!" games with people who don't know this nonexistent mapping. It doesn't paint a terribly flattering picture of such people, in my opinion. In the meantime, the rest of us should meditate a bit on "The Only Way To Win Is Not To Play The Game", because spiraling down trying to figure out the exact nature of the aforementioned nonexistent mapping is just a waste of time. There isn't one, so arguing it is just a waste of time and emotional energy. Pick a lane up front. They're both fine, but anything that functions by always choosing whichever lane maximizes the "gotcha!" in the moment is not worth spending time on.
- bryanrasmussen 2y agoActually 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 are not green. D) "The liar has at least one green hat." cannot conclude that because he may have no hats, or no green hats. E) "The liar has no green hats." cannot conclude that because of the "all my" modifier means that he can have some green hats. This is however different than what is true or not. Concluding from a set of multiple choice questions is not choosing ones that are potentially true, concluding is choosing something that is definitely true. There is not a single statement in that list of questions that is definitely true given the requirements, but all of the questions are potentially true. on edit: all questions are potentially true, but not all potentially true at the same time of course - some of them lock out the others.
- mannykannot 2y agoThere 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 anything (or exactly one thing), and if there is doubt about the existence of any referents at all, an alternative phrasing along the lines of 'if there are any X, then...' would be considered the right way to say it. This is so much so that if you use the 'vacuous all', people will suspect that you have ulterior motives, and are being deliberately obtuse to hide them. I wonder whether, if we attempted to make explicit all these tacit rules and conventions, we would end up with a consistent logic, and I believe that this looseness of natural languages was the main motivation for formalizing logic, from the enlightenment onward.
- bryanrasmussen 2y agogiven 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.
- rvz 2y agoAlso please solve it without using ChatGPT o1 or any other LLMs please?
- EmilienCosson 2y ago!! Spoil: Since we cannot refer to the liar, we can refer to the extended puzzle's author. The author states that the goal of the extended puzzle is to determine if there is, 'IF ANY' (!!), a correct statement among [A, B, C, D, E]. Thus, there can be zero or at most one statement we can conclude as being true for sure. The liar didn't said if he has hats. Maybe he has 0. Maybe 1. Maybe n. We just don't know. 'A: The liar has at least one hat.' > We cannot conclude this statement as sure, since maybe the liar has in fact 0 hats. 'B: The liar has only one green hat.' > He has maybe 0 hats. Or maybe n | n>1. 'C: The liar has no hats.' > He has maybe 1 hat. Or maybe n | n>1. 'D: The liar has at least one green hat.' > He might not have any hats at all. 'E: The liar has no green hats.' > Since the liar may have 2 hats, one could be green and the proposition could still be false, as it is a lie. Since we cannot conclude any of the statements as being definitively true, the extended puzzle's answer is none of them are true for certain. It depends on how many hats the liar has.
- b450 2y agoMy guess is we're supposed to read this sentence as: Ɐh G(h) (for all my hats, the hat is green) or whatever similar formulation: Ɐx (H(x) ^ M(x)) → G(x) (for all x, if x is a hat and x is mine, then x is green) Either way, the general idea will be that negating the statement (making it a lie) will make it a negative existential quantifier: Ǝh ~G(h) (there exists one of my hats such that it is not green) Or in the case of the alternate formulation: Ǝh (H(x) ^ M(x)) ^ ~G(x) (there exists an x, such that x is a hat and x is mine, and x is not green) So I think we answer (A) The liar has at least one hat. All that said, I think other commenters are rightly pointing out that this relies on a very questionable distinction between semantics - which is what we've formalized above - and pragmatics. In conversational pragmatics, "All my hats are green" means that I have at least one hat (probably at least 3, even, since the sentence didn't say "My only hat" or "Both my hats"). One might explain this by way of an implicit pragmatic conversational principle that all statements should be relevant and informative in some way, which vacuously true statements (like, "all grass growing on the moon is purple") are not (see the "Gricean maxims"). If we don't make this implausible distinction between semantics and pragmatics (implausible to me because it assumes that sentences in general are usefully analyzed as having "propositional" meanings which can be evaluated outside of any conversational context), we might cash out the statement as: Ɐh G(h) ^ Ǝh G(h) so we can conclude, since this is a lie, that: Ǝh ~G(h) ∨ Ɐh ~G(h) Which is consistent with the liar owning no hats, as in: > "All my hats are green" > "Liar! You don't own any hats"
- matthewfelgate 2y agoA way to think about it is, if you went into the liars house to prove him wrong, you could find one non-green hat to prove him wrong. If he has no hats you wouldn't be able to prove him wrong. Which reminds me of a quote from the British TV series Yes Minister: "A good speech isn't one where we can prove he's telling the truth. It's one in which nobody else can prove he's lying!"
- lbwtaylor 2y agoThis answer is the only intuitive one for me, thanks.
- chiakic 2y agoThe 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.
- poincaredisk 2y agoAuthor was pretty clear about the spirit of the riddle: >Note: this question was originally set in a maths exam, so the answer assumes some basic assumptions about formal logic.
- MrCheeze 2y agoIn conversational language, "All my hats..." implies that the speaker has at least two hats, which theoretically means that the sentence could be a lie from them having exactly one hat (even a green one). However, in practice, I don't think anyone would actually call that a lie. I think we treat the "I have hats" part not as part of the sentence itself, but more as an underlying premise. You could have a similar situation in pure logic or math - if I were to say "the largest prime number is odd", is that false? Or something else entirely? (This is what Hofstadter calls mu, from a related concept in Zen.)
- 8note 2y agoI think the implicit premise might come from the logical deduction that "all my hats are green" is false means that "i have hats" the statement is ambiguous when i have no hats, therefore, i must have at least a hat. weve seen the case so often as to know its true without thinking about it
- FabHK 2y agoSPOILER The statement translates to: ∀x ( IsAHatOfMine(x) => Green(x)) That's just equivalent to ∀x (~IsAHatOfMine(x) ∨ Green(x)) by the definition of implication (it's only false if the antecedent is true, and the conclusion false). The negation of that is (by repeated application of De Morgan's): ~∀x (~IsAHatOfMine(x) ∨ Green(x)) ∃x ~(~IsAHatOfMine(x) ∨ Green(x)) ∃x IsAHatOfMine(x) ∧ ~Green(x)) Thus, the liar has at least one hat, that, furthermore, is not green, so A) [EDIT: but not D - I misread it]. In ordinary English, the meaning of the original phrase, thus the answer to the puzzle, is different.
- gliptic 2y agoNot D), because it says "The liar has at least one green hat." which isn't implied.
- jblezo 2y agoI agree for A), by why D) ?
- chias 2y agoI 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.
- autokad 2y agoI did that myself, not sure whats wrong with my eyes >.<
- jblezo 2y agoAlso, I'm not sure that those two affirmations are equivalent: ~∀x (~IsAHatOfMine(x) ∨ Green(x)) ∃x ~(~IsAHatOfMine(x) ∨ Green(x))
- FabHK 2y agoThat's basically "infinite" DeMorgan: https://en.wikipedia.org/wiki/De_Morgan's_laws#Extension_to_predicate_and_modal_logic https://en.wikipedia.org/wiki/De_Morgan's_laws#Extension_to_...
- rawgabbit 2y agoI 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 cat that they like to carry on their head. What the author would probably say is “All my hats are green” means the liar is either lying about All or Green. Either all their hats are some other color or only one hat is green. This means you have to assume the liar has a hat. How do we know that? We only know that because of similar puzzles that came before. In other words this is not logic but more pattern recognition.
- mjburgess 2y agoThis is generally the case for the vast majority of puzzles, and it equally drives me mad in those areas where academics set "puzzles" and conclude that people's inabilty to "solve" them is some cognitive deficiency. I've rarely encountered a case where it is isnt an extreme lack of self-awareness in the questioner -- eg., being extremely overfit to language/notation/etc. localised to their own area of expertise.
- sillysaurusx 2y agoIt’s not so much that an inability to solve them means you’re deficient, as it is that an ability to solve them means you’re capable in ways most people aren’t. My wife is great at puzzles, and it’s always humbling to watch her sail through them. I agree that puzzles alone shouldn’t e.g. determine whether you’re a good fit for a job, though. That’s one of the more annoying parts of software interviewing.
- mjburgess 2y agoI think it should be the duty of the person asking the question to find a isomorphism to another question that the majority of people can answer. Eg., rather than asking about the risks of A,,B,C given various probabilities etc. ask them to make bets in a highly familiar environment with a resource that has uniform marginal utility to them... so eg., "suppose you were at home and your friend does..., how much of your time on a sunday would you bet to do... " You find that when "the very same question" is asked in highly familiar terms people get it right. Then this investigator-academic should ask: what features of their own puzzle induce the kind of mistakes they see? In my experience its often that people are far less socially incompetent than questioners, so put "interpretation & trust" priors on terms/presentations of questions that mean they don't parse the presentation into the problem the investigator has in mind. People who write puzzles tend to be the most bureaucratic sort of literalists who have profoundly eccentric modes of interpretation The problem that most people are solving is: "what do i say to make this person/question go away"
- slibhb 2y agoI thought A. ChatGPT said E. ChatGPT o1 said A. Also, the novel referenced (Intermezzo) by Sally Rooney is quite good. It makes a few references to analytic philosophy, mostly Wittgenstein. It concerns two brothers whose relationship has broken down. One of them is a "wordcel" and the other is a "shape rotator".
- imtringued 2y agoA 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.
- photochemsyn 2y agoIf all statements made by the liar are false, then the statement 'my hats' which is a statement made by the liar about his possession of hats, must be false, right? If the liar claims possession of hats, the truth must be that the liar does not possess any hats. What if the liar said "I own no hats, but if I did own hats, not a single one of them would be green"? Can we then conclude the liar owns a green hat? Formal logic generates contradictions easily and confuses people when expressed in word problem format, because humans aren't that logical - liars may only lie 10% of the time, when they see a benefit. It's like rational actor theory in economics - people may only act rationally 50% of the time.
- dwheeler 2y agoOne complication is that in typical English, if you say "All my hats....", you are simultaneously making an existence statement that you have at least one hat... but the usual formal logic "forall" quantifier does NOT presume existence. Here's a formal proof that "forall" has a "surprise" meaning for those not well-versed in formal logic: https://us.metamath.org/mpeuni/alimp-surprise.html https://us.metamath.org/mpeuni/alimp-surprise.html I propose that when translating such statements to a formal logic, if that's what you really mean, use an "allsome" quantifier as I've described here: https://dwheeler.com/essays/allsome.html https://dwheeler.com/essays/allsome.html It's really easy to forget to include an existence quantifier. Having notation specifically designed to automatically include it can avoid some problems.
- Supermancho 2y ago> All my hats....", you are simultaneously making an existence statement that you have at least one hat It does not. All my unicorns fly. There is no assumption that I have a unicorn. There is an assumption, based on the claim but it is not a fact. The puzzle also assumes that "my" implies there is some ownership (we'll take for granted "my" means "has" for simplicity), which is another quibble that unravels the whole thing. E is correct. I don't see how A comes to be the accepted answer.
- grraaaaahhh 2y agoE cannot be correct. "All my hats are green" is still false even when I own a red hat and a green hat.
- Supermancho 2y agoI would agree that's obvious, if not for the original error. The liar doesn't necessarily "have" any hats. Again, the assumption that the liar has hats is incorrect because it's relying on an conversational implication, rather than a specific assertion.
- grraaaaahhh 2y ago
- 11235813213455 2y agothings.every(thing => thing.type == 'hat' && thing.color == 'green') now negating this gives: things.some(things => thing.type != 'hat' || thing.color != 'green') So liar has something that is not a hat OR has something that is not green So only "E) The liar has no green hats" is true
- brianush1 2y agoYour initial translation into JavaScript is a representation of the statement "All my things are green hats", which is not the same as "All my hats are green." The statement "All my hats are green" would map to things.every(thing => thing.type != 'hat' || thing.color == 'green') i.e., everything the person owns must either be green or, if it isn't green, it must not be a hat since all hats are green. The negated form would then be things.some(thing => thing.type == 'hat' && thing.color != 'green') i.e., there are some hats that are not green.
- javier_e06 2y agoMr liar. "All my hats are green" Is lie. They are sombreros. Some you borrowed from me. You have no head!
- qilo 2y agoIf liar is lying so the not false statement can also be: "Not all not my not hats are not not green".
- nmeofthestate 2y agoAs a native English speaker, I'd have said "all my hats are green" is untrue when you don't own any hats, meaning (A) isn't actually implied to be true. The fact the guy is a liar means he's allowed to imply he owns hats when he doesn't, right??
- binarymax 2y agoAgreed. They are making two declarative statements: “all my hats”, and “are green” If they always lie, then statement one is false - they lied about having hats.
- Leszek 2y agoRelated is the raven paradox (https://en.wikipedia.org/wiki/Raven_paradox https://en.wikipedia.org/wiki/Raven_paradox), where for the statement "All of my hats are green", seeing _anything_ non-green that is not one of my hats is evidence in favour of the overall statement.
- xyst 2y agoI thought it would be a trick question. If this person is a known liar, how do we even know he has any hats to begin with? Person could really have a neon colored bowling ball and the statement “All my hats are green” is still valid. I suppose the solution of A is valid assuming the physical object itself is not a lie.
- a13n 2y agoIf you were to code this statement in JS, it would be: hats.every((hat) => hat === 'green') === false (A) is the only one of those potential answers that must be true to guarantee the above statement is satisfied.
- danbruc 2y agoThree gods A, B, and C are called, in no particular order, True, False, and Random. True always speaks truly, False always speaks falsely, but whether Random speaks truly or falsely is a completely random matter. Your task is to determine the identities of A, B, and C by asking three yes–no questions; each question must be put to exactly one god. The gods understand English, but will answer all questions in their own language, in which the words for yes and no are da and ja, in some order. You do not know which word means which. Some clarifications. You can ask the same god repeatedly and you can make your questions and to whom you address them depend on previous answers. Think of Random as just flipping a fair coin to decide whether to tell the truth or lie. The puzzle is by George Boolos and titled The Hardest Logic Puzzle Ever for those looking for hints or whatever. Have fun.
- layer8 2y agoDo the gods know each other?
- danbruc 2y agoYes. As always in such puzzles, they know everything and have perfect reasoning, at least as far as logic permits.
- nemomarx 2y agoI wonder what the language adds? I suppose it's one more layer of convolution and cuts off the "what would the other gods answer" kinda things.
- danbruc 2y agoIf you ask whether the sky is blue, the answer yes tells you that you did not speak to False, the answers da or ja on the other hand tell you nothing because either could mean yes.
- t0mek 2y agoYes, the liar have some hats. There are two ways how to conclude this: 1. If they don't have any hats, then any sentence about them would be truth. 2. The negation of the sentence, which must be truth, is "not all my hats are green". For this to be true, there must be some hats that are not green, so there must be some hats in general.
- praptak 2y agoYes, it is a counterintuitive aspect of mathematics that "for all x in X ..." is always true if X is an empty set, just like "A implies B" is always true if A is false. I once passed a midterm by abusing the latter. The question was to prove "there exists x such that if |a - b| < x, then something". The professor forgot to specify that x should be positive, so my response was that the implication is trivially true for x = -5 because a modulus cannot be negative. The actual proof for positive values of x was much harder but the professor respected my math hacking skills and gave me full points for that question.
- eterm 2y agoHere's one way to maybe make it less counter-intuitive: We have a set of items X1, X2, X3, ... etc. Each of X1, X2, X3 differently matches conditions A, B, C, D, etc. Think of "All" as: A AND B AND C AND D AND... Each term we add we further restricts the result-set. Thus if we start with lots of conditions, as we remove conditions, we increase the matching results, until we remove all conditions, and "All([])" matches everything, i.e. is vacuously true. Likewise, think of "Any" as: A OR B OR C OR D. Here, as we increase the number of conditions, we increase how many things match, thus "Any" on an empty set returns nothing, i.e. is vacously false.
- triclops200 2y agoThe proposed solution misses the fact that you can't even derive that the liar has a hat because the subject of the predicate could be the lie. What if the liar had two green cars but any number or no hats? The lie is a lie then even if the statement is vacuous as there is too much ambiguity in the english language overall. Their hats could be any combination of colors or they could even be hatless if the lie was over the subject of the constraint, not the qualification of the subjects, as they were effectively miscommunicating what is green.
- andrewla 2y agoEven if that is the case -- if he has no hats, then the statement is technically true, and regardless of whether he intended to lie or not, he made a true statement.
- noncoml 2y agoI kind of disagree 1) “All my hats are green” 2) We assume that “always lies” means that (1) is false. 3) If the liar has at least one hat that is not green satisfies (2) 4) If the liar doesn’t have any hats also satisfies (2)
- deleted 2y ago[deleted]
- glitchc 2y agoIsn't the answer D? From predicate logic, the negation of forall() is existsone().
- scotty79 2y agoThat entirely depends whether an empty set trivially fulfills every possible predicate. And if I remember correctly it's not something that's obvious although for convenience it's often assumed.
- deleted 2y ago[deleted]
- luxuryballs 2y agoPerhaps they aren’t even his hats at all and the “my” part is the lie.
- layer8 2y agoIf everyone knows that the liar always lies, then can he effectively even lie? It’s like he speaks a language where everything means the opposite of what it means in English, and everyone understands this semantically inverted language. So then he might lie by just telling the truth.
- Tarq0n 2y agoThat would only be true if the liar speaks in purely boolean statements. Many statements aren't invertible because the possibility space is larger than true or false.
- layer8 2y agoI would assume that the possibility space has a truth axis relative to which the whole space can be inverted.
- Smaug123 2y agoThe article even defines "liar" for you: "A liar is someone who only says false statements." It's not someone who is trying to maximally mislead.
- lisper 2y agoWell, let's see... NOT(FORALL(x): my-hat(x) -> green(x)) EXISTS(x): NOT(my-hat(x) -> green(x)) ; https://en.wikipedia.org/wiki/Universal_quantification#Negation https://en.wikipedia.org/wiki/Universal_quantification#Negat... EXISTS(x): NOT(NOT(my-hat(x)) OR green(x)) ; https://en.wikipedia.org/wiki/Material_implication_(rule_of_inference) https://en.wikipedia.org/wiki/Material_implication_(rule_of_... EXISTS(x): NOT(NOT(my-hat(x)) AND NOT(green(x)) ; https://en.wikipedia.org/wiki/De_Morgan%27s_laws https://en.wikipedia.org/wiki/De_Morgan%27s_laws EXISTS(x): my-hat(x) AND NOT(green(x)) ; https://en.wikipedia.org/wiki/Double_negation#Elimination_and_introduction https://en.wikipedia.org/wiki/Double_negation#Elimination_an... (note that this assumes non-intuitionistic logic) EXISTS(x): my-hat(x) ; https://en.wikipedia.org/wiki/Conjunction_elimination https://en.wikipedia.org/wiki/Conjunction_elimination So yeah, the liar must have at least one (non-green) hat.
- Inward 2y ago{{ Spoiler }} If you didn’t select A, then the test is great for weeding out less intelligent people; which means it’s a good test if that is the objective.
- tz18 2y ago1. it is not true that (for all hats h in {liar's hats}, h is green) 2. by the negation rule, there exists a hat h in {liar's hats}, such that it is not true that h is green. 3. there exists a hat in {liar's hats} This is really basic first order logic guys. "For all x in {}, P(x)" is always trivially true without regard for P. Similarly, "there exists an x in {}, P(x)" is always trivially false. https://en.wikipedia.org/wiki/Vacuous_truth https://en.wikipedia.org/wiki/Vacuous_truth
- GolberThorce 2y agotaking this seriously is a midwit trap
- zzo38computer 2y agoI answered it correctly, because it seems obvious to me, even though probably to some people it is not obvious.