人間はCoqに何を伝えたか?
【 証明することと証明を検証すること 】
人間とCoqの「対話」で、人間は何をCoqに伝えようとし、また、Coqは何を人間に伝えようとしたのでしょうか? このセッションでは、前者の問題を考えます。
Coqとの対話で、人間がCoqに伝えるメッセージを tactics と呼びます。tactics(戦略)という名前は奇妙ですが、まずは、人間からの具体的な「証明の指示」だと思って構いません。
はじめてCoqに触れた時、さまざまなtacticsがあってどのtacticsを選べばいいのかと戸惑うと思います。ただ、論理式の証明ではtacticsの選択は、その論理式がどのような論理式から構成されているのかで、ほぼ自動的に決まります。今回の「はじめてのCoq」は、論理式の証明でtacticsの選択に慣れてもらうことを目標にしています。
もっとも、数学の証明は「論理式の証明」だけではありません。「等号を含んだ数式の証明」とか「数学的帰納法を使う証明」では、別のtactics が必要となります。それについては、「はじめてのCoq 2」以降で順次取り上げていきます。
ある数学の問題をCoqで証明しようとする時、人間がCoqに伝えるべきことは、「証明の指示」としての様々なtactics であると考えて良さそうです。
ただ、人間がCoqに問いかけることは、こうした「指示に従って証明を完成しなさい」ということだけではないのです。それは、「この証明は正しいのか?」とCoqに尋ねることです。
証明を行うこととある証明が正しいことを検証することは、別のことです。
確かに、自分で証明を完成させれば、その証明の正しさを検証したことになるのですが、数学的な推論では、そこで利用されるすべての数学的な命題の証明が要求されるわけではありません。それは、原理的には「整合的な累積的知の体系」であるという、数学のとても重要な性質です。
問題は、「原理的には」というところにあります。なぜなら、数学者も幻覚に陥って証明を誤ることがあるからです。これらの問題については、ショートムービー「21世紀 数学的証明での「形式的証明」の拡大」https://youtu.be/HP1CivTrwzE?list=PLQIrJ0f9gMcMMwP2zBgMe3LbaDnKGG_zw あるいは、blog 「数学者も証明を間違えることがあるということ」https://maruyama097.blogspot.com/2023/03/21.html をご覧ください。
Coqを利用して、証明を行うだけではなく、証明が正しいかの検証ができるということは、数学とその証明をめぐる長年の課題を根本的に解決する道を開く可能性があるのです。
-------------------------------------
ショートムービー「人間はCoqに何を伝えたか? 」を公開しました。https://youtu.be/feTVYaZybsg?list=PLQIrJ0f9gMcPrNFRG1sEmtCRDnemxc1Pc
資料 pdf「人間はCoqに何を伝えたか? 」https://drive.google.com/file/d/1jqJFqKpWk6bBNXaWo52iMQmRw0wNTY0v/view?usp=sharing
コメント
コメントを投稿