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.

-
Of course, since it is not specified when normals lie or tell the truth, my solution would be: All are normals, and they all lied except for C. The point is of course "all are normals" always works. – celtschk Aug 17 '12 at 13:06