自己言及の問題としての「不動点定理」

(今回の記事については、

長谷川真人「自己言及の論理と計算」

と、ここで参考文献としてあげられている、

無限集合 (数学ワンポイント双書 4)

無限集合 (数学ワンポイント双書 4)

Noson S. Yanofsky「A Universal Approach to Self-Referential Paradoxes, Incompleteness and Fixed Points」(2003)

を参考にさせてもらった。以下の内容は、ほとんど、この Yanofsky の論文を参考にして書いている。)
さて。
この前から、自己言及の問題についてさまざまに書かせてもらっていたわけであるが、ここでは、この「自己言及」を、つまり、まあ、いわゆる「対角線論法」(また、それを一般化した「不動点定理」)が、どれくらい、そういった「パラドックス」の説明になっているのかを、非常にラフなスケッチではあるが書いてみたい。
(あのさ。どうでもいいんだけれど、なんで、いわゆる「現代思想」とかの界隈って、こういうのを本にしないんだろうねw)
数学において、さまざまに現れてきた「パラドックス」と呼ばれてきたもの、それは、クレタ人の嘘つきパラドックスに始まり、集合論パラドックスゲーデル不完全性定理など、それらの多くには、ある

  • (見た目上の似た)証明方法

が見られることが分かっている。
さて。その説明に入る前に、代表的な「対角線論法」の例として、カントールの定理をみてみよう。

S≡{X:集合}
N≡{X:自然数}
R≡{X:実数}
∀X∈S;card(X)≡(Xの濃度)
∀X,Y∈S;F(X,Y)≡{f:X→Y:関数}

としておく。

カントールの定理(ver.1):
card(N)

なのだ、と。

カントールの定理(ver.1)の証明:
card(N)

まあ、こんな感じで見るからに、「対角線」でなんかやってるなー、というか、まあ、ようするに「自己言及」だよな。「自己参照」と言ってもいいけど(しかし、この例は「パラドックス」の例ではないですけどね)。
ということで、これを少し一般化して書いたものが以下:

∀Y∈S;∀α∈F(Y,Y);(α:不動点をもつ)≡(∃y∈Y;α(y)=y)
∀T∈S;∀f∈F(T×T,Y);∀g∈F(T,Y);(f:gを表現可能)≡(∃t∈T;g(-)=f(-,t))
∀T∈S;∀f∈F(T×T,Y);(f:F(T,Y)を表現可能)≡(∀g∈F(T,Y);f:gを表現可能)

と定義して、

カントールの定理(ver.2):
Y∈Sとする。
∃α∈F(Y,Y);(α:不動点をもたない)

∀T∈S;∀f∈F(T×T,Y);(f:F(T,Y)を表現可能でない)

ちなみに、この対偶をとったものが、

ローヴェルの不動点定理(ver.1):
Y∈Sとする。
∃T∈S;∃f∈F(T×T,Y);(f:F(T,Y)を表現可能)

∀α∈F(Y,Y);(α:不動点をもつ)

で、こっちの方が肯定文で書いてあるし、証明も構成的に書ける:

不動点定理の証明:
Δ∈F(T,T×T):Δ(-)≡(-,-)、とする。
g∈F(T,Y):g(-)≡α(f(Δ(-)))=α(f(-,-))、とする。
よって、∃t∈T;g(-)=f(-,t)
よって、α(g(t))=α(f(t,t))=g(t)

ちなみに、この「Δ」が「対角線」ということらしいw
この証明を見ると、もう少し条件を弱められることが分かる:

ローヴェルの不動点定理(ver.2):
Y∈S、α∈F(Y,Y)、T∈S、f∈F(T×T,Y)とする。
g∈F(T,Y):g(-)≡α(f(Δ(-)))、f:gを表現可能(i.e. ∃t∈T;g(-)=f(-,t))

α:不動点をもち、それは、「f(t,t)」と書ける。

さて。

ラッセルのパラドックス:
¬(S∈S)

ラッセルのパラドックスの証明:
「Y」として、「真、偽」の二つの値をもつ「真偽値」集合として、「T」は「S」とする。
f∈F(S×S,真偽値):f(A,B)≡真(A∈B)、f(A,B)≡偽(¬(A∈B))とすると、f:F(S,真偽値)を表現可能。
ところが、「真偽値」集合「否定」関数「¬」は不動点をもたないから、⊥。

こうやって見ると、いろんなパラドックスがこの「形式」で記述できることが分かりますよね。

グレリングのパラドックス
Adj≡{X:日本語の形容詞}
∀X∈Adj:(X:ヘテロロジカル)≡(X:この単語が自分自身を表現していない)
(たとえば、「日本語」は「日本語」の単語でもあるから、ヘテロロジカルじゃない、といった感じ。)
¬(ヘテロロジカル:ヘテロロジカル)

グレリングのパラドックスの証明:
f∈F(Adj×Adj,真偽値):f(A,B)≡真(A:Bという単語が表現している)、f(A,B)≡偽(A:Bという単語が表現していない)とすれは、あとは、ラッセルのパラドックスの証明と同じ。

嘘つきのパラドックス
¬(「この文は間違っている」という文は間違っている)
¬(「私の言ったことは嘘だ」と私が言ったことは嘘だ)

嘘つきのパラドックスの証明:
Snt≡{X:日本語の文}、または、Snt≡{X:私が言ったこと}
f∈F(Snt×Snt,真偽値):f(A,B)≡真(A:Bという文が表現している)、f(A,B)≡偽(A:Bという文が表現していない)

一応、カントールの定理の二つのヴァージョンの関係についても書いておくと:

カントールの定理の二つのヴァージョンの関係:
「Y」は「真偽値」集合として、「T」は「N」とする。
I≡{0,1}
card(真偽値)=card(I)
実数を2進数で考えれば、
card([0,1))=card(F(N,I))=card(I^N)
また、値が「1」というのを「部分集合」と考えれば、
card(I^N)=card(P(N))
あとは、ラッセルのパラドックスの「f」の「S」を「N」にすればいい。

集合論において、濃度が一致するということは、「同一視」できる、ということなんですよね。だから、いろんな証明でそこが「省略」されて書いてあったりするw。)
ところで、ここで、「否定」関数が大活躍をするわけであるがw、上記の最初の論文では少しおもしろいことが書いてある。

ラムダ計算(lambda calculus、λ-calculus)は、プログラムとデータの区別がまったくない、理想化された計算体系である。
長谷川真人「自己言及の論理と計算」

ラムダ計算に馴染みがなくても、

  • λx.... を {x|...} (...をみたすxの全体)
  • MN を N∈M (NはMの要素)
  • f(...) を ¬(...) (...の否定)

と読み替えれば、実は Yf は以下のようになる:

  • {x|¬x∈x}∈{x|¬x∈x}

したがって、Yf=f(Yf)はラッセルの逆理に他ならない。
(だからといって、ラムダ計算は矛盾しているというわけではない。むしろ、ラムダ計算のようにすべてのものが不動点をもつ世界では、否定「¬」に相当するものを表現することができない、と考えるのが妥当である。)
長谷川真人「自己言及の論理と計算」

(エディタの emacslisp言語で動いているわけだが、これはどうだったかは覚えていないけど、たしか、common-lisp は、プログラムとデータの区別がまったくなかったことを覚えている(つまり、データ上に書かれている「プログラム」を「実行」できる、という感じで)。この辺の世界になってくると、そもそも、なにをやってるのか分かんなくなっていきそうな感じですね...。)
さて。そういうわけで、ゲーデル不完全性定理なのだが:

Lind≡{X:論理式}
Lind^i≡{X:i個の自由変数をもつ論理式}
∀X∈Lind:Proof(X)≡{Y:Xの証明}
Proof≡{Y:∃X∈Lind;Y∈Proof(X)}
∀B∈Lind∪Proof;G(B)≡(Bのゲーデル数)
Provable≡{X∈Lind:∃Y∈Proof;Y∈Proof(X)}
Prov:Proof×Lind→Lind、Prov(y,x)≡(∃X∈Lind;∃Y∈Proof(X);G(Y)=y,G(X)=x)
D:N→N、∀B∈Lind^1;D(G(B(x)))≡G(B(G(B(x))))

として、

対角線補題
∀ε∈Lind^1;∃C∈Lind^0;(C⇔ε(G(C)))∈Provable

対角線補題の証明:
f:Lind^1×Lind^1→Lind^0、f(B,H)≡H(G(B(X)))、とする。
Φ_ε:Lind^0→Lind^0、Φ_ε(P)≡ε(G(P))、とする(これが不動点をもてばいい)。
g:Lind^1→Lind^0、g(-)≡Φ_ε(f(Δ(-)))、とする。

  • f:gで表現可能

なぜなら、GF(x)≡ε(D(x))
とすると、g(B(x))=ε(G(B(G(B(x)))))=ε(D(G(B(x))))=GF(G(B(x)))=f(B(x),GF(y))

ここから、ローヴェルの不動点定理(ver.2)により、Φ_εは、f(GF(x),GF(y))という不動点をもつ。
ちなみに、f(GF(x),GF(y))=GF(G(GF(x)))

ということで、

ゲーデルの第一不完全性定理の証明:
対角線補題において、
ε≡∀y:¬Prov(y,x)
とすればいい。

うーん。もう少しきれいに書けないものかなあ。ところで、この Yanofsky の論文であるが、読むと、膨大な数のこの「不動点定理」を使った例が紹介されているのだが(まあ、その内容を詳しく書いていないのも含めて)、膨大にあるわけでw、せめて、現代思想がどうのこうのと、うんぬんしたがっている連中は、これら<全部>を理解してから言ってくれないかな、って、どうせ読みやしないんでしょうけど...。