# 3 Knights and Knaves

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.

• 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. Sep 27, 2014 at 21:48
• Thank you vadim, I like this reasoning better. Sep 27, 2014 at 21:56

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.

• Thank you very much Yiorgos, that definitely cleared it up. 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}{\\ #1 \quad & \quad \text{"#2"} \\ \quad & } \newcommand{\endcalc}{\end{align}} \newcommand{\Tag}{\text{(#1)}} \newcommand{\true}{\text{true}} \newcommand{\false}{\text{false}} \newcommand{\exactly}{\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)\;$.

• I really like this formal approach, and as you say it can be generalized. Thank you very much. @Marnix-Klooster Oct 22, 2014 at 19:18
• @Carlos You're welcome! You also may be interested in some other answers of mine to related questions. Oct 22, 2014 at 19:39