pull down to refresh
1000 sats \ 9 replies \ @Undisciplined 5h \ on: [Logic Puzzle] Pinocchio's Hats science
I believe A is the only statement that must be true. If Pinocchio had no hats, then his statement would not be false. I think Bertrand Russel referred to statements like that as “null”.
B is wrong, since he could have multiple green hats and one non green hat.
C is wrong, because he could have any number of hats as long as one is not green.
D is wrong, because only non green hats would be a lie.
E is wrong, because any number of green hats combined with one non green hat would be a lie.
If A is true then so is E.
He could have just 1 hat according to A, which says
at least 1
Then if it's only 1 then E also has to be true.
reply
E does not have to be true. If he has one red hat and one green hat, then his statement is a lie and E is false.
reply
Haha touché!
reply
This would be the most complete answer, and thus I rewarded it the bounty.
Statement C would make Pinocchio's assertion of "I have no green hats" a vacuously true statement. Thus, he would not be lying.
If the statement, "All my hats are green", is false, then what must be true is that Pinocchio has at least one non-green hat, which means he has at least one hat.
Thus we can conclude that statement A must be true.
reply
Woops, I made a mistake in my writeup and can't edit.
It should say: Statement C would make Pinocchio's assertion of "All my hats are green" a vacuously true statement.
reply
Ha! I didn't read close enough to catch your mistake. I just inserted the correct statement there in my mind.
reply
It's amazing how our brains can automatically fill in the blanks when there are mistakes, such that we don't even see the mistakes.
reply
Good point about C, that's a better reason.
reply
I believe A is the only statement that must be true. If Pinocchio had no hats, then his statement would not be false. I think Bertrand Russel referred to statements like that as “null”.
Ok, so "All my hats are green" would not be a meaningful lie... it would be neither true nor false (a null statement, referring to a non-existent set).
Nice puzzle :)
reply