【酒飲みのパラドックス】 バーに飲んでないやつはいないらしい【論理学】

バーにいるある人は、もし酒を飲んでいるならバーにいる全員が酒を飲んでいるよ

この奇怪な文章、実は「常に正しい」というのです。


これは、「Drinker paradox(酒飲みのパラドックス)」というパラドックスです。
良さげな日本語の解説記事が見当たらなかったので、私なりに記事を書いてみようと思った次第です。
(参考:Drinker paradox (Wikipedia英語版))

数学、論理学のド素人が書いているため、間違い等あればご指摘いただけると幸いです。



概要のパラドックス

まず初めに、元の文章(英語)を置いておきます。
最初の日本語の文章は私が勝手に訳したものなので、原文とは若干のズレがあるかもしれません。

"There is someone in the pub such that, if he or she is drinking, then everyone in the pub is drinking."

Drinker paradox (Wikipedia)

このパラドックスの概要については、WikipediaをDeepL先生に翻訳していただいたものをお借りすると……

これは数理論理学者のレイモンド・スマリヤンによって広められ、彼は1978年の著書『What Is the Name of this Book?(この本の名前は何ですか?)』の中でこれを「drinking principle(飲酒の原理)」と呼んだ。

この文の一見したところ逆説的な性質は、自然言語における通常の記述方法に由来する。


Drinker paradox (Wikipedia) を日本語訳したもの

特に大切なのが最後の行。
このパラドックスの不思議さは、これが「自然言語(私たちが普段使う言語)」で書かれている、ということに由来します。
論理学におけるとある定理を自然言語で書き表した結果、一見奇妙な文章が生まれたというわけです。


まず、ネタバレ

このパラドックスについて解説する前に、なぜこのパラドックスが正しいと言えるか、ネタバレしてしまおうと思います。
なぜこのパラドックスが正しいかというと……

∃x ∈ P [ D(x) → ∀y ∈ P [D(y)] ]
(Dは任意の命題関数、Pは任意の空でない集合)

だからです。

あ〜あ、ネタバレしちゃった〜……


……なんで先にこれを書いたかというと、これで理解できる方にとって、これ以降の文章はあまり必要がないと思われるからです。
というかそういう方はwiki読んでください。
コピペしてDeepL翻訳にでもGoogle翻訳にでも突っ込んでください。
(あとよければこの記事に修正など……)

これ以降は基本的に、論理学や数学についてそこまで詳しくない人向けのものになります。
先ほどの数式が理解できない方もご安心ください。


文変形

まず、見やすさのために文章を少し書き換えます。

バーにいるある人は、もし酒を飲んでいるならバーにいる全員が酒を飲んでいるよ

バーには「もしその人が酒を飲んでいるならバーにいる全員が飲んでいる」という人がいるよ

これは大したことはしていなくて、

ある人は〇〇である

「〇〇である」という人がいる

という書き換えができそうなので、これを使っただけです。

(今知りたいのは真偽なので、もちろん、細かいニュアンスは無視します)


次に、お話を整理します。

バーには「もしその人が酒を飲んでいるならバーにいる全員が飲んでいる」という人がいるよ

バー:人間がいる
条件:「 X(人間) が酒を飲んでいる」ならば「バーにいる全員が酒を飲んでいる」
結論:条件を満たす X(人間) がいる

括弧の中身を一旦「条件」と置き、
「その人(という人)」「 X(人間)」と書き換え(良心的なことに、今回使う数学っぽい記号(?)はこれだけです)、
その他いろいろしました。
( X(人間) が特定の人を指しているわけではないということにご注意ください)

用心深い方は、この書き換えが正しいか(少なくとも真偽を維持できていそうか)、ゆっくり確認してみてください。

(厳密なことをいうと、この文章の真偽を問うのに「バーに人間がいる」を前提とみなしていいのかという問題はありますが、
ここでは文の「バーにいる」の部分を前提だと解釈します。
ここを前提として扱わない場合、バーに人がいない場合に文章は偽となります。)


「ならば」ならば

この文章の正しさをきちんと理解するためには、超基本的な前提が必要です。

といっても、日常的な「日本語」をもとに考えればとても簡単で当たり前な話ですので、あまり気張らずいきましょう。


その前提とは、「ならば」の特性です。

「ならば」の意味を知らない人はいないでしょうけれど、意外に多くの人が見落としている「ならば」の特性というのがあるのです。


例文から始めましょう。

ツカサ「僕は、雨が降っている ならば 常に 傘を持っているよ」

なんの変哲もないセリフですね。

(もちろん、真偽と関係ないところは無視します)

ここで、ツカサくんがこのセリフ通りに行動しているか観察してみましょう。
ツカサくんのセリフが嘘であれば、「嘘つき!」と叫んでください。
(そこのあなたがですよ)

シチュエーション1
・雨が降っている
・ツカサくんは傘を持っている

なるほど、この場合、ツカサくんのセリフは正しそうです。
雨が降っていたので、セリフ通り傘を持ってきてくれました。

シチュエーション2
・雨が降っている
・ツカサくんは傘を持っていない

嘘つき!!!!!
雨が!!!降っているのに!!!!!
なぜ傘を持っていない!!!!!!!

はぁ……はぁ…………この場合、ツカサくんのセリフは嘘だったようですね。
(家を出た時に雨が降っていなかった……?あなたは何を言っているんですか……?)

さて、問題はここからです。

シチュエーション3
・雨が降っていない
・ツカサくんは傘を持っていない

ここで叫んではいけませんよ。
雨は降っていないのですから、傘を持っていなくても不思議ではありません。
この場合も、ツカサくんのセリフは正しいと言えそうです。

シチュエーション4
・雨が降っていない
・ツカサくんは傘を持っている

これはツカサくんのセリフと矛盾しているでしょうか……?

答えはNoです。
ツカサくんは「雨が降っているとき」の話しかしていないので、
「雨が降っていないとき」に傘を持っていても、なんの問題もありません

というより、「常に」と言い切るくらいですから、常時傘を携帯していると考えた方が自然でしょうね……。


これらの例が示唆していることその一は、
「 『ならば』が必ずしも因果関係を表しているとは限らない 」ということです。
あくまでも「ならば」は、今回の場合は「傘を持っている条件」を示しているに過ぎません。

シチュエーション1は、
「雨が降っているのを見て傘を持った」場合と、
「いつも傘を持っている」場合のどちらもありえますからね。


そして、示唆していることその二のために、ここまでの話をまとめたものがこちらになります。

$$
\begin{array}{c c|c}
雨が降っている? & 傘を持っている? & セリフは正しい? \\ \hline
◯&◯&◯\\\hline
◯&×&×\\\hline
×&◯&◯\\\hline
×&×&◯\\
\end{array}
$$

ここで注目してほしいのは、
「雨が降っていない」場合、
セリフは常に正しいということです。

これは先ほども言った通り、「雨が降っていないとき」の話はしていないからなのですが、このことが今回のキーになります。

より一般化すると、

「Aである ならば Bである」
という文章は、
「Aでない」とき、常に正しい。

前提から間違っているの定理

ということになります。
今回はこれを「前提から間違っているの定理」と呼ぶことにします。
(あくまで「今回は」です。意気揚々とこの定理の名前を人に話すのはやめてください)

このことから、

「私に羽があったなら、天高く飛ぶのに」
「宇宙人が襲来してきたなら、俺が君を守るよ」
「一億円が当たったなら、俺は全額寄付するね」
「運命の人がいるなら、私に会いに来るはずよ」

これらの文章は全て、常に正しいということになります。


これがわかれば、もうこのパラドックスの8割は倒したと言っていいでしょう。
では最後に、パラドックスの証明に取り掛かりましょう!


パラドックス、解決編

書き換えられた文章を、もう一度置いておきます。

バー:人間がいる
条件:「 X(人間) が酒を飲んでいる」ならば「バーにいる全員が酒を飲んでいる」
結論:条件を満たす X(人間) がいる

お察しの通り、パラドックスのポイントは「ならば」です。


まず、「場合分け」をしていきましょう。

  1. 全員が酒を飲んでいる

  2. 酒を飲んでいない人がいる

少し考えれば、1か2のどちらかしかありえないことがわかるでしょう。(バー:人間がいる により)
では早速、一つずつ示していきましょう。


1. 全員が酒を飲んでいる場合

これは簡単ですね。
バーにいる全員が酒を飲んでいるのですから、誰を X(人間) としても、

「 X(人間) が酒を飲んでいる」→ ◯
「バーにいる全員が酒を飲んでいる」 → ◯

より、

条件:「 X(人間) が酒を飲んでいる」ならば「バーにいる全員が酒を飲んでいる」
結論:条件を満たす X(人間) がいる

ということが示せた。

これは問題ありません。
問題は次です。


2. 酒を飲んでいない人がいる場合

この場合を示すトリックは、
「酒を飲んでいない人を X(人間) とする」ことです。
こうするとどうなるか、見ていきましょう。

「 X(人間) が酒を飲んでいる」→ ×
※ X(人間) を「酒を飲んでいない人」としたため
「バーにいる全員が酒を飲んでいる」 → ×

「前提から間違っているの定理」より、
条件:「 X(人間) が酒を飲んでいる」ならば「バーにいる全員が酒を飲んでいる」
は正しい。

場合分けの前提より、酒を飲んでいない人がいるため、
結論:条件を満たす X(人間) がいる
ということが示せた。

と…………示せてしまいました!!!

1の場合と2の場合で全てなので、パラドックスは正しかったとわかりました!!!嬉しい!!!

(つまり、タイトルの「バーに飲んでないやつはいないらしい」というのは、間違った解釈であることがわかるわけですね)


Q.E.D.

……なんかモヤモヤする?
ええもちろん、だからパラドックスなのです。


なぜモヤモヤするのか、というのも、少し考えてみましょうか。
思うに、大きく分けて二つ、

  1. 「もしバーに酒を飲んでいる人がいるなら、バーにいる全員が酒を飲んでいるよ」という意味だと勘違いしてしまう

  2. 「X(人間)」の対象が、時間とともに変化することに違和感を覚える

1は、皆様の方で考えてみてください。

2は、自然言語において「AならばB」と使うときは、「Aならば常にB」であり、なおかつAやBが対象とするものは変わらないことが多い、ということです。
具体的には、酒を飲んでいない人がいる場合、その人が酒を飲んだり店を出たりした瞬間に「X(人間)」の対象からは外れ、別の人が「X(人間)」になる、という部分についてですね。
「条件に当てはまる人が一人でもいれば良い」からこそこのようなことが起きるのですが、普段「ならば」を使う上では、なかなかこのようなことは起きませんよね。

(原文でも、これと似たようなモヤモヤ感を覚える人が多いようでした)



と、ここまで説明して参りましたが、
それでもどこか腑に落ちない、というのは、「パラドックス」というものの醍醐味でもあるように思えます。

もしもあなたが、数学や論理学には大して興味がないとしても、より「腑の落ちる所」を探り、ここまでの証明をゆっくりと噛み砕き、消化するというのは、あなたの人生になんらかの価値をもたらすかもしれません。


私に羽が生えていたならね。





Next : P.S. 酒飲みのパラドックスへ

この記事が気に入ったらサポートをしてみませんか?