# Knights, Knaves and Normals

In the kingdom of Boolistan, every inhabitant is either a Knight, Knave or Normal. Knights can only make true statements, Knaves can only lie, and Normals must either tell the truth or lie.

• Warmup: The local tavern only allows Normals (no one can relax around Knights and Knaves). What can a Normal say to prove their identity?

• Challenge: Only knights can dine at King Arthur's Round Table. What can a Knight say to prove their identity?

Remarks: In conventional logic, where every statement is either true or false, the challenge is impossible (since Normals can say anything). To make this doable, we allow circular self-referential statements, like the famous example, "this statement is false". Formally, a circular self-referential statement is an equation of the form $$s = f(x_1,\dots,x_n,s)$$ where $x_1,\dots,x_n$ are grounded logical propositions (like "I am a Knave"), $f$ is a Boolean function, and $s$ is a Boolean variable. We say that such a statement is True if setting $s=$ True makes the equation hold, and similarly say it is False if $s=$ False is a solution. This means some such statements are both True and False, while others are neither. For example, "this statement is false" would be the equation $s=\neg s$, which has no solutions, so is neither True nor False. On the other hand, "this statement is true" would be $s=s$, which is both True and False.

We then allow knights to say any True statement, Knaves to say any False statement, while Normals can say a statement as long as it is True or False or both.

• Must any given Normal always tell the truth or always lie, or can they always do either? – evankh Jul 9 '15 at 6:06
• @knave Good thing we have a Knave on the spot in case we need to know anything about them! ;-) – Rand al'Thor Jul 9 '15 at 7:13
• For the challenge, I like "If you claim I am not a knight, I would have to kill you for the insult." Doesn't meet the criteria, but it might work well enough to get you a seat at the table. – user3294068 Jul 9 '15 at 14:55
• @Mike my sincere thanks for fixing this puzzle. With your current setting, both your reasoning and the answers are correct. My last & only concern is the use of the word "self-referential" here. As Smullyan discussed in problem 255, it's completely OK for a statement to be self-referential - it's the circularity invoked by using a recursive statement that makes it ungrounded. Also, the formula you proposed for $s$ is unambiguously a en.wikipedia.org/wiki/Recursion - that's why I'd call them "recursive" or "circular"/"self-dependent", not "self-referential". – user13963 Jul 11 '15 at 17:04

For the warmup:

"I am a knave"

Should do it.

For the challenge:

"If I am not a knight, this is a lie"

This statement can only work iff the speaker is a knight, as otherwise it will lead to a logical paradox, which is neither true nor false.

• I don't see how the second answer precludes a Normal (could just be that I took formal logic too long ago...)? – Emerson Jul 9 '15 at 5:25
• After rereading, I realised that this answer was identical in logical form to my (now deleted) answer. Edited this answer with an explanation. – March Ho Jul 9 '15 at 7:04
• It's not clear to me that the challenge answer is something a knight can say. Knights must speak in truths, I thought. (Which is different from "not lying - I took it to mean that they can't say things that are neither truth nor lie.) I'd think "truth requires" a factual, actual statement. This doesn't seem to fit that, since the second clause can't be true/false, since the "this" in the quote - the sentence, has no clear assertion. WHAT is a lie if the speaker is not a knight? (PS- I suspect I'm about to learn I suck at logic.) – Jaydles Jul 9 '15 at 16:06
• @vaxquis The question says that Knaves can only lie and that Normals can only tell the truth and lie. That implies that they are not able to make ungrounded statements. – Rob Watts Jul 9 '15 at 20:10
• @vaxquis I was not aware of that. That means that instead of Smullyan making "a subtle error in his logic", OP has a different requirement for knights, knaves, and normals - they can only make statements with a truth value. In other words, Smullyan's knights just can't lie, while OP's knights must tell the truth. Do you know the specific wording that Smullyan used? – Rob Watts Jul 9 '15 at 20:21

Warmup:

"I can lie."

For knights this is false, and for knaves this is true, so only Normals can say it.

Alternatively:

"I am a Normal." followed by "I am not a Normal."

Or any other pair of one truth and one falsehood. Normals are the only ones who can both lie and tell the truth.

Challenge:

"If I am not a Knight, this is false."

Simply causes a paradox if the speaker is not a Knight. Since a paradox is not a truth nor a lie, Normals can't say it. (I did come up with this before seeing frodoskywalker's answer.)

• I'm not sure if we can trust this answer... – Mark N Jul 9 '15 at 18:21
• @MarkN Oh, I'm definitely trustworthy... – evankh Jul 9 '15 at 20:04

Warmup:

He can say "(At least) Sometimes I lie." - A knight can not say this, because he never lies. And a knave can not say it, because it would be the truth for him.

Challenge:

He can say "My next statement will not be a lie" Since the knight will know for sure he can never lie. But the Normal cannot 100% know if his next statement might be a lie. He can try, but there could be any thinkable scenario where his next statement could be a lie. Since there is a non-zero chance for the Normal to lie or tell the truth on his next statement, he cannot make the claim, since it is neither true nor false, but a vague guess. And per the rules they can only state truth or lie not something unknown.

• It wouldn't be the truth for the knave, he always lies, not sometimes, because sometimes would imply that he would also tell the truth – Wouter Jul 9 '15 at 10:02
• @Wouter Sometimes is logically equivalent to "at least once" but i can make it more explicit. – Falco Jul 9 '15 at 10:09

Challenge:

A knight could say: "That knight (points at known knight) can confirm I am a knight." This should work as long as King Arthur is a knight (only tells the truth) who started allowing/accepting other knights in at his table. Also that all the knights know all the other knights. Any normal or knave that tried to enter that used this line would be declined by the pointed at knight.

Warm up:

"I am a knave you know...sometimes, I just like to say a lie, and just see what happens. Like this one time last week, I lied to this knight, and let me tell you..."

• Then the knight has to give the King his public key. – schil227 Jul 9 '15 at 20:31

What can a Knight say to prove their identity?

Let's assume that every inhabitant of Boolistan has to obey the King (the penalty for disobedience is death, obviously), and the Knight's in question name is Sofa. Thus, the answer is

To prove his identity, the Knight in question has to first say to the King to give him [i.e. the Knight] an order: >>My King, order me to, literally, "Say I am Sofa, King, a Knight, but if, and only if, you're a Knight. Otherwise remain silent."<<

Then the King has to do what the Knight asked for. Then, obviously, if he's a Knight, he'll do it, and it will be true. If he isn't, he won't say anything, because he had been given a direct order to remain silent.

• Sofa King.... nice – Cain Jul 9 '15 at 23:04

Okay, this is what I got: the warmup

"knights tell part of the truth." Since knaves always lie, they can only say that knights tell part of a lie, and knights cannot determine whether a part of a truth is a whole truth, and are thus unable to answer. Of course, a knave could really be saying "Knights tell part of a lie," in which case, they really say "Knights tell part of a truth." The Normal can say so, because they can lie and tell the truth: Knights tell part of the truth and part of a lie.

The only surefire way is assuming that Normals can tell lies and truths in the same sentence. In this case, the Normal says, "I Lie and I tell truths." A knight cannot lie and thus cannot admit so, a Knave cannot lie about telling the truth yet tell the truth about lying or vice versa, but a Normal can lie and tell the truth at once: They can lie about lying and tell the truth about being truthful, or lie about telling the truth and tell the truth about lying.

the challenge

Assuming that at least one knight knows the person trying to enter, the person trying to answer can ask said Knight, "Can I lie?" If a normal or knave, the other Knight will say "Yes", otherwise "No". We could also assume so, since the dinner is for Knights only, any one there is a Knight, which helps solidify this answer.

However, assuming that no one knows the person trying to enter, they can prove so in a two-step process: First, the guard asks if they can say the following sentence, which is written on a scroll: "I can tell lies and truths in the same sentence." A Knight cannot say a lie in the same sentence, and will answer "No." A Knave cannot say a truth in a sentence, but will lie and say "yes" (note that it asks whether they can do BOTH, hence the knave isn't telling the truth about saying a lie and forming a contradiction). A Normal can either lie or tell the truth, and will answer either "Yes" or "No."
If they answered "No", then they are either a Knight or a Normal. From there, the gaurd hands them the following scroll: "I tell part-truths and part-lies." Under pain of death, they are told to read the scroll aloud. A knight cannot say a lie, even if only a part of a statement, and thus will answer "I cannot." A Normal, however, under the threat of Death, will read the script to try and save his life, thus revealing his deceit.

• Note: the challenge works even better if the first scroll is a secret passphrase given to them ahead of time: When asked what the password is, they will answer "I cannot say," then threatened under death to read a scroll given them by the guard, all to give a further feeling of doom. Although, a normal watching this would quickly realize that the correct answer when given the scroll is "I cannot say". – Nyk 232 Jul 9 '15 at 15:37

First post ever on here :)

For the warmup I would say:

If 1+1=2 then I am a Normal. This works because if a Knight says this statement, it ends in a contradiction, same goes for the case when a Knave says it. The statement is only true and valid when a Normal says it.

For the challenge we can operate along the same lines:

If 1+1=2 then I am a Knight. Again the antecedent is necessarily true, so for the statement to be true and not a contradiction, then only a Knight could say this.

Hope all the formatting worked out properly!

• Hi, welcome to Puzzles! – Voitcus Jul 9 '15 at 6:20
• I think the one does not imply this, because there is no connection between "1+1=2" and "I am a knight". You can say "If a rectangle has all borders equal, then it is a square", but you can't "If a rectangle has all borders equal, then it is red" – Voitcus Jul 9 '15 at 7:19
• The problem is, "if 1+1=2 then I am a Knight" is simply true for a Knight and false for a non-Knight. As such, the Normal (or the Knave) could lie and say "if 1+1=2 then I am a Knight" without a problem. – Glen O Jul 9 '15 at 7:21
• "If 1 equals 1 then I am a normal" is truth when spoken by a liar and a lie when spoken by a knave or a knight. As such it can be stated by normals and knaves. Since 1 does in face equal 1 it reduces to "I am a normal", there is no paradox. – Taemyr Jul 10 '15 at 13:45

Warmup:

"You might as well let everyone in, since only Normals are allowed but there's already a Knight and a Knave in there." Since he's telling the truth and lying in the same sentence, he's capable of both truth and lies, and thus is a Normal. (Alternately, he could be a Knight truly telling that they've let in a Knight and a Knave by accident, but my answer assumes that the tavern's authentication procedures have not already been broken.)

Challenge:

This is more of a practical than logical solution, but I'd recommend the Knight bring along someone known to be a Knave as his squire, who can inversely vouch for him at the door - his knavish squire would say "Don't let him in, this guy's no knight." :)

In the case that the King is King Arthur, the King of Britons:

from the Monty Python and the Holy Grail

Normals' pass:

I haven't ever eaten ham before.

In reference to (real spoiler):

"We eat ham and jam and spam a lot!" (The Camelot Song)

Knights' pass:

It could be carried by an african swallow.

In reference to (real and big spoiler):

A guard answering another guard that coconuts cannot be carried by a european swallow, but maybe by an african swallow. In the end, we see that only Sir Bedevere and Sir Lancelot. We see Sir bedevere testing that early in the film; and Sir Lancelot probably doesn't need a pass since he is 'carried away easily'.

Second case might be invalid cause i totally forgot about

the aptly named Sir Not-appearing-in-this-film

I assume normals would have have no idea about the subject.

• I don't understand how your challenge response answers the question? The answer doesn't have enough context to be deemed true or false, it's more-so just random gibberish. – Mark N Jul 9 '15 at 13:02
• The more-so-random-gibberish answer, if searched with google as a full sentence, gives nothing but the exact reference i was trying to give in the first page; but yeah. – bunyaCloven Jul 9 '15 at 13:13
• @MarkN: It's a reference to the movie Monty Python and the Holy Grail, though I'm not quite sure what it's supposed to mean here. – supercat Jul 9 '15 at 13:16
• @supercat got it..This might be more suitable as a comment then. – Mark N Jul 9 '15 at 13:20
• I think the warmup is fine but I agree that the challenge answer is insufficient. I would leave it out until you have something solid for that part. – Engineer Toast Jul 9 '15 at 13:20

For the normal:

A Normal can just say something paradoxical like "I'm a liar/Knave".

And for the knight:

A Knight has to say something that would prove he's a Knight if true, and just lead to a contradiction/dead end if false. Indeed, there's no way "Either this single sentence is true and I am a Knight, or it is false and I am a Normal or Knave" would be false without causing some sort of a contradiction: click

Warm-up:

"I am a knave." The knave saying this would be telling the truth. A knight would be lying to say this. A normal could make this claim in a lie.

Challenge:

I have an answer that I believe solves it without need of a paradox.

We know from the warm-up that we can identify a normal with certainty. Our Knight picks out a normal and points, then proclaims, "If she is being as truthful as I am, she would agree I'm a knight." A knave's corresponding normal would indeed agree they are a knight (because she would be lying in this case), but the knave cannot say this because it would be the truth. A knight's corresponding normal would be telling the truth, and so she would of course agree that they are a knight. If a normal were to lie, their corresponding normal would also lie, agreeing that they are a knight. They cannot say this because it would be the truth. If a normal were to tell the truth, their corresponding normal could not agree they are a knight because she must also tell the truth, thus they still cannot say this.

• This seems quite similar to my answer....just more convoluted – Mark N Jul 9 '15 at 18:13
• @MarkN I missed your answer before; just gave you an upvote! Still, I think my answer is stronger as it doesn't require a previously validated knight. However, both of our answers are suboptimal (in comparison with the currently accpeted answer) because they both require others to have knowledge of the Knight in question. – Shadow503 Jul 9 '15 at 18:35
• "A knight's corresponding normal would be telling the truth" Why? "If a normal were to tell the truth, ...because she must also tell the truth," Why? – Taemyr Jul 10 '15 at 13:54
• @Taemyr Good question! Because the knight says. . . >! "If she is being as truthful as I am, then she would agree I'm a knight." – Shadow503 Jul 10 '15 at 14:17
• So, no reason. The normal could be lying about the knight, or a normal could lie about another normal, even if that normal was telling the truth. – Taemyr Jul 10 '15 at 14:19

For the warmup:

"Sometimes I am older than a day before, but sometimes I am younger."

For the challenge, I can't think anything. Of course a knight can show his shield to prove, but I guess it doesn't count. Some other considerations below, within a spoiler:

The watchmen can ask a knight of a thing he doesn't know, but in such a way that would make Normals think it is common knowledge for Knights. The real Knight would answer "I don't know", while a Normal would try to lie. Also, for example, the question from the guard could be "how much does beer in the tavern cost?". Because Knights do not enter taverns, they don't know - but a Normal knows and because he pretends to be a Knight, he would answer truth. However, it requires cooperation between the guard and a knight. It will also fail when Normals will find out that "I don't know" is the right answer.

• Your answer for the warmup is just a false statement, which could be said by a Knave or a Normal. The challenge answer isn't fool-proof, since you assume that all Normals have the same knowledge. – Nuclear Hoagie Jul 9 '15 at 7:26
• What I wrote in challenge is not an answer, these are considerations, maybe somebody else can find out something from this. – Voitcus Jul 9 '15 at 7:28