当サイトを閲覧いただきありがとうございます。 本記事は「理髪師のパラドックス」について解説します。
ある村に一人だけ床屋がいて、「自分で髭を剃らない人全員を剃り、自分で剃る人は一人も剃らない」という決まりで営業しています。ではこの床屋自身の髭は、誰が剃るのでしょうか。剃っても剃らなくても決まりに反してしまいます。ラッセルのパラドックスを日常の言葉に置き換えた形として有名ですが、実は両者には決定的な違いがあります。
村にたった一人の床屋
まず設定を丁寧に確認します。
ある村には床屋が一人だけいます。この床屋には、次のような営業の決まりがあります。
村人のうち、自分で髭を剃らない人は、全員この床屋が剃る。 村人のうち、自分で髭を剃る人は、この床屋は一切剃らない。
言い換えれば、村人はきっちり2つのグループに分かれます。自分で剃る人と、床屋に剃ってもらう人です。重なりも漏れもありません。
ここまでは、ごく普通の商売の話に聞こえますが、実際に、村人については何の問題も起きません。
問題が起きるのは、床屋自身も村人の一人だという点を思い出したときです。
剃っても剃らなくても決まりに反する
床屋の髭について、可能性は2つしかありません。
まず「床屋は自分で自分の髭を剃る」とします。すると床屋は自分で剃る人のグループに属します。ところが決まりの後半によれば、自分で剃る人を床屋は一切剃りません。床屋が剃るのですから、自分で剃っていないことになってしまいます。
次に「床屋は自分では剃らない」とします。すると床屋は自分で剃らない人のグループに属しますが、決まりの前半によれば、自分で剃らない人は全員床屋が剃ります。つまり床屋が床屋自身を剃ることになり、結局は自分で剃っていることになります。
どちらの場合も、仮定した内容がそのまま否定されて戻ってきます。逃げ道はありません。
抜け道を探しても本質は逃げていく
この話を聞くと、たいてい設定の穴を突きたくなりますが、実際に、いくつも思いつきます。
・床屋が女性なら:髭がないので対象外になり、矛盾は起きない ・床屋に髭が生えないなら:同じく対象から外れる ・床屋が村人でないなら:決まりは村人にしか適用されない ・床屋が2人いるなら:互いに剃り合えば成立する
どれも確かに矛盾を回避しますが、回避できてしまうことが問題の本質を外している証拠でもあります。
これらの抜け道は、いずれも「床屋自身が対象に含まれない」ようにすることで成り立っています。自己言及を切り離せば矛盾が消えるのは当然で、それはこの問題が何を突いているのかを言い換えているだけです。
逆に言えば、対象が自分自身を必ず含んでしまう場面では、この逃げ道が使えません。
集合論がまさにその状況でした。「自分自身を含まない集合すべて」を考えたとき、その集まり自体も集合である以上、対象の外へ逃がすことができません。村の外から床屋を呼ぶような解決が使えないことになります。
パズルとしては抜け道探しが楽しいのですが、抜け道が塞がれた瞬間に何が起きるかを見ておかないと、次の節の話に進めません。
ラッセルが広めた通俗版
この話を世に広めたのは、バートランド・ラッセルです。1918年の講義録『論理的原子論の哲学』のなかで紹介しました。
ラッセル自身が1901年に見つけたラッセルのパラドックスは、集合論の言葉で書かれています。「自分自身を要素として含まない集合すべてを集めた集合」を考えると、その集合が自分自身を含むかどうかで矛盾が生じる、というものです。
集合という言葉に馴染みがない人にはぴんと来ないので、床屋の話に置き換えたという話になります。構造はまったく同じで、髭を剃るという関係が集合に含まれるという関係に対応しています。
なおラッセルは、この床屋の例え自体は自分の発案ではなく人から聞いたものだと述べており、正確な考案者は分かっていません。
実は本物のパラドックスではない
ここからが重要なところです。床屋の話は、しばしばラッセルのパラドックスと同格に扱われますが、論理的な深刻さはまったく違います。
床屋の場合、矛盾が出たときに私たちが下すべき結論ははっきりしています。「そのような床屋は存在しない」というだけの話です。
矛盾する条件を書き並べれば、それを満たすものが存在しないのは当たり前です。「1より大きく0より小さい数」が存在しないのと同じで、何も困ることはありません。床屋の話は、パラドックスというよりそんな床屋がいないことの証明になっています。
ラッセル自身もこの点をはっきり指摘していて、床屋の話は真の矛盾ではないと述べています。
ラッセルの方が深刻だった理由
では集合論の方は、なぜ同じように片付けられなかったのでしょうか。
当時の集合論には、素朴内包公理と呼ばれる前提がありました。「ある条件を書けば、その条件を満たすもの全体の集合が必ず存在する」という約束です。
この前提のもとでは、「自分自身を含まない」という条件を書いた時点で、対応する集合の存在が自動的に保証されてしまいます。存在しないと言って済ませることができません。
なので、床屋の場合は「存在しない」で終われるのに、集合の場合は「存在するはずなのに矛盾する」となる。同じ形に見えても、行き着く先がまったく違うということですね。
この違いが分かってから、私はこの例え話に対する見方が変わりました。分かりやすさと引き換えに、問題の一番大事な部分が落ちてしまっている例なのだと思います。
存在しないと言えるかどうかで価値が変わる
床屋の議論そのものは「そんなものは存在しない」で終わります。ところが同じ形の議論が、分野によっては極めて重要な定理になります。
存在が保証されているかどうかが分かれ目
| 対象 | 存在するか | 判定できる理由 |
|---|---|---|
| 自分で剃らない人だけを剃る床屋 | しない | 矛盾する条件を並べただけ |
| 1より大きく0より小さい数 | しない | 同上 |
| 自分自身を含まない集合の集合 | 素朴集合論では存在するはず | 内包公理が存在を保証してしまう |
| すべてのプログラムの停止を判定するプログラム | しない | 同じ背理法だが結論に重みがある |
3行目だけが特殊です。公理が先に存在を約束してしまっているので、存在しないと言って逃げられません。だから公理の方を書き換えるしかありませんでした。
同じ論法が定理になる場合
4行目の停止問題は、床屋とまったく同じ組み立てです。
「あらゆるプログラムについて、それが停止するかどうかを判定するプログラム」があると仮定します。そのプログラムを使って、「判定結果が停止なら無限ループし、停止しないなら止まる」という天邪鬼なプログラムを作ります。
この天邪鬼に自分自身を判定させると、停止するなら停止せず、停止しないなら停止するという矛盾に陥ります。よってそんな判定プログラムは存在しません。
床屋では当たり前に響く結論が、ここでは計算の限界を定める重要な定理になります。1936年にチューリングが示したこの結果は、コンピュータ科学の土台のひとつです。
違いは、床屋の存在を誰も期待していなかったのに対し、「万能の判定プログラム」は多くの人が作れると思っていたところにあります。同じ論法でも、何を否定したかで価値が変わるのだと思います。
数学の土台をどう作り直したか
矛盾の原因が素朴内包公理にあると分かったので、数学者たちはそこを作り替えました。
現代の標準的な集合論であるZFC公理系では、条件を書けば集合ができるという約束を捨てています。代わりに採用されたのが分出公理と呼ばれるもので、すでに存在する集合の中から条件を満たす部分を取り出すことだけを許します。
何もないところから条件だけで集合を作ることはできません。この制限のおかげで、問題の集合は最初から作れなくなり、矛盾が発生しなくなります。
ラッセル自身は別の道を選び、対象に階層を割り当てて自己言及を禁じるタイプ理論を作りました。どちらの方針も「自分について語ることを制限する」という点では共通しています。
自己言及の関連パラドックス
自分自身について語ろうとした途端に、意味が定まらなくなる関連パラドックスです。
まとめ
本記事は「理髪師のパラドックス」について解説しました。如何だったでしょうか。
剃っても剃らなくても矛盾するので一見どうしようもないのですが、答えはそんな床屋は最初から存在しないというものでした。矛盾する条件を並べただけなので、当然といえば当然です。
個人的に面白いと思うのは、同じ構造なのに集合論では同じ逃げ方ができなかったというところです。分かりやすい例え話が、肝心の難しさだけをきれいに削ぎ落としてしまうことがある。そういう教訓も含んだ題材だと思っています。
パラドックスの一覧に戻りたい方は以下のリンクからどうぞ。
それでは次の記事も閲覧いただけると幸いです。
こちらもよく読まれています
📚 シリーズ:世界のパラドックス(25/81)







