# Two Truths and a Lie: a logic puzzle

I'm crafting an answer to the game Two Truths and a Lie: each person playing the game says three statements (usually about themselves, though I'm ignoring that requirement for this), two of which are true, and one of which is false. I think I've got three statements for which there is exactly one consistent solution to which statement is false. Here they are:

1. Either this statement is false and #2 is true, or this statement and #3 are both true.
2. If this statement is true, then #1 is false and #3 is true.
3. It is false that the preceding two statements are both true.

I believe there is only one correct solution, (i.e. exactly one of the statements must be false and the others true to maintain consistency) but I'd like to make sure. :)

I don't believe there's a correct solution.

First, regarding statement 2:

Without even looking at the other statements, statement 2 can't be false because of Curry's paradox. Since every statement in your problem must be true or false, it must be true.

Next, regarding statement 1:

Since we already established statement 2 to be true, statement 1 must be false. But this means the clause "this statement is false and #2 is true" is true, so statement 1 must be true. This is a contradiction and the puzzle is thus unsolvable.

Finally, regarding statement 3:

Doesn't matter. There wouldn't be a solution no matter what statement 3 said.

• I don't think this is a case of Curry's Paradox, (thanks for the link!) but let me check my discrete math textbook just in case. rot13(lbh nffhzr ahzore gjb gb or snyfr, ubj vf gung n pbagenqvpgvba?) Jun 25, 2020 at 6:04
• @AshtonWiersdorf rot13(Jurer qb V nffhzr ahzore gjb gb or snyfr?) Jun 25, 2020 at 6:09
• You are correct—this does have a problem. I forgot that you can rewrite P → Q as ¬ P ∨ Q, so it is indeed always true. Thank you so much for catching that! Jun 25, 2020 at 6:21
• Wow. Yup. Curry's Paradox exactly. You are correct on all accounts. 👏 Any suggestions on how to fix it so it's still tricky? Jun 25, 2020 at 6:31
• @AshtonWiersdorf: It isn't tricky in the first place. #1 gives you all the information you need to solve the puzzle without even reading the other 2 statements. But perhaps statement 2 can just say: "#1 is false and #3 is true" Jun 25, 2020 at 12:06

This puzzle does work, the solution is that Statement 2 is the lie.

For my explanation, I will write like one would write boolean expresions in java. If I wrote "1" that means "1 is true". Same idea with "2" or "3". "!" means not, so "!1" means "1 is not true". "&&" means "and", "||" means "or". Parenthesis work like in math. "if(x){y}" means "if x is true, y must be true" "==" means "is equal to" (I hope that was obvious...), this is not java but "--->" means "simplifies to". Also "und" means "undefined"

Translating the problem to java gives the following:
Statement 1: ((!1 && 2) || (1 && 3)) == 1
Statement 2: if(2){!1 && 3} == 2 Statement 3: !(1 && 2) == 3 Game rules: if(1 && 2){!3}, if(1 && 3){!2}, if(2 && 3){!1}, if(!3){1 && 2}, if(!2){1 && 3}, if(!1){2 && 3}

The best strategy is to assume each statement is false and use proof by contradiction to see if it works out or not.

Step 1: Assume Statement 1 is false:

Because of game rules, 2 && 3
Lets falsify statment 1: (!1 && 2) || (1 && 3) == 1
(!1 && 2) || (1 && 3) == false
---> (true && true)||(false && true) == false
---> true || false == false
---> true == false This is clearly impossible so !1 == und. 1 must be true.

Step 2: Assume Statement 3 is false (I'm skipping 2 for a reason):

Because of game rules, 1 && 2
Lets falsify statment 3: !(1 && 2) == 3 !(1 && 2) == false
---> 1 || 2 == true; This is because of some law that I forgot the name of, but if you work it out its true. I'll give the first comment with the name of the law a shoutout, thanks in advance.
true || true = true; substituted 1 and 2 because of game rules
This obviously checks out, but before saying 3 can be false, we must check if 1 and 2 can be true. I have already proven that 1 must be true. Can two be true?
if(2){!1 && 3} == true
und && 3 == true
1 cannot be true, so 2 can't be true either. Therefore, 3 must be true.

Step 3: Assume Statement 2 is false:

Because of game rules, 1 && 3
Lets falsify statment 2: if(2){!1 && 3} == 2
if(2){!1 && 3 == true} == false ---> if(2){und && 3 == true} == false ---> if(2){und == true} == false This clearly works as undefined can never equal true. 2 must be false.

All this work finally shows that:

The only possible solution is that Statement 2 is the lie, and Statements 1 & 3 are both true.

This was a great puzzle. I actually switched my answer 7 times in the more fun puzzle solve "Is it possible to use these three statments in a two truths and a lie?" when compared to "Which statment is a lie?" Thanks for the great puzzle, I had a lot of fun solving it!

• accidentally hit post... give me a sec to write my explanation. Jun 25, 2020 at 3:20
• I don't think this is right, because rot13(fgngrzrag gjb orvat snyfr yrnqf gb pbagenqvpgvba). Jun 25, 2020 at 5:08
• This is the answer I was going for, but on further reflection, @JosephSible-ReinstateMonica's answer is the correct one, I believe. I'll rewrite this. Bit of a meta question: what's the best way to submit edits? Should I close this question and open another? Or just add UPDATE at the bottom and let you guys update your answers? (I'm new to this bit of SE) Jun 25, 2020 at 6:22
• @AshtonWiersdorf I think it is better if you create a new question. Jun 25, 2020 at 8:58
• @justhalf Rather than "undefined", perhaps it should say "There is as yet insufficient data for a meaningful answer" Jun 25, 2020 at 12:16

#1 is false

Because statement 1 uses either Implying there are only two possibilities: 1-F 2=T implying (3=T) or 1=T 3=T implying (2=F). Another option could be they’re all false..but it leaves no room for that therefore falsifying itself in its rigidity.

Either this statement is false and #2 is true, or this statement and #3 are both true.”

“If this statement is true, then #1 is false and #3 is true.”

Assuming there is indeed one false answer this validates my prior reasoning thus being true

“It is false that the preceding two statements are both true.”

Assuming there is indeed one false answer this validates my prior reasoning thus also being true.

• I don't understand your reasoning for 1 being false. What's the contradiction in there being two possibilities? Oct 18, 2023 at 10:48
• but then #1 is false and #2 is true, with means (by the first part of the OR condition) that #1 is true Oct 18, 2023 at 11:24