めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

ネイピア数の導出と極限計算に関する補足

何の話かというと

www.yukisako.xyz

こちらの記事では、

 \lim_{h\to 0}\frac{a^h-1}{h}=1 ―― (1)

を満たす a は、

 a=\lim_{h\to 0}(1+h)^{\frac{1}{h}} ―― (2)

であることを導いて、これがネイピア数 e の定義に一致することを示しています。

この結論は正しいのですが、(1) から (2) を導出する課程で、極限の計算の取扱に不正確な部分があるので、その点を補足してみます。

まず上記の記事では、(1) から

 \lim_{h\to 0}a^h = 1 + \lim_{h\to 0}h ―― (3)

という式を導いて、さらにこれを

 a=\lim_{h\to 0}(1+h)^{\frac{1}{h}} ―― (4)

と変形しています。

ここで、(1) → (3)、および、(3) → (4) の式変形をそれぞれ詳しく吟味してみます。

導出における問題点(その1)

まず、(1) → (3) は同値変形ではありません。つまり、(3) → (1) の逆変形ができません。

なぜなら、(3) の両辺を個別に計算すると、これはどちらも 1 になります。つまり、(3) は  1=1 という当たり前のことを言っており、よく考えると a の値が何であっても成り立ってしまいます。したがって、この後で説明するように、(3) → (4) を導くこともできません。

それでは、なぜ、(3) → (1) の逆変形はできないのでしょうか?

まず、(3) 右辺の 1 を左辺に移項すると次になります。これは同値変形です。

 \lim_{h\to 0}(a^h-1)= \lim_{h\to 0}h ―― (5)

では、この式の両辺を右辺で割って、(1) を導くことはできるでしょうか? 残念ながらそれはできません。

たとえば、単純に割り算すると次になります。

 \frac{\lim_{h\to 0}(a^h-1)}{\lim_{h\to 0}h} = 1 ―― (6)

ですが、よく考えると (5) の右辺は値で言うと 0 です。これは両辺を 0 で割るという、やってはいけない計算になってしまいます。

(1) の意味は「割り算した後に h\to 0 の極限をとる」という操作であって、極限を取る前の (1) 左辺の分母は 0 ではありませんので、これは許される計算です。一方、(6) は極限を取った後に割り算をしているため、0 で割るという禁止事項に触れてしまっています。(1) と (6) は同じ内容を表わすものではない、という点をよく味わってみてください。

違う言い方をすると、(1) から (3) を導く際は、「極限を取る前の計算」を「極限を取った後の計算」に置き換えてしまっているというわけです。極限を含む式を扱う際は、このような「極限を取るタイミング」によく注意する必要があります。

導出における問題点(その2)

(3) から (4) の変形では、両辺を \frac{1}{h} 乗するという操作をしていますが、ここでも「極限を取った後の計算」と「極限を取る前の計算」に注意する必要があります。(3) の両辺を \frac{1}{h} 乗した結果は、あくまで次のものです。

 \left(\lim_{h\to 0}a^h\right)^{\frac{1}{h}} = \left(1 + \lim_{h\to 0}h\right)^{\frac{1}{h}} ―― (7)

ここで「極限を取った後に \frac{1}{h} 乗する」という操作が「 \frac{1}{h} 乗した後に極限を取る」という操作と同じであれば、これを (4) に書き直すことができるのですが、残念ながら、この2つの操作は同じではありません。(もし同じだとすると、任意の a で成り立つ (3) から、特定の a のみで成り立つ (4) が導かれるというおかしな話になってしまいます。そもそも (7) は、\frac{1}{h} 乗の中身ですでに \lim h\to 0 の極限をとっているので、\frac{1}{h} 乗の h はいったい何者かよくわかりません。)

ちなみに、それでは、(3) からはどのような変形が可能なのでしょうか? (3) には極限が入っているために、次の式変形が難しくなっています。そこで、(3) を極限をとる前の関係式に直してみます。

 a^h = 1 + h + f(h) ―― (8)

極限を取る前は、両辺の値はかならずしも一致しませんので、その差分を f(h) と置いています。極限で一致することから \lim_{h\to 0}f(h) = 0 が成り立ちます。

(8) は「極限を取る前」の関係ですので、安心して、両辺を \frac{1}{h} 乗することができます。

 a = \left\{1+h+f(h)\right\}^{\frac{1}{h}} ―― (9)

この後、両辺について、h\to 0 の極限をとると次が得られます。

 a = \lim_{h\to 0}\left\{1+h+f(h)\right\}^{\frac{1}{h}} ―― (10)

仮に、f(h) \equiv 0 (すべての h について f(h)=0)であれば、(10) は (4) に一致しますが、残念ながらそうではありません。f(h) をいろいろ取り替えることで、a はいろいろな異なる値になります。(3) が任意の a で成り立つという事実が、この f(h) の自由度に反映されているわけです。

 「えー。\lim_{h\to 0}f(h) = 0 やねんから、(10) と (4) はおんなじとちゃうん???」

ちゃいます。その理屈が通るのであれば、\lim_{h\to 0}h=0 ですので、(10) は、そもそも a=\lim_{h\to 0}\left\{1\right\}^{\frac{1}{h}} と同じになってしまいます。そんなわけはありません。あくまで、\left\{1+h+f(h)\right\}^{\frac{1}{h}} という計算を一式終わらせた後に、h \to 0 の極限をとるというのが (10) の意味であって、個別のパーツだけで先に極限を取ってしまうと、同じ計算にはなりません。「計算してから極限をとる」と「極限をとってから計算する」の違いをもう一度味わってみてください。

(1)から(4)を導く厳密な計算

・・・と、不正確な点を指摘するだけでは不親切なので、上記の問題点をさけて、厳密に (1) から (4) を導く方法を考えてみましょう。いろんなやり方が考えられますが、根本原理に立ち戻って、ε-δ 論法を使ってみましょう。先ほど関数 f(x) を導入したように、ε-δ 論法を用いると、「極限をとる前の関係式で、極限の様子を表現する」ということが出来るので、極限のことを気にせずに自由に式変形ができるようになります。これこそが、ε-δ 論法が有用な理由なのです。

まず、(1) の関係を ε-δ 論法で述べると次になります。

「(十分に小さな)任意の \epsilon > 0 に対して、ある \delta > 0 をうまく選択すると、 \left|h\right| < \delta を満たすすべての h に対して  \left| \frac{a^h-1}{h} - 1 \right| < \epsilon が成立する」 ―― (11)

いかがでしょうか。(11) は極限を取る前の関係式ですので、やや複雑ではありますが、通常の関係式として、安心して式変形することができます。

そして、最終的に示したい事実 (4) は、ε-δ 論法で述べると次になります。

「(十分に小さな)任意の \epsilon' > 0 に対して、ある \delta' > 0 をうまく選択すると、 \left|h\right| < \delta' を満たすすべての h に対して \left|a - (1+h)^{\frac{1}{h}}\right| < \epsilon' が成立する」―― (12)

(11)と(12)に含まれる \epsilon\delta は異なるものなので、混乱しないように記号をわけておきました。

そこで、(11) から出発して、(12) を示すことができれば、 (1) から (4) が導けたことになるわけです。




・・・約3時間の沈黙・・・



ぐああああああああ。


すいません。紙の上で証明はできたのですが、ノート5ページぐらいになってしまって、とてもTeX記法で整理して書く気がしません。。。。くやしぃ。

代わりに、ε-δ 論法をつかわずに極限の落とし穴をすりぬけてうまいこと証明する方法を紹介しておきます。。。。。

まず、(1) において、t=\frac{1}{a^h-1} という変数変換を行います。これは、h について解くと h=\log_a\left(1+\frac{1}{t}\right) になります。さらに、h\to 0 の時 t\to\infty であることに注意すると、(1) は、次の式と同値です。

 \lim_{t\to \infty}\frac{1}{t\log_a\left(1+\frac{1}{t}\right)}=1

さらに、この左辺は次のように変形できます。

 \lim_{t\to \infty}\frac{1}{\log_a\left(1+\frac{1}{t}\right)^t} = 1

ここで、左辺に含まれる関数 \frac{1}{\log_a x} は、x について連続関数なので、極限を対数の中に入れることができます。

 \frac{1}{\log_a\lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t} = 1

つまり、

 \log_a\lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t = 1

となります。最後にこの両辺を a の肩にのせると、a^{\log_ax} = x に注意して、

 \lim_{t\to\infty}\left(1+\frac{1}{t}\right)^t =a

が得られます。

来ました! ここで h' = \frac{1}{t} で新たに h' を定義すると、結局、次が成り立つことがわかります。

 a=\lim_{h'\to 0}(1+h')^{\frac{1}{h'}}

この h' はいわゆる束縛変数なので、好きな文字に置き換えられます。h' をあらたに h に置き直すことで (4) が導かれました。

この証明のミソは、連続関数 f(x) については、\lim f(\cdots) = f(\lim\cdots) が成立するという性質にあるわけです。

捩率が0でない「平面」の例

何の話かというと

みんな大好きRiemann幾何学では、計量を保存する曲率のある空間(平面)を取り扱いますが、この際、(Riemann多様体の前提として)捩率は必ず0になります。

このような捩率0で曲率だけを持つ平面(二次元多様体)の例は、球面などを容易に想像することができます。接ベクトルを閉曲線にそって平行移動したときに元にもどらないという話も、経線方向と赤道方向の移動を組み合わせて、簡単に確認することができます。

その一方で、より一般的な捩率を持つ「平面(二次元多様体)」は、意外と簡単な例が思いつかないのではないでしょうか? よくあるのは、接ベクトルがプロペラのように回転しながら移動する下記のような例ですが、これは、三次元多様体であって、決して平面ではありません。

https://upload.wikimedia.org/wikipedia/commons/thumb/e/e5/Torsion_along_a_geodesic.svg/877px-Torsion_along_a_geodesic.svg.png

はたして、捩率を持つ平面にはどのような構造があるのでしょうか?!

というわけで、捩率を持つわかりやすい平面の例を手作業で作ってみました。

事前準備

なるべくシンプルな例にするために、局所座標系を1つ固定して、この座標系において計量テンソルは一定 g = \begin{pmatrix}1 & 0 \\ 0 & 1\end{pmatrix} とします。

この時、接続 \nabla が計量的である(計量を保存する)という次の条件から、接続係数 \Gamma_{ij}^{\,\,\,k} の形がかなり限定されます。

 Xg(Y,Z) = g(\nabla_XY,Z)+g(Y,\nabla_XZ)

まず、上記を成分表記すると次になります。

 \partial_k g_{ij} = \Gamma_{ki,j}+\Gamma_{kj,i}

今の場合、左辺は0になることから、これを全成分について書き下すと次が得られます。

 \Gamma_{00,0} + \Gamma_{00,0} = 0
 \Gamma_{01,0} + \Gamma_{00,1} = 0
 \Gamma_{10,0} + \Gamma_{10,0} = 0
 \Gamma_{11,0} + \Gamma_{10,1} = 0
 \Gamma_{00,1} + \Gamma_{01,0} = 0
 \Gamma_{01,1} + \Gamma_{01,1} = 0
 \Gamma_{10,1} + \Gamma_{11,0} = 0
 \Gamma_{11,1} + \Gamma_{11,1} = 0

これを整理すると次になります。

 \Gamma_{00,0}  = 0
 \Gamma_{10,0}  = 0
 \Gamma_{01,1}  = 0
 \Gamma_{11,1}  = 0
 \Gamma_{01,0} = - \Gamma_{00,1}
 \Gamma_{11,0} = - \Gamma_{10,1}

つまり、接続係数は、本質的に2つのパラメータで決定されることになります。

ちなみに、この上に、さらに捩率0という条件 \Gamma_{ij,k} = \Gamma_{ji,k} を課すと接続係数はすべて0になって、平坦なユークリッド平面になってしまいます。今の場合、捩率0という条件を課す必要はありませんので、一般に、接続係数は次のように決まります。

 \Gamma^0 = \begin{pmatrix}0 & p \\ 0 & q\end{pmatrix},\,\,\,\,\Gamma^1 = \begin{pmatrix}-p & 0 \\ -q & 0\end{pmatrix}

捩率テンソル T_{ij}^{\,\,\,k} = \Gamma_{ij}^{\,\,\,k} - \Gamma_{ji}^{\,\,\,k} で表記すると次になります。

 T^0 = \begin{pmatrix}0 & p \\ -p & 0\end{pmatrix},\,\,\,\,T^1 = \begin{pmatrix}0 & q \\ -q & 0\end{pmatrix}

この平面の性質

それでは、上記の接続係数を持つ平面はどのように「捩れて」いるのか、接ベクトルを平行移動して確かめてみましょう。

まず、原点における座標軸方向の2本の接ベクトル Z=\partial_0,\,W=\partial_1 を0軸方向に平行移動した際の成分の変化を次のように表します。

 \partial_0 \rightarrow Z = z^0(x_0,0)\partial_0 + z^1(x_0, 0)\partial_1

 \partial_1  \rightarrow W = w^0(x_0,0)\partial_0 + w^1(x_0, 0)\partial_1

これを0軸方向の平行移動の条件 \nabla_0 Z = 0,\,\nabla_0 W = 0 に代入します。まず、Z から計算すると・・・

 0 = \nabla_0 Z = (\partial_0 Z^l + Z^m\Gamma_{0m}^{\,\,\,l})\partial_l =(\partial_0 Z^l + Z^0\Gamma_{00}^{\,\,\,l}+Z^1\Gamma_{01}^{\,\,\,l})\partial_l
  =(\partial_0z^0+pz_1)\partial_0 + (\partial_0z^1-pz^0)\partial_1

したがって、次の連立偏微分方程式が得られます。

 \partial_0 z^0 = -p z^1,\,\,\,\,\partial_0 z^1 = pz^0

原点における初期条件を考慮すると、次の解が得られます。

  z^0 = \cos(px_0),\,\,\,\,z^1 = \sin(px_0)

つまり、接ベクトル Z は、0軸方向にすすむと角速度 p で反時計回り方向に回転していくのです。W についても同様の成分計算をしても構いませんが、計量が保存されることを考えると、W も同様の回転をすることがわかります。なかなかユニークな平面です。

それでは同様に、1軸方向に平行移動するとどうなるでしょうか? 先ほどと同様の成分表示を用いて計算します。

 \partial_0 \rightarrow Z = z^0(0,x_1)\partial_0 + z^1(0, x_1)\partial_1

 \partial_1  \rightarrow W = w^0(0,x_1)\partial_0 + w^1(0, x_1)\partial_1

これを1軸方向の平行移動の条件 \nabla_0 Z = 0,\,\nabla_0 W = 0 に代入して、先と同様に Z から計算します。

 0 = \nabla_1 Z = (\partial_1 Z^l + Z^m\Gamma_{1m}^{\,\,\,l})\partial_l =(\partial_1 Z^l + Z^0\Gamma_{10}^{\,\,\,l}+Z^1\Gamma_{11}^{\,\,\,l})\partial_l
  =(\partial_1z^0+qz_1)\partial_0 + (\partial_1z^1-qz^0)\partial_1

 \partial_1 z^0 = -q z^1,\,\,\,\,\partial_1 z^1 = qz^0

したがって、初期条件を考慮して、次の解が得られます。

  z^0 = \cos(qx_1),\,\,\,\,z^1 = \sin(qx_1)

これより、接ベクトル Z は、1軸方向にすすむと角速度 q で反時計回り方向に回転することがわかります。計量が保存されることから、W も同様の回転を行います。

以上より一般に、この平面上では、0軸方向に進むと角速度 p、1軸方向に進むと角速度 q で回転するような「捩れ」が存在することがわかります。

この時、計量ベクトルと接続係数は座標に依存しない定数ですので、原点以外のどの点から出発しても同様になる点に注意してください。これは、適当な長方形にそって一周回った場合、行きと帰りで回転方向が反対になることから、元の接ベクトルに戻ることを意味しています。つまり、この平面は、捩率だけが存在して、曲率は0になっているのです。「ほんまかいな」と思う方は、曲率テンソルを成分計算すると、すべて0になることが確認できるはずです。

捩れ具合をベクトル場であらわすとこんな感じでしょうかね。


参考資料

曲率と捩率の直感的解釈を厳密に計算で示した例がありました。
情報幾何ゼミ Torsion に関する補足(PDF)

数学を学ぶ動機に関するポエム

最近ある技術書の筆者の方が書籍紹介のブログ記事の中で「俺は数学が嫌いだ」と言い放たれていて、ひどくショックを受けたので、心の傷を癒やすために、なぜ僕はこんなにも数学が気になって、数学を勉強したくなるか、頭の中を整理してみました。

ちなみに僕がどのぐらい数学が気になるかというと、もし宝くじで5兆円ぐらい手に入ったら、個人で数学の研究機関を設立して、優秀な数学者を囲い込んで、僕が興味のあることだけを研究させて、毎日、僕のためだけに講義をさせるとか、そんなことをやってみたいぐらい、数学が気になります。

なお、以下の内容は、時系列っぽく書かれていますが、実際に僕がこのような順番で数学に興味を持って理解していったわけではありません。ただ、振り返ってみると、こういった要素が折り重なって、数学に対する興味が構成されていると気づいたというような内容です。

第一段階(みんなが同じルールに従っていることを確認したい)

みなさんは、子供のころなんとなく「物の数を数える」ということを教わってできるようになったと思います。人間には、「数学っぽい」ことをする能力が生まれながらにしてあるようです。

ですが、自分の「数学っぽい」やり方と、他の人の「数学っぽい」やり方がまったく同じ考え方、まったく同じルールに従っていると自信を持っていえるでしょうか? もしかしたら、自分の物の数え方と、他の人の物の数え方には、何か違うルールがあるかもしれません。そもそも、自分のやり方に本当に一貫性があるのかもあやしいです。

そこで、自分がやっている「数学っぽい」ことを論理的な言葉で明文化して、みんなが同じ考え方、同じルールで処理していることを確認したくなります。

たとえば、僕は次のような計算を行います。

3\times -2 = -6
-2\times 5 = -10

ここでは、正の数と負の数をかけると負の数になるというルールに従います。

「なぜそうなるのか?」というのは別にして、まずは、万人がみなこのルールに従っているということを確認する必要があります。そのためには、「正の数」と「負の数」を定義して、さらに、「正の数と負の数の積」を計算する手順を定義する必要があります。

まあ、実際には自分で定義する必要はなくて、先人の数学者が定義してくれたお言葉が書かれた「数学書」があります。そこで、それらを何冊か読んで、すべてにちゃんと同じ手順が書かれていることを知ります。これで僕は「少なくともこういった数学書を書いている/読んでいる数学者の仲間の中では、みんな僕と同じルールに従っているんだ」と安心することができます。あーよかった。

第二段階(自分のやり方が正しいことを納得させたい)

数学のルールをいくつか覚えると、このルールに従って、自分一人でいろんな計算ができるようになります。何か面白い事実が証明できるかも知れません。すると、それを他人に説明したくなります。この時、「他の人が自分と同じルールに従って計算している」という前提が超重要になります。この前提がくずれると、いくら一生懸命説明しても、相手は、謎の理屈で論破してくるかも知れません。

「正の数をかけるっていうのは、それだけ足し合わせるということだろ。だったら正の数をかけて小さくなるのはおかしいだろ。 -2\times 5-2 より大きい数でないとおかしい!」

こういう相手とは議論が成り立ちません。数学というのは、基本的なルールを共有していることを前提にして、そのルールに従って一緒に議論を進めて、自分と相手が同じ結論に達することを確認しあうという、一種のゲームなのです。

まぁもちろん、ながーい計算やら証明をする際は、細かいルールは自明のものと思って、説明を端折ることはあります。でも、相手に「そこはどういうルールで話が進んだのか分からん」と指摘された際に、端折った部分をちゃんと一から説明して、相手を納得させることができればOKです。同じルールを共有することで、こういった知的なゲームを楽しむことができるようになります。

えー。

「お前はほんとにそんなゲームをやるのか。妄想じゃねえの?」

という方へ。

僕は大学生のころ「数学演技」という講座をとっていました(「演習」ではなくて「演技」というあたりがカッチョいいです)。教授から証明問題を与えられて、黒板の前に立って、その証明を進めていきます。時々、教授が「そこの式変形が成立する理由がわからん。もっとくわしく」と突っ込むので、心の底で「きたきたきたきたきたきたきたきたーーーー」と思いながら、端折った部分を根掘り葉掘り説明します。どこまで詳しく説明するかは、教授の顔色を見て考えます。最終的に僕の証明に教授が納得すれば、僕の勝利です。このゲームのゴールは、数学的に何かを証明することではありません。「教授を納得させること」がゴールなのです。

まあ、よく考えると、数学の世界って、そもそもそんなものかも知れません。ある数学者が何かを「証明した!」と言って論文を発表します。世の中の数学者がそれを読んで、「なるほど。これは正しい」と納得すれば、その証明は正しいものとして受け入れられます。「何かが数学的に正しいかどうか」というのは、究極的には、世の中の数学者の大部分が「それは正しい」と納得するかどうかで判断するしかありません。もちろん、しつこく言いますが、世の中の数学者が基本的なルールをきちんと共有しているからこそ、それでうまくいくのです。

ただ過去の歴史を振り返ると、ある時代まではほぼすべての数学者が「これが成り立つのは当たり前だよね」と思っていたことが、ある数学者によって、実は当たり前ではないことが指摘されて、これまで正しいとされていたことが、正しくなくなることもあり得ます。あることが「数学的に正しい」かどうかは、その時代の数学者たちがどのような前提を共有するかで変わり得るということかも知れません。

大学一年生が解析学を習うと必ずでてくる「ε-δ論法」ありますよね。直感的に自明な極限の計算をするのに、なんで、あんな七面倒な議論が必要なのでしょう? それは、「共通言語」が必要だからです。「直感的に成立する」と主張するのは自由ですが、他人が同じ直感を持っていると無条件に仮定するわけにはいきません。直感的に当たり前なことを万人が共有できる論理的な形で表現するのは、意外と難しいのです。「極限」という概念をなんとか論理的に表現する苦肉の策が「ε-δ論法」なのです。数学演技で教授を納得させるには、自分と教授の間で合意のとれた「ε-δ論法」を使うしかないのです。

第三段階(自分のやり方に矛盾がないか確かめたい)

数学の不思議なところは、ある計算をするのに複数のやり方があって、どの方法でもちゃんと同じ結果に行き着くということです。ぶっちゃけ、不思議じゃないですか???? 数学にはいろんな「ルール」がありますが、ルールAとルールBで答えがちがうようなことはないのです。ここはもう納得の問題ですが、ある人は、こんなふうに考えて納得します。

「この世界には、『矛盾のない数学的真理』というものがあって、我々は知性を駆使してその真理を明らかにしていっているのだ。もし矛盾があれば、それは我々の知性が真理を正しく捉えていないのだ。俺は真理を信じるのだ」

まぁ。納得するための方法としてはあり得るかもしれませんが・・・・。僕はこれでは納得できませんでした。数学のルールというのは、あくまで人間が作ったもので、人間の外に数学的真理なるものがあるのかどうか、僕にはわかりません。存在を否定するわけではありませんが、あるかどうかわからないものを前提に数学の議論を進めることは、とても気持ち悪くて耐えられません。兎に角、暗黙のルールを徹底的に明文化して、整理して、「最低限これだけのルールから出発すれば、数学のルールはすべて、ここから導くことができる」という最小構成のルールセットを見つければ、もしかしたら、そこから数学に矛盾がないことを証明できるかも知れません。

で、実は世の中には、まさにそういう研究をしている数学者がいて、「数学基礎論」とか呼ばれていたりします。ゲーデル先生は、その昔、数学の「形式表現」という仕事に取り組みました。

これは、数学のすべてのルールを「記号変形のルール」として表現しようというものです。数学の計算をする時、一般人は、その「意味」を考えながら計算を進めます。「2+3」を計算する時は、何か物が2個と3個あるようすを想像して、全部で5個になるから「2+3=5」なんだと納得します。でも、コンピューターが計算する時は、そんな事はおそらく考えてはいません。決められたルールに従って、ビットの並びを操作しているだけです。

このようにコンピューターが自動計算できるように、機械的な記号変形のルールを定めて、それで世の中のすべての数学を表してしまえ、という壮大な構想です。

で、ゲーデル先生はやりました。詳しくは書きませんが、10個程度の基本ルールを定めて、そのルールにしたがって記号変形をすすめれば、世の中の数学のほぼ大半の理論が再現できることを示したのです。すごいですよね。むっちゃ興奮しませんか? 数学的真理なるものが人間の外にあるかどうかはもはや関係ありません。この10個程度のルールが数学的真理なのです。

この基本ルールを元にして、数学に矛盾がないかどうかを探求しようというのが、数学基礎論です。現在では、ある程度の結論は出ていて、その内容は僕もある程度知っているのですが、その結論にいたる道筋はまだ完璧に理解できていません。死ぬまでに一度、これを完璧に理解して、「おれは本当の意味で数学を理解した!!!」とか叫んで走り回ってみたいものです。

第四段階(数学が表現できる世界の限界を知りたい)

数学基礎論の立場にたてば、10個程度の基本ルールにしたがってひたすら記号変形を進めれば、あらゆる数学的真理、つまり、「証明可能な論理式」がすべて得られます。とはいえ、いわゆる組合せ爆発というやつで、何も考えずにランダムに変形しても面白い結果にはたどり着きません。面白い結果にたどりつくには、記号に対して「意味」を与えて、論理式が示す内容を「解釈」する必要があります。解釈が得られれば、自分が持つ「数学的直感」に従って、こんな事も成り立つかもしれない、という想像ができます。そして、それが本当になりたつかどうか、ランダムな記号変形ではなく、人としての意思を持った式変形を進めることができます。人間のもつ「直感」の世界はおそろしく広いです。この膨大な直感の世界のいったい、どこからどこまでの範囲を数学は(一定のルールに従った記号変形という操作の中で)表現して、証明することができるのでしょうか?

ある言語学者は、「人間は言語を使って思考するから、人間の思考は言語の構造によって限界付けられる」というような事をいいます。もしかしたら、「いや俺/私は言語をつかわずに思考している」と言う人もいるかも知れません。ただ、すくなくともその思考を表現して他人と共有するには言語が必要です。そういう意味で、少なくとも他人と共有可能な思考は、言語の構造で限界づけられるようです。

数学における「直感」も同じかも知れません。人間は生まれながらにして、「数学っぽい」ことを直感的に理解する能力があります。でも、その直感を明文化して他人と理解を共有するには、正しい数学のお作法に則って表現する必要があります。この意味で、人間の「数学的思考力」は、数学の構造によって限界づけられると思っています。数学が表現できること、証明できることの限界を探るということは、人間の「数学的思考力」の限界に対する挑戦なのかも知れません。いや、これ、むっちゃ気になりますよね。人間の思考力の限界ですよ。だからこそ、僕は「厳密な数学」が大好きなのです。厳密な数学の限界を知ることで、人間の思考力の限界を知りたいのです。あいまいな直感的な議論では、真の意味における「思考力の限界」は探れないのです。

第五段階(今まで気づいていなかった世界を見たい)

上の議論は「数学的直感」が先にあって、それをお作法に則った「厳密な数学」でどこまで表現できるか、という観点でした。ですが、世の中の数学者は、そもそも僕の直感には無かったような斬新な事実を「厳密な数学」の言葉で表現してきます。すごいです。彼らも人間ですから、機械的に式変形しているだけではないはずです。彼らの脳内には、なんらかの直感的な世界・構造・仕組みの理解があって、それを表現しているはずです。ただそれは、高度に抽象化されすぎていて、もはや厳密な数学の言葉でしか表現できないのかも知れません。あるいは、機械的な式変形の可能性を探る中で、何か新しい直感的事実を見つけ出したのかも知れません。どっちでもいいです。僕もなんとかして、同じ直感的理解を共有したいです。彼らが見ている世界を僕も見てみたいです。

これって絵画の世界と似ているかも知れませんね。目で見た世界をそのまま忠実に写し取る絵画の世界から、新しい表現技法が生まれて、いままでなかった抽象画の世界ができました。色を並べるという操作で、いったいどれだけの事が表現できるのか。まだ誰も気づいていなかった、新たな表現の世界はないのか、絵画は人の心を映したものであると同時に、ときには、人の心が捉えられる世界を広げるという役割を持ちます。

詩や小説の世界も同じですよね。有限の個数の文字を並べることで、いったいどれだけの世界が表現できるのでしょうか? 言葉による表現の限界への挑戦ですよね。

そういう意味で、「厳密な数学」が表現できる世界の広さは、僕の素朴な直感の世界をはるかに超えています。まだ見えていない世界をもっともっと見たいです。だから数学は面白いのです。