なぜ一部の推論エンジンには人間の支援が必要なのに、他の推論エンジンには必要ないのですか


16

私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています

自動化された定理証明者、つまりACL2とSMTソルバーが人間の支援を必要としない一方で、証明アシスタント、つまりイザベルCoqは必要ないのはなぜですか?

ここでシリーズの次の質問を見つけます

回答:


14

高次式の妥当性は、一般的に決定可能ではなく、スペースがある検索巨大なあなたが行うことを望むことができるすべてのことですので、試す証拠を見つけること-それが存在すると仮定すると-巧妙に証拠スペースを列挙することによって(と思うハンマー、適切な名前)しかし、それは大雑把です。人間は神託を演じることができ、証拠を導くための重要な補題を提供します。

一方、自動化された証明者は通常、たとえば命題論理や1次論理のサブクラスなどの決定可能な(サブセットの)論理のみを処理するため、長時間実行される可能性がありますが、最終的に成功することはわかっています。

そこにあることに注意してくださいは、これらの重要なlemmata、例えば見つけるために証拠assisstantsを有効にするために近づいIsaPlannerを。ツールは、列挙およびランダムテストによって(帰納的)補題を推測し、それらを証明しようとします。プロセスを繰り返すことにより、たとえば典型的なデータ型定義の多くの補題を自動的に見つけることができます。


小さなABC

  • 妥当性 -数式は有効であり、自由変数に割り当てたものがすべて保持されます。
  • 自由変数 -などの数量詞によって拘束されないそれらの変数
  • 決定可能性 - (ブーリアン)プロパティアルゴリズムは答え「はい」か「いいえ」(正しく)という有限の時間の後に存在する場合(チューリング)決定可能です。
  • 命題論理 -ゼロ次論理。数量化は許可されていません。
  • x.P(x)f.f(4)>0
  • 高階ロジック -高階関数(関数を受け取る関数)など、任意の複雑なオブジェクトを定量化(および「ビルド」)できます。

@GuyCoder:しかし、それが実現可能かどうかはわかりません。事前の知識なしに消化できるようにすべての答えを書くことはできません。ATP 高度なものです。論理の強固な背景なしにそれらを学ぶ人はお勧めしません。答えをあなたが望むように書くと、理解の錯覚を作り出すことができるだけですが、本当に助けにはなりません。したがって、あなたのシリーズに興味がある人は誰でも最初にいくつかのロジックを実行する必要があります。
ラファエル

7

「自動定理証明」(ATP)と「インタラクティブ定理証明」(ITP)の古典的な区別を再考する必要があると思います。今日、Isabelle / HOLのような有名なITPシステム(2013年2月のIsabelle2013)を使用する場合、ATPポートフォリオの非常に多くのアドオンツールが統合されます。

  • オンボードの汎用自動証明ツール:fastand blast(L. Paulsonによる)やmetis(J. Hurdによる)のような新しい自動化された証明者のような古い学校のIsabelleツール

  • スレッジハンマーを介して呼び出される一次論理の外部ATP:E証明者、SPASS、ヴァンパイア。見つかった証拠を分析して、どの補題がそれに寄与しているかを判断し、10000を10に減らし、結果をに送りmetisます。

  • 部分証明再構成を備えた外部SMT、特にZ3(S. Boehme作)用。

  • 実証されていないステートメントの反例を見つけるためのツール:Nitpick / Kodkodi(J. Blanchette)およびQuickcheck(L. Bulwahn)。

自動化されたものはすべて、イザベルを自動化された定理証明者にしますか?

最終的に、「ATP」と「ITP」の区別は、システムをどのように配置または「販売」したいかを示す、ある種の「ラベル」であると思います。パラメータやヒントを提供するか、問題を再定式化することにより、(間接的に)対話する必要があります。ATPコミュニティでは一般的なランタイムが長いため、実際には非常に難しい場合があります。

対照的に、ITPシステムは、プルーフを完了するために不足しているものを確認するために、内部プルーフ状態への半分のアクセスで、その場で待機している人々のために作られています。IsabelleのようにATPツールをラップするITPシステムは、ITPまたはATPのみのどちらよりも、より多くのユーザーとアプリケーションにとって魅力的です。


しばらく経ちましたが、もし私が正しく覚えていなければ、証明者でもありfastませんblast。基本的には、証拠を見つける可能性のある特定のルールを使用したヒューリスティックです。(もちろん、それらは適切な小さな式のサブセットで証明されています。これは、あらゆる証明列挙法に当てはまります。)
ラファエル

2
「証明者」と言うとき、実際には特定の固定言語の「決定手順」を意味しますか?ほとんどのATP「証明者は、」半意思決定手続き、あなたが特徴方法ですfastblastblastL. Paulsonが、いくつかのCADEワークショップで「一般的なTableau証明者とそのイザベルとの統合」として発表したことに注意してください。この論文は、後にJ. UCS 1999に登場しました。また、いくつかの特殊言語(算術のサブセット)の決定手順。
マカリウス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.