The original question was: How many are speaking truth in the conversation?

Here is how I am addressing the problem:

I would get to this:

  1. $¬B$
  2. $C$
  3. $A$
  4. $¬A \land ¬B \land ¬C$
  5. $¬A \land ¬C$

This set, has a contradiction, from which I can presume that B is lying at some point. However, there is the possibility that B is telling the truth and at the same time lying. I was considering, modelling this like:

$B \rightarrow C \land ¬A \land ¬C$, (like saying, if B is telling the truth, then it must be the case that...), however this does not model when B might be a truth-teller or a liar, because if B is telling the truth there is a contradiction... How should I address this? any advice?


1 Answer 1


The statements are not binary: we have (1) a truth teller: all statements are true, (2) always lies: all false (3) told a lie: at least one statement is.

$A_1$ said "B always lies": If that stement, $A_1$, is true. Then $B$ always lies (all statements $B_1$ and $B_2$ are false). Conversely, if one of $B_i$ is true, then statement $A_1$ is false.

$$A_1 = \lnot (B_1 \lor B_2)$$

$B_1$: "C is a truth-teller": Similarly, $B_1$ is true iff all $C_i$ are true, but there is only $C_1$, thus

$$B_1 = C_1$$

$C_1$: "A told the truth":

$$C_1 = A_1$$

$D_1$ "None of A, B, and C is a truth-teller"

$$D_1 = \lnot (A_1 \lor B_1 \lor B_2 \lor C_1) = (\lnot A_1 \land \lnot B_1 \land \lnot B_2 \land \lnot C_1)$$

$B_2$: "Both A and C told lies". Meaning there is $i, j$ such that $A_i$ and $C_j$ are false. But there is only $A_1$ and $C_1$. Thus,

$$B_2 = (\lnot A_1 \land \lnot C_1)$$

Then, it is easy to verify that $A_1, B_1, C_1, D_1$ are false, and $B_2$ is true.

  • $\begingroup$ Ok, I understand it, thanks for the answer. However, what happens in the case that I don't know whether people is telling the truth, or lying or is ambiguous? How can I model that situation? (knowing that anyone could be a truth teller, a liar or ambiguous) $\endgroup$
    – dpalma
    Oct 5, 2015 at 21:47
  • $\begingroup$ You can model the situation as above, as you mainly end up with a number of "equations" that may or may not lead to a contradiction. Perhaps your question is how to check for consistency among them? $\endgroup$
    – Weaam
    Oct 5, 2015 at 22:08
  • $\begingroup$ it was easier for me to start with C. $\endgroup$ Oct 5, 2015 at 22:30
  • $\begingroup$ My question is, how to model the situation in which I do not know who tells the truth, who lies, and who tells truths and lies. How to relate honesty levels using prepositional logic, $\endgroup$
    – dpalma
    Oct 5, 2015 at 22:32
  • $\begingroup$ If no one seems to lies, based on the (logical) consistency of their statements, what makes you believe they might be dishonest? Define honesty level? $\endgroup$
    – Weaam
    Oct 5, 2015 at 22:35

You must log in to answer this question.

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