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]

Re: Three liars



Hi John:

I finally had time to examine your truth table. I want to question
your evaluations of sentences. But first let me quote that part of
your message to which I am responding.

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?
:
All are liars
{explanation snipped}

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.

Line #1 postulates that A, B an C are liars. This explains your
FALSE, FALSE, FALSE in columns 4, 5, 6. Voiced opinions
of A, B, C do not match the truth, as postulated in columns
1, 2, 3.

Line #2 postulates that A and B are liars while C is honest.
--> A said "we are all honest". This does not agree with the
truth postulated in columns 1, 2, 3. That explains FALSE
in column 4 of line 2.
--> B said "only one of us is honest". This does agree with the
truth postulated in columns 1, 2, 3. That explains TRUE in
column 5 of line 2.
--> C said "B is telling the truth". This does not agree with the
truth postulated in columns 1, 2, 3. That explains FALSE in
column 6 of line 2.

Why are you making these evaluations by ignoring the status of
the guest (liar or truth teller) who is making a pronouncement?
A logical deduction must account for this while evaluating
individual sentences.

In my opinion columns 4, 5, 6 entries of line 1 should be TRUE,
TRUE, TRUE because liars are expected to lie. This is more than
a matter of labeling. This will be clear in line 2 which postulate
that A and B are liars while C is honest.

My line 2 would have TRUE, FALSE, FALSE in columns 4, 5, 6.
Why? Because what A said is a lie and a liar is expected to lie.
This explains my first TRUE. What B said is not a lie, according
to columns 1, 2, 3. But B is a liar and he is not expected to tell
the truth. This explains my FALSE for column 5. And C, who
is an honest person, is telling a lie. This is not expected and my
FALSE for column 6 reflects it.

I am not suggesting that the answer "all are liars" is wrong. My
TRUE, TRUE, TRUE in line 1 confirms it as well as the values
in your table. But in the second line I have T, F, F while you
have F, T, F. Likewise in the third line my columns 4, 5, 6 would
have T T F while you have F T T.

This my be a hint that your logical conclusions and my logical
conclusions could differ for some possible sets of replies (not
those given in Jack's problem). Any comments?

I think I have an algorithm for a program which can handle
many different sets of sentences, even those which I did not
analyze with my own brain. But sentences must be inputted by
selecting from 14 alternatives (checking in a form). The options
are"

1 <-- we are all liars
2 <-- only A is honest
3<-- only B is honest
4<-- only C is honest"
5 <-- only A and B are honest
6 <-- only A and C are honest
7 <-- only B and C are honest
8 <-- we are all honest
9 <-- only one of us is honest
10 <-- only two of us are honest
11 <-- either A or B is honest
12 <-- either B or C is honest
13 <-- either A or C is honest

Did I miss a possibility? Let me know. Just an exercise in
"artificial intelligence". Probably trivial for an expert. I
will be happy to compare answers with somebody who
develops another program. Note that each guests (A, B
and C) can select any sentence. Thus some problems may
have more than one solution while others will have
none.

Ludwik Kowalski