Logik für Informatiker - LS1

Werbung
Logik für Informatiker
Wintersemester 2007/08
Thomas Schwentick
Teil A: Aussagenlogik
3. Erfüllbarkeit
Version von: 23. Januar 2008(16:11)
Inhalt
3.1 Grundbegriffe
3.2 Aussagenlogische Resolution
3.3 Endlichkeitssatz
3.4 Hornformeln
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 1
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
• Beispiele:
I Logeleien
(Joschka!)
I Spiele
(Minesweeper!)
I (Bounded) Model Checking
I Kombinatorik
I Graphentheorie
(gleich ein Beispiel)
I Kryptographie
I Automatisches Planen
I ...
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
• Aber auch andere logische Fragestellungen
lassen sich als Erfüllbarkeitsprobleme
ausdrücken:
• Beispiele:
I Logeleien
(Joschka!)
I Spiele
(Minesweeper!)
I (Bounded) Model Checking
I Kombinatorik
I Graphentheorie
(gleich ein Beispiel)
I Kryptographie
I Automatisches Planen
I ...
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
• Beispiele:
I Logeleien
(Joschka!)
I Spiele
(Minesweeper!)
I (Bounded) Model Checking
I Kombinatorik
I Graphentheorie
(gleich ein Beispiel)
I Kryptographie
I Automatisches Planen
I ...
Logik für Inf. / Schwentick / WiSe 07/08
• Aber auch andere logische Fragestellungen
lassen sich als Erfüllbarkeitsprobleme
ausdrücken:
I Sei F eine Menge von AL-Formeln und
F eine AL-Formel
I F |= F ⇔def
jede zu F ∪ {F }
passende Belegung,
die Modell von F ist,
ist auch Modell von F
(Anders gesagt: F folgt aus F )
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
• Beispiele:
I Logeleien
(Joschka!)
I Spiele
(Minesweeper!)
I (Bounded) Model Checking
I Kombinatorik
I Graphentheorie
(gleich ein Beispiel)
I Kryptographie
I Automatisches Planen
I ...
Logik für Inf. / Schwentick / WiSe 07/08
• Aber auch andere logische Fragestellungen
lassen sich als Erfüllbarkeitsprobleme
ausdrücken:
I Sei F eine Menge von AL-Formeln und
F eine AL-Formel
I F |= F ⇔def
I
jede zu F ∪ {F }
passende Belegung,
die Modell von F ist,
ist auch Modell von F
(Anders gesagt: F folgt aus F )
Es gilt:
F |= F ⇐⇒ F ∪ {¬F } unerfüllbar
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Warum Erfüllbarkeit?
• Probleme aus vielen Bereichen lassen sich
als Erfüllbarkeitsprobleme für
aussagenlogische Formeln formulieren:
• Beispiele:
I Logeleien
(Joschka!)
I Spiele
(Minesweeper!)
I (Bounded) Model Checking
I Kombinatorik
I Graphentheorie
(gleich ein Beispiel)
I Kryptographie
I Automatisches Planen
I ...
• Aber auch andere logische Fragestellungen
lassen sich als Erfüllbarkeitsprobleme
ausdrücken:
I Sei F eine Menge von AL-Formeln und
F eine AL-Formel
I F |= F ⇔def
I
jede zu F ∪ {F }
passende Belegung,
die Modell von F ist,
ist auch Modell von F
(Anders gesagt: F folgt aus F )
Es gilt:
F |= F ⇐⇒ F ∪ {¬F } unerfüllbar
I Tautologien lassen sich auch durch
Erfüllbarkeitstests finden, denn:
F ist eine Tautologie ⇐⇒
¬F nicht erfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 2
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
Ein Beispiel aus der Graphentheorie: Graphfärbung
• Landkartenfärbung: Lassen sich die
•
•
•
•
Länder einer gegebenen Landkarte mit einer
gegebenen Anzahl von Farben so färben,
dass benachbarte Länder verschiedene
Farben haben?
Beispiel: lässt sich die Karte der deutschen
Bundesländer in dieser Art mit 3 Farben
färben?
Nein!
Aber mit vier Farben geht es immer (ohne
Enklaven): Vierfarbensatz
Das Problem der Landkartenfärbung lässt
sich auf das allgemeinere Problem, die
Knoten eines Graphen zu färben,
zurückführen
Definition: C OL
Gegeben: Ungerichteter Graph G, Zahl k
Frage: Lassen sich die Knoten von G mit k
Farben zulässig färben, das heißt, so
dass benachbarte Knoten verschiedene
Farben haben?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 3
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
• Variablen für FG: Avj mit v ∈ V und j ∈ {1, 2, 3}
• Idee: die Farben heißen 1, 2, 3 und
I Avj = 1 ⇐⇒ Knoten v hat Farbe j
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
• Variablen für FG: Avj mit v ∈ V und j ∈ {1, 2, 3}
• Idee: die Farben heißen 1, 2, 3 und
I Avj = 1 ⇐⇒ Knoten v hat Farbe j
• Wir verwenden folgende Teilformeln:
I Fv =def Av1 ∨ Av2 ∨ Av3
(v hat (mindestens) eine Farbe)
I Fuv =def (¬Au1 ∨ ¬Av1 )∧
(¬Au2 ∨ ¬Av2 ) ∧ (¬Au3 ∨ ¬Av3 )
(u und v haben verschiedene Farben)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
• Variablen für FG: Avj mit v ∈ V und j ∈ {1, 2, 3}
• Idee: die Farben heißen 1, 2, 3 und
I Avj = 1 ⇐⇒ Knoten v hat Farbe j
• Wir verwenden folgende Teilformeln:
I Fv =def Av1 ∨ Av2 ∨ Av3
(v hat (mindestens) eine Farbe)
I Fuv =def (¬Au1 ∨ ¬Av1 )∧
(¬Au2 ∨ ¬Av2 ) ∧ (¬Au3 ∨ ¬Av3 )
(u und v haben verschiedene Farben)
^
^
• Sei schließlich FG =def
Fv ∧
Fuv
v∈V
Logik für Inf. / Schwentick / WiSe 07/08
(u,v)∈E
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
• Variablen für FG: Avj mit v ∈ V und j ∈ {1, 2, 3}
• Idee: die Farben heißen 1, 2, 3 und
I Avj = 1 ⇐⇒ Knoten v hat Farbe j
• Wir verwenden folgende Teilformeln:
I Fv =def Av1 ∨ Av2 ∨ Av3
(v hat (mindestens) eine Farbe)
I Fuv =def (¬Au1 ∨ ¬Av1 )∧
(¬Au2 ∨ ¬Av2 ) ∧ (¬Au3 ∨ ¬Av3 )
(u und v haben verschiedene Farben)
^
^
• Sei schließlich FG =def
Fv ∧
Fuv
v∈V
(u,v)∈E
• Es gelten:
I Aus jeder 3-Färbung von G kann eine erfüllende Belegung von FG
I
konstruiert werden
Aus jeder erfüllenden Belegung von FG kann eine 3-Färbung von G
konstruiert werden
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
3-Färbbarkeit als AL-Erfüllbarkeitsproblem
• Sei G = (V, E) ein Graph (V : Knoten, E : Kanten)
• Wir konstruieren eine Formel FG mit der Eigenschaft
FG erfüllbar ⇐⇒ G 3-färbbar
(∗)
• Variablen für FG: Avj mit v ∈ V und j ∈ {1, 2, 3}
• Idee: die Farben heißen 1, 2, 3 und
I Avj = 1 ⇐⇒ Knoten v hat Farbe j
• Wir verwenden folgende Teilformeln:
I Fv =def Av1 ∨ Av2 ∨ Av3
(v hat (mindestens) eine Farbe)
I Fuv =def (¬Au1 ∨ ¬Av1 )∧
(¬Au2 ∨ ¬Av2 ) ∧ (¬Au3 ∨ ¬Av3 )
(u und v haben verschiedene Farben)
^
^
• Sei schließlich FG =def
Fv ∧
Fuv
v∈V
(u,v)∈E
• Es gelten:
I Aus jeder 3-Färbung von G kann eine erfüllende Belegung von FG
•
konstruiert werden
I Aus jeder erfüllenden Belegung von FG kann eine 3-Färbung von G
konstruiert werden
Also: wenn sich die Erfüllbarkeit von AL-Formeln effizient testen lässt, so
auch die 3-Färbbarkeit von Graphen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 4
Ein simpler Erfüllbarkeitstest: Wahrheitstabelle
• Eine einfache Methode zum Testen der Erfüllbarkeit
einer Formel F :
I Berechne die Wahrheitstabelle von F
I Genau dann, wenn es eine Zeile mit einer 1 in der
F -Spalte gibt, ist F erfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 5
Ein simpler Erfüllbarkeitstest: Wahrheitstabelle
• Eine einfache Methode zum Testen der Erfüllbarkeit
einer Formel F :
I Berechne die Wahrheitstabelle von F
I Genau dann, wenn es eine Zeile mit einer 1 in der
F -Spalte gibt, ist F erfüllbar
• Das ist ein semantischer Erfüllbarkeitstest
I Denn: alle möglichen Modelle werden ausprobiert
I Der Test beruht also darauf, die Semantik von F
vollständig zu bestimmen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 5
Ein simpler Erfüllbarkeitstest: Wahrheitstabelle
• Eine einfache Methode zum Testen der Erfüllbarkeit
einer Formel F :
I Berechne die Wahrheitstabelle von F
I Genau dann, wenn es eine Zeile mit einer 1 in der
F -Spalte gibt, ist F erfüllbar
• Das ist ein semantischer Erfüllbarkeitstest
I Denn: alle möglichen Modelle werden ausprobiert
I Der Test beruht also darauf, die Semantik von F
vollständig zu bestimmen
• Problem: Wahrheitstabellen werden sehr schnell
sehr groß
• Genauer: Bei n Variablen hat die Wahrheitstabelle
2n Einträge
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 5
Ein simpler Erfüllbarkeitstest: Wahrheitstabelle
• Eine einfache Methode zum Testen der Erfüllbarkeit
einer Formel F :
I Berechne die Wahrheitstabelle von F
I Genau dann, wenn es eine Zeile mit einer 1 in der
F -Spalte gibt, ist F erfüllbar
• Das ist ein semantischer Erfüllbarkeitstest
I Denn: alle möglichen Modelle werden ausprobiert
I Der Test beruht also darauf, die Semantik von F
vollständig zu bestimmen
• Problem: Wahrheitstabellen werden sehr schnell
sehr groß
• Genauer: Bei n Variablen hat die Wahrheitstabelle
2n Einträge
➞ Wir betrachten deshalb jetzt eine Methode, die
Erfüllbarkeit durch syntaktische Operationen testet:
den Resolutionskalkül
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 5
Inhalt
3.1 Grundbegriffe
3.2 Aussagenlogische Resolution
3.3 Endlichkeitssatz
3.4 Hornformeln
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 6
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Wir repräsentieren eine disjunktive Klausel
deshalb oft nur durch die Menge ihrer
Literale:
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
schreiben wir dann beispielsweise
{A1 , ¬A2 , ¬A3 }
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Wir repräsentieren eine disjunktive Klausel
deshalb oft nur durch die Menge ihrer
Literale:
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
schreiben wir dann beispielsweise
{A1 , ¬A2 , ¬A3 }
• Die leere Klausel {} enspricht dann der
Formel 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Andererseits lassen sich Klauseln auch als
Implikationen schreiben:
I (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist
beispielsweise äquivalent zu:
(A2 ∧ A3 ) → (A1 ∨ A4 )
I Aber auch zu:
(A2 ∧ ¬A1 ) → (¬A3 ∨ A4 )
• Wir repräsentieren eine disjunktive Klausel
deshalb oft nur durch die Menge ihrer
Literale:
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
schreiben wir dann beispielsweise
{A1 , ¬A2 , ¬A3 }
• Die leere Klausel {} enspricht dann der
Formel 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
• Andererseits lassen sich Klauseln auch als
Implikationen schreiben:
I (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist
beispielsweise äquivalent zu:
(A2 ∧ A3 ) → (A1 ∨ A4 )
I Aber auch zu:
(A2 ∧ ¬A1 ) → (¬A3 ∨ A4 )
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Allgemein: Sei K = {L1 , . . . , Lk} eine
• Wir repräsentieren eine disjunktive Klausel
Klausel mit Literalen Li
deshalb oft nur durch die Menge ihrer
Literale:
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
schreiben wir dann beispielsweise
{A1 , ¬A2 , ¬A3 }
• Die leere Klausel {} enspricht dann der
Formel 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
• Andererseits lassen sich Klauseln auch als
Implikationen schreiben:
I (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist
beispielsweise äquivalent zu:
(A2 ∧ A3 ) → (A1 ∨ A4 )
I Aber auch zu:
(A2 ∧ ¬A1 ) → (¬A3 ∨ A4 )
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Allgemein: Sei K = {L1 , . . . , Lk} eine
• Wir repräsentieren eine disjunktive Klausel
Klausel mit Literalen Li
deshalb oft nur durch die Menge ihrer
• Für jede Teilmenge I ⊆ {1, . . . , k} ist
Literale:
zu
dann K äquivalent
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
^
_
schreiben wir dann beispielsweise
¬Li →
Li
{A1 , ¬A2 , ¬A3 }
i∈I
i6∈I
• Die leere Klausel {} enspricht dann der
Formel 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Disjunktive Klauseln
• Wir werden die (disjunktiven) Klauseln von
KNF-Formeln auf verschiedene Weisen
repräsentieren
• Klar: es kommt nicht darauf an, ob ein
bestimmtes Literal einmal oder mehrfach in
einer Klausel vorkommt:
I Beispiel:
• Andererseits lassen sich Klauseln auch als
Implikationen schreiben:
I (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3 ) ist
beispielsweise äquivalent zu:
(A2 ∧ A3 ) → (A1 ∨ A4 )
I Aber auch zu:
(A2 ∧ ¬A1 ) → (¬A3 ∨ A4 )
(A1 ∨ ¬A2 ∨ A1 ) ≡ (A1 ∨ ¬A2 )
• Allgemein: Sei K = {L1 , . . . , Lk} eine
• Wir repräsentieren eine disjunktive Klausel
Klausel mit Literalen Li
deshalb oft nur durch die Menge ihrer
• Für jede Teilmenge I ⊆ {1, . . . , k} ist
Literale:
zu
dann K äquivalent
I Statt (A1 ∨ ¬A2 ∨ A1 ∨ ¬A3 )
^
_
schreiben wir dann beispielsweise
¬Li →
Li
{A1 , ¬A2 , ¬A3 }
i∈I
i6∈I
• Die leere Klausel {} enspricht dann der
• Insbesondere ist
Formel 0
{¬A1 , . . . , ¬Ak, Ak+1 , . . . An}
äquivalent zu
(A1 ∧· · ·∧Ak) → (Ak+1 ∨· · ·∨An)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 7
Resolventen
• Wir hatten in der Einleitung schon gesehen, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 8
Resolventen
• Wir hatten in der Einleitung schon gesehen, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
• Denn: falls für eine Belegung α gilt
I α |= A → B und
I α |= A, so gilt zwangsläufig auch
I α |= B
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 8
Resolventen
• Wir hatten in der Einleitung schon gesehen, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
• Denn: falls für eine Belegung α gilt
I α |= A → B und
I α |= A, so gilt zwangsläufig auch
I α |= B
• Ähnlich gilt: falls für eine Belegung α gilt
I α |= (A1 ∧ · · · ∧ Ak) → B und
I α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch
I α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 8
Resolventen
• Wir hatten in der Einleitung schon gesehen, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
• Denn: falls für eine Belegung α gilt
I α |= A → B und
I α |= A, so gilt zwangsläufig auch
I α |= B
• Ähnlich gilt: falls für eine Belegung α gilt
I α |= (A1 ∧ · · · ∧ Ak) → B und
I α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch
I α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)
• Allgemein gilt: falls für eine Belegung α gilt
I α |= (L1 ∧ · · · ∧ Lk) → (X ∨ Lk+1 ∨ · · · ∨ Ll) und
I α |= (L01 ∧ · · · ∧ L0m ∧ X) → (L0m+1 ∨ · · · ∨ L0n),
so gilt zwangsläufig auch
I α |= (L1 ∧ · · · ∧ Lk ∧ L01 ∧ · · · ∧ L0m) →
(Lk+1 ∨ · · · Ll ∨ L0m+1 ∨ · · · ∨ L0n)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 8
Resolventen
• Wir hatten in der Einleitung schon gesehen, dass wir aus den
AL-Formeln A → B und A die Formel B folgern können
• Denn: falls für eine Belegung α gilt
I α |= A → B und
I α |= A, so gilt zwangsläufig auch
I α |= B
• Ähnlich gilt: falls für eine Belegung α gilt
I α |= (A1 ∧ · · · ∧ Ak) → B und
I α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch
I α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)
• Allgemein gilt: falls für eine Belegung α gilt
I α |= (L1 ∧ · · · ∧ Lk) → (X ∨ Lk+1 ∨ · · · ∨ Ll) und
I α |= (L01 ∧ · · · ∧ L0m ∧ X) → (L0m+1 ∨ · · · ∨ L0n),
so gilt zwangsläufig auch
I α |= (L1 ∧ · · · ∧ Lk ∧ L01 ∧ · · · ∧ L0m) →
(Lk+1 ∨ · · · Ll ∨ L0m+1 ∨ · · · ∨ L0n)
• Oder in Mengenschreibweise: falls α die Klauselmengen
{L1 . . . , Ll, X} und {L01 . . . , L0n, ¬X} wahr macht, so
auch die Resolvente {L1 . . . , Ll, L01 . . . , L0n}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 8
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
{A, ¬B, C}
{A, C, ¬C}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{A, C, ¬C}
{X}
{¬X}
∅
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{A, C, ¬C}
{X}
{¬X}
∅
• Allgemein nennen wir
K1
···
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{A, C, ¬C}
{X}
{¬X}
∅
• Allgemein nennen wir
K1
···
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
• Jetzt werden wir die Korrektheit der obigen
Schlussregel beweisen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
Lemma 3.1 [Resolutionslemma]
Die Schlussregel
{L1 . . . , Ll , X}
{L01 . . . , L0n , ¬X}
{L1 . . . , Ll , L01 . . . , L0n }
ist korrekt (auch für l
= 0 oder n = 0)
{A, C, ¬C}
{X}
{¬X}
∅
• Allgemein nennen wir
K1
···
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
• Jetzt werden wir die Korrektheit der obigen
Schlussregel beweisen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{¬X}
∅
• Allgemein nennen wir
K1
···
Die Schlussregel
{L1 . . . , Ll , X}
{L01 . . . , L0n , ¬X}
{L1 . . . , Ll , L01 . . . , L0n }
ist korrekt (auch für l
= 0 oder n = 0)
Beweis
{A, C, ¬C}
{X}
Lemma 3.1 [Resolutionslemma]
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
• Seien L1 , . . . , Ll, L01 , . . . , Ln
Literale und X ∈ AV
• Sei α eine Belegung, die
{L1 . . . , Ll, X} und
{L01 . . . , L0n, ¬X} wahr macht
• Sei
K =def {L1 . . . , Ll, L01 . . . , L0n}
• Wir unterscheiden zwei Fälle:
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
• Jetzt werden wir die Korrektheit der obigen
Schlussregel beweisen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{¬X}
∅
• Allgemein nennen wir
K1
···
Die Schlussregel
{L1 . . . , Ll , X}
{L01 . . . , L0n , ¬X}
{L1 . . . , Ll , L01 . . . , L0n }
ist korrekt (auch für l
= 0 oder n = 0)
Beweis
{A, C, ¬C}
{X}
Lemma 3.1 [Resolutionslemma]
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
• Seien L1 , . . . , Ll, L01 , . . . , Ln
Literale und X ∈ AV
• Sei α eine Belegung, die
{L1 . . . , Ll, X} und
{L01 . . . , L0n, ¬X} wahr macht
• Sei
K =def {L1 . . . , Ll, L01 . . . , L0n}
• Wir unterscheiden zwei Fälle:
I 1. Fall: α(X) = 1
0
0
Dann gilt α |= {L · · · L }
1
n
Also auch: α |= K
• Jetzt werden wir die Korrektheit der obigen
Schlussregel beweisen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Das Resolutionslemma
• Die zuletzt betrachtete Folgerung schreiben
wir wie folgt:
{L1 . . . , Lk , X}
{L01 . . . , L0l , ¬X}
{L1 . . . , Lk , L01 . . . , L0l }
• Z.B.:
{A, B, ¬C}
• Spezialfall:
{A, ¬B, C}
{¬X}
∅
• Allgemein nennen wir
K1
···
Km
K
eine Schlussregel
• Eine solche Schlussregel heißt korrekt, falls
jede Belegung, die die Klauseln
K1 , . . . , Km wahr macht, auch K wahr
macht
• Jetzt werden wir die Korrektheit der obigen
Schlussregel beweisen
Logik für Inf. / Schwentick / WiSe 07/08
Die Schlussregel
{L1 . . . , Ll , X}
{L01 . . . , L0n , ¬X}
{L1 . . . , Ll , L01 . . . , L0n }
ist korrekt (auch für l
= 0 oder n = 0)
Beweis
{A, C, ¬C}
{X}
Lemma 3.1 [Resolutionslemma]
• Seien L1 , . . . , Ll, L01 , . . . , Ln
Literale und X ∈ AV
• Sei α eine Belegung, die
{L1 . . . , Ll, X} und
{L01 . . . , L0n, ¬X} wahr macht
• Sei
K =def {L1 . . . , Ll, L01 . . . , L0n}
• Wir unterscheiden zwei Fälle:
I 1. Fall: α(X) = 1
0
0
Dann gilt α |= {L · · · L }
1
n
Also auch: α |= K
I 2. Fall: α(X) = 0
Dann gilt α |= {L1 · · · Ll }
Also auch: α |= K
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 9
Eine nicht korrekte Schlussregel
• Die Schlussregel
{L1 . . . , Ll , X, Y }
{L01 . . . , L0n , ¬X, ¬Y }
{L1 . . . , Ll , L01 . . . , L0n }
ist nicht korrekt
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 10
Eine nicht korrekte Schlussregel
• Die Schlussregel
{L1 . . . , Ll , X, Y }
{L01 . . . , L0n , ¬X, ¬Y }
{L1 . . . , Ll , L01 . . . , L0n }
ist nicht korrekt
• Denn: wir betrachten die Klauseln
I K1 = {A, B, C},
I K2 = {A0, ¬B, ¬C}
I und die Belegung α : A 7→ 0, B 7→ 1,
C 7→ 0, A0 7→ 0,
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 10
Eine nicht korrekte Schlussregel
• Die Schlussregel
{L1 . . . , Ll , X, Y }
{L01 . . . , L0n , ¬X, ¬Y }
{L1 . . . , Ll , L01 . . . , L0n }
ist nicht korrekt
• Denn: wir betrachten die Klauseln
I K1 = {A, B, C},
I K2 = {A0, ¬B, ¬C}
I und die Belegung α : A 7→ 0, B 7→ 1,
C 7→ 0, A0 7→ 0,
• Klar: α |= K1 und α |= K2
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 10
Eine nicht korrekte Schlussregel
• Die Schlussregel
{L1 . . . , Ll , X, Y }
{L01 . . . , L0n , ¬X, ¬Y }
{L1 . . . , Ll , L01 . . . , L0n }
ist nicht korrekt
• Denn: wir betrachten die Klauseln
I K1 = {A, B, C},
I K2 = {A0, ¬B, ¬C}
I und die Belegung α : A 7→ 0, B 7→ 1,
C 7→ 0, A0 7→ 0,
• Klar: α |= K1 und α |= K2
• Aber: α 6|= {A, A0}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 10
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Ein Resolutionsschritt lässt sich als kleiner
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{A, ¬C}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Ein Resolutionsschritt lässt sich als kleiner
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, C}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{B, C}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{B, C}
{B}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{¬B}
{A, ¬C}
{B, C}
{B}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{¬B}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
{B, C}
{B}
∅
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{¬B}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
{B}
∅
• Insgesamt erhalten wir hier die leere Klausel
•
Logik für Inf. / Schwentick / WiSe 07/08
{B, C}
als Resolvente
Was folgt daraus?
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{¬B}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
{B}
∅
• Insgesamt erhalten wir hier die leere Klausel
•
Logik für Inf. / Schwentick / WiSe 07/08
{B, C}
als Resolvente
Was folgt daraus?
I Da jede Belegung, die zwei Klauseln
wahr macht, auch ihre Resolvente wahr
macht, und ∅ nicht erfüllbar ist, folgt:
die vier Klauseln sind nicht (zusammen)
erfüllbar
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Ein „Resolutionsbeweis“
• Die Herleitung einer Resolventen K aus
zwei Klauseln K1 , K2 nennen wir einen
Resolutionsschritt
• Beispiel: Ausgehend von den Klauseln
{A, B, C}, {¬A, B, C}, {B, ¬C},
{¬B} lässt sich folgender Baum gewinnen:
• Ein Resolutionsschritt lässt sich als kleiner
{A, B, C}
{¬A, B, C}
Baum visualisieren:
{A, ¬B}
{B, ¬C}
{B, ¬C}
{¬B}
{A, ¬C}
• Entsprechend lassen sich mehrere
Resolutionsschritte als etwas größerer Baum
darstellen
{B}
∅
• Insgesamt erhalten wir hier die leere Klausel
•
➞
Logik für Inf. / Schwentick / WiSe 07/08
{B, C}
als Resolvente
Was folgt daraus?
I Da jede Belegung, die zwei Klauseln
wahr macht, auch ihre Resolvente wahr
macht, und ∅ nicht erfüllbar ist, folgt:
die vier Klauseln sind nicht (zusammen)
erfüllbar
Mit Resolution lässt sich Unerfüllbarkeit
von Klauselmengen feststellen!
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 11
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I
Res∞(K)
=def
[
Res
k
(K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
Beweis
• Sei zunächst ∅ ∈ Res∞(K)
➨ ∅ ∈ Resn(K) für ein n
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
Beweis
• Sei zunächst ∅ ∈ Res∞(K)
➨ ∅ ∈ Resn(K) für ein n
➨ Resn(K) ist unerfüllbar, da ∅ unerfüllbar
ist
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
I Res(K) =def
K ∪ {K | K ist Resolvente
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
Beweis
• Sei zunächst ∅ ∈ Res∞(K)
➨ ∅ ∈ Resn(K) für ein n
➨ Resn(K) ist unerfüllbar, da ∅ unerfüllbar
•
ist
Aus dem Resolutionslemma folgt leicht: K0
erfüllbar ⇒ Res(K0 ) erfüllbar (für jede
Klauselmenge K0 )
zweier Klauseln aus K}
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
Beweis
• Sei zunächst ∅ ∈ Res∞(K)
➨ ∅ ∈ Resn(K) für ein n
➨ Resn(K) ist unerfüllbar, da ∅ unerfüllbar
•
•
ist
Aus dem Resolutionslemma folgt leicht: K0
erfüllbar ⇒ Res(K0 ) erfüllbar (für jede
Klauselmenge K0 )
Induktion liefert: K unerfüllbar
I Res0 (K) =def K
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik
• Also: wenn aus einer Klauselmenge K die
•
•
•
•
leere Klausel durch Anwendung von
Resolutionsschritten erreicht wird, so ist K
unerfüllbar
Und umgekehrt?
Wir zeigen jetzt: die Umkehrung gilt auch
Zur Vorbereitung definieren wir zunächst die
Menge aller Klauseln, die sich aus K durch
Anwendung von Resolutionsschritten
erreichen lassen
Dazu definieren wir:
I Res(K) =def
K ∪ {K | K ist Resolvente
zweier Klauseln aus K}
I Res0 (K) =def K
Satz 3.2 [Resolutionssatz]
Eine endliche Klauselmenge K ist genau dann
unerfüllbar, wenn ∅ ∈ Res∞(K)
Beweis
• Sei zunächst ∅ ∈ Res∞(K)
➨ ∅ ∈ Resn(K) für ein n
➨ Resn(K) ist unerfüllbar, da ∅ unerfüllbar
•
•
•
ist
Aus dem Resolutionslemma folgt leicht: K0
erfüllbar ⇒ Res(K0 ) erfüllbar (für jede
Klauselmenge K0 )
Induktion liefert: K unerfüllbar
Es bleibt zu zeigen:
K ist unerfüllbar ⇒ ∅ ∈ Res∞(K)
I Resk(K) =def Res(Resk−1 (K))
für alle k ≥ 1
[
k
I Res∞(K) =def
Res (K)
k≥0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 12
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
I
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Nach Induktion gilt also:
∅ ∈ Res∞(K1 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
I
Beweis des Resolutionssatzes (Forts.)
– Also: ∅
∈ Resk(K1 ) für ein k ≥ 0
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Nach Induktion gilt also:
∅ ∈ Res∞(K1 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
I
Beweis des Resolutionssatzes (Forts.)
∈ Resk(K1 ) für ein k ≥ 0
– Für jede Klausel K aus K1 gilt aber: K
oder K ∪ {¬An} kommt in K vor
– Also: ∅
– es lässt sich deshalb zeigen:
∅ ∈ Resk(K) oder
{¬An} ∈ Resk(K)
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Nach Induktion gilt also:
∅ ∈ Res∞(K1 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
I
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Nach Induktion gilt also:
∅ ∈ Res∞(K1 )
Logik für Inf. / Schwentick / WiSe 07/08
Beweis des Resolutionssatzes (Forts.)
∈ Resk(K1 ) für ein k ≥ 0
– Für jede Klausel K aus K1 gilt aber: K
oder K ∪ {¬An} kommt in K vor
– Also: ∅
– es lässt sich deshalb zeigen:
∅ ∈ Resk(K) oder
{¬An} ∈ Resk(K)
– Analog: die Klauselmenge K2 , die aus K
entsteht indem
∗ Klauseln, in denen ¬An vorkommt,
gestrichen werden und
∗ An aus allen Klauseln entfernt wird,
ist unerfüllbar
0
∈ Resk (K) oder
0
k
{An} ∈ Res (K) für ein k0
– Und: ∅
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Der Resolutionssatz der Aussagenlogik (Forts.)
Beweis des Resolutionssatzes (Forts.)
• Sei K unerfüllbar mit Variablen
{A1 , . . . , An}
• Wir zeigen ∅ ∈ Res∞(K) durch
Induktion nach n
• n = 0:
I Dann enthält K die leere Klausel ∅ ✓
• n − 1 → n:
I Sei K1 die Klauselmenge, die aus K
I
I
I
entsteht, indem
Klauseln, in denen An (positiv)
vorkommt, gestrichen werden und
¬An aus allen Klauseln entfernt wird
Behauptung: K1 ist unerfüllbar
Denn: aus einer erfüllenden Belegung
α für K1 könnte durch
α(An) =def 1 eine erfüllende
Belegung für K gewonnen werden
Nach Induktion gilt also:
∅ ∈ Res∞(K1 )
Logik für Inf. / Schwentick / WiSe 07/08
Beweis des Resolutionssatzes (Forts.)
∈ Resk(K1 ) für ein k ≥ 0
– Für jede Klausel K aus K1 gilt aber: K
oder K ∪ {¬An} kommt in K vor
– Also: ∅
– es lässt sich deshalb zeigen:
∅ ∈ Resk(K) oder
{¬An} ∈ Resk(K)
– Analog: die Klauselmenge K2 , die aus K
entsteht indem
∗ Klauseln, in denen ¬An vorkommt,
gestrichen werden und
∗ An aus allen Klauseln entfernt wird,
ist unerfüllbar
0
∈ Resk (K) oder
0
k
{An} ∈ Res (K) für ein k0
– OBdA: k ≥ k0
– Also: ∅ ∈ Resk(K) oder
{An}, {¬An} ∈ Resk(K)
➨ in jedem Fall: ∅ ∈ Resk+1 (K)
– Und: ∅
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 13
Resolutionssatz: Illustration des Beweises
Beispiel
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
• K1 = {{B}, {¬B}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
• K1 = {{B}, {¬B}}
• K2 = {{A, B}, {¬A, B}, {¬B}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B}
∅
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B}
Logik für Inf. / Schwentick / WiSe 07/08
{¬A, B}
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B}
{¬A, B}
{B}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B}
{¬B}
Logik für Inf. / Schwentick / WiSe 07/08
{¬A, B}
{B}
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B}
{¬B}
{¬A, B}
{B}
∅
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B , C }
{¬B}
{¬A, B , C }
{B , C }
{C}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Resolutionssatz: Illustration des Beweises
Beispiel
•
•
•
•
K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
K1 = {{B}, {¬B}}
K2 = {{A, B}, {¬A, B}, {¬B}}
Ein Resolutionsbaum für K1 :
{¬B}
{B , ¬C }
{¬C}
• Ein Resolutionsbaum für K2 :
{A, B , C }
{¬B}
{¬A, B , C }
{B , C }
{C}
• Also: hier sind {C}, {¬C} ∈ Res2 (K) und deshalb auch
∅ ∈ Res3 (K)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 14
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
• Die Korrektheit dieses Algorithmus folgt aus
dem Resolutionssatz
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
• Die Korrektheit dieses Algorithmus folgt aus
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
• Die Korrektheit dieses Algorithmus folgt aus
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen:
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
• Die Korrektheit dieses Algorithmus folgt aus
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen: ≤ 4n
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
• Die Korrektheit dieses Algorithmus folgt aus
•
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen: ≤ 4n
Wie aufwändig ist dieser Algorithmus?
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
• Die Korrektheit dieses Algorithmus folgt aus
•
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
•
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen: ≤ 4n
Wie aufwändig ist dieser Algorithmus?
Obere Schranke, wie gesagt: nach maximal
4n Schleifendurchläufen endet der
Algorithmus
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
• Die Korrektheit dieses Algorithmus folgt aus
•
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
•
•
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen: ≤ 4n
Wie aufwändig ist dieser Algorithmus?
Obere Schranke, wie gesagt: nach maximal
4n Schleifendurchläufen endet der
Algorithmus
Untere Schranke: es gibt (Familien von)
Formeln, für die exponentiell viele
Schleifendurchläufe nötig sind
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Ein Erfüllbarkeitstest für AL-Formeln
• Aus dem Resolutionssatz können wir sofort
folgenden Algorithmus zum Testen der
Erfüllbarkeit einer AL-Formel gewinnen
• Die Korrektheit dieses Algorithmus folgt aus
•
Algorithmus 3.3
Algorithmus AL-SAT-Tester
Eingabe: AL-Formel F in KNF
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1:
K := Klauseln von F
2:
repeat
3:
4:
5:
6:
7:
8:
9:
K0 := K
K := Res(K)
until K = K0 oder ∅ ∈ K
if ∅ ∈ K then
Ausgabe „nein“
else
Ausgabe „ja“
Logik für Inf. / Schwentick / WiSe 07/08
•
•
•
dem Resolutionssatz
Der Algorithmus terminiert immer, da die
Menge K nicht unbegrenzt wachsen kann:
I K kann höchstens so viele Klauseln
enthalten, wie sich aus den n Variablen
von F bilden lassen: ≤ 4n
Wie aufwändig ist dieser Algorithmus?
Obere Schranke, wie gesagt: nach maximal
4n Schleifendurchläufen endet der
Algorithmus
Untere Schranke: es gibt (Familien von)
Formeln, für die exponentiell viele
Schleifendurchläufe nötig sind
Satz 3.4 [Haken 85]
Es gibt ein c > 0 und eine Folge F1 , F2 , . . .
unerfüllbarer AL-Formeln mit
• Fn hat ≤ n3 Variablen
• Algorithmus 3.3 benötigt bei Eingabe Fn
mindestens ecn Schleifendurchläufe
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 15
Beispiel-Berechnung zu Algorithmus 3.3
Beispiel
• Eingabe: F = (A ∨ B ∨ C) ∧ ¬B ∧ (B ∨ ¬A ∨ C) ∧ (B ∨ ¬C)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 16
Beispiel-Berechnung zu Algorithmus 3.3
Beispiel
• Eingabe: F = (A ∨ B ∨ C) ∧ ¬B ∧ (B ∨ ¬A ∨ C) ∧ (B ∨ ¬C)
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 16
Beispiel-Berechnung zu Algorithmus 3.3
Beispiel
• Eingabe: F = (A ∨ B ∨ C) ∧ ¬B ∧ (B ∨ ¬A ∨ C) ∧ (B ∨ ¬C)
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
• Res1 (K) =
K ∪ {{B, C}, {¬C}, {A, C}, {¬A, C}, {A, B}, {¬A, B}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 16
Beispiel-Berechnung zu Algorithmus 3.3
Beispiel
• Eingabe: F = (A ∨ B ∨ C) ∧ ¬B ∧ (B ∨ ¬A ∨ C) ∧ (B ∨ ¬C)
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
• Res1 (K) =
K ∪ {{B, C}, {¬C}, {A, C}, {¬A, C}, {A, B}, {¬A, B}}
• Res2 (K) = Res1 (K) ∪ {{A}, {¬A}, {B}, {C}}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 16
Beispiel-Berechnung zu Algorithmus 3.3
Beispiel
• Eingabe: F = (A ∨ B ∨ C) ∧ ¬B ∧ (B ∨ ¬A ∨ C) ∧ (B ∨ ¬C)
• K = {{A, B, C}, {¬A, B, C}, {B, ¬C}, {¬B}}
• Res1 (K) =
K ∪ {{B, C}, {¬C}, {A, C}, {¬A, C}, {A, B}, {¬A, B}}
• Res2 (K) = Res1 (K) ∪ {{A}, {¬A}, {B}, {C}}
• Res3 (K) = Res2 (K) ∪ {∅}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 16
Resolution: ein zweites Beispiel
Beispiel
• Wir betrachten wieder das 8 × 8-Minesweeper-Spiel
• Angenommen, in den ersten 3 Runden haben wir die Felder
(4, 4), (4, 6), (4, 7) angeklickt mit folgendem Ergebnis:
9
8
7
6
5
3 1
2
4
3
2
1
1
Logik für Inf. / Schwentick / WiSe 07/08
2
3
4
5
6
7
8
A: Aussagenlogik - 3. Erfüllbarkeit
9
Folie 17
Resolution: ein zweites Beispiel
Beispiel
• Wir betrachten wieder das 8 × 8-Minesweeper-Spiel
• Angenommen, in den ersten 3 Runden haben wir die Felder
(4, 4), (4, 6), (4, 7) angeklickt mit folgendem Ergebnis:
9
8
7
6
5
3 1
2
4
3
2
1
1
2
3
4
5
6
7
8
9
• Zu den Formeln aus der Menge F können wir also A2(4,4) ,
A3(4,6) und A1(4,7) hinzu nehmen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 17
Resolution: ein zweites Beispiel
Beispiel
• Wir betrachten wieder das 8 × 8-Minesweeper-Spiel
• Angenommen, in den ersten 3 Runden haben wir die Felder
(4, 4), (4, 6), (4, 7) angeklickt mit folgendem Ergebnis:
9
8
7
6
5
3 1
2
4
3
2
1
1
2
3
4
5
6
7
8
9
• Zu den Formeln aus der Menge F können wir also A2(4,4) ,
A3(4,6) und A1(4,7) hinzu nehmen
• Wir werden sehen, dass aus F und diesen drei Formeln die
Formel ¬A•
(3,4) durch einen Resolutionsbeweis hergeleitet
werden kann
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 17
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• F besteht aus (für jedes Feld q ):
W8
1
(1) Fq = k=0 Ak
q
(2) Für alle 0 ≤ k < l ≤ 8:
2
l)
Fq,k,l
= ¬(Ak
∧
A
q
q
(3) Für jede Menge N (Nachbarfelder):
8
^
_
3
Fq,N
=
A•q0 →
Ak
q
q0 ∈N
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
= Ak
→
q^
_
A•q0
(4) Für jedes k
N∈N(q,k) q0 ∈N
(N (q, k): k-elementige
Nachbarmengen)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 18
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• F besteht aus (für jedes Feld q ):
W8
1
(1) Fq = k=0 Ak
q
(2) Für alle 0 ≤ k < l ≤ 8:
2
l)
Fq,k,l
= ¬(Ak
∧
A
q
q
(3) Für jede Menge N (Nachbarfelder):
8
^
_
3
Fq,N
=
A•q0 →
Ak
q
q0 ∈N
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
= Ak
→
q^
_
A•q0
(4) Für jedes k
N∈N(q,k) q0 ∈N
(N (q, k): k-elementige
Nachbarmengen)
• F 0 =def
F ∪ {A2(4,4) , A3(4,6) , A1(4,7) }
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 18
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• F besteht aus (für jedes Feld q ):
W8
1
(1) Fq = k=0 Ak
q
(2) Für alle 0 ≤ k < l ≤ 8:
2
l)
Fq,k,l
= ¬(Ak
∧
A
q
q
(3) Für jede Menge N (Nachbarfelder):
8
^
_
3
Fq,N
=
A•q0 →
Ak
q
q0 ∈N
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
= Ak
→
q^
_
A•q0
(4) Für jedes k
N∈N(q,k) q0 ∈N
(N (q, k): k-elementige
Nachbarmengen)
• F 0 =def
F ∪ {A2(4,4) , A3(4,6) , A1(4,7) }
• Ziel: F 0 ∪ {A•(3,4) } unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 18
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• F besteht aus (für jedes Feld q ):
W8
1
(1) Fq = k=0 Ak
q
(2) Für alle 0 ≤ k < l ≤ 8:
2
l)
Fq,k,l
= ¬(Ak
∧
A
q
q
(3) Für jede Menge N (Nachbarfelder):
8
^
_
3
Fq,N
=
A•q0 →
Ak
q
q0 ∈N
• Spielsituation:
9
8
7
6
5
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
= Ak
→
q^
_
A•q0
(4) Für jedes k
N∈N(q,k) q0 ∈N
(N (q, k): k-elementige
Nachbarmengen)
3
2
4
1
3
2
1
1
2
3
4
5
6
7
8
9
• F 0 =def
F ∪ {A2(4,4) , A3(4,6) , A1(4,7) }
• Ziel: F 0 ∪ {A•(3,4) } unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 18
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• F besteht aus (für jedes Feld q ):
W8
1
(1) Fq = k=0 Ak
q
(2) Für alle 0 ≤ k < l ≤ 8:
2
l)
Fq,k,l
= ¬(Ak
∧
A
q
q
(3) Für jede Menge N (Nachbarfelder):
8
^
_
3
Fq,N
=
A•q0 →
Ak
q
q0 ∈N
9
8
7
6
5
A•-A•↑ A•%
4
•
•
2 A← 3 A→
3
A•. A•↓ A•&
k=|N|
∈ {1, . . . , 8}:
4
Fq,k
= Ak
→
q^
_
A•q0
(4) Für jedes k
N∈N(q,k) q0 ∈N
(N (q, k): k-elementige
Nachbarmengen)
• F 0 =def
F ∪ {A2(4,4) , A3(4,6) , A1(4,7) }
• Ziel: F 0 ∪ {A•(3,4) } unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
• Spielsituation:
2
1
1
2
3
4
5
6
7
• Wir werden vor allem über die
Nachbarfelder von Feld (4, 6)
argumentieren, Abkürzungen:
I A•↑ = A•(5,6) , A•% =
A•← = A•(4,5) usw.
A: Aussagenlogik - 3. Erfüllbarkeit
8
9
A•(5,7) ,
Folie 18
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
• Ein Resolutionsschritt mit A1q ergibt dann:
_
A•q0
q0 ∈N(q)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
• Ein Resolutionsschritt mit A1q ergibt dann:
_
A•q0
•
q0 ∈N(q)
k (aus (2)) mit
Resolution von ¬A1
∨
¬A
q
q
A1q ergibt: ¬Ak
(für jedes k ≥ 2)
q
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
• Ein Resolutionsschritt mit A1q ergibt dann:
_
A•q0
•
q0 ∈N(q)
k (aus (2)) mit
Resolution von ¬A1
∨
¬A
q
q
A1q ergibt: ¬Ak
(für jedes k ≥ 2)
q
• Resolution mit (3) für q = (4, 7) und
2-elementige Mengen N ergibt für je zwei
Nachbarfelder q 0 6= q 00 von (4, 7):
¬A•q0 ∨ ¬A•q00
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
• Die KNF für Formel (4) für q = (4, 6)
und k = 3 ist
6
_
^
A•qi )
(¬A3q ∨
q1 ,...,q6
i=1
wobei die Konjunktion über alle Folgen
q1 , . . . , q6 mit sechs Nachbarfeldern von
(4, 6) gebildet wird
• Ein Resolutionsschritt mit A1q ergibt dann:
_
A•q0
•
q0 ∈N(q)
k (aus (2)) mit
Resolution von ¬A1
∨
¬A
q
q
A1q ergibt: ¬Ak
(für jedes k ≥ 2)
q
• Resolution mit (3) für q = (4, 7) und
2-elementige Mengen N ergibt für je zwei
Nachbarfelder q 0 6= q 00 von (4, 7):
¬A•q0 ∨ ¬A•q00
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
•
•
Ein Resolutionsschritt mit A1
ergibt dann:
q
_
A•q0
q0 ∈N(q)
k (aus (2)) mit
Resolution von ¬A1
∨
¬A
q
q
A1q ergibt: ¬Ak
(für jedes k ≥ 2)
q
• Die KNF für Formel (4) für q = (4, 6)
und k = 3 ist
6
_
^
A•qi )
(¬A3q ∨
q1 ,...,q6
i=1
wobei die Konjunktion über alle Folgen
q1 , . . . , q6 mit sechs Nachbarfeldern von
(4, 6) gebildet wird
• Resolution mit A3(4,6) liefert jeweils
6
_
A•qi
i=1
• Resolution mit (3) für q = (4, 7) und
2-elementige Mengen N ergibt für je zwei
Nachbarfelder q 0 6= q 00 von (4, 7):
¬A•q0 ∨ ¬A•q00
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Formel (4) für q = (4,
_7) und k = 1 ist:
A•q0
A1q →
q0 ∈N(q)
(wobei N (q) die Menge der Nachbarn
von q ist)
• Also: ¬A1q ∨
_
A•q0
q0 ∈N(q)
•
•
Ein Resolutionsschritt mit A1
ergibt dann:
q
_
A•q0
q0 ∈N(q)
k (aus (2)) mit
Resolution von ¬A1
∨
¬A
q
q
A1q ergibt: ¬Ak
(für jedes k ≥ 2)
q
• Resolution mit (3) für q = (4, 7) und
2-elementige Mengen N ergibt für je zwei
Nachbarfelder q 0 6= q 00 von (4, 7):
¬A•q0 ∨ ¬A•q00
Logik für Inf. / Schwentick / WiSe 07/08
• Die KNF für Formel (4) für q = (4, 6)
und k = 3 ist
6
_
^
A•qi )
(¬A3q ∨
q1 ,...,q6
i=1
wobei die Konjunktion über alle Folgen
q1 , . . . , q6 mit sechs Nachbarfeldern von
(4, 6) gebildet wird
• Resolution mit A3(4,6) liefert jeweils
6
_
A•qi
i=1
• Analog liefert Resolution von (3) mit
¬Ak
(4,6) , für alle k > 3, die Formeln
4
_
¬A•qi für alle Folgen von vier
i=1
Nachbarfeldern von (4, 6)
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 19
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
• Intuitiv: zwei der drei Felder
(3, 5), (4, 5), (5, 5) enthalten eine
Mine
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
• Nochmalige Resolution von (3) für
q = (4, 4) mit Ak
(4,4) , für alle k > 2,
3
_
¬A•qi für alle Folgen von drei
ergibt
i=1
Nachbarfeldern von (4, 4)
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
• Intuitiv: zwei der drei Felder
(3, 5), (4, 5), (5, 5) enthalten eine
Mine
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
• Nochmalige Resolution von (3) für
q = (4, 4) mit Ak
(4,4) , für alle k > 2,
3
_
¬A•qi für alle Folgen von drei
ergibt
i=1
Nachbarfeldern von (4, 4)
• Insbesondere:
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•. ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•.
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
• Intuitiv: zwei der drei Felder
(3, 5), (4, 5), (5, 5) enthalten eine
Mine
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
• Nochmalige Resolution von (3) für
q = (4, 4) mit Ak
(4,4) , für alle k > 2,
3
_
¬A•qi für alle Folgen von drei
ergibt
i=1
Nachbarfeldern von (4, 4)
• Insbesondere:
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•. ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•.
• Wiederholte Resolution mit den obigen
Formeln ergibt schließlich ¬A•
(3,4)
• Intuitiv: zwei der drei Felder
(3, 5), (4, 5), (5, 5) enthalten eine
Mine
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Resolution: ein zweites Beispiel (Forts.)
Beispiel (Forts.)
Beispiel (Forts.)
• Nun können wir beispielsweise
A•- ∨A•← ∨A•↑ ∨A•% ∨A•→ ∨A•&
• resolvieren
mit ¬A•
∨
¬A
↑
↓
(Nachbarfelder von (4, 7))
• Es ergibt sich
A•- ∨A•← ∨A•% ∨A•→ ∨A•& ∨¬A•↓
• Resolution mit
A•- ∨ A•← ∨ A•↓ ∨ A•% ∨ A•→ ∨ A•&
liefert
A•- ∨ A•← ∨ A•% ∨ A•→ ∨ A•&
• Durch analoges Vorgehen ergeben sich
schließlich:
I A•- ∨ A•←
I A•. ∨ A•←
I A•- ∨ A•.
• Nochmalige Resolution von (3) für
q = (4, 4) mit Ak
(4,4) , für alle k > 2,
3
_
¬A•qi für alle Folgen von drei
ergibt
i=1
Nachbarfeldern von (4, 4)
• Insbesondere:
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•. ∨ ¬A•←
I ¬A•(3,4) ∨ ¬A•- ∨ ¬A•.
• Wiederholte Resolution mit den obigen
Formeln ergibt schließlich ¬A•
(3,4)
• Ein letzter Schritt mit A•(3,4) liefert dann
schließlich, wie gewünscht, die Formel 0
• Intuitiv: zwei der drei Felder
(3, 5), (4, 5), (5, 5) enthalten eine
Mine
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 20
Inhalt
3.1 Grundbegriffe
3.2 Aussagenlogische Resolution
3.3 Endlichkeitssatz
3.4 Hornformeln
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 21
Erfüllbarkeit für Mengen von AL-Formeln
• Bevor wir uns mit der Frage der Effizienz von
Erfüllbarkeitstests beschäftigen, betrachten wir eine
Verallgemeinerung von Satz 3.2
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 22
Erfüllbarkeit für Mengen von AL-Formeln
• Bevor wir uns mit der Frage der Effizienz von
Erfüllbarkeitstests beschäftigen, betrachten wir eine
Verallgemeinerung von Satz 3.2
• Satz 3.2 liefert uns eine Methode (Alg. 3.3) zur
Entscheidung der Erfüllbarkeit einer einzelnen
Formel
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 22
Erfüllbarkeit für Mengen von AL-Formeln
• Bevor wir uns mit der Frage der Effizienz von
Erfüllbarkeitstests beschäftigen, betrachten wir eine
Verallgemeinerung von Satz 3.2
• Satz 3.2 liefert uns eine Methode (Alg. 3.3) zur
Entscheidung der Erfüllbarkeit einer einzelnen
Formel
• Wie steht es um die Erfüllbarkeit von Mengen F von
Formeln?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 22
Erfüllbarkeit für Mengen von AL-Formeln
• Bevor wir uns mit der Frage der Effizienz von
Erfüllbarkeitstests beschäftigen, betrachten wir eine
Verallgemeinerung von Satz 3.2
• Satz 3.2 liefert uns eine Methode (Alg. 3.3) zur
Entscheidung der Erfüllbarkeit einer einzelnen
Formel
• Wie steht es um die Erfüllbarkeit von Mengen F von
Formeln?
• Falls F endlich ist: F erfüllbar ⇐⇒
^
F
F ∈F
erfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 22
Erfüllbarkeit für Mengen von AL-Formeln
• Bevor wir uns mit der Frage der Effizienz von
Erfüllbarkeitstests beschäftigen, betrachten wir eine
Verallgemeinerung von Satz 3.2
• Satz 3.2 liefert uns eine Methode (Alg. 3.3) zur
Entscheidung der Erfüllbarkeit einer einzelnen
Formel
• Wie steht es um die Erfüllbarkeit von Mengen F von
Formeln?
• Falls F endlich ist: F erfüllbar ⇐⇒
^
F
F ∈F
erfüllbar
• Der Fall endlich vieler Formeln lässt sich auf den Fall
einer einzelnen Formel zurückführen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 22
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Beweis
• Die „genau“-Richtung ist trivial
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Für jedes n ≥ 1 sei Fn die Teilmenge
aller Formeln aus F , die nur Variablen aus
{A1 , . . . , An} verwenden
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Für jedes n ≥ 1 sei Fn die Teilmenge
aller Formeln aus F , die nur Variablen aus
{A1 , . . . , An} verwenden
• Beobachtung: in Fn kommen nur endlich
•
viele nicht äquivalente Formeln vor
(Höchstens so viele, wie es
Wahrheitstabellen über {A1 , . . . , An}
gibt)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Beweis (Forts.)
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
• Sei also, für jedes n ∈ N, Fn0 eine
endliche Teilmenge von Fn, die zu jeder
Formel aus Fn eine äquivalente Formel
enthält
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Für jedes n ≥ 1 sei Fn die Teilmenge
aller Formeln aus F , die nur Variablen aus
{A1 , . . . , An} verwenden
• Beobachtung: in Fn kommen nur endlich
•
viele nicht äquivalente Formeln vor
(Höchstens so viele, wie es
Wahrheitstabellen über {A1 , . . . , An}
gibt)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Beweis (Forts.)
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
• Sei also, für jedes n ∈ N, Fn0 eine
endliche Teilmenge von Fn, die zu jeder
Formel aus Fn eine äquivalente Formel
enthält
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Für jedes n ≥ 1 sei Fn die Teilmenge
aller Formeln aus F , die nur Variablen aus
{A1 , . . . , An} verwenden
• Unser Plan:
0 eine
(1) Wir wählen für jedes Fn
erfüllende Belegung αn
(2) Wir konstruieren daraus induktiv eine
Belegung α aller Variablen An
(3) Wir zeigen α |= F
• Beobachtung: in Fn kommen nur endlich
•
viele nicht äquivalente Formeln vor
(Höchstens so viele, wie es
Wahrheitstabellen über {A1 , . . . , An}
gibt)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik
Satz 3.5 [Endlichkeitssatz]
Beweis (Forts.)
Eine unendliche Menge F von AL-Formeln ist
genau dann erfüllbar, wenn jede endliche
Teilmenge von F erfüllbar ist
• Sei also, für jedes n ∈ N, Fn0 eine
endliche Teilmenge von Fn, die zu jeder
Formel aus Fn eine äquivalente Formel
enthält
Beweis
• Die „genau“-Richtung ist trivial
• Sei also F eine unendliche Menge von
➞
•
•
Formeln, für die jede endliche Teilmenge
erfüllbar ist
zu zeigen: F ist erfüllbar
OBdA: F verwendet nur Variablen der Art
An mit n ∈ N
Für jedes n ≥ 1 sei Fn die Teilmenge
aller Formeln aus F , die nur Variablen aus
{A1 , . . . , An} verwenden
• Beobachtung: in Fn kommen nur endlich
•
viele nicht äquivalente Formeln vor
(Höchstens so viele, wie es
Wahrheitstabellen über {A1 , . . . , An}
gibt)
Logik für Inf. / Schwentick / WiSe 07/08
• Unser Plan:
0 eine
(1) Wir wählen für jedes Fn
erfüllende Belegung αn
(2) Wir konstruieren daraus induktiv eine
Belegung α aller Variablen An
(3) Wir zeigen α |= F
• Schritt (1) ist möglich aufgrund der
Voraussetzung, dass jedes endliche
Teilmenge von F eine erfüllende Belegung
hat
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 23
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
I In enthält unendlich viele i, für die αi
mit α auf A1 , . . . , An übereinstimmt
und die αi |= F erfüllen
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
I In enthält unendlich viele i, für die αi
mit α auf A1 , . . . , An übereinstimmt
und die αi |= F erfüllen
I Also gibt es ein i ≥ n mit
α(Aj ) = αi(Aj ), für alle j ≤ n
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
I In enthält unendlich viele i, für die αi
mit α auf A1 , . . . , An übereinstimmt
und die αi |= F erfüllen
I Also gibt es ein i ≥ n mit
α(Aj ) = αi(Aj ), für alle j ≤ n
➨ α |= F
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
I In enthält unendlich viele i, für die αi
mit α auf A1 , . . . , An übereinstimmt
und die αi |= F erfüllen
I Also gibt es ein i ≥ n mit
α(Aj ) = αi(Aj ), für alle j ≤ n
➨ α |= F
➨ α |= F
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Endlichkeitssatz der Aussagenlogik (Forts.)
Beweis (Forts.)
Beweis (Forts.)
• Schritt (2): wir konstruieren aus den αn
induktiv eine Belegung α:
I Definition von α(A1 ):
Falls für unendlich viele i gilt
αi(A1 ) = 1, so sei
α(A1 ) =def 1
Andernfalls: α(A1 ) =def 0
(und es gilt für unendlich viele i mit
αi(A1 ) = 0)
Außerdem sei I1 =def
{i ∈ N | α(A1 ) = αi(A1 )}
I Definition von α(An) für n > 1:
Falls für unendlich viele i ∈ In−1
gilt αi(An) = 1, so sei
α(An) =def 1
Andernfalls: α(An) =def 0
(und wieder gilt für unendlich viele i:
α(An) = αi(An))
In =def
• Bleibt Schritt (3): α |= F
I Sei dazu F ∈ F beliebig
➨ Zu F gibt es eine äquivalente Formel in
0
einer der Mengen Fn
➨ αi |= F , für alle i ≥ n
I In enthält unendlich viele i, für die αi
mit α auf A1 , . . . , An übereinstimmt
und die αi |= F erfüllen
I Also gibt es ein i ≥ n mit
α(Aj ) = αi(Aj ), für alle j ≤ n
➨ α |= F
➨ α |= F
• Satz 3.5 wird oft auch Kompaktheitssatz
genannt
• Wir betrachten nun ein Beispiel für die
Konstruktion von α
{i ∈ In−1 | α(An ) = αi (An )}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 24
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
• Sei α1 (A1 ) = 1 und für jedes
n ≥ 2 sei αn definiert durch:
1, falls i < n
αn(Ai) =def
0, falls i = n
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
• Sei α1 (A1 ) = 1 und für jedes
n ≥ 2 sei αn definiert durch:
1, falls i < n
αn(Ai) =def
0, falls i = n
• Klar: αn |= Fn, für jedes n ≥ 1
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
• Sei α1 (A1 ) = 1 und für jedes
n ≥ 2 sei αn definiert durch:
1, falls i < n
αn(Ai) =def
0, falls i = n
• Klar: αn |= Fn, für jedes n ≥ 1
• α(A1 ) = 1, da αi(A1 ) = 1, für alle i ≥ 1
• I1 = {1, 2, 3, . . .}
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
• Sei α1 (A1 ) = 1 und für jedes
n ≥ 2 sei αn definiert durch:
1, falls i < n
αn(Ai) =def
0, falls i = n
• Klar: αn |= Fn, für jedes n ≥ 1
• α(A1 ) = 1, da αi(A1 ) = 1, für alle i ≥ 1
• I1 = {1, 2, 3, . . .}
• α2 (A2 ) = 0, aber αi(A2 ) = 1, für alle i ≥ 3
➨ α(A2 ) = 1, I2 = {3, 4, . . .}, usw.
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Beispiel für Endlichkeitssatz
Beispiel
• Seien
I F1 =def A1
I F2 =def A1 ∨ A2
I Fn =def (An−1 ∨ An) ∧
n−2
^
Ai
i=1
• und F =def {F1 , F2 , F3 , . . .}
• Sei α1 (A1 ) = 1 und für jedes
n ≥ 2 sei αn definiert durch:
1, falls i < n
αn(Ai) =def
0, falls i = n
• Klar: αn |= Fn, für jedes n ≥ 1
• α(A1 ) = 1, da αi(A1 ) = 1, für alle i ≥ 1
• I1 = {1, 2, 3, . . .}
• α2 (A2 ) = 0, aber αi(A2 ) = 1, für alle i ≥ 3
➨ α(A2 ) = 1, I2 = {3, 4, . . .}, usw.
➞ α(An) = 1, für alle n ∈ N
• Und: α |= Fn, für alle n ∈ N
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 25
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
• Unser Ziel also: Zeige, dass F erfüllbar ist
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
• Unser Ziel also: Zeige, dass F erfüllbar ist
• Dazu zeigen wir: jede endliche Teilmenge
von F ist erfüllbar:
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
• Unser Ziel also: Zeige, dass F erfüllbar ist
• Dazu zeigen wir: jede endliche Teilmenge
von F ist erfüllbar:
I Sei F 0 ⊆ F endlich
I Sei m so gewählt, dass für alle (endlich
vielen!) Variablen Av , die in F 0
m
[
vorkommen, gilt: v ∈
Sk
k=1
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
• Unser Ziel also: Zeige, dass F erfüllbar ist
• Dazu zeigen wir: jede endliche Teilmenge
von F ist erfüllbar:
I Sei F 0 ⊆ F endlich
I Sei m so gewählt, dass für alle (endlich
vielen!) Variablen Av , die in F 0
m
[
vorkommen, gilt: v ∈
Sk
k=1
I Wähle beliebigen Knoten v0 ∈ Sm
I α(A
v ) =def
1 falls v auf Weg von v0 zu w
0 sonst
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Eine Anwendung des Endlichkeitssatzes
Satz 3.6 [Königs Lemma]
Beweisskizze (Forts.)
• Sei T ein Baum mit Wurzel w
• Jeder Knoten in T habe endlich viele
Kinder und für jedes n ≥ 0 gebe es
•
mindestens einen Knoten mit Abstand n
von der Wurzel
Dann gibt es in T einen unendlich langen
Weg
Beweisskizze
• V =def Menge der Knoten von T
• Für jedes k ≥ 0 sei Sk die Menge der
Knoten mit Abstand k zur Wurzel
• Für jedes v ∈ V sei Av eine AL-Variable
• F sei die Vereinigung der folgenden
Mengen:
I {¬(Au ∧ Av ) | u, v ∈ Sk , u 6= v}
I {Au → Av | u Kind von v}
_
Av | k ≥ 0}
I {
v∈Sk
Logik für Inf. / Schwentick / WiSe 07/08
• Es gilt: α |= F genau dann, wenn die
Menge {v | α(Av ) = 1} einen
unendlichen Weg in T induziert
• Unser Ziel also: Zeige, dass F erfüllbar ist
• Dazu zeigen wir: jede endliche Teilmenge
von F ist erfüllbar:
I Sei F 0 ⊆ F endlich
I Sei m so gewählt, dass für alle (endlich
vielen!) Variablen Av , die in F 0
m
[
vorkommen, gilt: v ∈
Sk
k=1
I Wähle beliebigen Knoten v0 ∈ Sm
I α(A
v ) =def
1 falls v auf Weg von v0 zu w
0 sonst
I α |= F 0
➨ F 0 erfüllbar
➨ F erfüllbar (Satz 3.5)
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 26
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
Beweis
• Es gelte F |= F
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
• Gelte umgekehrt F ` F
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
• Gelte umgekehrt F ` F
• Seien F1 , K wie in der Def. von „F ` F “
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
• Gelte umgekehrt F ` F
• Seien F1 , K wie in der Def. von „F ` F “
➨ F1 ∪ {¬F } ist unerfüllbar
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
•
•
➨
➨
Gelte umgekehrt F ` F
Seien F1 , K wie in der Def. von „F
F1 ∪ {¬F } ist unerfüllbar
` F“
F ∪ {¬F } ist unerfüllbar
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
•
•
➨
➨
➨
Gelte umgekehrt F ` F
Seien F1 , K wie in der Def. von „F
F1 ∪ {¬F } ist unerfüllbar
` F“
F ∪ {¬F } ist unerfüllbar
F |= F (Def.)
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Der Vollständigkeitssatz der Aussagenlogik
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Wir schreiben F ` F , falls gilt:
(1) es gibt eine endliche Teilmenge
F1 ⊆ F ,
K, die der
(2) es gibt eine Klauselmenge
^
KNF von ¬F
F 0 entspricht,
∧
F 0 ∈F1
und
(3)
∅ ∈ Res∞(K)
• Informell: wir schreiben F ` F , falls es
einen Resolutionsbeweis für die
Unerfüllbarkeit von F ∪ {¬F } gibt
Satz 3.7 [Vollständigkeitssatz]
• Sei F eine AL-Formel und F eine Menge
von AL-Formeln
• Dann gilt: F |= F ⇐⇒ F ` F
Logik für Inf. / Schwentick / WiSe 07/08
Beweis
• Es gelte F |= F
➨ F ∪ {¬F } unerfüllbar (Def.)
➨ es gibt eine unerfüllbare endliche
Teilmenge F 0 von F ∪ {¬F } (Satz 3.5)
• Sei K eine Klauselmenge zu F ∪ {¬F }
und K0 ⊆ K eine entsprechende
Klauselmenge zu F 0
➨ ∅ ∈ Res∞(K0) (Satz 3.2)
➨ F ` F (Def.)
•
•
➨
➨
➨
Gelte umgekehrt F ` F
Seien F1 , K wie in der Def. von „F
F1 ∪ {¬F } ist unerfüllbar
` F“
F ∪ {¬F } ist unerfüllbar
F |= F (Def.)
• Bemerkung: Satz 3.7 hängt im Prinzip von
•
der Wahl des Beweiskalküls ab
Er gilt aber auch für andere Kalküle
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 27
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
•
•
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im
schlimmsten Fall exponentielle Laufzeit (Satz
von Haken)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
•
•
•
•
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im
schlimmsten Fall exponentielle Laufzeit (Satz
von Haken)
Die Frage, ob es für dieses Problem einen
Algorithmus mit polynomieller Laufzeit gibt,
ist äquivalent zum berühmtesten offenen
Problem der (Theoretischen) Informatik:
dem P-NP-Problem
Näheres dazu erfahren Sie in der
GTI-Vorlesung
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
•
•
•
•
•
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im
schlimmsten Fall exponentielle Laufzeit (Satz
von Haken)
Die Frage, ob es für dieses Problem einen
Algorithmus mit polynomieller Laufzeit gibt,
ist äquivalent zum berühmtesten offenen
Problem der (Theoretischen) Informatik:
dem P-NP-Problem
Näheres dazu erfahren Sie in der
GTI-Vorlesung
Hier nur soviel:
I Das Erfüllbarkeitsproblem für AL-Formeln
ist NP-vollständig
I Wenn es einen polynomiellen
Algorithmus hat, ist P = NP
I Wenn es keinen polynomiellen
Algorithmus hat, ist P 6= NP
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
•
•
•
•
•
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im
schlimmsten Fall exponentielle Laufzeit (Satz
von Haken)
Die Frage, ob es für dieses Problem einen
Algorithmus mit polynomieller Laufzeit gibt,
ist äquivalent zum berühmtesten offenen
Problem der (Theoretischen) Informatik:
dem P-NP-Problem
Näheres dazu erfahren Sie in der
GTI-Vorlesung
Hier nur soviel:
I Das Erfüllbarkeitsproblem für AL-Formeln
ist NP-vollständig
I Wenn es einen polynomiellen
Algorithmus hat, ist P = NP
I Wenn es keinen polynomiellen
Algorithmus hat, ist P 6= NP
Logik für Inf. / Schwentick / WiSe 07/08
• Nichtsdestotrotz:
I Die Fähigkeit, in der Praxis SAT-Probleme
I
zu lösen (Stichwort: SAT-Solving). hat
sich in den vergangenen 10-15 Jahren
gewaltig verbessert
Mittlerweile werden SAT-Solver als
Hilfsmittel vielen Anwendungsbereichen
verwendet, z.B. im (Bounded) Model
Checking
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Ein Zwischenfazit
• Wir haben jetzt einen Algorithmus für das
•
•
•
•
•
Erfüllbarkeitsproblem für AL-Formeln, der
weniger naiv vorgeht als die
Wahrheitstabellen-Methode
Aber wesentlich effizienter ist er nicht
Wir wissen sogar: dieser Algorithmus hat im
schlimmsten Fall exponentielle Laufzeit (Satz
von Haken)
Die Frage, ob es für dieses Problem einen
Algorithmus mit polynomieller Laufzeit gibt,
ist äquivalent zum berühmtesten offenen
Problem der (Theoretischen) Informatik:
dem P-NP-Problem
Näheres dazu erfahren Sie in der
GTI-Vorlesung
Hier nur soviel:
I Das Erfüllbarkeitsproblem für AL-Formeln
ist NP-vollständig
I Wenn es einen polynomiellen
Algorithmus hat, ist P = NP
I Wenn es keinen polynomiellen
Algorithmus hat, ist P 6= NP
Logik für Inf. / Schwentick / WiSe 07/08
• Nichtsdestotrotz:
I Die Fähigkeit, in der Praxis SAT-Probleme
I
zu lösen (Stichwort: SAT-Solving). hat
sich in den vergangenen 10-15 Jahren
gewaltig verbessert
Mittlerweile werden SAT-Solver als
Hilfsmittel vielen Anwendungsbereichen
verwendet, z.B. im (Bounded) Model
Checking
• Wir werden jedoch nun eine eingeschränkte
Klasse von AL-Formeln betrachten, für die
sich das Erfüllbarkeitsproblem effizient lösen
lässt: Horn-Formeln
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 28
Inhalt
3.1 Grundbegriffe
3.2 Aussagenlogische Resolution
3.3 Endlichkeitssatz
3.4 Hornformeln
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 29
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
•
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Nebenbei: wie ist es mit Formeln in DNF?
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
•
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Nebenbei: wie ist es mit Formeln in DNF?
• Wir haben schon gesehen:
I Jede Klausel (¬A1 ∨ . . . ∨ ¬Ak ∨ Ak+1 ∨ . . . ∨ An)
ist äquivalent zu einer Implikation
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
•
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Nebenbei: wie ist es mit Formeln in DNF?
• Wir haben schon gesehen:
I Jede Klausel (¬A1 ∨ . . . ∨ ¬Ak ∨ Ak+1 ∨ . . . ∨ An)
ist äquivalent zu einer Implikation
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)
• Für Klauseln mit drei Literalen gibt es also im Wesentlichen die
Möglichkeiten:
(1) 1 → (A1 ∨ A2 ∨ A3 )
(2) A1 → (A2 ∨ A3 )
(3) (A1 ∧ A2 ) → A3
(4) (A1 ∧ A2 ∧ A3 ) → 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
•
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Nebenbei: wie ist es mit Formeln in DNF?
• Wir haben schon gesehen:
I Jede Klausel (¬A1 ∨ . . . ∨ ¬Ak ∨ Ak+1 ∨ . . . ∨ An)
ist äquivalent zu einer Implikation
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)
• Für Klauseln mit drei Literalen gibt es also im Wesentlichen die
Möglichkeiten:
(1) 1 → (A1 ∨ A2 ∨ A3 )
(2) A1 → (A2 ∨ A3 )
(3) (A1 ∧ A2 ) → A3
(4) (A1 ∧ A2 ∧ A3 ) → 0
• Intuitive Überlegung: Klauseln der Formen (1) und (2) sind
problematisch, da sie eine Wahlmöglichkeit für die Variablen auf der
rechten Seite haben
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Vorüberlegungen
• Das Erfüllbarkeitsproblem für AL-Formeln ist schon NP-vollständig,
•
wenn man sich auf Formeln in KNF einschränkt, die in jeder Klausel
genau drei Literale haben:
I das ist das 3-SAT-Problem
Nebenbei: wie ist es mit Formeln in DNF?
• Wir haben schon gesehen:
I Jede Klausel (¬A1 ∨ . . . ∨ ¬Ak ∨ Ak+1 ∨ . . . ∨ An)
ist äquivalent zu einer Implikation
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)
• Für Klauseln mit drei Literalen gibt es also im Wesentlichen die
Möglichkeiten:
(1) 1 → (A1 ∨ A2 ∨ A3 )
(2) A1 → (A2 ∨ A3 )
(3) (A1 ∧ A2 ) → A3
(4) (A1 ∧ A2 ∧ A3 ) → 0
• Intuitive Überlegung: Klauseln der Formen (1) und (2) sind
•
problematisch, da sie eine Wahlmöglichkeit für die Variablen auf der
rechten Seite haben
Klauseln der Formen (3) (und (4)) sind leichter zu handhaben, da
die linke Seite die rechte Seite eindeutig festlegt
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 30
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
• Etwas allgemeiner: eine Klausel (L1 ∨ · · · ∨ Lk)
heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
• Etwas allgemeiner: eine Klausel (L1 ∨ · · · ∨ Lk)
heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
• Eine Formel in KNF heißt Horn-Formel, falls alle ihre
Klauseln Horn-Klauseln sind
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
• Etwas allgemeiner: eine Klausel (L1 ∨ · · · ∨ Lk)
heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
• Eine Formel in KNF heißt Horn-Formel, falls alle ihre
Klauseln Horn-Klauseln sind
• (Nebenbei: Alfred Horn lebte von 1918 bis 2001 und
definierte 1951 die nach ihm benannten Formeln)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
• Etwas allgemeiner: eine Klausel (L1 ∨ · · · ∨ Lk)
heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
• Eine Formel in KNF heißt Horn-Formel, falls alle ihre
Klauseln Horn-Klauseln sind
• (Nebenbei: Alfred Horn lebte von 1918 bis 2001 und
definierte 1951 die nach ihm benannten Formeln)
Beispiel
• (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ A4 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Hornklauseln und Hornformeln
• Jetzt betrachten wir Formeln, die nur Klauseln vom
Typ (3) oder (4) haben
• Etwas allgemeiner: eine Klausel (L1 ∨ · · · ∨ Lk)
heißt Horn-Klausel, falls sie höchstens ein
positives Literal Li hat
• Eine Formel in KNF heißt Horn-Formel, falls alle ihre
Klauseln Horn-Klauseln sind
• (Nebenbei: Alfred Horn lebte von 1918 bis 2001 und
definierte 1951 die nach ihm benannten Formeln)
Beispiel
• (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ A4 )
• (A1 ∨ ¬A2 ∨ ¬A3 ) ∧ (¬A1 ∨ A3 ∨ ¬A4 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 31
Horn-Formeln, Resolution und der Markierungsalgorithmus
• Was passiert, wenn wir die Resolvente aus
zwei Horn-Klauseln bilden?
I Aus {¬A1 , ¬A2 , ¬A3 , A4 } und
{¬A4 , ¬A5 , A6 } ergibt sich
beispielsweise:
{¬A1 , ¬A2 , ¬A3 , ¬A5 , A6 }
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 32
Horn-Formeln, Resolution und der Markierungsalgorithmus
• Was passiert, wenn wir die Resolvente aus
zwei Horn-Klauseln bilden?
I Aus {¬A1 , ¬A2 , ¬A3 , A4 } und
{¬A4 , ¬A5 , A6 } ergibt sich
beispielsweise:
{¬A1 , ¬A2 , ¬A3 , ¬A5 , A6 }
• Anders gesagt:
I Aus (A1 ∧ A2 ∧ A3 ) → A4 und
(A4 ∧ A5 ) → A6 ergibt sich
(A1 ∧ A2 ∧ A3 ∧ A5 ) → A6
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 32
Horn-Formeln, Resolution und der Markierungsalgorithmus
• Was passiert, wenn wir die Resolvente aus
zwei Horn-Klauseln bilden?
I Aus {¬A1 , ¬A2 , ¬A3 , A4 } und
{¬A4 , ¬A5 , A6 } ergibt sich
beispielsweise:
{¬A1 , ¬A2 , ¬A3 , ¬A5 , A6 }
• Anders gesagt:
I Aus (A1 ∧ A2 ∧ A3 ) → A4 und
(A4 ∧ A5 ) → A6 ergibt sich
(A1 ∧ A2 ∧ A3 ∧ A5 ) → A6
• Intuitiv lässt sich das wie folgt interpretieren:
I Wenn A1 , A2 , A3 wahr sind, dann
muss auch A4 wahr sein und deshalb
wird aus der zweiten Klausel die
Folgerung A5 → A6
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 32
Horn-Formeln, Resolution und der Markierungsalgorithmus
• Was passiert, wenn wir die Resolvente aus
zwei Horn-Klauseln bilden?
I Aus {¬A1 , ¬A2 , ¬A3 , A4 } und
{¬A4 , ¬A5 , A6 } ergibt sich
beispielsweise:
{¬A1 , ¬A2 , ¬A3 , ¬A5 , A6 }
• Anders gesagt:
I Aus (A1 ∧ A2 ∧ A3 ) → A4 und
(A4 ∧ A5 ) → A6 ergibt sich
(A1 ∧ A2 ∧ A3 ∧ A5 ) → A6
• Intuitiv lässt sich das wie folgt interpretieren:
I Wenn A1 , A2 , A3 wahr sind, dann
muss auch A4 wahr sein und deshalb
wird aus der zweiten Klausel die
Folgerung A5 → A6
• Der folgende Markierungsalgorithmus
zieht genau solche Schlüsse
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 32
Horn-Formeln, Resolution und der Markierungsalgorithmus
• Was passiert, wenn wir die Resolvente aus
zwei Horn-Klauseln bilden?
I Aus {¬A1 , ¬A2 , ¬A3 , A4 } und
{¬A4 , ¬A5 , A6 } ergibt sich
beispielsweise:
{¬A1 , ¬A2 , ¬A3 , ¬A5 , A6 }
• Anders gesagt:
I Aus (A1 ∧ A2 ∧ A3 ) → A4 und
(A4 ∧ A5 ) → A6 ergibt sich
(A1 ∧ A2 ∧ A3 ∧ A5 ) → A6
• Intuitiv lässt sich das wie folgt interpretieren:
I Wenn A1 , A2 , A3 wahr sind, dann
muss auch A4 wahr sein und deshalb
wird aus der zweiten Klausel die
Folgerung A5 → A6
• Der folgende Markierungsalgorithmus
zieht genau solche Schlüsse
Logik für Inf. / Schwentick / WiSe 07/08
Algorithmus 3.8
Algorithmus Horn-SAT-Tester
Eingabe: Horn-Formel F
Ausgabe: „ja“, falls F erfüllbar ist, sonst „nein“
1: Markiere alle Variablen Ai, für die es eine
Klausel Ai in F gibt
2: while es gibt Klauseln der Art
(X1 ∧ · · · ∧ Xk) → X in F , für die
X1 , . . . , Xk markiert sind und
(b) X noch nicht markiert ist,
(a)
do
3:
Wähle eine solche Klausel und markiere
X
if es gibt eine Klausel der Art
(X1 ∧ · · · ∧ Xk) → 0 in F , für die
X1 , . . . , Xk markiert sind then
5:
Ausgabe „unerfüllbar“
6: else
7:
Ausgabe „erfüllbar“
4:
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 32
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 )∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0)∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 )∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0)∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
• Markierte Variablen:
I A2
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 ) ∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0)∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
• Markierte Variablen:
I A2
I A4
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 )∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0)∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
• Markierte Variablen:
I A2
I A4
I A5
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 )∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0) ∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
• Markierte Variablen:
I A2
I A4
I A5
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Markierungsalgorithmus: Beispiel
Beispiel
• Formel F :
(¬A2 ∨ A4 ) ∧ (¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1 )∧
(¬A5 ∨ ¬A4 ) ∧ A2 ∧ (¬A4 ∨ ¬A2 ∨ A5 )
• In Implikationsform übersetzt:
(A2 → A4 )∧ ((A2 ∧ A3 ∧ A1 ) → A4 )∧
((A5 ∧ A4 ) → 0)∧ A2 ∧ ((A4 ∧ A2 ) → A5 )
• Markierte Variablen:
I A2
I A4
I A5
• F ist unerfüllbar
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 33
Korrektheit des Markierungsalgorithmus
Satz 3.9
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
• 1. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → X
I Falls α(X) = 1 ist auch α(C) = 1
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
• 1. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → X
I Falls α(X) = 1 ist auch α(C) = 1
I Falls α(X) = 0 ist
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
der Algorithmus X markiert hätte
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
• 1. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → X
I Falls α(X) = 1 ist auch α(C) = 1
I Falls α(X) = 0 ist
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
der Algorithmus X markiert hätte
I Also gilt auch dann: α(C) = 1
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
• 1. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → X
I Falls α(X) = 1 ist auch α(C) = 1
I Falls α(X) = 0 ist
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
der Algorithmus X markiert hätte
I Also gilt auch dann: α(C) = 1
• 2. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → 0
I Dann ist analog
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
der Algorithmus „unerfüllbar“
ausgegeben hätte
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus
Satz 3.9
Beweisskizze (Forts.)
Algorithmus 3.8 löst das Erfüllbarkeitsproblem
für Horn-Formeln F (bei geeigneter
Implementierung) in Laufzeit O(|F |)
Beweisskizze
• Sei F eine Formel mit n Variablen
• Zunächst ist klar, dass der Algorithmus
nach höchstens n Durchläufen der
WHILE-Schleife terminiert
I Denn: in jedem Durchlauf wird eine
Variable markiert
• (Die O(|F |)-Laufzeit zeigen wir hier
nicht)
• Für die Korrektheit zeigen wir:
F erfüllbar ⇐⇒
Alg. 3.8 hat die Ausgabe „erfüllbar“
• Habe der Alg. die Ausgabe „erfüllbar“
• Sei α definiertdurch:
1 falls X markiert ist
α(X) =def
0 andernfalls
• Sei nun C eine Klausel von F
• 1. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → X
I Falls α(X) = 1 ist auch α(C) = 1
I Falls α(X) = 0 ist
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
der Algorithmus X markiert hätte
I Also gilt auch dann: α(C) = 1
• 2. Fall: C ist vom Typ
(X1 ∧ · · · ∧ Xk) → 0
I Dann ist analog
α(X1 ∧ · · · ∧ Xk) = 0, da sonst
I
Logik für Inf. / Schwentick / WiSe 07/08
der Algorithmus „unerfüllbar“
ausgegeben hätte
Also gilt wieder: α(C) = 1
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 34
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
• Sei nun F erfüllbar
• Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
werden müssen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
=1
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
=1
➨ α(X) = 1
➨ Induktionsbehauptung
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
=1
➨ α(X) = 1
➨ Induktionsbehauptung
• Sei nun C eine Klausel von F der Form
(X1 ∧ · · · ∧ Xk) → 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
=1
➨ α(X) = 1
➨ Induktionsbehauptung
• Sei nun C eine Klausel von F der Form
(X1 ∧ · · · ∧ Xk) → 0
➨ α(X1 ∧ · · · ∧ Xk) = 0
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
=1
➨ α(X) = 1
➨ Induktionsbehauptung
• Sei nun C eine Klausel von F der Form
(X1 ∧ · · · ∧ Xk) → 0
➨ α(X1 ∧ · · · ∧ Xk) = 0
➨ nicht alle Xi sind markiert
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Korrektheit des Markierungsalgorithmus (Forts.)
Beweisskizze (Forts.)
•
•
•
•
Sei nun F erfüllbar
Wir wollen zeigen: der Algorithmus gibt „erfüllbar“ aus
Sei α eine erfüllende Belegung für F
Wir zeigen durch Induktion nach i:
(∗) Nach i WHILE-Durchläufen sind nur Variablen X mit
α(X) = 1 markiert
• Für i = 0 ist das offensichtlich, da alle Formeln der Art Ai erfüllt
•
werden müssen
Von i zu i + 1
I (∗) gelte für i
➨ für alle Klauseln (X1 ∧ · · · ∧ Xk) → X , für die
X1 , . . . , Xk markiert sind, gilt α(X1 ∧ · · · ∧ Xk)
=1
➨ α(X) = 1
➨ Induktionsbehauptung
• Sei nun C eine Klausel von F der Form
(X1 ∧ · · · ∧ Xk) → 0
➨ α(X1 ∧ · · · ∧ Xk) = 0
➨ nicht alle Xi sind markiert
➨ Der Algorithmus gibt „erfüllbar“ aus
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 35
Zusammenfassung
• Fundamentale Bedeutung des Erfüllbarkeitsproblems
für aussagenlogische Formeln
• Resolventen und Resolutionsbeweise und ein darauf
basierender Algorithmus für den Erfüllbarkeitstest
• Wichtige Ergebnisse:
I Resolutionssatz
I Endlichkeitssatz (mit Anwendung)
I Vollständigkeitssatz der Aussagenlogik
(aus den beiden anderen folgend)
• Ausführliches Beispiel: Minesweeper
• Für das allgemeine Erfüllbarkeitsproblem ist kein
effizienter Algorithmus bekannt
• Für Hornformeln lässt sich das Erfüllbarkeitsproblem
mit Hilfe des Markierungsalgorithmus effizient lösen
Logik für Inf. / Schwentick / WiSe 07/08
A: Aussagenlogik - 3. Erfüllbarkeit
Folie 36
Herunterladen