Chronology | Current Month | Current Thread | Current Date |
[Year List] [Month List (current year)] | [Date Index] [Thread Index] | [Thread Prev] [Thread Next] | [Date Prev] [Date Next] |
:You are in a land where everyone is either a liar or a truthteller.
You desperately need a truthteller for a business deal. You have
lunch with 3 people, A, B, and C and ask if any of them is a
truthteller.
They answer as follows:
A: "There are 3 truthtellers here".
B: "No, only 1 of us is a truthteller."
C: "The second person is telling the truth."
Which, if any, are the truthtellers?
{explanation snipped}All are liars
I agree with the book's answer; I wrote a little perl program
to generate and check the truth table. The output is
A B C op(A) op(B) op(C) agrees?
----- ----- ----- ----- ----- ----- -------
false false false false false false yes
false false true false true false no
false true false false true true no
false true true false false true no
true false false false true false no
true false true false false false no
true true false false false true no
true true true true false true no
where the first three columns are the 'states' of the 3 men
('false' means 'liar'), the next three columns are the
correctness of the opinions held by the men ('false' means
that their voiced opinion does not match the known state
of the three men), and the last column indicates agreement,
i.e. are all persons who are liars actually lying, and vice
versa.