rec.puzzles Archive

On an island of knights (who always tell the truth), knaves (who always lie) and normals (who may do...

logic/smullyan/kings.daughter New

New entry, edited from material collected for the archive and not yet in a released version.

Problem

On an island of knights (who always tell the truth), knaves (who
always lie) and normals (who may do either), how can you convince the
King that you are not a normal?

In Smullyan's "What is the Name of this Book?", he talks about an
island where every inhabitant is a knight, a knave, or a normal.
Knights always tell the truth, knaves always lie, and normals may
either tell the truth or lie as they see fit. In the section "How to
Marry a King's Daughter", he asks: The King of the Island wants his
daughter to marry a nice truthful knight, or a knave, since knaves are
really as reliable as knights... all you have to do is believe the
exact opposite of what they say. But he *doesn't* want her to marry one
of those wishy-washy normals. If you're an inhabitant of the island,
how can you convince the King that you're not a normal?

Smullyan's answer is that it would be impossible. His logic was this:
since a normal can say *anything*, anything you say could also be said
by a normal, and so nothing you can say would convince the King you're
not a normal.

Smullyan was wrong! His logic contains a subtle but fatal flaw.

-- Jonathan Haas <positron@Starbase.NeoSoft.COM>
Show solution
Jamie Dreier <pl436000@brownvm.brown.edu> wrote:
>I'd like to see your answer. Smullyan's logic looks pretty good to me!

The flaw, as I see it, is this: it rests on the assumption that a
normal can say *anything*, which he can't. He can only tell the truth
or lie. For example, a normal couldn't say "this sentence is false",
or "I am lying now", since such a statement is neither true nor false.

>I imagine you are going to rest your case on the stipulation that
>normals either lie or tell the truth; so any normal's statement must
>get a determinate truth value.  And you'll give a statement that could
>not have a determinate truth value if asserted by a normal, say, "If
>this sentence is true then I am not normal."

That works. My solutions:

To prove to the king you're a knight, not a knave or a normal, say,
"If I am normal, this sentence is false."

To prove to the king you're a knave, not a knight or a normal, say,
"I am normal and this sentence is false."

To prove to the king that you're not a normal, but not let him deduce
whether you're a knight or a knave, say, "I am normal if and only if
this sentence is false."

The proof is left as an exercise :-)

-- Jonathan Haas <positron@Starbase.NeoSoft.COM>

I am lying.

The above electronic "utterance" proves that it is possible for a
*normal* *person* to say something that is neither true nor false.
Well, it does if you consider me a normal person, which some people
would find debatable.  Still, a normal person *could* have said the
same thing.

Now as to Raymond Smullyan: Is that the exact wording of Smullyan's
definition?  It's been a while since I've seen the book.  If that is
the definition, Smullyan's "normal" is what you might call a technical
term or a term of art, not the ordinary definition of the word
"normal."

>> Smullyan's answer is that it would be impossible. His logic was
>> this: since a normal can say *anything*, [...]

Clearly this contradicts the definition of "normal" you gave above so
this would be Smullyan's error (if that was his definition).

>You are going to give us a sentence that a normal person literally
>could not utter, but a knight or knave could?

Ah, but notice that Jamie speaks of a "normal person" but Jonathan
refers to a "normal."  The question is, are the two the same?

-- David A. Karr <dkarr@bbn.com>