数学ガール/ゲーデルの不完全性定理

気持ち良さそうだから勇気出して先っぽだけ突っ込んでみたらやっぱり気持ちよかった。


いやほんと、数学の世界って気持ちいい。理解できたら面白いのだろうけど、難しいから敬遠してた。だけどちょっとだけ数学の世界に行ってみたら思いのほかよかった。

んでペアノの公理を読んだ時に思った。数学の美しさはUNIX哲学に似てるところがあるんじゃないかって。小さいものは美しい。いや、UNIX哲学の美しさは数学の美しさに似てるといったほうが正しいか。UNIX哲学は人が作ったものだし、数学ははじめからこの世にあって後から数学者が発見したわけだから。


ゲーデル不完全性定理を説明するために全10章のうち9章までじっくりと事前準備をしてくれるのでわかりやすい。それでも俺じゃ10章は難しかったけど。数学を数学するなんて考えたこともなかったからさ、当たり前のように思えることからも定義していく様が面白かった。自然数の定義とか演算子の定義とか。こういう、根底の部分を定義してくってのはふつうのコンパイラをつくろうを読んだ時に感じたことと似ている。根底の方を定義すれば上の方で広い世界が広がる、と。

10章の不完全性定理の証明のための大量の定義群は圧巻だ。あれってプログラムにそっくり。 isPrime とか x[n] とかプログラマには大変見慣れた文字列だ。これらの定義はその前の定義から産まれ、これらの定義からまた新しい定義が産まれる。定義のピラミッドみたいだ。いや、根元の方が小さいから逆か。


小さな定義から広い世界が広がるということと集合の基礎的な概念などを知ることができたので、プログラムで Set を実装したいときにどういうメソッドを持たせれば良いのかを感じ取ることができた。汎用的なメソッドを定義して自由なことができるインターフェースにする。メソッド数が多すぎるということはインターフェースが複雑になるということだから。これってEffective Javaの項目25「メソッドのシグニチャを注意深く設計する」に書いてあった「便利すぎるメソッドを提供しすぎないようにする」ということだよね。この本でメソッドのインターフェースを考えさせられるとは。


理解しやすかったから数学ガールシリーズは他のも読むことになるだろうけど、読んでる最中ずっともやもやしてたから一言書き残しておこう。

数学に萌えっていらなくない?

数学ガール ゲーデルの不完全性定理 (数学ガールシリーズ 3)

数学ガール ゲーデルの不完全性定理 (数学ガールシリーズ 3)