I came along this puzzle somewhere it a logic-related lecture:
There are two prizes: Prize A and prize B.
When you make a true statement, then you win prize A.
When you make a false statement, then you do not win prize A
What do you have to say in order to win prize B?
The solution, for those who struggle with it:
You have to say: "I will not win any prize" (or alternative formulations, like "I will win neither A nor B")
It's easy to show that this solution is "correct". It's also easy to explain why it is correct, and that it's "the only one that is possible". It's easy to make reasonable statements about the solution in hindsight.
Please do not post answers that only explain the solution!
This question is obviously not about the solution itself, but about how to find the solution - and not only about how to find it, but about how to find it systematically.
I'm not sure whether the solution cannot be derived with plain first- or even second order logic. The main caveat here seems to be that the problem description contains a statement about a statement that is not made yet (namely the statement that the answerer will make).
Some (very) basic thoughts:
One could define:
- $A$ = I will win prize A
- $B$ = I will win prize B
- $S$ = The statement that has to be made
Then the problem description is
- $S \to A$
- $\neg S \to \neg A$
But that's naive and does not bring any progress (as it does not involve $B$ in any way)
One could try to start with the truth table of the possible outcomes:
- $\neg A$ $\neg B$
- $A$ $\neg B$
- $\neg A$ $B$
- $A$ $B$
and somehow argue that one has to achieve one of the two last combinations. But there's this chicken-egg problem that the outcome will depend on the statement that one is just about to derive...
I also wondered whether the "Winning" can be part of the variable (that's where higher order logic might come into play). Maybe it would be necessary to define
- $w(X)$ = I will win prize X
- $s(A, B)$ = The statement to find (about everything that exists in the universe: A and B)
- $s(A, B) \to w(A)$ : For a true statement, one wins A
- $\neg s(A, B) \to \neg w(A)$ : For a false statement, one does not win A
but (maybe due to my lack of familiarity with higher-order logic), I don't see how one could strictly mathematically and systematically derive the solution
$s(A, B) = \neg w(A) \land \neg w(B)$
I always end up with arguing like "this must be the solution, because I know that this is the only solution that works".
Does anybody have hints or ideas that would undoubtedly work even if the solution was not known beforehand?
There are several answers now. While they are interesting and helpful, I cannot say that any of them is perfectly satisfactory. (This does not say anything about the answers per se, but maybe just about my ability to understand them - no offense!). All of the current answers seem to rely on several assumptions, which "turn out to be true", but seem to be hard to justify in the first place. I'll try to explain my doubts:
As mentioned in my third approach above, the "universe" for this setup seems to consist of two elements - namely the prizes A and B. So one might assume that the solution has to involve statements solely about these two elements. Particularly, the assumption would be
- that "winning" can be encoded in a way that $A$ just means "I will win A" (formally: That the statement will consist of first-order logic)
- or that a statement about $A$ and $B$ will be sufficient (formally: That the statement will be a simple second-order logic predicate like $s(A, B)$)
But I wonder how this is justified. For example, the necessary statement could also be something like this:
"If the condition for winning prize A referred to prize B, and my statement was false, then not winning B would cause a contradiction to the condition for not winning prize A"
This is just intended as an overly complex example, showing that the "statement" might not only be about winning A or B, but also about the rules of the game, or (self-referentially!) about the statement itself. The point is: When looking at the problem description initially, one cannot be sure that something like this will not be ncessary...
Many arguments in the current answers are aiming at finding a paradox/contradiction. While this does indeed yield a solution (and, as ffao mentioned in his answer, could even lead to "trivial" solutions), there does not seem to be a reason to assume this.
There is no statement about "winning B" in the problem description. So it certainly sounds reasonable to say: "In order to cover B in any way, I have to make a statement about B", and consequently, "I have to make a statement that is contradictory when I don't win B". But I still don't see a way to find the right statement systematically.
A slight variation:
As ffao pointed out, there may be several possible solutions. Now, imagine (just for the sake of the argument) that the problem description had contained the additional rule:
- You may not say that you will win neither A nor B
Iff (if and only if) I understood the answers correctly, then, as as ffao said, the statement
"I will not get exactly one prize"
would then still have been a valid solution - but this would not have been found with the methods that have been described in any of the other answers.
(Another remark: Back when I was first confronted with this, I wondered whether it was possible to write a Prolog program to solve this - that is: An algorithm...)