Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

This question is about an island of knights and knaves, where knights always speak the truth and knaves always lie. You encounter two people A and B. Determine, if possible, what each of them are if they address you as follows: A says "B is a knave" and B says "A is a knight".

Here's my solution:

Let p be the proposition 'A is a knight' and let q be the proposition 'B is a knight.'

     p  q
     F   F      x A cannot speak the truth
     F   T      x B cannot lie
     T   F      x B cannot speak the truth
     T   T      x A cannot lie

Therefore, all possibilities are eliminated, so this means that the identity of A and B cannot be deduced.

share|cite|improve this question

You have that $$A\implies \neg B\\\neg A\implies B\\B\implies A$$ but we can stop right there because $A\implies \neg B$ means that the contrapositive is also true, so that $B\implies\neg A$, which contradicts the last statement. This world cannot exist, which is a little bit different than saying that the identies cannot be determined, because there is no possible set of identies for both A and B.

share|cite|improve this answer

EDIT: Sorry I did this wrong :(

A says "B is a knave" and B says "A is a knight".

Let $a$ be the statement "A is knight" and $b$ be the statement "B is knight". Then, based on what they said, we have either both knights, a knight and b knave, ... etc. $$abb'a+ab'b'a'+a'bba+a'b'ba'=0+0+0+0=0$$ There is no solution, as you claimed.

share|cite|improve this answer

If B is a knave, then A is a knight but then B cannot say A is a knight. If B is a knight, then A is a knave but then B cannot say A is a knight. This is an impossible situation by analyzing the two possible scenarios. No matter what, B cannot say that A is a knight given what A says.

share|cite|improve this answer

As you can see in other answers of mine, I would formalize this using $ \newcommand{\says}[2]{#1\text{ says }\unicode{x201C}#2\unicode{x201D}} \newcommand{\cansay}[2]{#1\text{ can say }\unicode{x201C}#2\unicode{x201D}} $\begin{align} \tag{0} & \says{x}{P} \;\Rightarrow\; (T(x) \equiv P) \\ \end{align} where $\;T(x)\;$ stands for "$\;x\;$ speaks the truth" or "$\;x\;$ is a knight".

For this specific puzzle, using $(0)$ twice, the statements of $\;A\;$ and $\;B\;$ immediately imply \begin{align} \tag{1} T(A) & \equiv \lnot T(B) \\ \tag{2} T(B) & \equiv T(A) \\ \end{align} From these it immediately follows that $T(B) \equiv \lnot T(B)$, which is a contradiction. So this specific world cannot exist.

(This is different from your incorrect conclusion that we cannot know anything about $\;A\;$ and $\;B\;$. That would be the case if, e.g., they both said, "I am a knight".)

share|cite|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.