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*