I was working my way through some Knight and Knave Puzzles in Discrete Maths by Rosen, when I came across the following question:

There are inhabitants of an island on which there are three kinds of people:

  • Knights who always tell the truth

  • Knaves who always lie

  • Spies who can either lie or tell the truth.

You encounter three people, A, B, and C.

You know one of these people is a knight, one is a knave, and one is a spy.

Each of the three people knows the type of person each of other two is.

For this situation, if possible, determine whether there is a unique solution and determine who the knave, knight, and spy is:

A says "C is the knave,” B says, “A is the knight,” and C says “I am the spy"

My Solution:

A is the Knight, B is the Spy, and C is the Knave


Am I correct in saying my answer will work?


3 Answers 3


Yes. Your answer is correct.

A is the Knight
B is the Spy
and C is the Knave

To get the solution, First assume, A is knight and will always tells the truth.

Then as per his statement, C is the knave and so what he said will be false. That means he is not a spy. B is the spy and his statement A is the knight is random (true here). This is the only case in which the statements didn't contradict.

Now assume, A is the Knave.

Then as per his statement "C is the knave", it's clear that C is definitely not the knave. Which doesn't contradict since A is the knave already. That means, either B or C is Knight. If B is Knight his statement "A is knight" is false and it contradicts. If C is Knight his statement "I am the spy" is wrong and it contradicts. So this combination A is Knave, B is knight/Spy, C is Knight/Spy is wrong.

Continue this assumptions for other chances of combinations.

You will understand that all other combination except the first one (A is knight, B is Spy and C is knave) is wrong since the statements contradicts.


Simpler explanation:

First, notice that B cannot be the knight, because then for their statement to be true, A would also have to be a knight, and we know there is only one knight.

Second, notice that C cannot be the knight, because then their statement would be false.

Therefore, A is the knight. By their statement, C is the Knave. By elimination, B is the spy.

  • $\begingroup$ One could add a sentence that assuming this assignement the statement by C is indeed a lie. B's statement could be either. So this is a solution. $\endgroup$
    – quarague
    Commented Nov 8, 2022 at 9:42

Just logical if a is the night then he is telling the truth but if B is the night then he's telling the truth and be can't be the night because that would mean there would be two nights so B has to be false which doesn't mean that he is the knave I just means he's lying so he could be the Spy so if he's telling the truth than a is the night but if he's lying is not the Knight then see you would c telling the truth and if c was telling the truth he would have to be the night which is statement is false so he has to be lying and if B and C or both lying that means a is telling the truth so we know the a is the night and that night is telling the truth so therefore she has to be the knave and last but not least B has to be the Spy only thing that makes sense

  • 6
    $\begingroup$ You... might want to break this up into sentences, with punctuation, and read it back to make sure it is understandable. This torrent of words is, as it stands, possibly a correct (though redundant) explanation, but after three tries at reading through it I gave up trying to follow what you are saying. See some of the other answers for examples of how to write and format an answer for clarity. $\endgroup$
    – Rubio
    Commented Jul 9, 2018 at 2:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.