床屋のパラドックスと不動点

不動点定理の考え方は床屋のパラドックスについても適用できる。話を単純にするために村人が3人だけの村について考えてみよう。前回のテーブルを流用すると次のようになる。

_ 1 2 3
1 0 0 0
2 0 1 0
3 0 1 1

これは、横の行の村人が縦の列の村人の髭を剃ることを示している。また集合 X = {1, 2, 3} は村人の集まりを示し。ψ(x, y) : X × X -> {0, 1} は上の演算表で表される二項演算を表している。これはまたこの演算表で表される ψ(x,y) の値が、x が y の髭を剃れば 1, 剃らなければ 0 の値をとることを示す。この演算表の対角線の部分に注目すると、ψ(1,1) = 0, ψ(2,2) = 1, ψ(3,3) = 1 となるので、村人 1 は自分自身の髭を剃らず、村人 2 と村人 3 は自分自身の髭を剃ることを示している。

また、各行の村人を固定して得られる gn : X -> {1,2} 型の関数 gn(x) = ψ(n, x)を定義できる。この時、gn(x) に対する n をこの関数のインデックスという。例えば g1(x) = ψ(1, x) は村人 1 がどの村人の髭を剃るかを示している。例えば g1(1) = 0, g1(2) = 0, g1(3) = 0 なので村人 1 は誰の髭も剃らない。この表ではまだどの村人が「自分の髭を剃らない人の髭を剃る」という床屋であるかわからないが、仮にそのような床屋 a0 がいるとすると ga0(x) = ψ(a0,x) の振る舞いはどうなるだろうか。床屋 a0 は村人 1 の髭を剃るので ga0(1) = 1 である。同様に ga0(2) = 0, ga0(3) = 0 となるはずだ。しかし、このような ga0(x) は上の表の中にはない。

そこで村人 1 をそのような床屋にしようとやってみると。g1(2) = 0, g1(3) = 0 は問題ないが、g1(1) = 1 にしてしまうとψ(1,1) = 1 でないといけないしかし、その場合 g1(1) = 0 でないといけなくなるので、結局 g1(1) の値を決められなくなる。

これは ga0(x) = ψ(a0, x) のインデックス a0 が集合 X の要素でなくてはならないという条件があるからだ。a0 が村人でなければ ga0(1) = 1, ga0(2) = 0, ga0(3) = 0 となる関数を見つけることは簡単だ。a0 が村人でなければ何の問題もない。つまり対角線論法で矛盾が発生するのは、関数 ga0(x) = ψ(a0, x) のインデックス a0 を集合 X の中に限定するという条件があるからだ。

全く同じ状況がラッセルのパラドックスでも見られる。上の演算表を再掲してみる。

_ 1 2 3
1 0 0 0
2 0 1 0
3 0 1 1

この表は、集合 X = {1, 2, 3} について、ψ(x, y) : X × X -> {1, 0} という二項演算の演算表である。集合 X が集合 1, 2, 3 の集合の集合と考え、上の演算が集合間の所属関係 ∋ と考えると、ラッセルのパラドックスの状況を再現できる。例えば 1 の行を見ると集合 1 はどの集合も要素としては含んでいないので 1 = {} である。また、集合 3 は集合 2 と 3 を要素として含むので 3 = {2, 3} だ。そこでこの表で対角線部分に注目すると、これは、集合の自己言及について表している。ψ(1, 1) = 0 だから、集合 1 は自分自身を要素として含まない集合である。また、ψ(2,2) = 1 だから集合 2 は自分自身を要素として含む。同様に 3 も自分自身を要素として含む集合である。すなわち集合 X は自分自身を要素として含まない集合 1 と自分自身を要素として含まない集合 2, 3 で構成されていることがわかる。

そこで、自分自身を要素として含まない集合の集合 r を考えてみる。r が上の表に含まれていると考えるとその行は次のようになるはずだ。

r 1 0 0

しかしこのような行は上の演算表には現れない。r が 1 になるように調整しようとしても ψ(1,1) = 1 なら ψ(1,1) = 0 でなければならないので矛盾してしまう。結局 r は X = {1, 2, 3} は X の外に求めなくてはならなくなる。これは不動点定理を使えばきちんと表現できるが、おおよその意味はこの通りだ。つまり、「自分自身を要素として含まない集合の集合」を集合の集まりの中で求めようとしても不動点定理のために a0 ∈ a0 ⇔ a0 /∈ a0 となることがわかるため、すべての集合についての ψ(x,y) を作ることができないことがわかる。

このように対角線論法は ψ(x, y) : X × X -> {0, 1} についての不動点定理によって統一的に理解することができる。不動点の存在によって、すべてのインデックスが集合 X の要素であるという条件を、自己言及が満たさなくさせることがあるということだ。

床屋のパラドックスにしても、ラッセルのパラドックスにしても、「自分自身の髭を剃らない人の髭を剃る床屋」や「自分自身を要素としない集合の集合」は存在しそうに見えるのに集合 X の中に見つけようとすると矛盾がおきる。しかし、それを集合 X の外に求めると存在するように見える。だから、このような要素の存在しない理由がもう一つ納得できない気がするが、これは、ψ(x,y) が X × X の定義域では、その可能性の全てを表現することができないからだ。そのため集合 X の外にはいつでも求める理想郷が見つかるように思える。

このことは、X の二項演算では、全ての可能性を尽くすことができないことを示している。集合と集合のべき集合の全単射が作れないのはそのためだ。集合の二項演算で全てのべき集合を表現することはできない。それは集合が無限集合であっても事情が同じため、自然数と実数の全単射ができなくなるのだ。

また、ψ(x,x) のような自己言及が問題を起こす理由は、ψ(x, y) で x と y が異なる場合と違って、ψ(x,x) は第1引数と第2引数が独立にできないため、ga0(x) = ψ(a0, x) は変数 x が完全な独立変数とは言えないからだ。ga0(x) を一般的な1変数関数と考えることはできないのだ。その関数は必ず ga0(a0) という特別な点を含んでいる。

このように不動点定理の考え方で見ると、対角線論法で発生する矛盾全てに、ψ(x, y) : X × X -> {1,0} という関数の性質が関与していることがわかる。

[PR]
by tnomura9 | 2015-11-03 10:36 | 考えるということ | Comments(0)
<< 実数と不動点定理 不動点定理のおもちゃ >>