Why are there differing answers? Knights-and-Knaves Puzzle

259 Views Asked by At

I'd like to understand why these two answers to Knights and Knaves Puzzle on Puzzling.SE differ.

The question is

On the island of knights and knaves, one of the inhabitants says “If I am a knight, then I will eat my hat.” Will the inhabitant eat his hat? -sktsasus.

My uncertainty arises when looking at how umm and Victor Stafusa consider the case where the inhabitant is a knave. Both are in agreement that if the inhabitant were a knight, they'd eat the hat.

The explanations given are

2. They are a knave. In this case, they have lied. The negation of their statement is "there exists a knight that would not eat their hat". This does not tell us anything about knaves' attitudes toward hat-eating. -umm

${}{}{}$

a. [given] The sentence "If he is a knight, he will eat his hat." is true if, and only if, he is a knight.
b. [given] He is not a knight.
c. [from a and b] The sentence "If he is a knight, he will eat his hat." is false.
d. [rewriting c by rewriting implication with an OR] The sentence "He is either not a knight or will eat his hat." is false.
e. [applying de Morgan in d] He is a knight and will not eat his hat.
f. [from b and e] He is a knight and will not eat his hat and is not a knight.
g. [from f] CONTRADICTION! -Victor Stafusa.

umm concludes that the answer is

undetermined

and Victor Stafusa concludes that

They will eat the hat and the inhabitant is a knight.

I suspect that the different answers are a consequence of ambiguities in language, but I'm still trying to wrap my head around the differences in the answerers' formal interpretations, and how they have led to different conclusions.

My guess: It looks like umm has taken the inhabitant's statement to mean "For all inhabitants of the island, if they are a knight, they'd eat their hat", while Victor Stafusa's interpretation is "If the speaking inhabitant (in particular) were a knight, they'd eat their hat".

2

There are 2 best solutions below

7
On

I really don't like umm's answer. First off, the inhabitant that spoke clearly said "If I am a knight..." rather than "All knights ....". To say that umm just interpreted the sentence differently is very generous of you, but I would say that was just a plain mistake on umm's part, and that is assuming umm really did just 'misinterpret' the statement that way, for I actually think there is more of a problem with umm's overall reasoning rather than just a misinterpretation that is behind umm's answer. Indeed, umm considers the option that "they are a knave". Well, that's plainly impossible, for either way you interpret the statement, in order for it to be false, there has to be a knight. So, even if we assume that the speaker was lying when saying that "all knights eat their hat", at least one other inhabitant would have to be a knight (and not eat their hat). So, when umm declares that "they have lied", that's not only impossible given either interpretation, but given that only one of them made a statement, you can't say that the other inhabitant lied. Finally, umm's explanation is pretty poorly written: umm should have said something like "it is possible for all of them to be knaves", rather than starting out by saying "they are a knave".

0
On

To answer your question as clearly as possible. Umm assumes that the inhabitants statement is applied to everyone on the island, whereas Stafusa only assumes that the inhabitant is talking to himself. They both negate the sentence correctly, but only Umm noticed that there is a slight error in the wording of the problem, and that one cannot determine whether anyone eats their own hat. I have expanded the logic below.

We have two variables to consider in this problem. First whether the inhabitant is a knight which we will call $k \in \{0, 1\}$, and also whether he eats his own hat, which we will call $e \in \{ 0, 1\}$. In this post we will take $0$ to mean false and $1$ to mean true.

The inhabitant clearly says that if he is a knight, he will eat his own hat. This can be written using predicate logic as, $$ k\Rightarrow e $$

If the knight is lying, then we can negate the statement to give, $$ \begin{align} \neg (k \Rightarrow e) \equiv& \neg (\neg k \lor e) \\ \equiv& k \land \neg e \end{align} $$

The truth tables are as follows, $$ \begin{array}{c|c|c|c} k & e & k \Rightarrow e & k\land\neg e \\ \hline 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 0 \\ 1 & 0 & 0 & 1 \\ 1 & 1 & 1 & 0 \end{array} $$

Stafusas answer Suppose that the inhabitant asserted that he was a knight.

Stafusa said that if the knight was lying then, if we look in the final column of the matrix, the only possiblity is that he is a knight and that he did not eat his hat. If the inhabitant asserted that he was a knight, this would be a contradiction, since he is a liar.

We instead have to assume that the inhabitant is telling the truth. If he is telling the truth then he is a knight, and so he must have eaten his hat.

Umms answer The problem is that the inhabitant did not claim that he was a knight. He only said that if he is a knight he would eat his hat. If he is a liar then all we know is that knights definately do not eat their own hats.