Knights, Knaves, and Normals Puzzle - A: "B is a normal", B: "C is a normal", C: "B is a normal" 
You are on an island inhabited by three types of people: knights (always make true statements), knaves (always make false statements) and normals (sometimes make true statements and sometimes make false statements).
You come across 3 people Adam, Ben and Carl. You know that one is a knight, one is a knave and one is a normal. They say the following:

*

*Adam: "Ben is a normal."

*Ben: "Carl is a normal."

*Carl: "Ben is a normal."

Determine which person is what or whether you do not have enough information.

My Attempt
Adam:

*

*Adam is a knight => Ben is a normal

*Adam is a knave => Ben is a knight or Ben is a knave

*Adam is a normal

*

*If Adam is true, Ben is a normal

*If Adam is false, Ben is a knight or Ben is a knave



Ben:

*

*Ben is a knight => Carl is a normal

*Ben is a knave => Carl is a knight or Carl is a knave

*Ben is a normal

*

*If Ben is true, Carl is a normal

*If Ben is false, Carl is a knight or Carl is a knave



Carl:

*

*Carl is a knight => Ben is a normal

*Carl is a knave => Ben is a knight or Ben is a knave

*Carl is a normal

*

*If Carl is true, Ben is a normal

*If Carl is false, Ben is a knight or Ben is a knave




*

*Adam is a knight => Ben is a normal => Carl is a knave (can't be normal since Ben is one and can't be a knight since A is one) => Ben is a knight or Ben is a knave which contradicts the fact that Ben is a normal.


*Adam is a knave => Ben is a knight (can't be a knave) => Carl is a normal => Ben is a knight (can't be a normal or a knave).


*Adam is a normal => Ben is a knight or knave (can't be normal) => Carl is normal (not possible, so eliminated) or Carl is a knight (can't be knave) => Ben is a normal (not possible since Adam is a normal).
Therefore, Adam is a knave, Ben is a knight and Carl is a normal
My Question
Does my solution seem correct and make sense?
Thanks in advance.
 A: Your solution is correct and also seems valid, though I didn't read it that closely.
I can't resist posting a shortcut analysis.
Assume Ben normal.
Then one of Adam or Carl must be a knight, and the other a knave.
This yields a contradiction, because you can not ever have a knight and knave make the same statement.
Therefore, Ben is not normal.
Therefore, at least one of Adam or Carl must be a knave, since they have both lied about Ben.
Therefore, Ben is also not a knave, and therefore Ben must be a knight.
At this point, everything falls into place.
A: Since I am very lazy, I like methods that don't involve much "thinking" ;-) (I mean thinking through options, assumptions, and trees). So I did it this way:
First, notation: A is a knight is AT, A is a normal is AN, A is a knave is AF.
Now, construct pretty automatically the following XORs (where pq is p ^ q):
AN + ATBN + AFBT = 1
BN + BTCN + BFCT = 1
CN + CTBN + CFBT = 1
Multiply both sides of the equations, noting that any terms with AXAY, BXBY, or CXCY (X ≠ Y) are 0.
You are left with AFBTCN = 1. That is Adam is a knave, Ben is a knight, and Carl is normal.
