さまざまな句の異なる変数


10

解決定理の証明では、通常、異なる節の変数は異なると想定されます。これは自動的に行われることではありません。実装するには、かなりの追加コードと計算が必要です。それを踏まえて、私はそのためのテストケースを探しています。

問題は、これまでに試したすべてのテストケースで、違いがないことです。おそらくそれは異常なエッジケースでのみ重要です。以下のようウィキペディアプットそれを、「異なる句内の変数は異なっている...さて、XとYはとにかく同じ変数になることを第二節手段にQ(Y)との最初の句でQ(X)を統一します。」

異なる句が同じ変数を使用する場合、実際に間違った答えを与える既知のテストケースはありますか?

回答:


6

編集:より良い例を見つけました。次の句を検討してください: 明らかに、この一連の句は矛盾しています。しかし、変数の名前を変更せず、唯一の可能な分解物は、、それ以上resolventsはできません-置き換えにすべてのリードためは不可能です。 PFXFXX

¬PバツPfバツPバツ¬Pffバツ
Pfバツfバツバツ

編集:句の意味を検討します。各句は暗黙的に普遍的に数量化されます。したがって、その変数の意味は何にも固定されていません。ここで、両方にを含む2つの句があるとします。いずれかで名前を変更せずに解決を実行する場合、にはない意味を追加しますは両方の句で同じことを意味すると言いますが、これは正しくありません。句に明確な変数がない場合は、解決によって弱い結論が出ます。x x xバツバツバツバツ


(元の答え)たとえば、4つの句があるとします。

  1. Bバツ
  2. ¬Cバツ
  3. ¬Bc
  4. ¬Cd

ここで、は変数、c dは定数です。私たちは名前を変更することなく、最初の二つの決議を実行した場合のxを、我々は買ってあげるB X C X 。私たちはを進めることができ¬ B C を取得するためにC Cのが、今、私たちはとそれを解決することはできません¬ C D バツycdバツBバツCバツ¬BcCc¬Cd

バツyBバツCy¬Bc¬Bd


Bバツ¬Bc¬

@rwallace個別の変数がないことは、メソッドが完全ではないというだけで、空の句を派生できないことを意味しません。常に変数の名前を変更する場合は、句を選択する順序は関係ありません。元のセットが満足できない場合は常に空の句が派生します-メソッドは完了です。ただし、変数の名前を変更しないと、(例が示すように)順序が突然重要になります-派生のシーケンスによっては、空の句が見つかりません。そして、証明者は、どの派生シーケンスが適切なものであるかを事前に「伝える」ことはできません。
PetrPudlák2012

しかし、完全なメソッドが最終的にすべての可能な派生を試行しなければならないというわけではありません(最初に空の句を見つけない限り)。確かに、あなたが言及したものの前に私が言及した派生物を試すことを保証するものではありませんが、明確な変数がないためにあなたが言及したものが失敗した場合、私が言及したものはまだ開いており、完全なメソッドに戻って試す必要がありますそれらは遅かれ早かれ?
rwallace 2012

アブストラクト内の句の意味に関するあなたの補遺は理にかなっていますが、そうであれば、テストケースを見つけることができるはずであると私には思われます。個別変数機能は無効になっています。今のところ、そのようなテストケースを見つけることはできません。
rwallace 2012

@rwallaceどうしてそんなことしたいの?解決は完全な方法であり、どのような状況でも、句の各ペアに対して解決を実行する必要があるのは一度だけであることがわかっています。最終的には、可能な限りすべてのシーケンスを試し、バックトラックを続行する方法を提案します。これにより、アルゴリズムの複雑さが非常に大きくなり、各ステップで変数の名前を変更するだけではリモートで比較することもできません。
PetrPudlák2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.