不完全性定理を勉強したら数学の景色が変わった


概略

不完全性定理を勉強したら 数学への見え方が変わった、という話です。

菊池『不完全性定理』をベースにいくつかの教科書を読みました。この教科書は哲学的な考察や 俯瞰的な観点での議論が多く ウェットなのですがその分納得がしやすかったです。

知見1: 関数の見え方が変わった

数学やプログラミングをしていると、様々な場面で 関数 やそれに類似した概念に遭遇します。それらは、多くの場合互いに非干渉なので、あまり困ったことはないのですが、どうもモヤモヤしたものが残っていました。具体的には以下に挙げるような諸概念です

  • 関数(プログラミング/計算論の世界)
  • 計算・プログラム(プログラミング/計算論の世界)
  • アルゴリズム(プログラミング/計算論の世界)
  • 算術・自然数論(数理論理学)
  • 演算・作用・関数(代数学)
  • 写像・関数(集合論)
  • グラフ(集合論の写像の表現としてのグラフ)

不完全性定理を学ぶと、上記の概念がほぼ全部登場し、それぞれの定義に従って明確に連携しあい定理を導きます。計算可能であるとは?表現可能であるとは?定義可能であるとは?公理化可能であるとは?理論の無矛盾性を理論の中で展開するには?といったトピックの中で、上記に挙げた諸概念を初めて理解したと思えるようになりました。

知見2. 数 の見え方が変わった

[菊池]では、自然数に関連する概念を少なくとも3つに分類し論じています。それらは等しいかもしれないですし、異なるかもしれません。これらの同一性は 哲学(マイルドに言えば数学観)によって答えが異なりえます:

  • $\mathcal N$: 数学をしていない時 人が了解している素朴な数の概念
  • $\mathbb N$ : ペアノ・デデキントらによって議論・発明された数学的構造
  • $\omega$: 集合論の中で展開された $\mathbb N$ を表現すると解釈可能な、一意に存在すると証明された対象につけられた名前。

これらに対する議論や、算術での対象 $U$ と集合論での対象 $V$ の間に $U⊂V$なる関係があるのか?という並行した議論、および(可算・非可算の)PAの超準モデルの存在などが絡み合って「数とは何か」に関して(確定的な理解に至らなくても)理解を深めることができました。

知見3. 形式化の強力さを知った

論理学の勉強ですでに、形式化することの重要性は理解しているつもりでしたが、不完全性定理においてその思いがさらに強くなりました。桁違いな発想の自由度を手に入れたという実感があります。「証明できる」とか「無矛盾である」などが形式化されるのはもちろん、それらに関する言明(典型的には不完全性定理自身)すら形式化することで、メタのメタの議論も容易になり、人間の思考を形式化する強力な道具になったと思います。この辺り様相論理的なアプローチが応用としてあるようで興味がわいてきました。参考: 証明可能性論理 - Wikipedia

まとめ

不完全性定理は、理解するまでにとても色々な知識と忍耐が必要なのですが、それを上回る利益をもたらしてくれました。これからも少しずつ詳細を勉強していこうと思います。