Let und sein -Vektoren der Booleschen Variablen. Ich habe ein boolesches Prädikat auf . Ich gebe meiner Freundin Priscilla . Als Antwort gibt sie mir , ein boolesches Prädikat für , und sie behauptet das
oder mit anderen Worten, das
Ich möchte ihre Behauptung irgendwie überprüfen. Wie kann Priscilla mir helfen, diese Behauptung zu überprüfen?
Sie können davon ausgehen, dass sowohl als auch als CNF-Formeln dargestellt werden und nicht zu groß sind (Polynomgröße oder ähnliches).Q.
In einer idealen Welt wäre es fantastisch, wenn ich das Problem der Überprüfung dieses Anspruchs auf SAT reduzieren könnte: Ich habe einen SAT-Löser, und es wäre großartig, wenn ich den SAT-Löser verwenden könnte, um diesen Anspruch zu überprüfen. Ich bin mir jedoch ziemlich sicher, dass es nicht möglich sein wird, das Problem der direkten Überprüfung dieser Behauptung als SAT-Instanz zu formulieren. Das Testen der Gültigkeit einer 2QBF-Formel ist mit ziemlicher Sicherheit schwieriger als das Testen von SAT. (Die Richtung ist leicht als SAT-Instanz zu formulieren, aber die Richtung ist schwierig, da sie von Natur aus zwei alternierende Quantifizierer umfasst.)⇒
Angenommen, Priscilla könnte mir zusätzliche Beweise geben, um ihre Behauptung zu stützen. Gibt es zusätzliche Beweise oder Zeugen, die Priscilla mir geben könnte, die es mir leicht machen würden, ihre Behauptung zu überprüfen? Gibt es insbesondere zusätzliche Beweise oder Zeugen, die sie mir geben könnte, die es mir leicht machen würden, das Problem der Überprüfung ihrer Behauptung als Instanz von SAT zu formulieren (auf das ich dann meinen SAT-Löser anwenden kann)?
Ein ungewöhnlicher Aspekt meiner Einstellung ist, dass ich (heuristisch) davon ausgehe, dass ich ein Orakel für SAT habe. Wenn Sie die Komplexitätstheorie mögen, können Sie sich das so vorstellen: Ich übernehme die Rolle einer Maschine, die Dinge in (dh in ) berechnen kann , und ich möchte Priscillas überprüfen Anspruch unter Verwendung eines Algorithmus in . Mein Dank geht an mdx für diese Art, über Dinge nachzudenken. Δ P 2 P N P.
Meine Motivation / Anwendung: Ich möchte ein System formal verifizieren (z. B. symbolische Modellprüfung), und ein wichtiger Schritt in der Argumentation ist die Eliminierung von Quantifizierern (dh ausgehend von erhalten Sie ). Ich hoffe auf einen sauberen Weg, um zu überprüfen, ob die Quantifizierereliminierung korrekt durchgeführt wurde.P.
Wenn es keine Lösung gibt, die für alle möglichen funktioniert , können Sie gerne eine Lösung vorschlagen, die "solide, aber nicht vollständig" ist, dh eine Technik, mit der ich für viele die behauptete Äquivalenz überprüfen kann. (Selbst wenn es die Behauptung auf einem , das die Behauptung erfüllt, nicht verifiziert , kann ich dies dennoch als Heuristik versuchen, solange es niemals unangemessen behauptet, eine falsche Behauptung verifiziert zu haben. Auf einem gegebenen , es könnte funktionieren oder es könnte nicht funktionieren; wenn es nicht funktioniert, geht es mir nicht schlechter als dort, wo ich angefangen habe.)P , Q P , Q P , Q.
first-order-logic
Tag gerechtfertigt ist. Die Frage dreht sich alles um quantifizierte Boolesche Formeln.