マシンがチェックできるように、停止問題に関するチューリングの証明を形式化したいとします。有名な自動定理証明システムには、Mizar、Coq、HOL4などがあります。Coqをダウンロードして実験しましたが、Turingマシン用のライブラリがありません。私は自分でコーディングしようと思ったが、チュートリアルが欠けており、言語を習得するのが難しいことがわかった。
私の質問は次のとおりです。チューリング機械を含む定理を証明するのに一般的に優れている自動化された定理証明器はありますか?既に存在するライブラリを使用して、停止する問題の決定不能性の証明を形式化できれば、そのような定理証明者は「良い」と考えます。比較的簡単に手に入れることができれば、さらに良いと考えます。(記録のために、私は通常、プログラミング言語に問題はありません。)
おかげで、
フィリップ
このページを確認することもできますが、リストには停止の問題は含まれていません。
—
カヴェー
自然に感じる前にCoqのようなものに固執する必要があると思います。そして、あなたは本を読むのではなく、問題を乗り越えてターミナルにいる必要があります。「インタラクティブな定理証明とプログラム開発:Coq'Art:帰納的構文の計算」を手に入れると役立ちます。Coqチュートリアル:cis.upenn.edu/~bcpierce/sfおよびadam.chlipala.net/cpdtは非常に優れています(ただし、直接目的に合わせたものではありません)。
—
デイブクラーク
「間違った」バージョンを選択すると、証明の形式化は非常に複雑になる可能性があります。停止問題については、最初に、より一般的で抽象的なバージョンを証明することをお勧めします。その後、チューリングマシンが抽象バージョンの特別なケースであることを後で証明できます(まだそれを実行したいと思う場合)Coqでこれを証明する良い方法を考えます。お楽しみに。
—
アンドレイバウアー
数学とプログラミングが得意であれば、証明アシスタントの使用方法を学ぶための前提条件があります。あなたは本当にそれを新しいスキルとして扱う必要があります。(ただし、非常にやりがいがあります。)
—
ニールクリシュナスワミ
質問に対する答えは「いいえ」のようです。このようなシステムは非常に便利だと思います-チューリングマシンを形式化する場合、多項式時間の等価性について少し考えてもらえますか?
—
コリンマッキーラン