数理論理学および自動定理証明において、分解法は、命題論理および一階述語論理の文に対する健全かつ反駁完全な定理証明手法につながる推論規則である。命題論理においては、分解法を体系的に適用することで、論理式の充足不可能性に対する決定手続きとして機能し、(補集合である)ブール充足可能性問題を解くことができる。一階述語論理においては、分解法は一階述語論理の充足不可能性問題に対する半アルゴリズムの基礎として使用でき、ゲーデルの完全性定理に基づく方法よりも実用的な方法を提供する。
分解規則はデイビスとパトナム(1960)に遡ることができますが、 [ 1 ]彼らのアルゴリズムでは、与えられた式のすべての基本インスタンスを試す必要がありました。この組み合わせ爆発の原因は、1965年にジョン・アラン・ロビンソンの構文的統一アルゴリズムによって解消されました。このアルゴリズムでは、反駁の完全性を維持するために必要な範囲で、証明中に「オンデマンド」で式をインスタンス化することが可能になりました。[ 2 ]
解決規則によって生成される条項は、解決句と呼ばれることもある。
命題論理における解決規則は、相補的なリテラルを含む2 つの節から導かれる新しい節を生成する単一の有効な推論規則です。リテラルとは、命題変数または命題変数の否定です。2 つのリテラルは、一方が他方の否定である場合に相補的であると言われます (以下、 は、結果として得られる節には、補語を持たないすべてのリテラルが含まれます。正式には次のようになります。
どこ
上記は次のように表記することもできます。
または模式的に表すと次のようになります。
弊社では以下の用語を使用しています。
解決規則によって生成される節は、 2 つの入力節の解決節と呼ばれます。これは、用語ではなく節に適用される合意の原則です。 [ 3 ]
2 つの節に複数の相補的なリテラルのペアが含まれている場合、解決ルールはそのような各ペアに対して (独立して) 適用できますが、結果は常に同義反復になります。
モーダス・ポネンスは、(1文字の節と2文字の節の)解決の特殊なケースと見なすことができる。
と同等
完全な探索アルゴリズムと組み合わせることで、解決規則は命題論理式の充足可能性、ひいては一連の公理の下での文の妥当性を判定するための健全かつ完全なアルゴリズムをもたらす。
この解決手法は背理法を用い、命題論理の任意の文は連言標準形の同等の文に変換できるという事実に基づいている。[ 4 ]手順は以下のとおりである。
このアルゴリズムの一例として、オリジナルのデイビス・パトナムアルゴリズムがあり、これは後にDPLLアルゴリズムへと改良され、レゾルベントの明示的な表現の必要性を排除した。
この解決手法の説明では、解決導出を表す基底データ構造として集合Sを使用します。リスト、ツリー、有向非巡回グラフも、考えられる一般的な代替手段です。ツリー表現は、解決規則が二項であるという事実に忠実です。節のシーケント表記と組み合わせることで、ツリー表現は、解決規則がアトミックカット式に限定されたカット規則の特殊なケースとどのように関連しているかを明確に示します。ただし、ツリー表現は、空節の導出で複数回使用される節の冗長な部分導出を明示的に示すため、集合表現やリスト表現ほどコンパクトではありません。グラフ表現は、節の数に関してリスト表現と同じくらいコンパクトであり、各解決項を導出するために解決された節に関する構造情報も格納します。
平易な言葉で言うと:前提が偽である。本当は、真でなければならない。あるいは、は真実である。前提が成り立つためには本当は、真実でなければならない。したがって、虚偽か真実かに関わらず、両方の前提が成り立つ場合、結論はそれは本当です。
解決ルールは、一階述語論理に一般化して次のように表すことができます。[ 5 ]
どこは最も一般的な統一者ですそして、 そしてそして共通する変数はありません。
条項そしてこのルールを適用できます統一者として。
ここで、xは変数、bは定数です。
ここで私たちは
一階述語論理では、分解法は論理的推論の伝統的な三段論法を単一の規則に凝縮する。
解決の仕組みを理解するために、次の項論理の三段論法の例を考えてみましょう。
あるいは、より一般的に言えば:
分解法を用いて推論を再構成するには、まず節を連言標準形(CNF)に変換する必要があります。この形式では、すべての量化が暗黙的になります。変数( X、Y 、…)に対する全称量化子は省略され、存在量化変数はスコレム関数に置き換えられます。
そこで問題となるのは、解決手法は最初の2つの節から最後の節をどのように導き出すのか、ということだ。ルールは単純だ。
この規則を上記の例に適用すると、述語Pが否定形で現れることがわかります。
最初の節では、否定形ではない
第2節において、Xは非束縛変数であり、aは束縛値(項)である。この2つを統一すると、置換式が得られる。
統一述語を破棄し、残りの述語(この場合はQ ( Xのみ)にこの置換を適用すると、次の結論が得られます。
別の例として、三段論法の形式を考えてみましょう。
あるいはもっと一般的に言えば、
CNFでは、前件は次のようになります。
(2番目の節の変数名は、異なる節の変数がそれぞれ異なることを明確にするために変更されました。)
さて、最初の節のQ ( X ) と2 番目の節の ¬ Q ( Y ) を統一すると、 XとY は結局同じ変数になります。これを残りの節に代入して組み合わせると、次の結論が得られます。
ロビンソンによって定義された解決規則には、上記で定義された解決の適用前または適用中に、同じ節内の 2 つのリテラルを統合する因数分解も組み込まれています。結果として得られる推論規則は反駁完全であり、[ 6 ]節の集合が充足不能となるのは、因数分解によって強化された解決のみを使用して空の節の導出が存在する場合のみです。
空節を導出するために因数分解が必要となる、充足不能な節集合の例は次のとおりです。
各節は 2 つのリテラルで構成されているため、可能な各解決文も同様です。したがって、因数分解なしの解決では、空の節は決して得られません。因数分解を使用すると、たとえば次のように得られます。[ 7 ]
上記の分解規則の一般化が考案されており、元の式が節標準形である必要はありません。[ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ 13 ]
これらの手法は、中間結果式の人間による可読性を維持することが重要な対話型定理証明において特に有用である。さらに、節形式への変換中の組み合わせ爆発を回避し、[ 10 ] : 98、場合によっては解決ステップを削減できる。[ 13 ] : 425
命題論理については、Murray [ 9 ] : 18および Manna と Waldinger [ 10 ] : 98 は次の規則を使用する。
どこは任意の式を表します。そしてを含む式を表すサブ式として。は、すべての出現箇所を置き換えることによって構築されます。でによる同様に、は、すべての出現箇所を置き換えることによって構築されます。でによる. 解決剤次のようなルールを使用して簡略化することを意図していますなど。無用な自明な解決文の生成を防ぐため、このルールは、次の場合にのみ適用されます。少なくとも 1 つの「否定的」および「肯定的」[ 14 ]の発生があるそしてそれぞれ。マレーは、適切な論理変換規則を追加すればこの規則は完全であることを示した。[ 10 ]: 103
トラウゴットは、同様に表現できるルールを使用している。
ここで指数はその発生の極性を示します。そして以前と同じように構築され、その式はは、各正の出現を置き換えることによって得られます。でとそして、それぞれの否定的な出来事はマレーのアプローチと同様に、レゾルベントには適切な単純化変換を適用する必要がある。トラウゴットは、以下の条件が満たされれば、彼の規則が完全であることを証明した。これらは数式で使用される唯一の接続詞である。[ 12 ]: 398-400
トラウゴットのレゾルベントはマレーのものより強い。[ 12 ]: 395さらに、新たな二項結合子を導入しないため、繰り返しのレゾルベントで節形式に陥る傾向を回避できる。ただし、小さな要素がある場合、式が長くなる可能性がある。より大きなものに複数回置き換えられるおよび/または[ 12 ] : 398
例えば、ユーザーが提示した前提から始めると
マレーのルールは、矛盾を推論するために次のように使用できます。[ 15 ]
同様の目的で、トラウゴットのルールは次のように使用できます 。[ 12 ]: 397
両方の控除額を比較すると、以下の問題点が明らかになる。
一階述語論理の場合、マレーの規則は、異なるが統一可能な部分式を許容するように一般化される。そしてのそしてそれぞれ。は、そしてすると、一般化されたレゾルベントはより特別な置換の場合、規則は依然として有効である。が使用される場合、完全性を達成するためにそのようなルールの適用は必要ありません。
トラウゴットの規則は、互いに異なる複数の部分式を許容するように一般化されている。のそしての、 に限って共通の最も一般的な統一子を持つ、一般化レゾルベントは、適用後に得られます。親式に、命題バージョンを適用可能にする。トラウゴットの完全性証明は、この完全に一般的な規則が使用されるという仮定に基づいている。[ 12 ]: 401制限された場合、彼の規則が完全性を維持するかどうかは明らかではない。そして[ 16 ]
パラモジュレーションは、述語記号が等号である節の集合に対する推論に関連する手法です。反射的同一性を除く、節のすべての「等しい」バージョンを生成します。パラモジュレーション操作は、等号リテラルを含む必要がある肯定のfrom節を受け取ります。次に、等号の一方の辺と統一する部分項を持つinto節を検索します。その後、部分項は等号のもう一方の辺に置き換えられます。パラモジュレーションの一般的な目的は、システムを原子に縮小し、置換時に項のサイズを小さくすることです。[ 17 ]
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)