タグ付けされた質問 「automated-theorem-proving」

6
自動定理証明の学習
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 これらのトピックは、(数学的な)ロジックの背景なしでは簡単に要約できないことに注意してください。基本用語に問題がある場合は、M。HuthとM. Ryanによるコンピューターサイエンスのロジック(特に、第1章、第2章、第4章)またはPによる数学論理と型理論の紹介を読んでください。アンドリュース。 高次ロジック(HOL)の簡単な紹介については、こちらを参照してください。 私はCoqを見て、とりわけイザベルへの導入の最初の章を読みました。自動定理証明の種類 私は数十年にわたってPrologを知っていて、現在F#を学んでいるので、ML、O'Caml、およびLISPはボーナスです。Haskellは別の獣です。 私は次の本を持っています アラン・ロビンソンとアンドレイ・ボルンコフによる「自動推論のハンドブック」 ジョン・ハリソンによる「実践的論理と自動推論のハンドブック」 フランツ・バーダーとトビアス・ニプコウによる「用語の書き換えとすべて」 CoqとIsabelleの違いは何ですか? IsabelleまたはCoq、またはその両方を学習する必要がありますか? イザベルまたはCoqを最初に学習することには利点がありますか? ここでシリーズの次の質問を見つけます。

1
自動定理証明の種類
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 関連する自動定理証明者はどれですか?定理証明のレビューを見つけました これはまだ最新ですか? どれがまだ非常にアクティブであるか、つまり、それを作成したグループ以外で現在使用されているのはどれですか? ここでシリーズの次の質問を見つけます。

3
推論エンジンにとって統一がなぜそれほど重要なのですか?
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 私は統一アルゴリズムについて読み続けています。 それは何で、なぜ推論エンジンにとってそれほど重要なのですか? なぜコンピューターサイエンスにとってこれほど重要なのですか?

2
なぜ一部の推論エンジンには人間の支援が必要なのに、他の推論エンジンには必要ないのですか
私は自動定理証明 / SMTソルバー / 証明アシスタントを自分で学んでおり、ここからプロセスに関する一連の質問を投稿しています。 自動化された定理証明者、つまりACL2とSMTソルバーが人間の支援を必要としない一方で、証明アシスタント、つまりイザベルとCoqは必要ないのはなぜですか? ここでシリーズの次の質問を見つけます。

1
自動化された定理証明器によってどのような数学の問題を解決できますか?
利用可能な自動定理証明器を使用して、次のステートメントを証明できますか? (a + b )2= a2+ b2+ 2 a b(a+b)2=a2+b2+2ab(a+b)^2=a^2+b^2+2ab。 もし、その後、。11 ∣ 2 a − 3 b11∣2a−3b 11 \mid 2a-3b11∣7a−5b11∣7a−5b 11 \mid 7a-5b もし、次いで、。ax2+bx+c=0ax2+bx+c=0 ax^2+bx+c=0x=−b±b2−4ac√2ax=−b±b2−4ac2ax=\frac{-b\pm\sqrt{b^2-4ac} }{2a} が偶数の場合は偶数です。aaa4a4a4a 等々! 論理の定理を証明する自動定理証明の応用を見つけたばかりなので、この質問をしています。

1
ダミーのための単項二次論理
私はプログラマーであり、オートマトンに精通していますが、ロジックには精通していません。 私は論文で、この2つは非常に密接に関連していると読みました。確定的有限オートマトン(DFA)、ツリーオートマトン、および可視プッシュダウンオートマトンは、すべてモナド2次論理(MSO)に関連しています。オートマトンと(論文の)人はMSOとの関係を私に説明しようとしたが、彼らは常に論理とMSOの理解の強い背景を前提としている。 ロジックに関する本やコースを見ると、ほとんどが一次ロジックのみを処理しますが、これは非常に単純で、いくつかの概念のみで構成されています:変数、または、ない、含意、すべて、存在など 誰かが説明したり、説明できるリソースを教えてくれたりできますか? 一次論理と対照的な二次論理とは何ですか? モナドと非モナドのロジックとは何ですか? なぜ二次論理が単項であることが決定可能になることが重要なのか、またはなぜこれが間違った質問なのか? なぜ単項二次論理が決定可能か? 少なくともDFAとの関係は? それがリソースである場合、私がプログラマーであり、論理学者ではないことを前提とすれば良いでしょう。これは、それまでは数学が私にとって魔法のように感じるので、コードとしてどのように実装するかを理解したいということです;) 助けてくれてありがとう。とても感謝しております。


1
さまざまな句の異なる変数
解決定理の証明では、通常、異なる節の変数は異なると想定されます。これは自動的に行われることではありません。実装するには、かなりの追加コードと計算が必要です。それを踏まえて、私はそのためのテストケースを探しています。 問題は、これまでに試したすべてのテストケースで、違いがないことです。おそらくそれは異常なエッジケースでのみ重要です。以下のようウィキペディアプットそれを、「異なる句内の変数は異なっている...さて、XとYはとにかく同じ変数になることを第二節手段にQ(Y)との最初の句でQ(X)を統一します。」 異なる句が同じ変数を使用する場合、実際に間違った答えを与える既知のテストケースはありますか?

2
Coqの定理証明
バックグラウンド 私はCoqだけで支援を学んでいます。これまでのところ、急いでイヴベルトットのコックを読み終えました。現在、私の目標は、いわゆる除算アルゴリズムで終わる、自然数に関するいくつかの基本的な結果を証明することです。しかし、私はその目標に向かう途中でいくつかの後退に遭遇しました。特に、次の2つの結果は、私が最初に想像したよりもCoqで証明するのが難しいことを示しています(しゃれた意図)。実際、多くの実りのない試みの後、私はそれらを手動で証明する手段を講じました(以下に示すように)。これは明らかに、私がCoqの処理に習熟するのに役立つわけではありません。これが私がこのフォーラムを利用する理由です。私の希望は、このサイトの誰かが有能で喜んでいることです下記の証明をCoqが受け入れる証明に変換するのに役立ちます。すべての助けに心から感謝しています! 定理A すべてのための証明:x,y∈Nx,y∈Nx,y \in N x&lt;S(y)⊂x&lt;y∨I(N,x,y)x&lt;S(y)⊂x&lt;y∨I(N,x,y)\begin{equation} x < S(y) \subset x < y \lor \text{I}(N,x,y) \end{equation} と仮定します。したがって、と ため、(Peano 1bおよび3)x&lt;S(y)x&lt;S(y)x < S(y)z∈Nz∈Nz \in NI(N,x+S(z),S(y))(*)(*)I(N,x+S(z),S(y))\begin{equation} \text{I}(N,x+S(z),S(y)) \tag{*}\end{equation}I(N,x+z,y)I(N,x+z,y)\begin{equation} \text{I}(N,x+z,y) \end{equation} 述語を定義しQ(u):=(I(N,x+u,y)⊂x&lt;y∨I(N,x,y)Q(u):=(I(N,x+u,y)⊂x&lt;y∨I(N,x,y)\begin{equation} Q(u):=(\text{I}(N,x+u,y) \subset xy¬I(N,x,y)¬I(N,x,y)\neg \text{I}(N,x,y)x&gt;yx&gt;yx>y y&gt;xy&gt;xy>xI(N,x,y)I(N,x,y)\text{I}(N,x,y) 我々は維持上に固定し、入会を。場合我々は全てに対して基本ケースを証明します。次に、定理がについて成立するとします。ここで、定理を証明したいと思います。のトリコトミーから、と 3つのケースがあり。もし、次いで明確。もし、次いで、(ASのためのすべて)。最後に、yyyxxxI(N,0,y)I(N,0,y)\text{I}(N,0,y)0&lt;y∨I(N,0,y)0&lt;y∨I(N,0,y)0 < y \lor \text{I}(N,0,y)yyyxxxS(x)S(x)S(x)xxxx&lt;y,I(N,x,y)x&lt;y,I(N,x,y)xyx&gt;yx&gt;yx>yS(x)&gt;yS(x)&gt;yS(x) >yI(N,x,y)I(N,x,y)\text{I}(N,x,y)S(x)&gt;yS(x)&gt;yS(x) >yS(x)&gt;xS(x)&gt;xS(x) >xx∈Nx∈Nx\in \mathbb{N}x&lt;yx&lt;yx <y次に、定理Aによってまたはが得られ、どちらの場合も完了です。 S(x)&lt;yS(x)&lt;yS(x) < yI(N,S(x),y)I(N,S(x),y)\text{I}(N,S(x),y)(□)(◻)\begin{equation} \tag{$\square$} \end{equation} …

1
Hoare-FloydロジックとScott–Stracheyセマンティクスの間の主要なブレークスルーは何でしたか?
ミルナーのマイクゴードンによる「厳密な証明を支援するための機械の使用」についての解説を読んでいます。このペーパーでは、Dana ScottとStracheyによる表示セマンティクスのアイデアからLCFがどのように生まれたかを説明します。 FCFを開発するにはFloyd-Hoareロジックでは不十分であるように見えますが、なぜこれが当てはまるのかはわかりません。最後に、Hoareロジックでは、いくつかの前提条件を満たし、関係を介していくつかの事後条件適合するプログラム状態を扱い、Iはこの式を提供できます。ウィキペディアは、意味論的意味論は次のように述べています:PPPrrrQQQ は、言語からの式の意味を説明する数学的オブジェクト(表記と呼ばれる)を作成することにより、プログラミング言語の意味を形式化するアプローチです。 Hoareロジックでは、再帰を扱った覚えがありませんでしたが、このアプローチでインスタンス再帰がいくつかの関係の固定点としてどのようにモデル化されるかに関するいくつかの直観に精通しています。それでも、両方のアプローチは、数学的関係を使用して入力と出力の間の関係を記述しようとするようです。 質問 それでは、Hoareロジックと表記セマンティクスの違いは何ですか?表示セマンティクスはプログラムのいくつかの複雑さをよりよく管理しますか?その場合は、例を挙げて説明してください。 たぶん、次のミルナーの表記意味論に関する引用は、あなたの答えを導くのに興味深いです: このロジックでプログラミング言語の構文を書き留め、ロジックでセマンティクスを記述することができました。

2
なぜ教会でエンコードされたタイプでは帰納的証明を表現するのに十分ではないのですか?
帰納的型のない構造の計算は、帰納法によって証明を表現するのに十分強力ではないという主張を聞いたことがあります。あれは正しいですか?もしそうなら、なぜそれを教会エンコーディングは十分ではないのですか?

1
重ね合わせ計算における冗長性の除去
重ね合わせ計算で定理を証明する場合、3種類のルールを扱います。 ルールの生成:句AとBのペアから、元のペアを維持しながら新しい句Cを生成します(一般的な場合の重ね合わせなど)。 書き換えルール:句Aから新しい句Bを生成します。たとえば、等価反射性、等価因数分解。単位方程式との重ね合わせも書き換えルールとみなすことができます。 ルールの排除:包摂、トートロジーの排除などの句を削除します。 問題は、我々は、厳格な書き換えを行うことができ、第二のカテゴリーに関しては、ある置き換える新しいものと、元の句を、または私たちは、元維持しなければならないのと同様に新しいものを?等値性反射の場合、前者を実行できるように見えますが、等式因数分解と単位方程式との重ね合わせの場合、これが完全性を維持するかどうかはすぐにはわかりません。 どちらであるかを知る一般的な方法はありますか?または、それぞれのケースで実行する必要があるリストは?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.