X. Resolution II - TU Darmstadt/Mathematik

Werbung
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 ].
Herunterladen