Logik für Informatik Sommersemester 2003 Mathias Kegelmann Technische Universität Darmstadt Fachbereich Mathematik 24. Juni 2003 X. Resolution II A Analog zur Resolution für die Aussagenlogik (siehe Skript 5) wollen wir nun ein Resolutions-Verfahren für die Prädikatenlogik entwickeln. Die Grundidee ist die gleiche wie bei der Aussagenlogik: Um zu zeigen, dass eine Formel A eine Tautologie ist, gehen wir zu ¬A über und versuchen dessen Unerfüllbarkeit zu zeigen. Um das zu machen, formen wir ¬A zunächst in eine geeignete Normalform um und erhalten dann eine Klauselmenge. Wir können aber ¬A nicht gleich in konjunktive Normalform bringen, sondern wir müssen uns erst um die Quantoren kümmern. 1 Pränex-Form Wie wir bereits in den Übungen gesehen haben, kann man die Quantoren in einer Formel immer nach vorne bringen. Es gelten nämlich für Formeln A und B mit x ∈ / F V (B) folgende gegenseitige Herleitbarkeiten, wie man für jeden konkreten Fall in wenigen Zeilen zeigt: (∀x.A) ∧ B a` ∀x.A ∧ B B ∧ (∀x.A) a` ∀x.B ∧ A (∀x.A) ∨ B a` ∀x.A ∨ B B ∨ (∀x.A) a` ∀x.B ∨ A (∀x.A) → B a` ∃x.A → B B → (∀x.A) a` ∀x.B → A ¬(∀x.A) a` ∃x.¬A (∃x.A) ∧ B a` ∃x.A ∧ B B ∧ (∃x.A) a` ∃x.B ∧ A (∃x.A) ∨ B a` ∃x.A ∨ B B ∨ (∃x.A) a` ∃x.B ∨ A (∃x.A) → B a` ∀x.A → B B → (∃x.A) a` ∃x.B → A ¬(∃x.A) a` ∀x.¬A Um diese Regeln anwenden zu können, muss man in der Praxis üblicherweise die gebundenen Variablen so umbenennen, dass die Variable des Quantors, den man herausziehen möchte, in dem anderen Teilterm nicht vorkommt. Das kann man z.B. so sicherstellen, dass man gleich am Anfang allen gebundenen Variablen durch Umbenennung verschiedene Namen gibt. Beispiel 10.1. Wir betrachten die Negation der Formel ∃x∀y. R(x, y) → ∀y∃x. R(x, y). Statt gleich, wie in der Vorlesung mit den obigen Regeln umzuformen, kann man auch erst de Morgan anwenden: ∼ ¬ ∃x∀y. R(x, y) → ∀y∃x. R(x, y) = ¬ ∃x∀y. R(x, y) → ∀v∃w. R(w, v) ∼ = ∃x∀y. R(x, y) ∧ ¬∀v∃w. R(w, v) ∼ = ∃x∀y. R(x, y) ∧ ∃v∀w. ¬R(w, v) ∼ = ∃x. ∀y. R(x, y) ∧ ∃v∀w. ¬R(w, v) ∼ = ∃x∃v. ∀y. R(x, y) ∧ ∀w. ¬R(w, v) ∼ = ∃x∃v∀y. R(x, y) ∧ ∀w. ¬R(w, v) ∼ = ∃x∃v∀y∀w. R(x, y) ∧ ¬R(w, v) Die Formeln, die wir durch diese Umformungen erhalten, haben auch einen eigenen Namen. Definition 10.2. Eine Formel A ∈ FΣ (X) heißt in Pränex-Form, wenn sie von der Gestalt A ≡ Q1 x1 Q2 x2 · · · Qn .A0 ist, wobei x1 , . . . , xn ∈ X verschiedene Variablen, sowie Q1 , . . . , Qn ∈ {∀, ∃} Quantoren sind und A0 eine quantorenfreie Formel ist. Proposition 10.3. Jede prädikatenlogische Formel ist beweisbar äquivalent zu einer Formel in PränexForm. Beweis. Die oben angegeben Äquivalenzen erlauben es uns, für jede Kombination von Quantoren und Junktoren, den Quantor nach außen zu ziehen. Also hat man somit sogar einen konkreten Algorithmus, wie man schrittweise zu einer gegeben Formel eine äquivalente Pränex-Form findet. 1 2 Skolemisierung Als nächstes wollen wir die Existenz-Quantoren eliminieren, da Resolution, wie wir sehen werden, nur für Klauseln funktioniert, deren Variablen universell quantifiziert sind. Um erst einmal die Idee dabei deutlich zu machen, betrachten wir die Formel ∀x∃y. R(x, y) und wir fragen uns, was es bedeutet, wenn diese Formel in einem Modell M gilt. Nach Definition bedeutet es gerade, dass es für jedes m ∈ M ein m0 ∈ M so gibt, dass R(m, m0 ) in M gilt, also formal dass (m, m0 ) ∈ RM . Wenn wir nun für jedes m ∈ M ein solches m0 , dass in RM -Relation zu m steht auswählen, so erhalten wir ein Funktion f : M → M , die für alle m ∈ M gerade m, f (m) ∈ RM erfüllt. Diese Funktion f gibt es aber auf im Moment nur auf der semantischen Seite, d.h. sie kommt nicht in Ω vor. Wir können aber die Signatur Σ nun zu Σ0 erweitern, indem wir Ω0 = Ω ∪ {f} mit α0 (f) = 1 setzen und sonst nichts verändern. Unser Modell M ist natürlich auch ein Modell M0 für Σ0 , indem wir f durch f interpretieren, und desweiteren gilt in M0 nach Konstruktion auch die Formel ∀x. R x, f(x) . Wir haben also den Existenzquantor erfolgreich eliminiert und dafür ein zusätzliches Funktionssymbol f bekommen. Das ist die Grundidee der so genannten Skolemisierung: Man ersetzt die Existenzquantoren einer Formel in Pränex-Form durch Funktionssymbole, wobei die Funktionen gerade von so vielen Parametern abhängen, wie Allquantoren vor dem entsprechenden Existenzquantor vorkommen. Man beachte aber, dass die Formeln ∀x∃y. R(x, y) und ∀x. R x, f(x) nicht äquivalent sind. In einem beliebigen Modell kann es nämlich immer sein, dass f “falsch” interpretiert wird. Was dagegen stimmt, ist dass ∀x∃y. R(x, y)in einem Modell M genau dann gilt, wenn es eine Interpretation von f in M gibt, so dass ∀x. R x, f(x) gilt. Wenn wir uns nicht auf ein bestimmtes Modell festlegen, so sehen wir, dass ∀x∃y. R(x, y) genau dann erfüllbar ist, wenn ∀x. R x, f(x) erfüllbar ist. Das Ersetzen von Existenzquantoren durch Funktionssymbole erhält also zwar nicht Gültigkeit aber Erfüllbarkeit. Da wir aber bei der Resolution die Gültigkeit einer Formel A dadurch zeigen, dass ¬A unerfüllbar ist, ist dies für unsere Zwecke gut genug. Definition 10.4. Sei A ≡ Q1 x1 Q2 x2 · · · Qn .A0 ∈ FΣ (X), Qi ∈ {∀, ∃} eine Formel in Pränex-Form, also A0 quantorenfrei. Dann ist ihre Skolemisierung gerade A0 , wobei man die Variablen xi , die existenziell quantifiziert sind (also für die i mit Qi ≡ ∃), durch Terme fi (xj1 , . . . , xjni ) ersetzt, wobei xj1 , . . . , xjni gerade die universell quantifizierten Variablen sind, die vor xi kommen. Hierbei sind die fi neue Funktionssymbole, die so genannten Skolemfunktionen für die betrachtete Formel. Man beachte, dass die Skolemisierung einer Formel quantorenfrei ist. Die Idee dabei ist, dass man alle noch vorkommenden freien Variablen als implizit universell quantifiziert denkt. Fragt man aber nach der Erfüllbarkeit einer beliebigen Formel B mit freien Variablen, so bedeutet dies gerade die Erfüllbarkeit des existenziellen Abschlusses ∃x1 · · · ∃xn .B, was also nicht mit der intendierten Interpretation skolemisierter Formeln zusammenpasst. Deshalb macht es nur Sinn, Formeln zu betrachten, die ursprünglich geschlossene 1 Wem dieses Argument zu informell ist, sollte sich überlegen, dass man es dadurch konkretisieren kann, dass man per Induktion über den Termaufbau die Aussage beweisen kann; für den Induktionschritt braucht man dann je nach Junktor eine der Äquivalenzen. sind. Hierbei heißt eine Formel A ∈ FΣ (X) geschlossen, wenn Variablen in A nur gebunden vorkommen, formal also wenn F V (A) = ∅. Proposition 10.5. Eine geschlossene Formel in Pränex-Form ist genau dann erfüllbar, wenn der universelle Abschluss ihrer Skolemisierung erfüllbar ist. Zusammen mit Proposition 10.3 und der Vorüberlegung, dass A genau dann eine Tautologie ist, wenn ¬A unerfüllbar ist, haben wir also die Frage der Gültigkeit einer geschlossenen Formel A auf die Erfüllbarkeit des universellen Abschlusses einer quantorenfreien Formel zurückgeführt. Beispiel 10.6. Wir setzen Beispiel 10.1 fort. Wir hatten bereits die Negation von ∃x∀y. R(x, y) → ∀y∃x. R(x, y) zu dem äquivalenten Ausdruck ∃x∃v∀y∀w. R(x, y) ∧ ¬R(w, v) umgeformt. Da die Existenzquantoren vorne stehen, sind die Skolemfunktionen einfach Konstanten und wir erhalten die Skolemisierung R(c0 , y) ∧ ¬R(w, c1 ). 3 Resolution Jetzt sind wir eigentlich so weit, dass wir Resolution anwenden können. Wir machen dazu exemplarisch mit dem Beispiel weiter, um so zu erläutern, wie man mit den Variablen umgehen muss. Mit Fragen nach der Korrektheit des Verfahrens und anderen technischen Details beschäftigen wir uns erst nächste Woche. Wir haben die Formel R(c0 , y) ∧ ¬R(w, c1 ), aus der wir unmittelbar die Klauselmenge {R(c0 , y)}, {¬R(w, c1 )} ablesen. Da die Formeln in den beiden Klauseln nicht von der Form A und ¬A sind, können wir darauf zunächst keinen Resolutionsschritt anwenden. Überlegen wir aber, was diese Klauseln eigentlich bedeuten. Die erste steht für ∀y. R(c0 , y) und die zweite für ∀w.¬R(w, c1 ), wobei wir die Allquantoren wegen ∀x.A ∧ B∼ = (∀x.A) ∧ (∀x.B) zu den einzelnen Klauseln gehörend denken können. Wenn diese beiden Formeln in einem Modell gelten, dann auch die Substitutionsinstanzen R(c0 , c1 ) und ¬R(c0 , c1 ). Also betrachten wir die beiden Klauseln {R(c0 , c1 )} und {¬R(c0 , c1 )}, die Substitutionsinstanzen der ursprünglichen Klauseln für die Substitutionen [c1 /y] bzw. [c0 /w] sind und auf diese können wir einen gewöhnlichen aussagenlogischen Resolutionsschritt anwenden, der sofort die leere Klausel ∅ liefert. Also ist die Klauselmenge {R(c0 , y)}, {¬R(w, c1 )} unerfüllbar und somit die zugehörige Formel ∀y∀w. R(c0 , y) ∧ ¬R(w, c1 ) auch unerfüllbar. Dann ist aber auch die Formel ∃x∃v∀y∀w. R(x, y) ∧ ¬R(w, v) vor der Skolemisierung und deshalb auch die äquivalente Formel ¬ ∃x∀y. R(x, y) → ∀y∃x. R(x, y) unerfüllbar. Das zeigt, dass ∃x∀y. R(x, y) → ∀y∃x. R(x, y) eine Tautologie ist. Das Resolutions-Verfahren muss also nur insofern abgeändert werden, dass man als Resolvente von zwei (passenden) Klauseln K und K 0 wie folgt bildet: Man sucht Substitutionen σ, σ 0 : X → TΣ (X), sodass man auf K[σ] und K[σ 0 ] einen aussagenlogischen Resolutionsschritt anwenden kann, d.h. dass es eine Formel A ∈ FΣ (X) so gibt, dass A ∈ K[σ] und ¬A ∈ K[σ 0 ], und man bildet die Resolvente K[σ] ∪ K[σ 0 ] \ {A, ¬A}. 3.1 Substitution Die Substitution K[σ] müssen wir noch etwas genauer erklären, um Missverständnisse auszuschließen. Für eine Klausel K = {C1 , . . . , Cn } ist sie definiert als K[σ] := C1 [σ], . . . , Cn [σ] wobei Ci [σ] die simultane Substitution aller Variablen durch die entsprechenden Terme ist, wie in der Allgemeinen Algebra in Definition A.13.7 eingeführt. In der Praxis ersetzt man natürlich immer nur endlich viele Variablen gleichzeitig und man schreibt für die entsprechende parallele Substitution normalerweise einfach [t1 /x1 , . . . , tn /xn ].