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