I have attached below a propositional logic riddle that I am having difficulty solving. It would be great if one of you could post a solution to this problem with some clear and concise explanations so I could understand what's going on. My professor isn't that great at teaching and I've looked at a bunch of videos and websites but am still for some reason having difficulty. Thanks a bunch!

enter image description here

  • Carl is a spelling mistake, right?
    – gnasher729
    Commented Sep 29, 2014 at 7:36
  • Yes, it should be "Betty is a Knight, but Carla is a Knave." Commented Sep 29, 2014 at 7:37
  • @user3367265 there are legitimate answers to your question. Why should it be deleted?
    – virmaior
    Commented Oct 28, 2014 at 9:00

3 Answers 3


Think of "Knight" true and "Knave" as false. Then expand by considering that what each person says is a type of conditional. i.e., if Albert is a knight than what he says is true. If he's a knave, then it's false.

This will give you the following translations:

1. A -> (B & ~C)
2. B -> ((A & B) v (A & C) v (B & C))
3. C -> (A & B)

For (a), we begin by adding

4. | C  Assumption that C is  knight [i.e., not a knave]
5. | A & B MP 4,3 
6. | A &E 5
7. | B & ~C MP 1,6
8. | ~C  &E7
9. | C & ~C = Contradiction
10 ~C Contradiction Elimination 4-9

For (b), we are trying to prove (A &B) v (~A & ~B). This one is a little tougher to crack, because we want a disjunction as a conclusion. We can get this if we can prove either half or if we can prove something else that is incoherent and turn into the two halves. Here it is quite helpful to know that Carla is a knave, because that means we can use that in conjunction with 2.

  • 1
    I'm not sure, you paraphrased Betty correctly: Doesn't she mean "exactly two"? i.e. ((A ^ B ^ ~C) v (A ^ ~B ^ C) v (~A ^ B ^ C))?
    – Einer
    Commented Sep 29, 2014 at 15:14
  • @Einer good point, but by default, mathematicians, and (I'm extrapolating) logicians mean no more than they say, so "There is a pair of adjacent integers greater than ten" is OK becuase it doesn't say "There is exactly one pair of adjacent integers greater than ten." Thus virmaior may be translating it as intended. Certainly the "exactly two" interpretation is not necessary to solve the problem, neither is the "at least two" interpretation.
    – AndrewC
    Commented Sep 29, 2014 at 18:03
  • @AndrewC What can I say? You are right: It doesn't change the logic one bit (that's why I upvoted this answer). Still: Since it does not change anything really I just thought it might be worth mentioning as a comment. It does not reduce the quality of this answer though.
    – Einer
    Commented Sep 29, 2014 at 18:24
  • @Einer Agreed. Seems we're the only two people casting any votes of any form on this question so far then! (Unless you count acceptance as a vote.)
    – AndrewC
    Commented Sep 29, 2014 at 21:52
  • Yeah, I'm really not sure on that translation but precisely because it is unclear I translate it as above.
    – virmaior
    Commented Sep 30, 2014 at 2:55

(a) If Carla were a Knight, then she would say the truth. Since she said that Albert is a Knight, Albert would indeed be a Knight. Therefore Albert would say the truth. Because he says the truth, and he says that Carla is a Knave, Carla would be a Knave. Contradiction.

(b). Betty says there are two Knights. Either she says the truth, then since Carla is a Knave, Albert and Betty must be the two Knights. You can check that all statements made agree with this. On the other hand, if Betty doesn't say the truth, then she is a Knave, which means Albert didn't say the truth, which means he is a Knave as well. You can check that all the statements made agree with this.

  • Thanks, I already understood how to do it in my mind, but I was wondering if there was a more formal way--using propositional logic and rules of inference and etc.--rather than just doing it in my head? Or am I over-complicating it? thanks. Commented Sep 29, 2014 at 7:49
  • Maybe you are. By using strong formalism, you run the danger of destroying your intuition and with that your understanding of the problem. The answer that you accepted takes ten hard to understand lines to prove the simple case (a) and doesn't even try to prove the second case. Now consider that this is just a really simple problem.
    – gnasher729
    Commented Sep 29, 2014 at 21:46
  • I agree with gnasher that you need intuition to crack these problems, but you do then need the formal logic if you want to be sure your intuition is correct. I'm quite sure virmaior used some intuition to get to that solution, but then went the extra step and /checked/ that intuition.
    – digitig
    Commented Sep 30, 2014 at 17:58
  • There are two problems with this: (a) it gets very complicated, as evidenced by the fact that the second part of the question wasn't answered. (b) we are now in the realm of manipulating tiny little letters on a screen, which is an error prone thing to do, and very hard to get right, and very hard to verify. And case (a) is pretty easy, it doesn't even need the information that "knaves always lie".
    – gnasher729
    Commented Oct 1, 2014 at 17:19

You can actually know what each of them is.

If Albert is a Knight, then he tells the truth. And so Betty is a Knight, and Carla is a Knave. (And so, (b) is easily proved: either Albert is a Knight, and so is Betty, because he truthfully said she is a Knight, or Albert is a Knave, and so is Betty, because he lied that she is a Knight.)

The only other possibility is that Albert is a Knave. If so, he lies, and Betty is a Knave, and Carla a Knight. But... if Carla is a Knight, she only tells the truth, and would not tell us Albert is a Knight. (Which is the contradiction required to prove (a): if Carla is Knight, then Albert is a Knight, for she said so. But if Albert is a Knight, then Carla is a Knave.)

So, Albert and Betty both are Knigths. And Carla is a Knave.

  • And Carla is a Knave. Which should be obvious. What else would you expect from a lady that is married to Nicolas? Commented Jan 30, 2018 at 0:31

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .