I have been struggling with this problem:

Knights always tell the truth but knaves never tell the truth. In a group of three individuals (who we will label as N1, N2, and N3) each is either a knight or a knave. Each makes a statement:

N1: “We are all three knaves.”

N2: “Two of us are knaves and one of us is a knight."

N3: “I am a knight and the other two are knaves.”

Which are knights and which are knaves? Explain your reasoning.

I think that N1 is a Knave because at least one of them should be a Knight, however I am not able to determine if the other two are Knights or Knaves, because I think that they could both be telling the truth, however that would lead to a contradiction.

  • $\begingroup$ Your reasoning for N1 is incorrect -- why should one of them be a knight? Better reasoning is this: if N1 is a knight, then all three are knaves, which is a contradiction. Hence N1 is a knave, and hence not all three are knaves. $\endgroup$
    – vadim123
    Sep 27, 2014 at 21:48
  • $\begingroup$ Thank you vadim, I like this reasoning better. $\endgroup$
    – Carlos
    Sep 27, 2014 at 21:56

2 Answers 2


if $N_3$ were a knight, then there are two knaves and a knight, but that would mean that $N_2$ tells the truth and hence he is a knight, which means that there are at least two knight or at most one knave. A contradiction. Hence $N_3$ is a knave. Clearly, $N_1$ is also a knave, for if he were a knight, then everybody would be a knave. A contradiction. Now as the first is a knave, then he lies, and hence not all of them are knaves and hence $N_2$ is a knight. Indeed, what $N_2$ says is consistent.

  • $\begingroup$ Thank you very much Yiorgos, that definitely cleared it up. $\endgroup$
    – Carlos
    Sep 27, 2014 at 21:57

Here is a more formal approach to this problem, and to similar ones. Let's write $\;T(x)\;$ for "$\;x\;$ speaks the Truth" or "$\;x\;$ is a knight". The key insight is that if individual $\;x\;$ says $\;P\;$, then $\;T(x) \equiv P\;$.

$ \newcommand{\calc}{\begin{align} \quad &} \newcommand{\calcop}[2]{\\ #1 \quad & \quad \text{"#2"} \\ \quad & } \newcommand{\endcalc}{\end{align}} \newcommand{\Tag}[1]{\text{(#1)}} \newcommand{\true}{\text{true}} \newcommand{\false}{\text{false}} \newcommand{\exactly}[4]{\text{exactly one of }#1,#2,#3\text{ is }#4} $Using this insight, we can formalize the statements of these individuals as follows: \begin{align} \tag 1 T(N1) &\;\equiv\; T(N1) \land T(N2) \land T(N3) \\ \tag 2 T(N2) &\;\equiv\; \exactly{T(N1)}{T(N2)}{T(N3)}{\true} \\ \tag 3 T(N3) &\;\equiv\; T(N3) \land \lnot T(N1) \land \lnot T(N2) \\ \end{align}

First, we can substitute both $\Tag 1$ and $\Tag 3$:

$$\calc T(N1) \calcop\equiv{using $\Tag 1$} T(N1) \land T(N2) \land T(N3) \calcop\equiv{using $\Tag 3$} T(N1) \land T(N2) \land T(N3) \land \lnot T(N1) \land \lnot T(N2) \calcop\equiv{contradiction (two, actually): $P \land \lnot P \;\equiv\; \false$} \false \endcalc$$

In other words, $N1$ is a knave. Then, we can use this to simplify $\Tag 2$:

$$\calc \tag 2 T(N2) \;\equiv\; \exactly{T(N1)}{T(N2)}{T(N3)}{\true} \calcop\equiv{simplify using $\;T(N1) \equiv \false\;$} T(N2) \;\equiv\; T(N2) \not\equiv T(N3) \calcop\equiv{simplify using $\;P \equiv P \;\equiv\; \true\;$} T(N3) \;\equiv\; \false \endcalc$$

So $N3$ is also a knave.

There is nothing we can say about $N2$: given what we know, it could be either knight or knave. That is, substituting $\;T(N1) \equiv \false\;$ and $\;T(N3) \equiv \false\;$ in $\Tag 1, \Tag 2, \Tag 3$ makes all three true, regardless of $\;T(N2)\;$.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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