Truth Tables - How to identify normals in Knights, Knaves and Normals problems? To describe my question, I'll illustrate an example of a Knights, Knaves and Normals problem and the way I solve it.
Question
Knights always tell the truth.
Knaves always lie.
Normals sometimes lie and sometimes tell the truth.
Given the following statements, identify who is a knave, a knight or a normal: A: C is a knave or B is a knight.
B: C is a knight and A is a knight.
C: If B is a knave, then A is a knight.
Solution
Statement A (SA) = ¬C or B
Statement B (SB) = C and A
Statement C (SC) = ¬B -> A

Information A (IA) = (SA = A)
Information B (IB) = (SB = B)
Information C (IC) = (SC = C)
Puzzle Solution (PS) = (IA & IB & IC)

Where 1 is true, and 0 is false.

| A | B | C || SA | SB | SC || IA | IB | IC || PS |
---------------------------------------------------
| 1 | 1 | 1 ||  1 |  1 |  1 ||  1 |  1 |  1 ||  1 |
| 1 | 1 | 0 ||  1 |  0 |  1 ||  1 |  0 |  0 ||  0 |
| 1 | 0 | 0 ||  1 |  0 |  1 ||  1 |  1 |  0 ||  0 |
| 0 | 0 | 0 ||  1 |  0 |  1 ||  0 |  1 |  0 ||  0 |
| 1 | 0 | 1 ||  0 |  1 |  1 ||  0 |  0 |  1 ||  0 |
| 0 | 0 | 1 ||  0 |  0 |  1 ||  1 |  1 |  1 ||  1 |
| 0 | 1 | 1 ||  1 |  0 |  0 ||  0 |  0 |  0 ||  0 |
| 0 | 1 | 0 ||  1 |  0 |  0 ||  0 |  0 |  1 ||  0 |

Using a Wolfram Knights and Knaves problem generator, the correct answer is:A: Knave
B: Normal
C: Knight
My answer would have been:A: Knave
B: Knave
C: Knight
What I cannot understand, is how do we know that B is a normal, based on the truth table? I assume that since the program can generate who the normal is, that there is a systematic method of identifying who the normal is, using a truth table. Am I correct in my assumption? Is a systematic technique present?
This question has stumped me for a while, and I would be most grateful for an explanation. Thank you.
A: Your answer fails because C's statement is false and he is a knight.  If somebody is Normal, the only way to ID it from the truth table is 1)he makes two statements, one true and one false or 2) somebody else's statements make him Normal.  In this case, A shows he is not a Knight and C shows he is not a Knave.
