TIM S. ROBERTS
SOME THOUGHTS ABOUT THE HARDEST LOGIC PUZZLE EVER
Received 21 May 2001
ABSTRACT. “The Hardest Logic Puzzle Ever” was first described by the late George
Boolos in the Spring 1996 issue of the Harvard Review of Philosophy. Although not dis-
similar in appearance from many other simpler puzzles involving gods (or tribesmen) who
always tell the truth or always lie, this puzzle has several features that make the solution
far from trivial. This paper examines the puzzle and describes a simpler solution than that
originally proposed by Boolos.
KEY WORDS: Boolos, logic puzzle, Smullyan, true/false
In the Spring 1996 issue of the Harvard Review of Philosophy, the late
George Boolos described what he called the Hardest Logic Puzzle Ever [1].
Originally devised by the logician and puzzle-master Raymond Smullyan,
here is Boolos’ description of the problem:
Three gods A, B, and C are called, in some order, True, False, and Random. True always
speaks truly, False always speaks falsely, but whether Random speaks truly or falsely is a
completely random matter. Your task is to determine the identities of A, B, and C by asking
three yes-no questions; each question must be put to exactly one god. The gods understand
English, but will answer all questions in their own language, in which the words for “yes”
and “no” are “da” and “ja,” in some order. You do not know which word means which.
Boolos went on to clarify that:
• It could be that some god gets asked more than one question (and hence that some
god is not asked any question at all).
• What the second question is, and to which god it is put, may depend on the answer
to the first question. (And of course similarly for the third question.)
• Whether Random speaks truly or not should be thought of as depending on the flip
of a coin hidden in his brain: if the coin comes down heads, he speaks truly; if tails,
falsely.
• Random will answer da or ja when asked any yes-no question.
and then proposed a detailed solution, of which I reproduce here only the
first section:
Turn to A and ask Question 1: Does da mean yes iff, you are True iff B is Random? If
A is True or False and you get the answer da, then as we have seen, B is Random, and
therefore C is either True or False; but if A is True or False and you get the answer ja,
then B is not Random, therefore B is either True or False. But what if A is Random? If A
is Random, then neither B nor C is Random! So if A is Random and you get the answer
Journal of Philosophical Logic 30: 609–612, 2001.
© 2001 Kluwer Academic Publishers. Printed in the Netherlands.