Information Engineering WS 2014/15 - LS1

Werbung
Logik
Gabriele Kern-Isberner
LS 1 – Information Engineering
TU Dortmund
Wintersemester 2014/15
WS 2014/15
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
1 / 250
PL – Modellierung und Normalformen
Übersicht Prädikatenlogik
8. Strukturen & Syntax
9. Modellierung und Normalformen
10. Erfüllbarkeit: Grundresolution
11. Prädikatenlogische Resolution
12. Logische Programmierung und Prolog
13. Weitere Ergebnisse
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
45 / 250
PL – Modellierung und Normalformen
Teil C
C – Prädikatenlogik (PL)
Kapitel 9: Modellierung und Normalformen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
46 / 250
PL – Modellierung und Normalformen
Übersicht Kapitel 9
9.1 Formeln erstellen und verstehen
9.2 Äquivalenzen
9.3 Normalformen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
47 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Übersicht Kapitel 9
9.1 Formeln erstellen und verstehen
9.2 Äquivalenzen
9.3 Normalformen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
48 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln verstehen (1/4)
Beispiel
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
• f (a) ist bester Freund von a
• g(a) ist bester Studierender
in der Übungsgruppe von a
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
∀x (P (x, g(x)) → R(x))
• Für jeden Studierenden gilt: wenn er
den besten Studierenden seiner
Übungsgruppe kennt, hat er die
Aufgaben verstanden
• Einfacher formuliert: Wer den
Besten seiner Übungsgruppe kennt,
versteht auch die Übungsaufgaben
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
49 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln verstehen (2/4)
Beispiel (Forts.)
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
∃x [R(x) ∧ ∀y x 6= g(y)]
• f (a) ist bester Freund von a
• Es gibt einen Studierenden x, der die
Aufgaben verstanden hat, und der
für keinen Studierenden y der
Übungsgruppen-Beste ist
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
• Einfacher formuliert (und auf den
Punkt gebracht): Es gibt einen
Studierenden, der die Aufgaben
verstanden hat, obwohl er nicht
Bester einer Übungsgruppe ist
• g(a) ist bester Studierender
in der Übungsgruppe von a
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
50 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln verstehen (3/4)
Beispiel (Forts.)
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
• f (a) ist bester Freund von a
• g(a) ist bester Studierender
in der Übungsgruppe von a
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
∀x ∀y [g(x) = g(y) → g(f (x)) = g(f (y))]
• Für alle Studierenden x und alle
Studierenden y gilt: falls x und y
denselben Übungsgruppen-Besten
haben, haben ihre besten Freunde
auch denselben
Übungsgruppen-Besten
• Einfacher formuliert: Sind zwei
Studierende in derselben
Übungsgruppe G, so sind auch ihre
besten Freunde in derselben (aber
möglicherweise von G
verschiedenen) Übungsgruppe
Logik
WS 2014/15
51 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (1/6)
Beispiel (Forts.)
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
• f (a) ist bester Freund von a
• g(a) ist bester Studierender
in der Übungsgruppe von a
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Wir suchen jetzt jeweils Formeln in der
Prädikatenlogik mit Gleichheit für natürlichsprachlich formulierte Aussagen:
Jeder ist für jemanden der beste Freund
• Umformuliert in
„umgangssprachliche Aussage mit
Quantoren“: Für jeden Studierenden
gibt es einen Studierenden, der ihn
als besten Freund hat
• ∀x ∃y f (y) = x
Logik
WS 2014/15
52 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (2/6)
Beispiel (Forts.)
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
• f (a) ist bester Freund von a
• g(a) ist bester Studierender
in der Übungsgruppe von a
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
Wer bester Freund eines ÜbungsgruppenBesten ist, hat die Aufgaben verstanden
• Für jeden Studierenden gilt: wenn es
einen Studierenden gibt, dessen
Übungsgruppen-Bester ihn als
besten Freund hat, dann hat er die
Aufgaben verstanden
• ∀x ((∃y f (g(y)) = x) → R(x))
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
53 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (3/6)
Beispiel (Forts.)
Zur Erinnerung:
Das Übungsgruppen-Szenario haben wir wie folgt modelliert:
• f (a) ist bester Freund von a
• g(a) ist bester Studierender
in der Übungsgruppe von a
• P (a, b) bedeutet, dass der
Studierende a den
Studierenden b kennt
In einer der Übungsgruppen haben alle die
Aufgaben verstanden
• Es gibt einen Studierenden, so dass
alle Studierenden mit demselben
Übungsgruppen-Besten (wie dieser
eine Studierende) die Aufgaben
verstanden haben
• ∃x ∀y (g(x) = g(y) → R(y))
• R(a) bedeutet, dass a die
Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
54 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (4/6)
Beispiel
Zur Erinnerung:
Strings w über {a, b, c} werden
modelliert durch Strukturen mit
• der Grundmenge
A = {1, . . . , n}
(n = Länge von w),
Wir charakterisieren im Folgenden Mengen
von Strings durch PL-Formeln:
• Strings von der Form a∗ b∗
(beliebig
viele a’s gefolgt von beliebig vielen b’s)
– Es gibt kein c und für alle
a-Positionen x und alle
b-Positionen y gilt: x ≤ y
• einer 2-stelligen Relation ≤,
– Für alle Positionen x und y gilt:
x hat kein c und falls x eine
a-Position und y eine b-Position
sind, so gilt x ≤ y
• 1-stelligen Relationen
Qa , Qb , Qc
Bemerkung: Wir betrachten nur
nicht-leere Strings (da A 6= ∅ gelten soll).
G. Kern-Isberner (TU Dortmund)
– ∀x ∀y [¬Qc (x)∧
((Qa (x) ∧ Qb (y)) → x ≤ y)]
Logik
WS 2014/15
55 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (5/6)
Beispiel (Forts.)
Zur Erinnerung:
Strings w über {a, b, c} werden
modelliert durch Strukturen mit
• Strings, die abwechselnd aus a’s und
b’s bestehen
– Für je zwei Positionen, die
unmittelbar hintereinander
stehen, gilt: genau eine hat ein a,
die andere ein b
• der Grundmenge
A = {1, . . . , n}
(n = Länge von w)
• einer 2-stelligen Relation ≤,
– Hilfsformel für „unmittelbar
hintereinander stehen“:
ϕ+1 (x, y) = [x ≤ y ∧ ¬(y ≤
x) ∧ ∀z (z ≤ x ∨ y ≤ z)]
• 1-stelligen Relationen
Qa , Qb , Qc
Bemerkung: Wir betrachten nur
nicht-leere Strings (da A 6= ∅ gelten soll).
G. Kern-Isberner (TU Dortmund)
– ∀x ∀y [ϕ+1 (x, y) →
((Qa (x) ∧ Qb (y))∨
(Qb (x) ∧ Qa (y)))]
Logik
WS 2014/15
56 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln erstellen (6/6)
Beispiel (Forts.)
Zur Erinnerung:
Strings w über {a, b, c} werden
modelliert durch Strukturen mit
• Strings, die den Teilstring abc
enthalten
– Es gibt drei hintereinander
liegende Positionen, die a, b, c
enthalten
• der Grundmenge
A = {1, . . . , n}
(n = Länge von w)
– ∃x ∃y ∃z [ϕ+1 (x, y) ∧ ϕ+1 (y, z)∧
Qa (x) ∧ Qb (y) ∧ Qc (z)]
• einer 2-stelligen Relation ≤,
• 1-stelligen Relationen
Qa , Qb , Qc
Bemerkung: Wir betrachten nur
nicht-leere Strings (da A 6= ∅ gelten soll).
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
57 / 250
PL – Modellierung und Normalformen
Formeln erstellen und verstehen
Prädikatenlogik: Formeln verstehen (4/4)
Beispiel (Forts.)
• ∀x ∀y [ϕ+1 (x, y) → (¬Qa (x) ∨ ¬Qa (y))]
– Für zwei aufeinander folgende Positionen gilt, dass sie nicht beide a
enthalten
– Im String kommt aa nicht als Teilstring vor
• ∃x ∀y [y ≤ x ∧ Qa (x)]
– Es gibt eine Position, für die alle Positionen kleiner oder gleich sind,
und die ein a enthält
– Das letzte Zeichen ist ein a
• ∀x ∀y [(ϕ+1 (x, y) ∧ Qa (x)) → Qb (y)]
– Für jede Position, die ein a enthält und eine rechte Nachbarposition
hat, steht dort ein b
– Auf jedes a folgt direkt ein b, es sei denn, das a ist das letzte Zeichen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
58 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Übersicht Kapitel 9
9.1 Formeln erstellen und verstehen
9.2 Äquivalenzen
9.3 Normalformen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
59 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Teilformeln und äquivalente Formeln
Definition 9.7 (Teilformeln, T (ϕ))
• Wir definieren die Menge T (ϕ) der Teilformeln von ϕ induktiv wie
folgt:
–
–
–
–
–
–
Ist ϕ atomar, so ist T (ϕ) =def {ϕ}
T (¬ϕ) =def {¬ϕ} ∪ T (ϕ)
T (ϕ1 ∧ ϕ2 ) =def {ϕ1 ∧ ϕ2 } ∪ T (ϕ1 ) ∪ T (ϕ2 )
T (ϕ1 ∨ ϕ2 ) =def {ϕ1 ∨ ϕ2 } ∪ T (ϕ1 ) ∪ T (ϕ2 )
T (∃x ϕ) =def {∃x ϕ} ∪ T (ϕ)
T (∀x ϕ) =def {∀x ϕ} ∪ T (ϕ)
Analog zur Aussagenlogik definieren wir:
Zwei Formeln ϕ1 , ϕ2 heißen äquivalent, falls für jede zu ϕ1 und ϕ2
passende Interpretation I gilt: [[ϕ1 ]]I = [[ϕ2 ]]I
(Notation: ϕ1 ≡ ϕ2 )
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
60 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Ersetzungslemma
Das Ersetzungslemma gilt auch völlig analog:
(wir verzichten wieder auf eine formale Definition der Begriffe „Vorkommen“ und
„Ersetzen“)
Lemma 9.1 (Ersetzungslemma der Prädikatenlogik)
• Sei ϕ1 eine PL-Formel, in der eine Teilformel ψ1 vorkommt
• Sei ψ1 ≡ ψ2
• Sei ϕ2 die Formel, die aus ϕ1 entsteht, indem (ein Vorkommen von)
ψ1 durch ψ2 ersetzt wird
• Dann gilt: ϕ1 ≡ ϕ2
Substitutionen spielen in der Prädikatenlogik eine andere Rolle als in
der Aussagenlogik (Wir werden sie im übernächsten Kapitel
betrachten)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
61 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Äquivalenzen der Prädikatenlogik (1/4)
Satz 9.2 (PL-Äquivalenzen)
• Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten die folgenden
Äquivalenzen:
Kommutativität
– ϕ1 ∧ ϕ2 ≡ ϕ2 ∧ ϕ1
– ϕ1 ∨ ϕ2 ≡ ϕ2 ∨ ϕ1
Assoziativität
– (ϕ1 ∧ ϕ2 ) ∧ ϕ3 ≡ ϕ1 ∧ (ϕ2 ∧ ϕ3 )
– (ϕ1 ∨ ϕ2 ) ∨ ϕ3 ≡ ϕ1 ∨ (ϕ2 ∨ ϕ3 )
Idempotenz
– ϕ∧ϕ≡ϕ
– ϕ∨ϕ≡ϕ
Absorption
– ϕ1 ∧ (ϕ1 ∨ ϕ2 ) ≡ ϕ1
– ϕ1 ∨ (ϕ1 ∧ ϕ2 ) ≡ ϕ1
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
62 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Äquivalenzen der Prädikatenlogik (2/4)
Satz 9.2 (PL-Äquivalenzen, Forts.)
• Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 , ϕ3 gelten die folgenden
Äquivalenzen:
Distributivität
– ϕ1 ∨ (ϕ2 ∧ ϕ3 ) ≡ (ϕ1 ∨ ϕ2 ) ∧ (ϕ1 ∨ ϕ3 )
– ϕ1 ∧ (ϕ2 ∨ ϕ3 ) ≡ (ϕ1 ∧ ϕ2 ) ∨ (ϕ1 ∧ ϕ3 )
Doppelnegation
– ¬¬ϕ ≡ ϕ
De Morgansche Regeln
– ¬(ϕ1 ∧ ϕ2 ) ≡ ¬ϕ1 ∨ ¬ϕ2
– ¬(ϕ1 ∨ ϕ2 ) ≡ ¬ϕ1 ∧ ¬ϕ2
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
63 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Äquivalenzen der Prädikatenlogik (3/4)
Satz 9.3
• Für prädikatenlogische Formeln ϕ, ϕ1 , ϕ2 gelten:
(1) ¬∀x ϕ ≡ ∃x ¬ϕ und ¬∃x ϕ ≡ ∀x ¬ϕ
(2) (∀x ϕ1 )∧(∀x ϕ2 ) ≡ ∀x (ϕ1 ∧ϕ2 ) und
(∃x ϕ1 )∨(∃x ϕ2 ) ≡ ∃x (ϕ1 ∨ϕ2 )
(3) ∀x ∀y ϕ ≡ ∀y ∀x ϕ und ∃x ∃y ϕ ≡ ∃y ∃x ϕ
(4) Falls x in ϕ2 nicht vorkommt:
∀x (ϕ1 ∧ ϕ2 ) ≡ (∀x ϕ1 ) ∧ ϕ2 und ∀x (ϕ1 ∨ ϕ2 ) ≡ (∀x ϕ1 ) ∨ ϕ2
(5) Falls x in ϕ2 nicht vorkommt:
∃x (ϕ1 ∨ ϕ2 ) ≡ (∃x ϕ1 ) ∨ ϕ2 und ∃x (ϕ1 ∧ ϕ2 ) ≡ (∃x ϕ1 ) ∧ ϕ2
Beweisskizze
• Die Beweise erfolgen jeweils durch Rückführung auf die Semantik von
PL-Formeln
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
64 / 250
PL – Modellierung und Normalformen
Äquivalenzen
Äquivalenzen der Prädikatenlogik (3/3)
Beweisskizze (Forts.)
Wir betrachten beispielhaft den Beweis der zweiten Äquivalenz in (4):
Falls x in ϕ2 nicht vorkommt: ∀x (ϕ1 ∨ ϕ2 ) ≡ (∀x ϕ1 ) ∨ ϕ2
Sei I = (A, β)
[[∀x (ϕ1 ∨ ϕ2 )]]I = 1
⇐⇒ für alle a ∈ A gilt: [[ϕ1 ∨ ϕ2 ]]I[x/a] = 1
⇐⇒ für alle a ∈ A gilt: [[ϕ1 ]]I[x/a] = 1 oder [[ϕ2 ]]I[x/a] = 1
⇐⇒ für alle a ∈ A gilt: [[ϕ1 ]]I[x/a] = 1 oder [[ϕ2 ]]I = 1
(da x in ϕ2 nicht vorkommt)
⇐⇒ für alle a ∈ A gilt [[ϕ1 ]]I[x/a] = 1, oder es gilt [[ϕ2 ]]I = 1
⇐⇒ [[∀x ϕ1 ]]I = 1 oder [[ϕ2 ]]I = 1
⇐⇒ [[(∀x ϕ1 ) ∨ ϕ2 ]]I = 1
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
65 / 250
PL – Modellierung und Normalformen
Normalformen
Übersicht Kapitel 9
9.1 Formeln erstellen und verstehen
9.2 Äquivalenzen
9.3 Normalformen
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
66 / 250
PL – Modellierung und Normalformen
Normalformen
Normalformen: Begriffe (1/4)
Definition 9.8 (reduzierte Form, NNF, Pränexform)
• Eine PL-Formel ist in reduzierter Form, wenn sie nur ∃, ∨, ¬
verwendet, aber nicht ∀ und ∧
• Eine PL-Formel ϕ ist in Negations-Normalform (NNF), wenn
Negationen in ϕ nur unmittelbar vor atomaren Formeln vorkommen
• Eine PL-Formel ϕ ist in Pränexform, wenn sie die Gestalt
Q1 x1 Q2 x2 . . . Qk xk ϕ0
hat, wobei
– die Qi jeweils entweder ∃ oder ∀ sind,
– die xi paarweise verschieden sind, und
– ϕ0 quantorenfrei ist (also: ϕ0 ist atomar oder geklammert!)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
67 / 250
PL – Modellierung und Normalformen
Normalformen
Normalformen: Begriffe (2/4)
Beispiel
• ∃x ∀y (E(x, y) ∧ ¬E(y, x)) ist in Pränexform und in NNF, aber nicht
in reduzierter Form
• ∃x ∀y E(x, y) ∧ ¬E(y, x) ist in NNF, aber weder in Pränexform noch
in reduzierter Form
• ∃x ¬[∃y (¬E(x, y) ∨ E(y, x))] ist in reduzierter Form, aber weder in
NNF noch in Pränexform
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
68 / 250
PL – Modellierung und Normalformen
Normalformen
Normalformen: Begriffe (3/4)
Lemma 9.4
Zu jeder prädikatenlogischen Formel ϕ gibt es jeweils eine äquivalente
Formel in
(a) reduzierter Form,
(b) Negations-Normalform und
(c) Pränexform
Beweisskizze
• (a) und (b) lassen sich durch Anwendung von Satz 9.3 (1) und den
De Morgan-Regeln beweisen
• (c) beweisen wir gleich
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
69 / 250
PL – Modellierung und Normalformen
Normalformen
Normalformen: Begriffe (4/4)
Bemerkungen:
• Es kann auch immer eine äquivalente Formel konstruiert werden, die in
Pränexform und in NNF ist
• Nicht immer gleichzeitig möglich:
– NNF und reduzierte Form
– Pränex- und reduzierte Form
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
70 / 250
PL – Modellierung und Normalformen
Normalformen
Umwandlung in Pränexform:
Variablenumbenennungen
Zu beachten: in einer Pränexform ist es nicht sinnvoll, dass verschiedene
Quantoren dieselbe Variable quantifizieren.
⇒ Deshalb sollte vor der Umwandlung einer Formel in Pränexform schon
angestrebt werden, dass alle Quantoren verschiedene Variablen verwenden.
Wir machen uns hierbei das folgende Lemma zunutze:
Lemma 9.5 (Variablenumbenennung)
• Sei ϕ eine Formel, in der die Variable x0 nicht vorkommt
• Sei ϕ0 die Formel, die aus ϕ entsteht, indem jedes freie Vorkommen
von x durch x0 ersetzt wird
• Dann gelten:
– ∃x ϕ ≡ ∃x0 ϕ0 und ∀x ϕ ≡ ∀x0 ϕ0
Wir können also durch Umbenennungen dafür sorgen, dass alle
quantifizierten Variablen verschieden sind.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
71 / 250
PL – Modellierung und Normalformen
Normalformen
Ein Algorithmus zur Berechnung der Pränexform
Im Folgenden stehen jedes Qi und jedes Q0i für einen Quantor ∃ oder ∀
Beweisskizze zu Lemma 9.4 (c)
Eingabe: PL-Formel ϕ
Ausgabe: PL-Formel ϕ0 = P F (ϕ) ≡ ϕ in Pränexform (PF)
1: Wandle ϕ äquivalent so um, dass alle quantifizierten Variablen
2:
3:
4:
5:
6:
7:
paarweise verschieden und von den freien Variablen verschieden sind
case ϕ ist von der Form
atomar:
RETURN ϕ
¬ψ:
Berechne Q1 x1 . . . Qk xk χ := PF(ψ)
RETURN Q1 x1 . . . Qk xk (¬χ)
(wobei ∃ = ∀ und ∀ = ∃)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
72 / 250
PL – Modellierung und Normalformen
Normalformen
Berechnung der Pränexform (Forts.)
Beweisskizze (Forts.)
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
case ϕ ist von der Form
ϕ1 ∨ ϕ2 :
Berechne Q1 x1 . . . Qk xk ψ1 := PF(ϕ1 )
Berechne Q01 y1 . . . Q0l yl ψ2 := PF(ϕ2 )
RETURN Q1 x1 . . . Qk xk Q01 y1 . . . Q0l yl (ψ1 ∨ ψ2 )
ϕ1 ∧ ϕ2 :
Berechne Q1 x1 . . . Qk xk ψ1 := PF(ϕ1 )
Berechne Q01 y1 . . . Q0l yl ψ2 := PF(ϕ2 )
RETURN Q1 x1 . . . Qk xk Q01 y1 . . . Q0l yl (ψ1 ∧ ψ2 )
∃x ψ :
Berechne Q1 x1 . . . Qk xk χ := PF(ψ)
RETURN ∃x Q1 x1 . . . Qk xk χ
∀x ψ:
Berechne Q1 x1 . . . Qk xk χ := PF(ψ)
RETURN ∀x Q1 x1 . . . Qk xk χ
G. Kern-Isberner (TU Dortmund)
Logik
(alle xi 6= x)
(alle xi 6= x)
WS 2014/15
73 / 250
PL – Modellierung und Normalformen
Normalformen
Berechnung der Pränexform: Beispiel
Beispiel
• Wir betrachten die Formel [R(x) ∨ ∀y P (x, g(y))] ∧ ¬∀x ∃y P (f (x), y)
• Da x gebunden und frei vorkommt und y zweimal quantifiziert wird,
ersetzen wir die Variable y im ersten All-Quantor (und ihre
Vorkommen) sowie die Variable x im Allquantor:
[R(x) ∨ ∀y1 P (x, g(y1 ))] ∧ ¬∀x1 ∃y P (f (x1 ), y)
• Da die Formel von der Form ϕ1 ∧ ϕ2 ist, wird zunächst für die beiden
Teilformeln die Pränexform bestimmt:
– PF(R(x) ∨ ∀y1 P (x, g(y1 ))) liefert die Formel ∀y1 [R(x) ∨ P (x, g(y1 ))]
– PF(¬∀x1 ∃y P (f (x1 ), y)) führt zum Aufruf PF(∀x1 ∃y P (f (x1 ), y))
und liefert dann ∃x1 ∀y ¬P (f (x1 ), y)
• Insgesamt erhalten wir also:
∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y))
Die hier betrachtete Formel ist nicht dieselbe wie im letzten Kapitel!
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
74 / 250
PL – Modellierung und Normalformen
Normalformen
Umwandlung in Pränexform
Die Korrektheit dieses Algorithmus lässt sich durch Induktion nach dem
Aufbau der Formel ϕ beweisen.
⇒ Das vervollständigt dann den Beweis für Lemma 9.4 (c).
Ein anderer Weg zur Umwandlung von Formeln in Pränexform ist durch
(direkte) Anwendung von Äquivalenzregeln:
Beispiel
∀x R(x) ∧ ∃y S(y) ≡ ∀x [R(x) ∧ ∃y S(y)]
≡ ∀x [∃y S(y) ∧ R(x)]
≡ ∀x ∃y (S(y) ∧ R(x))
≡ ∀x ∃y (R(x) ∧ S(y))
G. Kern-Isberner (TU Dortmund)
Logik
Satz 9.3 (4)
Kommutativität
Satz 9.3 (5)
Kommutativität
WS 2014/15
75 / 250
PL – Modellierung und Normalformen
Normalformen
Erfüllbarkeit: Grundbegriffe (1/2)
Definition 9.9 (Modell, (un)erfüllbar, allgemeingültig, |=)
• Sei ϕ eine prädikatenlogische Formel
• Eine Interpretation I mit [[ϕ]]I = 1 heißt Modell von ϕ
– Alternative Notation dafür: I |= ϕ
• ϕ heißt erfüllbar, falls ϕ ein Modell hat, andernfalls unerfüllbar
• ϕ heißt allgemeingültig (oder: Tautologie), falls jede zu ϕ passende
Interpretation ein Modell von ϕ ist
• I ist Modell einer Menge Φ prädikatenlogischer Formeln (I |= Φ), falls
für alle ϕ ∈ Φ gilt: I |= ϕ
Die Begriffe „erfüllbar“ und „allgemeingültig“ werden für Mengen Φ von
Formeln analog definiert.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
76 / 250
PL – Modellierung und Normalformen
Normalformen
Erfüllbarkeit: Grundbegriffe (2/2)
Beispiel
• ∀x P (x) ∨ ∃y ¬P (y) ist allgemeingültig
• ∀x ¬P (x) ∧ ∃y P (y) ist unerfüllbar
Bemerkungen:
• Der Zusammenhang zwischen unerfüllbaren und allgemeingültigen
Formeln ist genauso wie in der Aussagenlogik:
ϕ unerfüllbar ⇔ ¬ϕ allgemeingültig
• Ist ϕ eine geschlossene Formel mit Modell I = (A, β), so nennen wir
auch A ein Modell von ϕ und schreiben A |= ϕ
In den nächsten beiden Kapiteln werden wir uns mit Erfüllbarkeitstests für
prädikatenlogische Formeln beschäftigen.
⇒ Dann werden wir die folgenden beiden Normalformen (Skolemform und
Matrixklauselform) benötigen.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
77 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (1/6)
Beobachtung: Wenn wir die Erfüllbarkeit einer Formel ϕ durch
Umwandlung in eine andere Formel testen wollen, müssen die einzelnen
Schritte nicht unbedingt äquivalente Formeln ergeben – es genügt, wenn
sich jeweils die Erfüllbarkeit nicht ändert.
Wenn wir Formeln auf Erfüllbarkeit testen wollen, hilft uns diese
Beobachtung, Formeln (letztendlich) in Formeln mit weniger Quantoren
umzuwandeln.
Dazu definieren wir:Formeln ϕ1 , ϕ2 heißen erfüllbarkeitsäquivalent, wenn sie
entweder beide erfüllbar oder beide unerfüllbar sind.
Insbesondere: Sind x1 , . . . , xm die freien Variablen von ϕ1 , so ist
ϕ2 = ∃x1 . . . ∃xm ϕ1
erfüllbarkeitsäquivalent zu ϕ1 .
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
78 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (2/6)
Definition 9.10 (Skolemform)
• Eine Formel ist in Skolemform, wenn sie die Form ∀x1 . . . ∀xn ψ hat,
wobei
– ψ quantorenfrei ist und
– im Quantoren-Präfix keine Variable mehrfach vorkommt
Zu beachten: Wie schon bei der Pränexform muss – nach Definition der
Syntax prädikatenlogischer Formeln – ψ also atomar oder durch ein
Klammerpaar umschlossen sein.
Lemma 9.6
Es gibt einen Algorithmus, der zu jeder prädikatenlogischen Formel eine
erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform berechnet.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
79 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (3/6)
Beispiel
• Die Formel ϕ = ∀x ∃y E(x, y) sagt aus, dass jeder Knoten eines
Graphen mindestens eine ausgehende Kante hat
• Natürlich ist diese Formel erfüllbar
• Tun wir trotzdem mal so, als wäre das noch nicht klar:
– Wir wollen den ∃-Quantor loswerden, ohne an der Erfüllbarkeit der
Formel etwas zu ändern
– Etwas genauer sagt die Formel, dass es zu jedem Knoten einen weiteren
Knoten gibt, so dass es vom ersten Knoten eine Kante zum zweiten
Knoten gibt
– Wenn G |= ϕ für einen Graphen G = (V, E) gilt, lässt sich also eine
Funktion f : V 7→ V finden, so dass jeder Knoten a eine Kante zu f (a)
hat
– Umgekehrt lässt sich eine solche Funktion nur finden, wenn G |= ϕ gilt
– Also ist die Formel ϕ erfüllbarkeitsäquivalent zu ∀x E(x, f (x))
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
80 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (4/6)
Allgemeiner kann jede Formel durch Anwendung der folgenden
Skolem-Regel (und der Äquivalenzumwandlungen) in eine
erfüllbarkeitsäquivalente, geschlossene Formel in Skolemform umgewandelt
werden:
• Ist ϕ = ∀x1 ∀x2 . . . ∀xk ∃y ϕ0 , und kommt das Funktionssymbol f in
ϕ0 nicht vor, so ist die Formel
∀x1 ∀x2 . . . ∀xk ϕ0 [y/f (x1 , . . . . , xk )] erfüllbarkeitsäquivalent zu ϕ
• Steht der ∃-Quantor am Anfang (ist also k = 0), so wird y durch eine
Konstante ersetzt
Zur Erinnerung: Konstanten sind eigentlich 0-stellige Funktionen
Zu beachten: ϕ darf durchaus weitere Quantoren enthalten
0
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
81 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (5/6)
Die Umwandlung einer prädikatenlogischen Formel ϕ in eine
erfüllbarkeitsäquivalente Formel in Skolemform erfolgt in drei Phasen:
(i) Wandle ϕ in eine äquivalente Formel ϕ1 in Pränexform um
(ii) Wandle ϕ1 in eine erfüllbarkeitsäquivalente, geschlossene
Pränex-Formel ϕ2 um:
– ϕ2 = ∃x1 . . . ∃xm ϕ1 , wobei x1 , . . . , xm die freien Variablen von ϕ1
sind
(iii) Wandle ϕ2 durch Anwendung der Skolem-Regel (von links nach rechts)
in eine erfüllbarkeitsäquivalente geschlossene Skolemformel ϕ3 um
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
82 / 250
PL – Modellierung und Normalformen
Normalformen
Skolemform (6/6)
Beispiel
• Wir wandeln die Formel
ϕ = ∀y ∃z ∀w [(¬P (x, y) ∧ ¬R(y, f (z))) ∨ P (g(x, w), x)]
in eine erfüllbarkeitsäquivalente Formel in Skolemform um
• ϕ ist schon in Pränexform mit freier Variable x
• Wir quantifizieren die freie Variable x:
∃x ∀y ∃z ∀w [(¬P (x, y) ∧ ¬R(y, f (z))) ∨ P (g(x, w), x)]
• Der erste ∃-Quantor wird entfernt und jedes Vorkommen von x durch
ein (neues) Konstantensymbol a ersetzt:
∀y ∃z ∀w [(¬P (a, y) ∧ ¬R(y, f (z))) ∨ P (g(a, w), a)]
• Der zweite ∃-Quantor (im Wirkungsbereich von y!) wird entfernt und
jedes Vorkommen von z durch den 1-stelligen Funktionsterm h(y)
ersetzt: ∀y ∀w [(¬P (a, y) ∧ ¬R(y, f (h(y)))) ∨ P (g(a, w), a)]
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
83 / 250
PL – Modellierung und Normalformen
Normalformen
Matrixklauselform (1/2)
Die erfüllbarkeitsäquivalente Vereinfachung von Formeln können wir noch
etwas verfeinern, damit der quantorenfreie Teil eine günstige Form hat:
• Sei ϕ eine Formel in Pränexform
• Sei ψ = ∀y1 . . . ∀yk χ eine zu ϕ erfüllbarkeitsäquivalente, geschlossene
Formel in Skolemform
• Der quantorenfreie Teil χ von ψ wird auch Matrix oder Matrix-Formel
von ψ bzw. ϕ genannt
• Sei χ0 eine KNF zu χ
• Die Klauselmenge K zu χ0 nennen wir nun eine Matrixklauselform zu ϕ
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
84 / 250
PL – Modellierung und Normalformen
Normalformen
Matrixklauselform (2/2)
Beispiel (Forts.)
• Wir betrachten wieder die Formel
[R(x) ∨ ∀y P (x, g(y))] ∧ ¬∀x ∃y P (f (x), y)
• In Pränexform: ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y))
• Diese Formel ist erfüllbarkeitsäquivalent zu:
∃x ∀y1 ∃x1 ∀y ([R(x) ∨ P (x, g(y1 ))] ∧ ¬P (f (x1 ), y))
• Durch die Ersetzung x 7→ b und x1 7→ h(y1 ) erhalten wir die
Skolemform: ∀y1 ∀y ([R(b) ∨ P (b, g(y1 ))] ∧ ¬P (f (h(y1 )), y))
• Die entstehende Matrixformel [R(b) ∨ P (b, g(y1 ))] ∧ ¬P (f (h(y1 )), y)
ist bereits in KNF
• Insgesamt erhalten wir die Matrixklauselform:
{{R(b), P (b, g(y1 ))}, {¬P (f (h(y1 )), y)}}
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
85 / 250
PL – Modellierung und Normalformen
Normalformen
Zusammenfassung
Sie sollten die folgenden Themen und Techniken kennen und beherrschen:
• Beim Erstellen und Analysieren prädikatenlogischer Formeln ist es oft
hilfreich und sinnvoll, einen Zwischenschritt in „formelähnlicher
Sprache“ zu machen
• Prädikatenlogische Formeln lassen sich in äquivalente Formeln in
– Pränexform,
– Negations-Normalform, und
– reduzierte Form
umwandeln
• Prädikatenlogische Formeln lassen sich in erfüllbarkeitsäquivalente
Formeln in Skolemform umwandeln
• Die Matrixklauselform ergibt sich als Klauselmenge einer Formel in
Skolemform, deren quantorenfreier Anteil in KNF ist
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
86 / 250
Herunterladen