A Knight always tells the truth. A Knave always lies. A Normal may either lie or tell the truth. You are allowed to ask questions that can be answered with “yes” or “no”, such as “Is this person a Normal?”
There are four people in front of you. One is a Knight, another one is a Knave, and the other two are Normals. They all know the identities of one another. Prove that the Normals may agree in advance to answer your questions in such a way that you will not be able to learn the identity of any of the four people.
Both normals will act as if the first is a knight, both the knight and the knave are normals and the other normal is a knave. This creates perfect symmetry between the two normals and the two normals and between the other pair so it is impossible to distinguish (I think a formal proof by contradiction could be constructed).
The first Normal will act as though he is a Knight while the second Normal will act as though he is a Knave. Then we cannot tell the difference between the first Normal and the Knight, nor between the second Normal and the Knave.
I think I could break this solution by first asking a statement which is trivially true like "is 1+1=2?". This would allow me to narrow down to the two people who could possibly be knights. Then I could ask these two potential-knights whether each of the other two are knaves. They should both correctly tell me who the knave is and who the normal is because they both tell the truth. Then I could do the opposite to work out who the correct knight is.
- Am I correct that this solution is flawed?
- Is my solution correct?