Truth-tellers, liars and ambiguous, solution verification

logicpuzzlesolution-verification

Consider the following problem

In a certain country, there are three kinds of people: workers (who always tell the truth), businessmen (who always lie), and students (who tell the truth and sometimes lie). A worker, a businessman and a student are standing at the side of the road but are not identifiable. By asking two yes or no questions, find out which fork leads to the capital.

I believe I know the idea of solving this puzzle. The first question should answer who is not a student. As for the second one, locate which fork leads to the capital.

I know what to ask once I identify the student with a yes/no question, so I was wondering if I really understand the approach that is mentioned in What is the Name of This Book (Smullyan, 1978, p.116)

According to Smullyan (1978, p.116), let me first label each person with $A, B$ and $C$. Then ask, say $A$, the following question "Is the statement: You are a worker if and only if $B$ is a student, true?"

If the answer is "Yes", then it is clear that $C$ is not a student if $A$ is a worker because it is necessary that $B$ is a student to make the statement true. If $A$ is a businessman, then the actual truth value of the statement is false. This is only the case when $B$ is indeed a student and so $C$ is again not a student.

Let us see what will happen if the answer is "No". Then if $A$ is a worker, $B$ is not a student. If $A$ is a bussinesman, then the actual truth value of the statement is true, which give the information that $B$ is not a student.

What if $A$ is a student? then the statement is true. If $A$ is telling the truth, then s/he should answer "Yes" because only one of them is a student. and so $C$ is not a student (and $B$). Otherwise, $A$ will answer "No", but $B$ is still not a student.

In conclusion, whatever $A$ may be, we can ask $B$ the second question if $A$ answers "Yes". Otherwise, ask $C$ if $A$ answers "No". The followed question is then "Is the statement 'You are a worker if and only if the left-hand branch leads to the capital' true?"

Edit: I decided not to choose the word "a truth-teller". So I replace it with "a worker". A "liar" is also changed to "businessman".

Best Answer

In general you got the logic just fine, but I still have two comments:

  1. You have to be careful when using ‘truth-teller’… or at least make clear what you mean by it. Is A being a ‘truth-teller’ the same as A being a worker? Or do you mean to say that in that particular instance A was telling the truth ( and so A could be a worker or a student)? Same goes for your use of ‘liar’.

Indeed, in the case of A answering ‘Yes’ to the first question, you seem to use ‘liar’ to cover both the case where A is a businessman and the case where A is a student. But in the case where the answer is ‘No’, you use ‘truth-teller’ for just the case where A is a worker. So… for a clearer proof, this needs to be cleared up.

  1. The proof shows that with that first question you can figure out whether B is a student or not. But you also said that the overall strategy was to first figure out who the student is. But if you find that B is not a student after the first question, that does not mean that you know who the student is. So … maybe the overall strategy us not such a clear ‘first figure out the student and then…’ strategy.

In fact, while I understand that you are really only asking to see if you understand the logic of the first half of the proof (dealing with the first question), I would encourage you to work out the second half (dealing with the second question) as well. And note: that second question involves the use of ‘truth-teller’ … so again: what exactly is meant by that? Since the first question refers to ‘worker’, I am inclined to think that the use of ‘truth-teller’ in the second question means ‘worker or student-who-currently-tells-the-truth’ … but I am not sure. But if you analyze the logic, you should probably be able to tell how this meant. Again, in general you are doing a good job with the logic, so I think you’ll be able to get this. Good luck!