Puzzles from the website: https://philosophy.hku.hk/think/logic/knights.php Puzzle 1 A very special island is inhabited only by knights and knaves. Knights always tell the truth, and knaves always lie. You meet two inhabitants: Zoey and Mel. Zoey tells you that Mel is a knave. Mel says, `Neither Zoey nor I are knaves.' Solution: In the following, * means compelement (inverse) so Z* means "not Z" Assign a binary variable to each person. (e.g, above Z = Zoey and M = Mell) If the variable is true, the person is a knight, and if false, they are a knave. If they are a knight, then their statement is true, but if a knave, it is false. The statement "Mel is a knave" is represented by M* The statement "Zoey tells you that Mel is a knave" can be written as Z M* + Z* M That is, either Zoey is a knight and his statement is true (Z M*), OR he is a knave and it is false (Z* M). The statement "Neither Zoey nor I are knaves" is (Z* + M*)* which is the same as Z M (by DeMorgan's) So if Mel says, `Neither Zoey nor I are knaves.' this is represented by M(Z M) + M*(Z* + M*) So now, given both Zoey and Mel's statements, we "AND" the knowledge gained by each person and get the expression [Z M* + Z* M] [M(Z M) + M*(Z* + M*)] Which can be reduced: [Z M* + Z* M] [ M (Z M) + M* (Z* + M*) ] [ ZM* + Z*M ][ M (Z M) + M*Z* + M* ] [ ZM* + Z*M ] [ZM + M* ] [ ZM* + Z*M ] [Z + M*] ZM* + ZZ*M + ZM* + Z*MM* ZM* + 0 + ZM* + 0 ZM* So Zoey is a knight and Mel is a knave ****************************************************************************** Puzzle 2 A very special island is inhabited only by knights and knaves. Knights always tell the truth, and knaves always lie. You meet two inhabitants: Peggy and Zippy. Peggy tells you that 'of Zippy and I, exactly one is a knight'. Zippy tells you that only a knave would say that Peggy is a knave. So who is a knight and who is a knave? Solution: [P(PZ* + P*Z) + P*(P*Z* + PZ)] [Z(P) + Z*(P*)] = P*Z* One comment. you can expand Zippy's statement: "Only a knave would say that Peggy is a knave" into 0 (P*) + 0*(P) (which is just P) That is, "Peggy is a knave" (P*) is a statement made of someone we know to be a knave, so instead of a variable, we just use 0 (zero) for the speaker. If that "0" were speaking the truth, we would have "P*", and if they were not, we have "P". ****************************************************************************** Puzzle 3 A very special island is inhabited only by knights and knaves. Knights always tell the truth, and knaves always lie. You meet two inhabitants: Sue and Zippy. Sue says that Zippy is a knave. Zippy says, `I and Sue are knights.' So who is a knight and who is a knave? Solution: [SZ* + S*Z] [Z(SZ) + Z*(S*+Z*)] = SZ* ****************************************************************************** Puzzle 4 A very special island is inhabited only by knights and knaves. Knights always tell the truth, and knaves always lie. You meet two inhabitants: Sally and Zippy. Sally claims, `I and Zippy are not the same.' Zippy says, `Of I and Sally, exactly one is a knight.' So who is a knight and who is a knave? Solution: [S(SZ* + S*Z) + S*(S*Z* + SZ)] [Z(SZ* + S*Z) + Z*(S*Z* + SZ)] = S*Z* ****************************************************************************** Puzzle 382 A very special island is inhabited only by knights and knaves. Knights always tell the truth, and knaves always lie. You meet nine inhabitants: Mel, Bart, Sue, Betty, Rex, Zeke, Sally, Zoey and Homer. Mel claims that only a knave would say that Sally is a knave. Bart claims, `Rex is a knave.' Sue says that Mel and Homer are knaves. Betty tells you, `I know that I am a knight and that Sally is a knave.' Rex says, `Betty and I are both knights.' Zeke tells you that at least one of the following is true: that Sally is a knight or that Sue is a knight. Sally says, `It's false that Betty is a knave.' Zoey says, `It's not the case that Sue is a knave.' Homer tells you that Betty is a knave or Zeke is a knave. <> So who is a knight and who is a knave? Solution: [ML+M*L*][AR*+A*R][S(M*H*)+S*(M+H)][B(BL*)+B*(B*+L)][R(RB)+R*(R*+B*)] [K(L+S)+K*(L*S*)][LB+L*B*][ZS+Z*S*][H(B*+K*)+H*(BK)] = ...[L*+B*]...[LB+L*B*]... ==> [L*B*] From this you quickly get the answer: L*B*R*M*AHS*Z*K*