3
$\begingroup$

I found this puzzle and I have difficulties to solve it:

Imagine three people, Alice, Bob, Chris, each of whom is either a knight, a knave or a normal. Exactly one person in the group is a knight. Can you find out who?

Their statements:

  • Chris says: if both Bob and I are not knaves, then all of Alice, Bob and I are normals.

  • Bob says: both Chris and I are normals and or both Alice and I are normals.

Note: knights always tell the truth and knaves always lie, normals can tell the truth or lie.

Source: http://logicgarden.pythonanywhere.com/posts/first-puzzle-2017

MAJOR EDIT Apparently there are two possible answers.

$\endgroup$
  • $\begingroup$ Are you sure this doesn't have multiple solutions? (Chris knight, Bob knave) seems valid to me. $\endgroup$ – Rand al'Thor Jan 18 '17 at 14:16
  • $\begingroup$ It has at least 2 solutions. I'm editing my answer right now. $\endgroup$ – oleslaw Jan 18 '17 at 14:17
  • $\begingroup$ I got 4 solutions $\endgroup$ – Trenin Jan 18 '17 at 15:46
  • $\begingroup$ If you interpret "both Bob and I are not knaves" as "it is not true that both Bob and I are knaves," then this puzzle has a unique solution. $\endgroup$ – Mike Earnest Jan 18 '17 at 16:24
  • 5
    $\begingroup$ What's the meaning of "and or both Alice and I are normals"? $\endgroup$ – gnasher729 Jan 18 '17 at 23:23
11
$\begingroup$

Lets do this by eliminating possibilities. We know exactly one of them is a Knight, so lets see what happens if we assume each in turn is a Knight.

Assume Bob is a Knight

Therefore, his statement must be true. But since Bob is a Knight, he cannot be a Normal. Thus, the statement "both Chris and I are Normals" is false. Similarly, "both Alice and I are Normals" is also false. Thus the entire statement is false, which is a contradiction.

Thus, Bob cannot be a knight.

Assume Chris is a Knight

Chris' statement must be true since he is a Knight. We know Bob is not a Knight since there is exactly one, so he is either a normal or a Knave.

If Bob is a Normal, then both Chris and Bob are not Knaves, thus, by his statement, all of Alice, Bob, and Chris must be Normals. This is a contradiction since Chris cannot be both a Normal and a Knight. Thus we know Bob is not a Normal and must be a Knave instead.

Since Bob is a Knave, his statement must be false.

This use of "and or" is slightly ambiguous, but I take it to be logically equivalent to simply two clauses connected by "or". In this interpretation (and all other interpretations I can think of) since both clauses are false (Since Bob is not a Normal), the entire statement is false, which is what it must be since Bob is a Knave.

Thus, Chris being a Knight, Bob a Knave, and Alice being either a Normal or a Knave is consistent with the statements.

Assume Alice is a Knight

Unfortunately, this gives us the least information. Chris and Bob must be Knaves, Normals, or a mixture of the two since they cannot be Knights (exactly one).

Lets say Chris is a Knave. Thus, his statement must be false. The only way to make it false is to make the first clause ("both Bob and I are not Knaves") true and the second clause ("all of Alice, Bob, and I are Normals") false. Unfortunately, since Chris is a Knave, there is no way to make the first clause false. Thus, Chris cannot be a Knave and must be a Normal.

Lets say Bob is a Knave. Thus, his statement must be false, so both clauses must be false. Therefore, one of Chris and Bob must not be normal, and one of Alice and Bob must not be Normal. Since Bob is a Knave, this holds, making his entire statement false, regardless of what Alice is.

If Bob was a Normal, then his statement is true, which is allowed.

All Solutions

The complete list of solutions is:

- Alice=Knight, Bob=Knave, Chris=Normal
- Alice=Knight, Bob=Normal, Chris=Normal
- Alice=Knave, Bob=Knave, Chris=Knight
- Alice=Normal, Bob=Knave, Chris=Knight

$\endgroup$
  • $\begingroup$ We agree on who can or cannot be the knight, but there's one part of your reasonning I can't get behind wich explains why we don't end up with as many different possiblities. You say The only way to make [Chris' statement] false is to make the first clause true and the second clause false But Chris says "IF [...] THEN [...]", if this is a lie, then the truth, in my opnion, is simply that "IF [...] THEN NOT [...]". You seem to think that Chris first statement has to be true for it to be a lie. I don't understand why. $\endgroup$ – Dorian Fusco Jan 19 '17 at 14:48
  • $\begingroup$ @DorianFusco If the statement is "IF A then B", the two clauses are A and B. When A and B are both true, the entire statement is true. When A is true and B is false, then the statement is false because A being true implied B was supposed to be true as well, but it wasn't. If A is false, then it doesn't matter about B making the entire statement true again. Thus, the only way to make an "IF A then B" statement false is to make A true and B false. $\endgroup$ – Trenin Jan 19 '17 at 15:47
  • $\begingroup$ "If A is false, then it doesn't matter about B making the entire statement true again". I'm not so sure about that. If someone told me "if I was a king, I could live without breathing", I'd say it's a lie, even if he is not a king. I know our case is very different here, but I don't know why the logic would be different :x $\endgroup$ – Dorian Fusco Jan 19 '17 at 17:29
  • $\begingroup$ @DorianFusco This explains it far better than I could. $\endgroup$ – Trenin Jan 19 '17 at 17:37
5
$\begingroup$

No matter the approach I try, I find two possible answers, not only one.

Let's just fix some misunderstanding one might have : each character either tell us the truth or tell us a lie. That bit is pretty clear. But what might be unclear is what "lying" means for the statements that were made by both character, so let's translate :

If Chris lies, then we can reverse his statement to find the truth :
"if both Bob and Chris are not knaves, then at least one of Alice, Bob and Chris is not a normal"
We can't deduce anything from that as it's always true that at least one of them is not a normal

As for Bob's reversed statement it is :
"Neither Chris and Bob are both normals nor Alice and Bob are both normals"
From this, we can deduce that there is at least one knave, nothing more

My favorite approach is to make assumptions as to who is lying and who is telling the truth. That leaves us with 4 cases :

They are both telling the truth

Since they tell the truth, none of them can be a knave.
According to what Chris says, then they are all normals
That can't be as we know there is a knight among them
This is a paradox, unless our assumption is wrong
They cannot both be telling the truth

They are both lying

As liars neither of them can be a knight, and the knight would be Alice by elimination
Remember that we can't deduce anything from Chris's statement if he lies
As for Bob lying, we can deduce that there is at least one knave
This is very possible, for all we know, Bob and Chris could both be knaves and Alice could be our knight.

Chris is telling the truth and Bob is lying

Then, by Chris's statement, Bob is a knave since they can't all be normals
No problem here, Bob is a liar, he is fit to be a knave
According to Bob's reverse statement, there has to be at least one knave
Bob is a knave, we have no other information to prove anything on the other two, except that Chris cannot be a knave since he tells the truth. Any of Chris and Alice could be the knight.

Bob is telling the truth but Chris is a liar

We still can't deduce anything from assuming Chris is a liar !
Since Bob teels the truth but they can't all be normals, we can remove the 'and' in the satement :
"Both Chris and Bob are normals or Alice and Bob are normals"
There are two statements but only one is right. Going further, the second statement can't be right, because if Alice and Bob are normals, since Chris is lying, there are no knights!
Wich shortens the statement to "Chris and Bob are normals" and so the knight must be Alice

So, we have two possible answers to the question, among wich we have many possibilities for the identity of every character :

(case 2) Alice Knight, Bob Knave, Chris Knave
(case 2) Alice Knight, Bob lying Normal, Chris Knave
(case 2) Alice Knight, Bob Knave, Chris lying Normal
(case 3) Alice Knight, Bob Knave, Chris righteous Normal
(case 3) Alice Normal (righteous or lying), Bob Knave, Chris Knight
(case 3) Alice Knave, Bob Knave, Chris Knight
(case 4) Alice Knight, Bob righteous Normal, Chris lying Normal

Now I see that the site you got this from choose Alice as the only answer, but this can only mean either they or I misinterpreted what a lying Chris may imply.

If I may add to your comment on Techidiot's answer (since I can't add a comment, not enough reputation yet), nothing excludes Chris from being a knight in his own statement. If he is a knight, his statement translates to Bob being a knave, otherwise there would, indeed, be a paradoxe in it.

$\endgroup$
  • $\begingroup$ Why Alice Knight, Bob Knave, Chris Knight is not an option? $\endgroup$ – matousc Jan 18 '17 at 17:49
  • 1
    $\begingroup$ @matousc We are given that there is exactly one Knight in the group. $\endgroup$ – David Schwartz Jan 18 '17 at 18:54
  • $\begingroup$ @DavidSchwartz Right. $\endgroup$ – matousc Jan 18 '17 at 19:02
4
$\begingroup$

Here is an opportunity for a 3×3×3 approach, conveniently sparse when accommodating just one knight.


             | B knight:         | B knave:          | B normal:         |
             |         C         |         C         |         C         |
             |knight knave normal|knight knave normal|knight knave normal|
             |                   |       ____________|       ____________|
      knight |                   |      :     :      |      :     :      | knight
             |       ............|......:............|......:............|
   A  knave  |      :     :      |      :            |      :            | knave  A
             |      :.....:......|......:            |......:            |
      normal |      :     :      |      :            |      :            | normal
             |      :_____:______|______:            |______:            |


Answer:   This leads to four possibilities, agreeing with Trenin’s conclusion.

           | B knight:         | B knave:          | B normal:         |
           |         C         |         C         |         C         |
           |knight knave normal|knight knave normal|knight knave normal|
           |                   |       ____________|       ____________|
    knight |                   |      :     :   1  |      :     :   2  | knight
           |       ............|......:............|......:............|
 A  knave  |      :     :      |  3   :            |      :            | knave  A
           |      :.....:......|......:            |......:            |
    normal |      :     :      |  4   :            |      :            | normal
           |      :_____:______|______:            |______:            |

           1.  Alice is the knight,  Bob is a knave,  Chris is a normal.
           2.  Alice is the knight,  Bob is a normal, Chris is a normal.
           3.  Alice  is   a knave,  Bob is a knave,  Chris is the knight.
           4.  Alice  is  a normal,  Bob is a knave,  Chris is the knight. 


First, Bob can only be either a knave or normal, as a knight cannot truthfully claim to be a normal.   This leaves just 2⁄ 3 of the original grid.

Bob said:   Both Chris and I (Bob) are normals and/or both Alice and I (Bob) are normals.


     B knave:           C                     B normal:           C
               knight knave normal                       knight knave normal
                      ____________                              ____________
       knight        :     :      |              knight        :     :      |
               ......:.....:......|                      ......:.....:......|
    A  knave  |      :                        A  knave  |      :
              |......:                                  |......:
       normal |      :                           normal |      :
              |______:                                  |______:

Then, resorting to formal logic, Chris’s if−then offering is true unless the if part is true while the then part is false.

Chris said:   If both Bob and I (Chris) are not knaves, then all of Alice, Bob and I are normals.

                           Truthfulness of Chris's claim

     B knave:           C                     B normal:           C
               knight knave normal                       knight knave normal
                      ____________                              ____________
       knight        :  t  :  t   |              knight        :  t  :  f   |
               ......:.....:......|                      ......:.....:......|
    A  knave  |   t  :                        A  knave  |   f  :
              |......:                                  |......:
       normal |   t  :                           normal |   f  :
              |______:                                  |______:

  t  =  True  because "If both Bob and I (Chris) are not knaves" is false
                      so it doesn't matter who is a normal

  f  =  False because "If both Bob and I (Chris) are not knaves" is true
                      but someone is not a normal

Last, these must be reconciled with the ability of Chris to tell the truth.


     B knave:           C                      B normal:          C
               knight knave normal                       knight knave normal
                      ____________                              ____________
       knight        : t-X :   t  |              knight        : t-X :  f   |
               ......:.....:......|                      ......:.....:......|
    A  knave  |   t  :                           knave  |  f-X :
              |......:                                  |......:
       normal |   t  :                           normal |  f-X :
              |______:                                  |______:

   t   =  possible          t-X  =  impossible, a knave (Chris) cannot tell a truth
   f   =  possible          f-X  =  impossible, a knight (Chris) cannot tell a lie

Only 4 of the cells remain as possible combinations.

$\endgroup$
  • $\begingroup$ +1 for that grid. I am not good with formatting :) $\endgroup$ – Techidiot Jan 19 '17 at 1:52
4
$\begingroup$

1. If Chris is a Knight, then Bob has to be a Knave because otherwise all of them would have to be Normal. Alice can be Normal or Knave.
2. Bob is not a Knight because if what he said is true, then he would be Normal.
3. If Alice is a Knight Bob and Chris are both Normal and telling the truth.
4. If Alice is a Knight and Chris is a Knave then Bob can be a Knave or a Normal (and lying).
5. If Alice is a Knight and Chris is a Normal (and telling truth) then Bob has to be a Knave.
6. If Alice is a Knight and Chris is a Normal (but lying) then Bob can be a Knave or a Normal (and lying).

The answer is:

1) Alice is the Knight (solutions 3-6 for other two).
2) Chris is the Knight (Bob is a Knave and Alice is Normal or Knave).

$\endgroup$
  • $\begingroup$ If your answer is mistaken, you can delete it and then edit and undelete later on, to ensure it doesn't get downvoted in the meantime for being wrong. $\endgroup$ – Rand al'Thor Jan 18 '17 at 14:18
  • $\begingroup$ I don't think there is any possibility of Chris to be a knight. His statement "all of us will be normal" is contradicting the rules right? $\endgroup$ – Techidiot Jan 18 '17 at 14:40
  • $\begingroup$ @Techidiot The bit if both Bob and I are not knaves is kind of tricky. Question is, if existence of one knave make the condition true or false. $\endgroup$ – matousc Jan 18 '17 at 14:56
  • 2
    $\begingroup$ @Techidiot A knight can say "If two plus two is five then two plus two is five", can't he? Or a knight can say "If I'm a knave, then I'm a knave". A knight can even say "if I'm a knave, the rules of this puzzle are broken". $\endgroup$ – David Schwartz Jan 18 '17 at 18:52
  • $\begingroup$ @DavidSchwartz I agree with you which is why I think the puzzle is broken. $\endgroup$ – kaine Jan 18 '17 at 19:20
2
$\begingroup$

I am not impressed by this interpretation but it is the only way I have found to match the source's answer.

A knight must say an answer which is true. A knave must say an answer which is false. A normal must say an answer which is true or false (or anything for this purpose).

If Bob is a knight:

we have a contradiction because Bob is claiming to be an normal.

If Chris is a knight and Bob is a normal:

we have a contradiction because he claims he is a normal.

If Chris is a knight and Bob is a knave:

Chris is saying "If A then B" but "A" is not true and "B" is obviously false. His statement, therefore, is neither true nor false. This is equivalent to saying "If I have only one hand, the moon is made of wensleydale". It isn't a lie but it also isn't quite true. He can't be knight, therefore, as his statement isn't true.

Therefore:

Alice is a knight if a single option for her is possible. If Chris is a lying normal and Bob is a truth telling normal, we have no contradictions so this option is valid.

$\endgroup$
  • $\begingroup$ What is the difference between false and "completely impossible"? $\endgroup$ – David Schwartz Jan 18 '17 at 18:51
  • $\begingroup$ @DavidSchwartz Nothing. That wording just stressed that it is obviously false. I hope my edit clarified this. $\endgroup$ – kaine Jan 18 '17 at 19:10
  • 2
    $\begingroup$ But it's not false. "If I have only one hand, the moon is made of wensleydale" is precisely true. The reason for using the word "if" is specifically to point out that you are only claiming the second thing is true if the first part is true, otherwise you're not. "If X then Y" does not mean the same thing as "X and Y". $\endgroup$ – David Schwartz Jan 19 '17 at 2:58
  • $\begingroup$ @David I'm not an idiot. I explain that it isn't a false statement. It can be interpreted as neither true or false. I dislike that interpretation which is why I repeatedly said the puzzle is broken. $\endgroup$ – kaine Jan 19 '17 at 3:03
  • $\begingroup$ I don't see how it can be interpreted as neither true nor false. It's true. The whole reason for the use of the word if is precisely to indicate that one is only claiming the second part is true if the first part is. It's possible the person making the question doesn't understand what the word "if" means, but it's also possible they just screwed up. $\endgroup$ – David Schwartz Jan 19 '17 at 3:08
2
$\begingroup$

The Knight is

Alice

Reason

Bob says that either he and Chris are normal or he and Bob are normal. One of which is true. If both are false, he will be a Knave and is lying. Also, his assumption of all three being normal is false and hence he can be excluded from the list.

Chris is not a Knight as he claims that if he is not Knave he is a normal. So, either he is a Knave or Normal. This excludes Chris from the list. If he was a Knight, the right statement could have been "If I am not a Knight, I am a normal". The ambiguity is just for complicating a simple puzzle.

For Alice to be the Knight, we will need Bob to be not-lying Normal and Chris to be lying Knave.

So, by excluding Chris and Bob from the given cases, Alice is the Knight! There is no possibility of the other two to be the Knight with the given cases.

$\endgroup$
  • 1
    $\begingroup$ I agree with your deduction about Chris. If nobody will provide the reason why it is incorrect soon, I will accept your answer. $\endgroup$ – matousc Jan 18 '17 at 15:06
  • 4
    $\begingroup$ You are definitely wrong about Chris as stated. In the case of Chris being a knight, Chris's statement can be simplified to essentially "If Bob is normal, I (and Alice) are normal"'. This contradiction just means as stated that Bob isn't normal or Chris isn't a knight. $\endgroup$ – kaine Jan 18 '17 at 18:36
  • $\begingroup$ @kaine If Chris is the Knight, he will never lie about his identity and will never say that I am/will be normal if X/Y is not Knave. If he is a knight, he will say it directly. The ambiguity is just for the sake of creating confusions. The answer is too simple here. Check the second part of humn's answer and you shall get it. $\endgroup$ – Techidiot Jan 19 '17 at 1:50
  • $\begingroup$ @Techidiot. Humn's answer doesn't eliminate Chris = Knight. $\endgroup$ – kaine Jan 19 '17 at 3:14
  • $\begingroup$ @Techidiot You are adding extra restrictions to the Knight that aren't in the question. All that is required of the Knight is for his statements to be true, and all that is required for Chris's statement to be true is for one of Chris or Bob to be a Knave. In your framework of the extra-virtuous Knight, he could be doing this so as not to directly accuse Bob of Knavery. $\endgroup$ – Wlerin Jan 19 '17 at 4:08

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.