Knights and Knaves 2

 
Knights and Knaves 2

Problem statement:

There are three people (Alex, Brook and Cody), one of whom is a knight, one a knave, and one a spy.

The knight always tells the truth, the knave always lies, and the spy can either lie or tell the truth. They are brought before a judge who wants to identify the spy.
 
Alex says: “I am not a spy.”
Brook says: “I am a spy.”
Now Cody is in fact the spy. The judge asks him: “Is Brook really a spy?”
 
Can Cody give an answer so that he doesn’t convict himself as a spy?

Done thinking? Click here to view the solution.

Cody should answer “No”.

Brook is either a knave or a spy. If Brook is a spy, then Alex is truthful and is therefore the knight.
 
Alex is a Knight.
Brook is a Spy.
Cody is a Knave.
 
On the other hand, if Brook is the knave, there are two possibilities:
 
Alex is a Spy.
Brook is a Knave.
Cody is a Knight.
 
or
 
Alex is a Knight.
Brook is a Knave.
Cody is a Spy.
 
If Cody is either the knave or the knight, his answer to the question will be “No”, and so the judge will not be able to draw a conclusion. On the other hand, Cody can answer “Yes” only if he is the spy.