diff --git a/src/c5_prop_type_proof_term.md b/src/c5_prop_type_proof_term.md index efbe1ac..25169fe 100644 --- a/src/c5_prop_type_proof_term.md +++ b/src/c5_prop_type_proof_term.md @@ -3,7 +3,8 @@ -これは,型理論の世界観が集合論と大きく異なる点です.何が起こっているのか理解しようとして, +これは,型理論の世界と集合論の世界との,そして3年前までの私の脳内世界との大きく異なる点です. +何が起こっているのか理解しようとして, 私は数学者が用語の濫用を行っていることに気づきました.まずそれについて考えてみましょう. [ボルツァーノ=ワイエルシュトラスの定理](https://en.wikipedia.org/wiki/Bolzano%E2%80%93Weierstrass_theorem) とは, 解析学における, 収束する部分列を持つ有界数列についてのステートメントです. @@ -11,21 +12,22 @@ 少しお話ししましょう.数学者は,「ボルツァーノ=ワイエルシュトラスの定理とは, 収束する部分列を持つ数列に関するこのステートメントのことだ」と言うでしょう.しかし証明の途中で, 証明を続けるためにこの定理を適用する必要がある場合は,「ボルツァーノ=ワイエルシュトラスの定理によって, -収束する部分列があることが推論される」と言います.何もおかしなことではありません.しかし, +収束する部分列があることが推論される」と言います.何もおかしなことはないように思えます.しかし, 私が指摘したいのは,「ボルツァーノ=ワイエルシュトラスの定理」という言葉が2つの異なる意味で使われている, ということです.「ボルツァーノ=ワイエルシュトラスの定理とは何か」という場合, -かれらは定理の記述に言及しています.しかし,「ボルツァーノ=ワイエルシュトラスの定理を使って」 +かれらは定理のステートメントに言及しています.しかし,「ボルツァーノ=ワイエルシュトラスの定理を使って」 という場合,実際に使っているのはその証明です.バーチ・スウィンナートン=ダイアー予想は, 完全に整った命題であり, -確かに [それが何であるか](https://www.claymath.org/millennium-problems/birch-and-swinnerton-dyer-conjecture) -を言うことはできます. -しかし,証明を完全なものにしたいのであれば, -バーチ・スウィンナートン=ダイアー予想を他の何かの証明の途中で使うことはできません. +[それが何であるか](https://www.claymath.org/millennium-problems/birch-and-swinnerton-dyer-conjecture) +を正確に言うことができます. +しかし,ある証明を完全なものにしたいのであれば, +バーチ・スウィンナートン=ダイアー予想をその証明の途中で使うことはできません. なぜなら現時点でこの予想は未解決問題だからです.ここで重要なのは, 定理のステートメントと定理の証明とを明確に区別することです. 数学者は「ボルツァーノ=ワイエルシュトラスの定理」という言葉を,どちらの意味でも使うことがあります. このような非形式的な表記の濫用は初学者の混乱を招きます.なぜなら, 以下では定理のステートメントと定理の証明を区別することが本当に重要だからです. +この2つは全く異なるものです. @@ -37,7 +39,7 @@ natural number game において,私は `add_zero : ∀ x : ℕ, x + 0 = x` ということなのです!コロンは型理論的に使われています. 私は natural number game では意図的にこの概念を曖昧にしました. `add_zero` はすべての $x$ に対して $x + 0 = x$ であるという「アイデア」と何らかの形で等しいと, -数学者に信じさせたわけです.しかし裏では `∀ x : ℕ, x + 0 = x` は命題であり,したがって型であり, +数学者に信じさせたわけです.しかし裏では `∀ x : ℕ, x + 0 = x` は命題であり,型でもあり, `add_zero` はその証明であり,項でもあります.ここで重要なのは, 定理のステートメントとその証明を区別することです.ステートメントは型であり,証明は項です.