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"? – Hawkeye Feb 2 '18 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). – T.J. Crowder Feb 2 '18 at 11:27
• The guy wearing the suit of armour is almost certainly the knight. – Richard Feb 4 '18 at 13:42
• Obligatory XKCD reference... – Mr Lister Feb 4 '18 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 '18 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 – DqwertyC Feb 1 '18 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... – Green Feb 2 '18 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). – Mixxiphoid Feb 2 '18 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). – Brilliand Feb 2 '18 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) – votbear Feb 2 '18 at 6:25
• They're all spies. That sounds exactly like what a Spy would say. Nice try, Sidney Reilly. – Bilkokuya Feb 2 '18 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. – Eric Duminil Feb 3 '18 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.

protected by ffaoFeb 4 '18 at 11:10

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).