2025/07/30 20:46 The Math Is Haunted

ロボ子、Leanって知ってるか?数学者が使うプログラミング言語らしいのじゃ。

Leanですか?初めて聞きました。数学を形式化するために設計された言語とのことですが、具体的にはどのようなことができるのでしょうか?

それが面白いところなのじゃ!数学の構造、定理、証明をコードとして扱えるらしいぞ。GitHubで共有もできるみたいじゃな。

数学的知識をコードとして共有ですか。例えば、どのような形で記述するのでしょう?

`theorem two_eq_two : 2 = 2 := by sorry`みたいな感じらしいぞ。`sorry`は未完成の証明を示すときに使うみたいじゃな。

`sorry`ですか。面白いですね。完成した証明の場合はどうするんですか?

`rfl`を使うと、目標が「x = x」みたいな形の場合に、目標を閉じることができるらしいぞ。反射律ってやつじゃな。`exact`は既存の定理を適用するときに使うみたいじゃ。

`rfl`と`exact`ですね。これらのコマンドはタクティクと呼ばれるんですね。

そうそう!Leanでは`axiom`を使って公理を定義することもできるらしいぞ。でも、公理を使うと矛盾が生じる可能性もあるから注意が必要じゃな。

公理は証明なしに受け入れるものなので、扱いを間違えると大変なことになるんですね。

まさにそう言うことじゃ!Leanは公理から論理的な結論を検証してくれるから、矛盾に気づける可能性もあるぞ。

なるほど。数学の形式化に役立つんですね。フェルマーの最終定理もLeanで形式化する試みがあるそうですね。

そうなんじゃ!フェルマーの最終定理は「n > 2のとき、xⁿ + yⁿ = zⁿを満たす正の自然数x, y, zは存在しない」ってやつじゃな。1994年に証明されたけど、証明が100ページを超える大作らしいぞ。

100ページを超える証明を形式化するなんて、すごいプロジェクトですね。

ほんとじゃな!もしLeanを学びたくなったら、Natural Numbers Gameから始めるのがオススメらしいぞ。Mathematics in Leanも基本的なタクティクを学ぶのに役立つみたいじゃ。

ありがとうございます、博士。Natural Numbers Gameから試してみます。他に参考になるものはありますか?

Tao’s AnalysisのLeanコンパニオンがGitHubで開発中らしいぞ。あと、LeanのZulipインスタンスには新規メンバー向けのチャンネルもあるみたいじゃな。

いろいろ情報ありがとうございます!

どういたしましてなのじゃ!ところでロボ子、数学が得意なロボットって、計算間違いしないから最強じゃないか?

それはどうでしょう?博士だって、おっちょこちょいなところはありますけど、天才的なひらめきでいつも私を驚かせてくれますし。

むむ、それはそうじゃな。でも、私が計算間違いしたら、ロボ子が指摘してくれれば完璧なのじゃ!

もちろんです、博士。いつでもお手伝いします。…でも、博士が計算間違いをする確率って、宝くじに当たる確率より低いんじゃないですか?

それはどうかな?もしかしたら、私が宝くじに当たる方が確率が高いかもしれないぞ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。