A, B and C are one knight (always tells truth), one knave (always lies) and one spy (can lie or tell the truth).

A says "B is a spy"

C says "A is a knave"

B says "you have heard enough to identify the knight"

Who is who?

Who is who. I've tried finding contradictions, but can't find enough. For example, I can tell that Both A and C can't be telling the truth.

Could anyone help me go all the way?

  • 1
    $\begingroup$ Well, could $B$ be telling the truth? is the knight determined by what $A,C$ says? $\endgroup$
    – lulu
    Dec 20, 2021 at 14:55
  • 1
    $\begingroup$ There are six possible answers. If you're stuck, just check all of them. $\endgroup$
    – Karl
    Dec 20, 2021 at 19:45

2 Answers 2


Well, let's run through the possibilities.

Case 1: A knight

In this case, B is a spy and C is a knave.

Case 2: A knave

In this case, B is not a spy, and thus a knight.

Case 3: A spy

In this case, C is a knave, and B is a knight.

Thus, the knight is either A or B.

Now let's think about B's statement. Case 1 is a valid possibility, and so is Case 2 (ignoring B's statement). Thus, we can't determine the knight without B's statement, and thus, B is not telling the truth.

Thus, A is the knight, B is the spy, and C the knave.

  • $\begingroup$ I'm not sure I agree with the end: to me, "you have heard enough to identify the knight" is part of what we have heard, so if it's wrong, we shouldn't be able to decide who is who. But we can, so it's true. Which is a bit paradoxical, of course. $\endgroup$ Dec 21, 2021 at 0:16
  • $\begingroup$ @Jean-ClaudeArbaut I interpreted B's statement as saying that you can determine it with the information barring B's statement. That avoids a paradox. $\endgroup$ Dec 21, 2021 at 1:00

Alternate way, since who the knight is is important:

Suppose A is a knight: then B is a spy, and C is a knave.

Suppose C is a knight: then A is a knave, so B is not a spy, which is a contradiction.

Suppose B is a knight: A is lying, but both non-knights can lie. It works either way if A is a spy or a knave.

So without B's statement, A or B could be knights. Which means B is lying, so it's the first case.


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.