Redundanzeliminierung in der Überlagerungsrechnung

7

Wenn wir Sätze mit der Überlagerungsrechnung beweisen, beschäftigen wir uns mit drei Arten von Regeln:

  1. Generieren von Regeln: Generieren Sie aus den Klauselpaaren A und B eine neue Klausel C, während Sie das ursprüngliche Paar beibehalten, z. B. Überlagerung im allgemeinen Fall.

  2. Umschreibungsregeln: Aus Klausel A wird eine neue Klausel B generiert, z. B. Gleichheitsreflexivität, Gleichheitsfaktor; Die Überlagerung mit einer Einheitsgleichung kann auch als Umschreiberegel angesehen werden.

  3. Regeln beseitigen: Löschen Sie eine Klausel, z. B. Subsumtion, Tautologie-Eliminierung.

Die Frage ist, ob wir in Bezug auf die zweite Kategorie eine strikte Umschreibung durchführen können, indem wir die ursprüngliche Klausel durch die neue ersetzen , oder ob wir sowohl die ursprüngliche als auch die neue beibehalten müssen. Im Fall der Gleichheitsreflexivität scheint es so, als könnten wir das erstere tun, aber für das Gleichheitsfaktorisieren und die Überlagerung mit einer Einheitsgleichung ist nicht sofort klar, ob dies die Vollständigkeit bewahren würde.

Gibt es eine allgemeine Möglichkeit zu wissen, was der Fall ist? Oder eine Liste, die jeweils erstellt werden muss?

rwallace
quelle
1
einfache aber subtile Frage. habe eine Suche durchgeführt und es war nicht einfach, die Antwort zu finden. macht folgendes Sinn? Angenommen, A => B und dann wird A gelöscht. Dies hat keine Auswirkung, wenn B => A durch "andere" Implikationen (dh andere Ableitungspfade "unabhängig" von A). das hängt aber von den anderen Klauseln ab. suchte das Verfahren für E , eine führende Implementierung. Wie ich es im Abschnitt "Beweisverfahren" gelesen habe, werden Klauseln für Fall 2 nicht gelöscht. Denken Sie, dass Sie im Allgemeinen die Vollständigkeit für einige Beweisrecherchen verlieren können, wenn Sie Klauseln in (2) wegwerfen.
vzn
ps auf TCS.se migrieren?
VZN
Vielen Dank für das Feedback - es ist mir aus der Dokumentation von E nicht klar, wann es neu geschrieben wird. Es ist im Allgemeinen auch unentscheidbar, wenn B => A auf einem indirekten Weg ist. Was ist tcs.se?
Wallace
1
Siehe den Abschnitt ab "E verwendet die DISCOUNT [DKS97] -Variante des Algorithmus für gegebene Klauseln. ... Die Verarbeitung vereinfacht zuerst die ausgewählte Klausel g mit allen Klauseln in P und dann P mit g (Verschieben aller betroffenen Klauseln von P zurück in U) und berechnen dann alle direkten Konsequenzen zwischen g und P, die unter Verwendung der generierenden Inferenzregeln (Überlagerung, Gleichheitsfaktorisierung und Gleichheitsauflösung) abgeleitet werden können. Die neuen Klauseln werden in Bezug auf P vereinfacht und zu U hinzugefügt, g ist hinzugefügt zu P. " dh die Klauseln werden vereinfacht und hinzugefügt , nichts wird gelöscht.
vzn
versuchen Sie auch mathoverflow & tcs.se
vzn

Antworten:

2

Eine führende Implementierung des Beweises des Überlagerungskalkülsatzes ist E. In seiner Beschreibung ihrer Technologie gibt er einige grundlegende Theorien und Hintergründe unter Beweisverfahren an :

E verwendet die DISCOUNT [DKS97] -Variante des Given-Klausel-Algorithmus. Der Beweiszustand wird durch zwei Sätze von Klauseln dargestellt, die Menge P von verarbeiteten Klauseln (anfangs leer) und die Menge U von nicht verarbeiteten Klauseln. Klauseln in U werden gemäß einer heuristischen Bewertungsfunktion eingestuft und der Reihe nach verarbeitet. Die Verarbeitung vereinfacht zuerst die ausgewählte Klausel g mit allen Klauseln in P, vereinfacht dann P mit g (Verschieben aller betroffenen Klauseln von P zurück nach U) und berechnet dann alle direkten Konsequenzen zwischen g und P, die unter Verwendung der generierenden Inferenzregeln abgeleitet werden können (Überlagerung, Gleichstellungsfaktor und Gleichstellungsauflösung). Die neuen Klauseln werden in Bezug auf P vereinfacht und zu U hinzugefügt, g wird zu P hinzugefügt.

Diese Beweisprozedur unterscheidet sich von dem in Otter implementierten Algorithmus für gegebene Klauseln (und vielen Testern seitdem), der zur Vereinfachung auch U verwendet. Die Variante E verwendet wurde zuerst von DISCOUNT populär gemacht, ist aber auch das Kernstück von Waldmeister. Vampire und SPASS implementieren es zusätzlich zu ihrem primären Algorithmus.

Daher kann das Wort "Umschreiben" in den tatsächlichen Implementierungen der Theorem-Beweisregeln etwas falsch sein, da die ursprünglichen Klauseln niemals "gelöscht" und immer beibehalten werden, falls sie beeinflusst oder mit späteren Ableitungen kombiniert werden können. Das Umschreiben "bewegt" "umgeschriebene" Klauseln zwischen und in beide Richtungen.P.U.

Das heißt, das Umschreiben ist im Grunde wie das Hinzufügen neuer abgeleiteter (wahrer) Klauseln zu einer Liste bekannter wahrer Klauseln, und die Bewegung zwischen und ist eine Strategie, um neue wahre Klauseln auf effiziente Weise zu finden (im Grunde genommen die "Grenze" in a zu verfolgen gemischte Tiefen- / Breitensuche, geordnet nach der Prioritätsfunktion) und ist die Menge der bekannten wahren Klauseln.P.U.P.U.

Ich kenne keinen Schiedsrichter dafür, aber denke, das ist die Theorie zu all dem. Angenommen, und dann wurde "gelöscht". Es könnte immer noch möglich sein, durch andere Ableitungen und Klauseln abzuleiten . in diesem Fall hätte es keine Wirkung. Wenn es jedoch nicht auf anderen Wegen abgeleitet werden kann, kann es theoretisch dazu führen, dass ein vollständiges Problem in ein unvollständiges Problem umgewandelt wird. Ich kenne keine Referenz, die dies zeigt. Es könnte eine machbare Übung für den Leser sein, ein Beispiel zu finden.EINB.EINB.EIN

Kleingedrucktes: Stich auf diese Frage, weil andere Antworten fehlen. Ich bin auch an einer wirklich maßgeblichen Antwort auf diese Frage interessiert. Es gibt wahrscheinlich eine bessere als oben, aber dies ist die beste, die bisher nach einigen Recherchen gefunden wurde. Ich vermute, die Frage könnte besser auf math.se, mathoverflow oder TCS.se beantwortet werden. Es fiel mir auch schwer, grundlegende Beschreibungen dieser Konzepte und ohne viel Fachjargon zu finden.

vzn
quelle