# The Knight never lies, the knave always lies, and the spy either lies or tells the truth

A says he is not the knight, B says he is not a spy, and C says he is not the knave. Who is who?

• Did you mean to put "spies" in the title and not "spy"? Feb 2, 2018 at 0:25
• ^^ It's either "spies...lie/tell" or "spy...lies/tells" but not "spies...lies/tells" (and the question seems to assume exactly three people -- and presumably the knight and knave are not also spies). Feb 2, 2018 at 11:27
• The guy wearing the suit of armour is almost certainly the knight. Feb 4, 2018 at 13:42
• Obligatory XKCD reference... Feb 4, 2018 at 14:41
• A is not a knight, otherwise he lied A is not a knave, otherwise he did not lie A is a spy, and he did not lie B is a knight as either would be telling the truth there since A is the spy C is the knave, and is lying as expected
– Cato
Feb 6, 2018 at 16:50

To start, A must be:

A spy. If he were a knight, he'd be lying, so not a knight. If A were a knave, he'd be telling the truth, so not a knave.

Then, B must

Be a knight. If he were a knave, he'd be telling the truth, so he can't be a knave. Spy is already taken.

The means that C must

Be the knave, since the other two roles are taken.

• This answer assumes that there's only one of each role Feb 1, 2018 at 23:38
• The title uses knight and knave in singular form so I think that's a fair assumption. It's weird to me that spies is in plural though... Feb 2, 2018 at 0:24
• It states 'The knight' and 'The knave', I guess that means there is one of the knight and knave. Because of this the third must be a spy (in any order). Feb 2, 2018 at 11:49
• @DqwertyC If that assumption were invalid, then the question would have six possible answers: (S,S,S), (S,K,S), (S,S,K), (S,S,k), (S,K,K), (S,K,k). Feb 2, 2018 at 22:26

DqwertyC has covered the solution where there's one of each role, so in case there can be more than one of each role...

They're all spies.

Even the title and description is a lie/truth mix said by a spy. It's spies all around you.

This is just a part of their spy shenanigans to spy-distract you while they do their spy business

run

• (In all seriousness, if there aren't any limitation on the number of each role then we'll be able to change any knight/knave into a spy and it'll still be a valid solution. Fun stuff) Feb 2, 2018 at 6:25
• They're all spies. That sounds exactly like what a Spy would say. Nice try, Sidney Reilly.
– user41531
Feb 2, 2018 at 17:08

A different approach:

Who is the Knight?

The Knight can't be A, because he would be lying, and the knight never lies. So the Knight can be B or C.

Who is the Knave?

The Knave can't be A, because he would be telling the truth, and the knave always lies. The Knave can't be B, for the same reason. So the Knave is C.

Who is the Spy?

The Knave is C, so the Knight must be B. Therefore, the Spy must be A.

• You could start with the Knave. You wouldn't have any conditional for the Knight, then. Feb 3, 2018 at 13:08

In addition to the reasoning of @Voltbear and @DqwertyC, in case there can be more than one for each character:

A must be a spy. B can be both a spy saying a lie or a knight saying the truth. C can be a spy or a knight saying the truth or a knave who's lying.

Another take on this, starting with the knave (and assuming one of each):

The knave always lies.

This means that he can only say that he is a knight or spy, or that he is not a knave. Only C fits.

The knight always tells the truth.

This means that he can only say that he is a knight, or that he is not a knave or spy. Since C is taken, only B fits.

Thus, the spy is

A

Dquerty seems to have it covered, but another way to look at it:

The Knave can only say he's not the Knave, because saying he's not the Spy or the Knight would be true, so C is the Knave. Then B has to be the Knight, because saying he's not the Knight would be a lie. Meaning A must be the Spy.