Who is the knight, knave and spy

logicpuzzle

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?

Best Answer

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.