CIS 500のコースノートを見ていきます。ソフトウェアの基礎と演習はとても楽しいです。私は3番目の練習セットにいるだけですが、戦術を使って次のようなことを証明するときに何が起こっているのかをもっと知りたいですforall (n m : nat), n + n = m + m -> n = m.
CIS 500のコースノートを見ていきます。ソフトウェアの基礎と演習はとても楽しいです。私は3番目の練習セットにいるだけですが、戦術を使って次のようなことを証明するときに何が起こっているのかをもっと知りたいですforall (n m : nat), n + n = m + m -> n = m.
回答:
開始点の1つは、Coqリファレンスマニュアル(pdf)です。第4章では、Coqの基礎となるロジックについて説明します。最終的にはすべてがこれに基づいています。これは(共)誘導構造の微積分と呼ばれ、多くの論文で説明されています。Coq'Artブックの対話型定理証明とプログラム開発を手に入れると、Coqをよりゆったりと紹介できますが、安くはありません。
戦術がどのように機能するかについて学ぶには、この前の質問をご覧ください:「戦術」は証明アシスタントでどのように機能しますか?
必要な理論を構築するには、型理論について学ぶ必要があります。証明アシスタントの基礎にある理論に最も密接に関連するのは、おそらくPerMartin -Löfの直観型型理論ノート(またはbook)または書籍 Martin- LöfType Theoryのプログラミングです。型理論に関するプログラミング言語の観点は、Pierceの型とプログラミング言語から入手できます。Girard et alのProofs and Typesは、Curry-Howard Correspondenceの重要性にも対処しており、別の優れたリファレンスです。そうすれば、おそらくCoquandとHuetの構造の計算。最後に、Coqマニュアルの裏にあるいくつかのリファレンスを探してください。
他の証明アシスタント、HOL、NuPRL、Mizar、Twelfなどがあり、それらにも理論がありますので、その方向に読んで多くを学ぶことができます。
最後に、証明アシスタントの歴史と将来の概要については、Herman Geuversによる最近の記事をご覧ください。
型付きラムダ計算、直観主義論理、さまざまな証明システム、およびすべてのCoq数学的背景の一部であるカリー-ハワード同型については、「カレー-ハワード同型に関する講義」(P. UrzyczynおよびM.Sørensenによる)を強くお勧めします。
現在のSoftware Foundationsの本では、これについてすべて後で説明しています:https : //softwarefoundations.cis.upenn.edu/lf-current/ProofObjects.html
あなたが本をフォローしているのであれば、読んでください:)
Show Tree
coq。