The drinker paradox (also known as the drinker's theorem, the drinker's principle, or the drinking principle) is a theorem of classical predicate logic that can be stated as "There is someone in the pub such that, if he or she is drinking, then everyone in the pub is drinking." It was popularised by the mathematical logician Raymond Smullyan, who called it the "drinking principle" in his 1978 book What Is the Name of this Book?[1]
The apparently paradoxical nature of the statement comes from the way it is usually stated in natural language. It seems counterintuitive both that there could be a person who is causing the others to drink, or that there could be a person such that all through the night that one person were always the last to drink. The first objection comes from confusing formal "if then" statements with causation (see Correlation does not imply causation or Relevance logic for logics that demand relevant relationships between premise and consequent, unlike classical logic assumed here). The formal statement of the theorem is timeless, eliminating the second objection because the person the statement holds true for at one instant is not necessarily the same person it holds true for at any other instant.
The formal statement of the theorem is
\existsx\inP,[D(x) → \forally\inP,D(y)].
where D is an arbitrary predicate and P is an arbitrary nonempty set.
The proof begins by recognizing it is true that either everyone in the pub is drinking, or at least one person in the pub is not drinking. Consequently, there are two cases to consider:[1]
A slightly more formal way of expressing the above is to say that, if everybody drinks, then anyone can be the witness for the validity of the theorem. And if someone does not drink, then that particular non-drinking individual can be the witness to the theorem's validity.[2]
The paradox is ultimately based on the principle of formal logic that the statement
A → B
What is important to the paradox is that the conditional in classical (and intuitionistic) logic is the material conditional. It has the property that
A → B
So as it was applied here, the statement "if they are drinking, everyone is drinking" was taken to be correct in one case, if everyone was drinking, and in the other case, if they were not drinking—even though their drinking may not have had anything to do with anyone else's drinking.
Smullyan in his 1978 book attributes the naming of "The Drinking Principle" to his graduate students.[1] He also discusses variants (obtained by replacing D with other, more dramatic predicates):
As "Smullyan's ‘Drinkers’ principle" or just "Drinkers' principle" it appears in H.P. Barendregt's "The quest for correctness" (1996), accompanied by some machine proofs.[3] Since then it has made regular appearance as an example in publications about automated reasoning; it is sometimes used to contrast the expressiveness of proof assistants.[4]
In the setting with empty domains allowed, the drinker paradox must be formulated as follows:[5]
A set P satisfies
\existsx\inP. [D(x) → \forally\inP. D(y)]
Or in words:
If and only if there is someone in the pub, there is someone in the pub such that, if they are drinking, then everyone in the pub is drinking.