Korrektheit des Markierungsalgorithmus (1/2) - Logik in der Informatik
Korrektheit des Markierungsalgorithmus (1/2) - Logik in der Informatik
Korrektheit des Markierungsalgorithmus (1/2) - Logik in der Informatik
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
<strong>Logik</strong><br />
W<strong>in</strong>tersemester 2010/11<br />
Thomas Schwentick<br />
Teil A: Aussagenlogik<br />
3. Erfüllbarkeit<br />
Version von: 15. November 2010 (12:12)
Erfüllbarkeit<br />
• Zur Er<strong>in</strong>nerung:<br />
◮ E<strong>in</strong>e Formel F heißt erfüllbar, wenn sie e<strong>in</strong> Modell hat, also e<strong>in</strong>e<br />
Belegung, die sie wahr macht<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 1
Erfüllbarkeit<br />
• Zur Er<strong>in</strong>nerung:<br />
◮ E<strong>in</strong>e Formel F heißt erfüllbar, wenn sie e<strong>in</strong> Modell hat, also e<strong>in</strong>e<br />
Belegung, die sie wahr macht<br />
• Das Problem, für e<strong>in</strong>e (aussagenlogische, temporallogische, prädikatenlogische,...)<br />
Formel zu testen, ob sie erfüllbar ist, hat für die<br />
<strong>Informatik</strong> e<strong>in</strong>e große Bedeutung<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 1
Erfüllbarkeit<br />
• Zur Er<strong>in</strong>nerung:<br />
◮ E<strong>in</strong>e Formel F heißt erfüllbar, wenn sie e<strong>in</strong> Modell hat, also e<strong>in</strong>e<br />
Belegung, die sie wahr macht<br />
• Das Problem, für e<strong>in</strong>e (aussagenlogische, temporallogische, prädikatenlogische,...)<br />
Formel zu testen, ob sie erfüllbar ist, hat für die<br />
<strong>Informatik</strong> e<strong>in</strong>e große Bedeutung<br />
• In diesem Kapitel werden wir<br />
◮ zunächst e<strong>in</strong>ige Beispiele betrachten, <strong>in</strong> denen die Lösung e<strong>in</strong>es<br />
Problems auf e<strong>in</strong>en Erfüllbarkeitstest h<strong>in</strong>aus läuft<br />
◮ e<strong>in</strong>en sehr effizienten Erfüllbarkeitstest für e<strong>in</strong>e e<strong>in</strong>geschränkte<br />
Art aussagenlogischer Formeln kennen lernen, und<br />
◮ e<strong>in</strong>en Erfüllbarkeitstest für beliebige aussagenlogische Formeln<br />
kennen lernen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 1
✄ 3.1 Das Erfüllbarkeitsproblem<br />
Inhalt<br />
3.2 Erfüllbarkeitstests: Vorbereitungen<br />
3.3 Hornformeln<br />
3.4 Aussagenlogische Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 2
• Aus Kapitel 2:<br />
Warum Erfüllbarkeit? (1/4)<br />
E<strong>in</strong>e typische Logelei<br />
Angela: „Guido o<strong>der</strong> ich werden an <strong>der</strong> Regierungskoalition beteiligt<br />
se<strong>in</strong>.“<br />
Guido: „Entwe<strong>der</strong> Frank-Walter o<strong>der</strong> ich werden an <strong>der</strong> Regierung<br />
beteiligt se<strong>in</strong>.“<br />
Frank-Walter: „Entwe<strong>der</strong> Angela o<strong>der</strong> ich werden <strong>in</strong> <strong>der</strong> Opposition<br />
se<strong>in</strong>.“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 3
• Aus Kapitel 2:<br />
Warum Erfüllbarkeit? (1/4)<br />
E<strong>in</strong>e typische Logelei<br />
Angela: „Guido o<strong>der</strong> ich werden an <strong>der</strong> Regierungskoalition beteiligt<br />
se<strong>in</strong>.“<br />
Guido: „Entwe<strong>der</strong> Frank-Walter o<strong>der</strong> ich werden an <strong>der</strong> Regierung<br />
beteiligt se<strong>in</strong>.“<br />
Frank-Walter: „Entwe<strong>der</strong> Angela o<strong>der</strong> ich werden <strong>in</strong> <strong>der</strong> Opposition<br />
se<strong>in</strong>.“<br />
• Um die Lösung für diese Logelei zu f<strong>in</strong>den, haben wir<br />
◮ für die elementaren Aussagen Aussagenvariablen A, G, F<br />
e<strong>in</strong>geführt,<br />
◮ die Formel (G ∨ A) ∧ (F ↔ ¬G) ∧ (A ↔ ¬F) als<br />
Zusammenfassung aller Aussagen aufgestellt und dann<br />
◮ erfüllende Belegungen dieser Formel gesucht<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 3
• Aus Kapitel 2:<br />
Warum Erfüllbarkeit? (1/4)<br />
E<strong>in</strong>e typische Logelei<br />
Angela: „Guido o<strong>der</strong> ich werden an <strong>der</strong> Regierungskoalition beteiligt<br />
se<strong>in</strong>.“<br />
Guido: „Entwe<strong>der</strong> Frank-Walter o<strong>der</strong> ich werden an <strong>der</strong> Regierung<br />
beteiligt se<strong>in</strong>.“<br />
Frank-Walter: „Entwe<strong>der</strong> Angela o<strong>der</strong> ich werden <strong>in</strong> <strong>der</strong> Opposition<br />
se<strong>in</strong>.“<br />
• Um die Lösung für diese Logelei zu f<strong>in</strong>den, haben wir<br />
◮ für die elementaren Aussagen Aussagenvariablen A, G, F<br />
e<strong>in</strong>geführt,<br />
◮ die Formel (G ∨ A) ∧ (F ↔ ¬G) ∧ (A ↔ ¬F) als<br />
Zusammenfassung aller Aussagen aufgestellt und dann<br />
◮ erfüllende Belegungen dieser Formel gesucht<br />
• Da es nur e<strong>in</strong>e e<strong>in</strong>zige erfüllende Belegung gab, haben wir diese<br />
als Lösung aufgefasst<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 3
• Aus Kapitel 2:<br />
Warum Erfüllbarkeit? (1/4)<br />
E<strong>in</strong>e typische Logelei<br />
Angela: „Guido o<strong>der</strong> ich werden an <strong>der</strong> Regierungskoalition beteiligt<br />
se<strong>in</strong>.“<br />
Guido: „Entwe<strong>der</strong> Frank-Walter o<strong>der</strong> ich werden an <strong>der</strong> Regierung<br />
beteiligt se<strong>in</strong>.“<br />
Frank-Walter: „Entwe<strong>der</strong> Angela o<strong>der</strong> ich werden <strong>in</strong> <strong>der</strong> Opposition<br />
se<strong>in</strong>.“<br />
• Um die Lösung für diese Logelei zu f<strong>in</strong>den, haben wir<br />
◮ für die elementaren Aussagen Aussagenvariablen A, G, F<br />
e<strong>in</strong>geführt,<br />
◮ die Formel (G ∨ A) ∧ (F ↔ ¬G) ∧ (A ↔ ¬F) als<br />
Zusammenfassung aller Aussagen aufgestellt und dann<br />
◮ erfüllende Belegungen dieser Formel gesucht<br />
• Da es nur e<strong>in</strong>e e<strong>in</strong>zige erfüllende Belegung gab, haben wir diese<br />
als Lösung aufgefasst<br />
• Nach <strong>der</strong> Modellierung <strong>der</strong> Situation haben wir also im Wesentlichen<br />
e<strong>in</strong>en Erfüllbarkeitstest durchgeführt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 3
Warum Erfüllbarkeit? (2/4)<br />
• Um zu entscheiden, ob sich die Landkarte <strong>der</strong> BRD mit drei Farben<br />
färben lässt (so dass benachbarte Län<strong>der</strong> unterschiedliche Farben<br />
haben), haben wir die folgende Formel aufgestellt:<br />
F =1<br />
NRW<br />
∧F =1<br />
BW<br />
∧F =1<br />
BY<br />
∧F =1<br />
RP<br />
F =1<br />
NI ∧F=1<br />
SA ∧F=1<br />
BR ∧F=1<br />
B<br />
∧F =1<br />
SR<br />
∧F =1<br />
HS<br />
∧F =1<br />
TH<br />
∧F =1<br />
SX ∧<br />
∧F=1<br />
HH ∧F=1<br />
HB ∧F=1<br />
MV ∧F=1<br />
SH ∧<br />
F �=<br />
NRW,HS ∧ F �= BW,BY ∧ F �= BW,RL ∧ F �=<br />
BW,HS ∧ F �=<br />
BY,HS ∧ F �= BY,TH ∧<br />
F �=<br />
BY,SX∧F �=<br />
SR,RL∧F �=<br />
RL,HS∧F �= RL,NRW∧F �=<br />
HS,TH∧F �=<br />
HS,NI∧F �=<br />
TH,SX∧<br />
F �=<br />
TH,SA ∧F �= TH,NI ∧F �=<br />
SX,BR ∧F �=<br />
SX,SA ∧F �= NRW,NI ∧F �=<br />
NI,SH ∧F �= NI,HB ∧<br />
F �= NI,HH ∧ F �= NI,MV ∧ F �=<br />
NI,SA ∧ F �= NI,BR ∧ F �=<br />
SA,BR ∧ F �= BR,MV ∧ F �= BR,B ∧<br />
F �=<br />
SH,HH ∧ F �=<br />
SH,MV<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 4
Warum Erfüllbarkeit? (2/4)<br />
• Um zu entscheiden, ob sich die Landkarte <strong>der</strong> BRD mit drei Farben<br />
färben lässt (so dass benachbarte Län<strong>der</strong> unterschiedliche Farben<br />
haben), haben wir die folgende Formel aufgestellt:<br />
F =1<br />
NRW<br />
∧F =1<br />
BW<br />
∧F =1<br />
BY<br />
∧F =1<br />
RP<br />
F =1<br />
NI ∧F=1<br />
SA ∧F=1<br />
BR ∧F=1<br />
B<br />
∧F =1<br />
SR<br />
∧F =1<br />
HS<br />
∧F =1<br />
TH<br />
∧F =1<br />
SX ∧<br />
∧F=1<br />
HH ∧F=1<br />
HB ∧F=1<br />
MV ∧F=1<br />
SH ∧<br />
F �=<br />
NRW,HS ∧ F �= BW,BY ∧ F �= BW,RL ∧ F �=<br />
BW,HS ∧ F �=<br />
BY,HS ∧ F �= BY,TH ∧<br />
F �=<br />
BY,SX∧F �=<br />
SR,RL∧F �=<br />
RL,HS∧F �= RL,NRW∧F �=<br />
HS,TH∧F �=<br />
HS,NI∧F �=<br />
TH,SX∧<br />
F �=<br />
TH,SA ∧F �= TH,NI ∧F �=<br />
SX,BR ∧F �=<br />
SX,SA ∧F �= NRW,NI ∧F �=<br />
NI,SH ∧F �= NI,HB ∧<br />
F �= NI,HH ∧ F �= NI,MV ∧ F �=<br />
NI,SA ∧ F �= NI,BR ∧ F �=<br />
SA,BR ∧ F �= BR,MV ∧ F �= BR,B ∧<br />
F �=<br />
SH,HH ∧ F �=<br />
SH,MV<br />
• Wir haben festgestellt, dass e<strong>in</strong>e solche Färbung genau dann möglich<br />
ist, wenn diese Formel erfüllbar ist<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 4
Warum Erfüllbarkeit? (2/4)<br />
• Um zu entscheiden, ob sich die Landkarte <strong>der</strong> BRD mit drei Farben<br />
färben lässt (so dass benachbarte Län<strong>der</strong> unterschiedliche Farben<br />
haben), haben wir die folgende Formel aufgestellt:<br />
F =1<br />
NRW<br />
∧F =1<br />
BW<br />
∧F =1<br />
BY<br />
∧F =1<br />
RP<br />
F =1<br />
NI ∧F=1<br />
SA ∧F=1<br />
BR ∧F=1<br />
B<br />
∧F =1<br />
SR<br />
∧F =1<br />
HS<br />
∧F =1<br />
TH<br />
∧F =1<br />
SX ∧<br />
∧F=1<br />
HH ∧F=1<br />
HB ∧F=1<br />
MV ∧F=1<br />
SH ∧<br />
F �=<br />
NRW,HS ∧ F �= BW,BY ∧ F �= BW,RL ∧ F �=<br />
BW,HS ∧ F �=<br />
BY,HS ∧ F �= BY,TH ∧<br />
F �=<br />
BY,SX∧F �=<br />
SR,RL∧F �=<br />
RL,HS∧F �= RL,NRW∧F �=<br />
HS,TH∧F �=<br />
HS,NI∧F �=<br />
TH,SX∧<br />
F �=<br />
TH,SA ∧F �= TH,NI ∧F �=<br />
SX,BR ∧F �=<br />
SX,SA ∧F �= NRW,NI ∧F �=<br />
NI,SH ∧F �= NI,HB ∧<br />
F �= NI,HH ∧ F �= NI,MV ∧ F �=<br />
NI,SA ∧ F �= NI,BR ∧ F �=<br />
SA,BR ∧ F �= BR,MV ∧ F �= BR,B ∧<br />
F �=<br />
SH,HH ∧ F �=<br />
SH,MV<br />
• Wir haben festgestellt, dass e<strong>in</strong>e solche Färbung genau dann möglich<br />
ist, wenn diese Formel erfüllbar ist<br />
• Die Frage <strong>der</strong> 3-Färbbarkeit lässt sich also durch e<strong>in</strong>en Erfüllbarkeitstest<br />
entscheiden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 4
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
Beispiellösung zu (a)<br />
• Wir def<strong>in</strong>ieren<br />
◮ Ai: „Anton hat Aufgabe i richtig gelöst.“,<br />
für i = 1,2,3<br />
◮ B: „Anton hat die Klausur bestanden“<br />
• Wir erhalten die Übersetzung<br />
F = (B → (A1 ∨ A2 ∨ A3))∧<br />
(A3 → (A1 ∨ A2)) ∧ (A1 ↔ A2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
Beispiellösung zu (a)<br />
• Wir def<strong>in</strong>ieren<br />
◮ Ai: „Anton hat Aufgabe i richtig gelöst.“,<br />
für i = 1,2,3<br />
◮ B: „Anton hat die Klausur bestanden“<br />
• Wir erhalten die Übersetzung<br />
F = (B → (A1 ∨ A2 ∨ A3))∧<br />
(A3 → (A1 ∨ A2)) ∧ (A1 ↔ A2)<br />
• Die aussagenlogische Resolution lernen wir<br />
später kennen<br />
• Für (b) betrachten wir hier zunächst nur den<br />
Lösungsansatz:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
Beispiellösung zu (a)<br />
• Wir def<strong>in</strong>ieren<br />
◮ Ai: „Anton hat Aufgabe i richtig gelöst.“,<br />
für i = 1,2,3<br />
◮ B: „Anton hat die Klausur bestanden“<br />
• Wir erhalten die Übersetzung<br />
F = (B → (A1 ∨ A2 ∨ A3))∧<br />
(A3 → (A1 ∨ A2)) ∧ (A1 ↔ A2)<br />
• Die aussagenlogische Resolution lernen wir<br />
später kennen<br />
• Für (b) betrachten wir hier zunächst nur den<br />
Lösungsansatz:<br />
◮ Die Frage ist, ob wir schließen können,<br />
dass aus <strong>der</strong> Formel F die Formel<br />
B → A1 folgt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
Beispiellösung zu (a)<br />
• Wir def<strong>in</strong>ieren<br />
◮ Ai: „Anton hat Aufgabe i richtig gelöst.“,<br />
für i = 1,2,3<br />
◮ B: „Anton hat die Klausur bestanden“<br />
• Wir erhalten die Übersetzung<br />
F = (B → (A1 ∨ A2 ∨ A3))∧<br />
(A3 → (A1 ∨ A2)) ∧ (A1 ↔ A2)<br />
• Die aussagenlogische Resolution lernen wir<br />
später kennen<br />
• Für (b) betrachten wir hier zunächst nur den<br />
Lösungsansatz:<br />
◮ Die Frage ist, ob wir schließen können,<br />
dass aus <strong>der</strong> Formel F die Formel<br />
B → A1 folgt<br />
◮ Dies ist gerade dann <strong>der</strong> Fall, wenn die<br />
Formelmenge {F,¬(B → A1)}<br />
unerfüllbar ist<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Klausur 07/08, Aufgabe 1<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Warum Erfüllbarkeit? (3/4)<br />
Beispiellösung zu (a)<br />
• Wir def<strong>in</strong>ieren<br />
◮ Ai: „Anton hat Aufgabe i richtig gelöst.“,<br />
für i = 1,2,3<br />
◮ B: „Anton hat die Klausur bestanden“<br />
• Wir erhalten die Übersetzung<br />
F = (B → (A1 ∨ A2 ∨ A3))∧<br />
(A3 → (A1 ∨ A2)) ∧ (A1 ↔ A2)<br />
• Die aussagenlogische Resolution lernen wir<br />
später kennen<br />
• Für (b) betrachten wir hier zunächst nur den<br />
Lösungsansatz:<br />
◮ Die Frage ist, ob wir schließen können,<br />
dass aus <strong>der</strong> Formel F die Formel<br />
B → A1 folgt<br />
◮ Dies ist gerade dann <strong>der</strong> Fall, wenn die<br />
Formelmenge {F,¬(B → A1)}<br />
unerfüllbar ist<br />
• Auch dieses Problem lässt sich also durch<br />
e<strong>in</strong>en Erfüllbarkeitstest lösen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 5
Warum Erfüllbarkeit? (4/4)<br />
• Probleme aus vielen Bereichen <strong>der</strong> <strong>Informatik</strong> und<br />
<strong>der</strong> Mathematik lassen sich mit aussagenlogischen<br />
Formeln modellieren<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 6
Warum Erfüllbarkeit? (4/4)<br />
• Probleme aus vielen Bereichen <strong>der</strong> <strong>Informatik</strong> und<br />
<strong>der</strong> Mathematik lassen sich mit aussagenlogischen<br />
Formeln modellieren<br />
• Beispiele:<br />
◮ Logeleien (Angela!)<br />
◮ Graphentheorie (3-Färbbarkeit)<br />
◮ Spiele<br />
◮ Automatisches Planen<br />
◮ (Bounded) Model Check<strong>in</strong>g<br />
◮ ...<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 6
Warum Erfüllbarkeit? (4/4)<br />
• Probleme aus vielen Bereichen <strong>der</strong> <strong>Informatik</strong> und<br />
<strong>der</strong> Mathematik lassen sich mit aussagenlogischen<br />
Formeln modellieren<br />
• Beispiele:<br />
◮ Logeleien (Angela!)<br />
◮ Graphentheorie (3-Färbbarkeit)<br />
◮ Spiele<br />
◮ Automatisches Planen<br />
◮ (Bounded) Model Check<strong>in</strong>g<br />
◮ ...<br />
• Erfüllende Wahrheitsbelegungen <strong>der</strong> Formeln entsprechen<br />
dann Lösungen <strong>der</strong> Probleme<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 6
Warum Erfüllbarkeit? (4/4)<br />
• Probleme aus vielen Bereichen <strong>der</strong> <strong>Informatik</strong> und<br />
<strong>der</strong> Mathematik lassen sich mit aussagenlogischen<br />
Formeln modellieren<br />
• Beispiele:<br />
◮ Logeleien (Angela!)<br />
◮ Graphentheorie (3-Färbbarkeit)<br />
◮ Spiele<br />
◮ Automatisches Planen<br />
◮ (Bounded) Model Check<strong>in</strong>g<br />
◮ ...<br />
• Erfüllende Wahrheitsbelegungen <strong>der</strong> Formeln entsprechen<br />
dann Lösungen <strong>der</strong> Probleme<br />
• Es gilt also, Verfahren für das folgende algorithmische<br />
Problem zu f<strong>in</strong>den:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 6
Warum Erfüllbarkeit? (4/4)<br />
• Probleme aus vielen Bereichen <strong>der</strong> <strong>Informatik</strong> und<br />
<strong>der</strong> Mathematik lassen sich mit aussagenlogischen<br />
Formeln modellieren<br />
• Beispiele:<br />
◮ Logeleien (Angela!)<br />
◮ Graphentheorie (3-Färbbarkeit)<br />
◮ Spiele<br />
◮ Automatisches Planen<br />
◮ (Bounded) Model Check<strong>in</strong>g<br />
◮ ...<br />
• Erfüllende Wahrheitsbelegungen <strong>der</strong> Formeln entsprechen<br />
dann Lösungen <strong>der</strong> Probleme<br />
• Es gilt also, Verfahren für das folgende algorithmische<br />
Problem zu f<strong>in</strong>den:<br />
Def<strong>in</strong>ition: AL-SAT<br />
Gegeben: Aussagenlogische Formel F<br />
Frage: Ist F erfüllbar?<br />
(Falls ja, Ausgabe e<strong>in</strong>er erfüllenden Belegung)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 6
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
• Problem:<br />
◮ Wahrheitstabellen werden sehr schnell<br />
sehr groß<br />
� Genauer: Bei n Variablen hat die<br />
Wahrheitstabelle 2 n E<strong>in</strong>träge<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
• Problem:<br />
◮ Wahrheitstabellen werden sehr schnell<br />
sehr groß<br />
� Genauer: Bei n Variablen hat die<br />
Wahrheitstabelle 2 n E<strong>in</strong>träge<br />
◮ Falls die Formel erfüllbar ist, wird e<strong>in</strong>e<br />
erfüllende Belegung eventuell schneller<br />
gefunden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
• Problem:<br />
◮ Wahrheitstabellen werden sehr schnell<br />
sehr groß<br />
� Genauer: Bei n Variablen hat die<br />
Wahrheitstabelle 2 n E<strong>in</strong>träge<br />
◮ Falls die Formel erfüllbar ist, wird e<strong>in</strong>e<br />
erfüllende Belegung eventuell schneller<br />
gefunden<br />
◮ Falls sie unerfüllbar ist, müssen alle 2 n<br />
Belegungen ausprobiert werden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
• Problem:<br />
◮ Wahrheitstabellen werden sehr schnell<br />
sehr groß<br />
� Genauer: Bei n Variablen hat die<br />
Wahrheitstabelle 2 n E<strong>in</strong>träge<br />
◮ Falls die Formel erfüllbar ist, wird e<strong>in</strong>e<br />
erfüllende Belegung eventuell schneller<br />
gefunden<br />
◮ Falls sie unerfüllbar ist, müssen alle 2 n<br />
Belegungen ausprobiert werden<br />
◮ Bei den mächtigeren <strong>Logik</strong>en, die wir<br />
später betrachten, müssten sogar unendlich<br />
viele Fälle betrachtet werden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
E<strong>in</strong> simpler Erfüllbarkeitstest: Wahrheitstabelle<br />
• E<strong>in</strong>e e<strong>in</strong>fache Methode zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er Formel F :<br />
◮ Berechne die Wahrheitstabelle von F<br />
◮ Genau dann, wenn es e<strong>in</strong>e Zeile mit e<strong>in</strong>er<br />
1 <strong>in</strong> <strong>der</strong> F -Spalte gibt, ist F erfüllbar<br />
• Das ist e<strong>in</strong> semantischer Erfüllbarkeitstest<br />
◮ Denn:<br />
� Alle möglichen Modelle werden ausprobiert<br />
� Der Test beruht also darauf, die Semantik<br />
von F vollständig zu bestimmen<br />
• Problem:<br />
◮ Wahrheitstabellen werden sehr schnell<br />
sehr groß<br />
� Genauer: Bei n Variablen hat die<br />
Wahrheitstabelle 2 n E<strong>in</strong>träge<br />
◮ Falls die Formel erfüllbar ist, wird e<strong>in</strong>e<br />
erfüllende Belegung eventuell schneller<br />
gefunden<br />
◮ Falls sie unerfüllbar ist, müssen alle 2 n<br />
Belegungen ausprobiert werden<br />
◮ Bei den mächtigeren <strong>Logik</strong>en, die wir<br />
später betrachten, müssten sogar unendlich<br />
viele Fälle betrachtet werden<br />
➞ Wir suchen <strong>des</strong>halb Methoden, die die Erfüllbarkeit<br />
nicht durch Ausprobieren aller<br />
Möglichkeiten son<strong>der</strong>n auf Basis <strong>der</strong> Syntax<br />
<strong>der</strong> Formeln testen<br />
• Zunächst betrachten wir jedoch den Zusammenhang<br />
zwischen Folgern und Erfüllbarkeit<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 7
Folgerung und Unerfüllbarkeit<br />
• Wie im letzten Beispiel gesehen, lassen sich auch<br />
aussagenlogische Folgerungen auf das Erfüllbarkeitsproblem<br />
zurückführen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 8
Folgerung und Unerfüllbarkeit<br />
• Wie im letzten Beispiel gesehen, lassen sich auch<br />
aussagenlogische Folgerungen auf das Erfüllbarkeitsproblem<br />
zurückführen<br />
Def<strong>in</strong>ition<br />
• Sei G e<strong>in</strong>e Menge von AL-Formeln und F e<strong>in</strong>e AL-<br />
Formel<br />
• G |= F ⇔ def jede zu G ∪ {F} passende Belegung,<br />
die Modell von G ist, ist auch Modell von F<br />
• Wir sagen auch: F folgt aus G<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 8
Folgerung und Unerfüllbarkeit<br />
• Wie im letzten Beispiel gesehen, lassen sich auch<br />
aussagenlogische Folgerungen auf das Erfüllbarkeitsproblem<br />
zurückführen<br />
Def<strong>in</strong>ition<br />
• Sei G e<strong>in</strong>e Menge von AL-Formeln und F e<strong>in</strong>e AL-<br />
Formel<br />
• G |= F ⇔ def jede zu G ∪ {F} passende Belegung,<br />
die Modell von G ist, ist auch Modell von F<br />
• Wir sagen auch: F folgt aus G<br />
Proposition 3.1<br />
• Sei G e<strong>in</strong>e Menge von AL-Formeln und F e<strong>in</strong>e AL-<br />
Formel<br />
• Dann gilt:<br />
G |= F ⇐⇒ G ∪ {¬F} ist unerfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 8
Folgerung und Unerfüllbarkeit<br />
• Wie im letzten Beispiel gesehen, lassen sich auch<br />
aussagenlogische Folgerungen auf das Erfüllbarkeitsproblem<br />
zurückführen<br />
Def<strong>in</strong>ition<br />
• Sei G e<strong>in</strong>e Menge von AL-Formeln und F e<strong>in</strong>e AL-<br />
Formel<br />
• G |= F ⇔ def jede zu G ∪ {F} passende Belegung,<br />
die Modell von G ist, ist auch Modell von F<br />
• Wir sagen auch: F folgt aus G<br />
Proposition 3.1<br />
• Sei G e<strong>in</strong>e Menge von AL-Formeln und F e<strong>in</strong>e AL-<br />
Formel<br />
• Dann gilt:<br />
G |= F ⇐⇒ G ∪ {¬F} ist unerfüllbar<br />
• Zu beachten: die Menge G kann hier auch jeweils unendlich<br />
se<strong>in</strong><br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 8
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
• Solche Methoden fassen wir unter dem<br />
Oberbegriff syntaktisches Schließen zusammen:<br />
◮ G ⊢ F soll bedeuten, dass F aus G<br />
durch syntaktische Operationen hergeleitet<br />
werden kann<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
• Solche Methoden fassen wir unter dem<br />
Oberbegriff syntaktisches Schließen zusammen:<br />
◮ G ⊢ F soll bedeuten, dass F aus G<br />
durch syntaktische Operationen hergeleitet<br />
werden kann<br />
◮ Die genaue Bedeutung von ⊢ hängt dabei<br />
jeweils von e<strong>in</strong>em spezifischen Beweissystem<br />
ab<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
• Solche Methoden fassen wir unter dem<br />
Oberbegriff syntaktisches Schließen zusammen:<br />
◮ G ⊢ F soll bedeuten, dass F aus G<br />
durch syntaktische Operationen hergeleitet<br />
werden kann<br />
◮ Die genaue Bedeutung von ⊢ hängt dabei<br />
jeweils von e<strong>in</strong>em spezifischen Beweissystem<br />
ab<br />
• Unsere M<strong>in</strong><strong>des</strong>tanfor<strong>der</strong>ung an e<strong>in</strong> solches<br />
Beweissystem ist, dass es korrekt ist:<br />
G ⊢ F ⇒ G |= F<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
• Solche Methoden fassen wir unter dem<br />
Oberbegriff syntaktisches Schließen zusammen:<br />
◮ G ⊢ F soll bedeuten, dass F aus G<br />
durch syntaktische Operationen hergeleitet<br />
werden kann<br />
◮ Die genaue Bedeutung von ⊢ hängt dabei<br />
jeweils von e<strong>in</strong>em spezifischen Beweissystem<br />
ab<br />
• Unsere M<strong>in</strong><strong>des</strong>tanfor<strong>der</strong>ung an e<strong>in</strong> solches<br />
Beweissystem ist, dass es korrekt ist:<br />
G ⊢ F ⇒ G |= F<br />
• Idealerweise sollte e<strong>in</strong> Beweissystem auch<br />
noch vollständig se<strong>in</strong>:<br />
G |= F ⇒ G ⊢ F<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Semantisches Folgern und syntaktisches Schließen<br />
• Wir haben gerade e<strong>in</strong>e semantische Folgerungsbeziehung<br />
G |= F def<strong>in</strong>iert:<br />
◮ Ist G e<strong>in</strong>e Formelmenge und F e<strong>in</strong>e<br />
Formel, so folgt F semantisch aus G,<br />
falls „<strong>in</strong> allen Situationen, <strong>in</strong> denen G gilt,<br />
auch F gilt“<br />
◮ Im Falle <strong>der</strong> Aussagenlogik s<strong>in</strong>d die „Situationen“<br />
gerade die passenden Belegungen<br />
• Auch hier gilt, was zu dem simplen Erfüllbarkeitstest<br />
gesagt wurde:<br />
◮ Alle „Situationen“ auszuprobieren ist sehr<br />
aufwändig und für mächtigere <strong>Logik</strong>en<br />
unmöglich<br />
• Deshalb suchen wir an<strong>der</strong>e Methoden um<br />
Schlüsse zu ziehen, die nicht alle möglichen<br />
Situationen betrachten, son<strong>der</strong>n direkt die<br />
gegebenen Formeln verwenden<br />
• Solche Methoden fassen wir unter dem<br />
Oberbegriff syntaktisches Schließen zusammen:<br />
◮ G ⊢ F soll bedeuten, dass F aus G<br />
durch syntaktische Operationen hergeleitet<br />
werden kann<br />
◮ Die genaue Bedeutung von ⊢ hängt dabei<br />
jeweils von e<strong>in</strong>em spezifischen Beweissystem<br />
ab<br />
• Unsere M<strong>in</strong><strong>des</strong>tanfor<strong>der</strong>ung an e<strong>in</strong> solches<br />
Beweissystem ist, dass es korrekt ist:<br />
G ⊢ F ⇒ G |= F<br />
• Idealerweise sollte e<strong>in</strong> Beweissystem auch<br />
noch vollständig se<strong>in</strong>:<br />
G |= F ⇒ G ⊢ F<br />
• Proposition 3.1 eröffnet uns die Möglichkeit,<br />
Beweissysteme aus syntaktischen Erfüllbarkeitstests<br />
zu gew<strong>in</strong>nen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 9
Folgern, Schließen und Erfüllbarkeit: Beispiel<br />
Beispiel<br />
• Die Frage, ob aus den Formeln A → B und B → C die<br />
Formel A → C folgt, können wir wie folgt notieren:<br />
{A → B, B → C} ?<br />
|= A → C<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 10
Folgern, Schließen und Erfüllbarkeit: Beispiel<br />
Beispiel<br />
• Die Frage, ob aus den Formeln A → B und B → C die<br />
Formel A → C folgt, können wir wie folgt notieren:<br />
{A → B, B → C} ?<br />
|= A → C<br />
• Gemäß Proposition 3.1 ist sie äquivalent zur Frage, ob die Formelmenge<br />
{A → B, B → C, ¬(A → C)}<br />
unerfüllbar ist<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 10
Folgern, Schließen und Erfüllbarkeit: Beispiel<br />
Beispiel<br />
• Die Frage, ob aus den Formeln A → B und B → C die<br />
Formel A → C folgt, können wir wie folgt notieren:<br />
{A → B, B → C} ?<br />
|= A → C<br />
• Gemäß Proposition 3.1 ist sie äquivalent zur Frage, ob die Formelmenge<br />
{A → B, B → C, ¬(A → C)}<br />
unerfüllbar ist<br />
• Wenn wir mit Hilfe e<strong>in</strong>es syntaktischen Erfüllbarkeitstests herausf<strong>in</strong>den,<br />
dass diese Menge unerfüllbar ist, so können wir dies zunächst<br />
durch<br />
{A → B, B → C} ⊢ A → C<br />
notieren und aus <strong>der</strong> <strong>Korrektheit</strong> <strong>des</strong> zugrunde liegenden Beweissystems<br />
dann<br />
{A → B, B → C} |= A → C<br />
folgern<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 10
3.1 Das Erfüllbarkeitsproblem<br />
Inhalt<br />
✄ 3.2 Erfüllbarkeitstests: Vorbereitungen<br />
3.3 Hornformeln<br />
3.4 Aussagenlogische Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 11
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
• Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?<br />
(1) Wandle F um <strong>in</strong> e<strong>in</strong>e äquivalente Formel F ′ <strong>in</strong> DNF?<br />
(2) Teste die Erfüllbarkeit von F ′<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
• Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?<br />
(1) Wandle F um <strong>in</strong> e<strong>in</strong>e äquivalente Formel F ′ <strong>in</strong> DNF?<br />
(2) Teste die Erfüllbarkeit von F ′<br />
◮ Wie wir wissen, kann die <strong>in</strong> Schritt (1) berechnete Formel F ′<br />
sehr lang werden<br />
◮ Lei<strong>der</strong> tendieren Formeln, die <strong>in</strong> den genannten Anwendungen<br />
auftreten, dazu, wirklich e<strong>in</strong>e lange DNF zu haben<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
• Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?<br />
(1) Wandle F um <strong>in</strong> e<strong>in</strong>e äquivalente Formel F ′ <strong>in</strong> DNF?<br />
(2) Teste die Erfüllbarkeit von F ′<br />
◮ Wie wir wissen, kann die <strong>in</strong> Schritt (1) berechnete Formel F ′<br />
sehr lang werden<br />
◮ Lei<strong>der</strong> tendieren Formeln, die <strong>in</strong> den genannten Anwendungen<br />
auftreten, dazu, wirklich e<strong>in</strong>e lange DNF zu haben<br />
◮ Es ist typisch, dass e<strong>in</strong>e zu modellierende Situation e<strong>in</strong>e Menge<br />
von Teilformeln ergibt, die alle gleichzeitig gelten müssen<br />
� Das führt <strong>in</strong> <strong>der</strong> Regel zu Formeln mit e<strong>in</strong>er relativ kurzen<br />
KNF aber e<strong>in</strong>er langen DNF<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
• Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?<br />
(1) Wandle F um <strong>in</strong> e<strong>in</strong>e äquivalente Formel F ′ <strong>in</strong> DNF?<br />
(2) Teste die Erfüllbarkeit von F ′<br />
◮ Wie wir wissen, kann die <strong>in</strong> Schritt (1) berechnete Formel F ′<br />
sehr lang werden<br />
◮ Lei<strong>der</strong> tendieren Formeln, die <strong>in</strong> den genannten Anwendungen<br />
auftreten, dazu, wirklich e<strong>in</strong>e lange DNF zu haben<br />
◮ Es ist typisch, dass e<strong>in</strong>e zu modellierende Situation e<strong>in</strong>e Menge<br />
von Teilformeln ergibt, die alle gleichzeitig gelten müssen<br />
� Das führt <strong>in</strong> <strong>der</strong> Regel zu Formeln mit e<strong>in</strong>er relativ kurzen<br />
KNF aber e<strong>in</strong>er langen DNF<br />
• Im Folgenden konzentrieren wir uns <strong>des</strong>halb auf Erfüllbarkeitstests<br />
für aussagenlogische Formeln <strong>in</strong> KNF<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
DNF und KNF<br />
• Wie schwierig es ist, die Erfüllbarkeit e<strong>in</strong>er Formel zu testen, hängt<br />
stark von <strong>der</strong> Struktur <strong>der</strong> Formel ab<br />
• Wie schwierig ist es, die Erfüllbarkeit von Formeln <strong>in</strong> DNF zu testen?<br />
• Warum verwenden wir dann nicht den folgenden Erfüllbarkeitstest?<br />
(1) Wandle F um <strong>in</strong> e<strong>in</strong>e äquivalente Formel F ′ <strong>in</strong> DNF?<br />
(2) Teste die Erfüllbarkeit von F ′<br />
◮ Wie wir wissen, kann die <strong>in</strong> Schritt (1) berechnete Formel F ′<br />
sehr lang werden<br />
◮ Lei<strong>der</strong> tendieren Formeln, die <strong>in</strong> den genannten Anwendungen<br />
auftreten, dazu, wirklich e<strong>in</strong>e lange DNF zu haben<br />
◮ Es ist typisch, dass e<strong>in</strong>e zu modellierende Situation e<strong>in</strong>e Menge<br />
von Teilformeln ergibt, die alle gleichzeitig gelten müssen<br />
� Das führt <strong>in</strong> <strong>der</strong> Regel zu Formeln mit e<strong>in</strong>er relativ kurzen<br />
KNF aber e<strong>in</strong>er langen DNF<br />
• Im Folgenden konzentrieren wir uns <strong>des</strong>halb auf Erfüllbarkeitstests<br />
für aussagenlogische Formeln <strong>in</strong> KNF<br />
◮ Insbeson<strong>der</strong>e: wenn nichts an<strong>der</strong>es gesagt wird, steht <strong>der</strong> Begriff<br />
„Klausel“ immer für disjunktive Klauseln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 12
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
� Zum Beispiel:<br />
(A1∨¬A2∨A1) ≡ (A1∨¬A2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
� Zum Beispiel:<br />
(A1∨¬A2∨A1) ≡ (A1∨¬A2)<br />
◮ Wir repräsentieren disjunktive Klauseln<br />
<strong>des</strong>halb oft nur durch die Menge ihrer<br />
Literale:<br />
� Statt (A1 ∨ ¬A2 ∨ A1) schreiben<br />
wir dann {A1, ¬A2}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
� Zum Beispiel:<br />
(A1∨¬A2∨A1) ≡ (A1∨¬A2)<br />
◮ Wir repräsentieren disjunktive Klauseln<br />
<strong>des</strong>halb oft nur durch die Menge ihrer<br />
Literale:<br />
� Statt (A1 ∨ ¬A2 ∨ A1) schreiben<br />
wir dann {A1, ¬A2}<br />
◮ E<strong>in</strong>e Formel <strong>in</strong> KNF repräsentieren wir<br />
dann durch ihre Klauselmenge, also die<br />
Menge ihrer Literalmengen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
� Zum Beispiel:<br />
(A1∨¬A2∨A1) ≡ (A1∨¬A2)<br />
◮ Wir repräsentieren disjunktive Klauseln<br />
<strong>des</strong>halb oft nur durch die Menge ihrer<br />
Literale:<br />
� Statt (A1 ∨ ¬A2 ∨ A1) schreiben<br />
wir dann {A1, ¬A2}<br />
◮ E<strong>in</strong>e Formel <strong>in</strong> KNF repräsentieren wir<br />
dann durch ihre Klauselmenge, also die<br />
Menge ihrer Literalmengen<br />
Beispiel<br />
• Die Formel<br />
(A ∨ ¬B ∨ A) ∧ (C ∨ B ∨ ¬A)<br />
entspricht <strong>der</strong> Klauselmenge<br />
{{A, ¬B},{C, B, ¬A}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
Klauseln und Klauselmengen (1/3)<br />
• Wir werden jetzt e<strong>in</strong>e kompaktere und für<br />
viele Fälle praktischere Notation für Klauseln<br />
e<strong>in</strong>führen:<br />
◮ Es ist klar, dass die Semantik e<strong>in</strong>er Klausel<br />
nicht davon abhängt, ob e<strong>in</strong> bestimmtes<br />
Literal e<strong>in</strong>mal o<strong>der</strong> mehrfach <strong>in</strong> ihr<br />
vorkommt<br />
� Zum Beispiel:<br />
(A1∨¬A2∨A1) ≡ (A1∨¬A2)<br />
◮ Wir repräsentieren disjunktive Klauseln<br />
<strong>des</strong>halb oft nur durch die Menge ihrer<br />
Literale:<br />
� Statt (A1 ∨ ¬A2 ∨ A1) schreiben<br />
wir dann {A1, ¬A2}<br />
◮ E<strong>in</strong>e Formel <strong>in</strong> KNF repräsentieren wir<br />
dann durch ihre Klauselmenge, also die<br />
Menge ihrer Literalmengen<br />
Beispiel<br />
• Die Formel<br />
(A ∨ ¬B ∨ A) ∧ (C ∨ B ∨ ¬A)<br />
entspricht <strong>der</strong> Klauselmenge<br />
{{A, ¬B},{C, B, ¬A}}<br />
• Der Begriff „Klausel“ wird sowohl für Disjunktionen<br />
von Literalen (<strong>in</strong> Formelschreibweise)<br />
als auch für Literalmengen verwendet<br />
• Was jeweils geme<strong>in</strong>t ist, sollte aus dem Zusammenhang<br />
klar werden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 13
• Auch Formeln, die nicht <strong>in</strong> KNF s<strong>in</strong>d, wollen<br />
wir zukünftig häufig durch Klauselmengen<br />
repräsentieren<br />
Klauseln und Klauselmengen (2/3)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 14
• Auch Formeln, die nicht <strong>in</strong> KNF s<strong>in</strong>d, wollen<br />
wir zukünftig häufig durch Klauselmengen<br />
repräsentieren<br />
• Um zu e<strong>in</strong>er AL-Formel F die Klauselmenge<br />
K(F) zuzuordnen können wir wie folgt<br />
vorgehen:<br />
◮ Wir wandeln F zunächst <strong>in</strong> e<strong>in</strong>e äquivalente<br />
Formel F ′ <strong>in</strong> KNF um<br />
◮ Dann soll K(F) die Klauselmenge se<strong>in</strong>,<br />
die sich aus F ′ ergibt<br />
Klauseln und Klauselmengen (2/3)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 14
• Auch Formeln, die nicht <strong>in</strong> KNF s<strong>in</strong>d, wollen<br />
wir zukünftig häufig durch Klauselmengen<br />
repräsentieren<br />
• Um zu e<strong>in</strong>er AL-Formel F die Klauselmenge<br />
K(F) zuzuordnen können wir wie folgt<br />
vorgehen:<br />
◮ Wir wandeln F zunächst <strong>in</strong> e<strong>in</strong>e äquivalente<br />
Formel F ′ <strong>in</strong> KNF um<br />
◮ Dann soll K(F) die Klauselmenge se<strong>in</strong>,<br />
die sich aus F ′ ergibt<br />
Klauseln und Klauselmengen (2/3)<br />
Beispiel<br />
• Sei F = (A ↔ B)<br />
• Dann: F ′ = (¬A ∨ B) ∧ (A ∨ ¬B)<br />
• K(F) = {{¬A, B},{A, ¬B}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 14
• Auch Formeln, die nicht <strong>in</strong> KNF s<strong>in</strong>d, wollen<br />
wir zukünftig häufig durch Klauselmengen<br />
repräsentieren<br />
• Um zu e<strong>in</strong>er AL-Formel F die Klauselmenge<br />
K(F) zuzuordnen können wir wie folgt<br />
vorgehen:<br />
◮ Wir wandeln F zunächst <strong>in</strong> e<strong>in</strong>e äquivalente<br />
Formel F ′ <strong>in</strong> KNF um<br />
◮ Dann soll K(F) die Klauselmenge se<strong>in</strong>,<br />
die sich aus F ′ ergibt<br />
Klauseln und Klauselmengen (2/3)<br />
Beispiel<br />
• Sei F = (A ↔ B)<br />
• Dann: F ′ = (¬A ∨ B) ∧ (A ∨ ¬B)<br />
• K(F) = {{¬A, B},{A, ¬B}}<br />
• Für e<strong>in</strong>e Menge G von AL-Formeln sei<br />
schließlich: �<br />
K(G) = def K(F)<br />
F∈G<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 14
• Auch Formeln, die nicht <strong>in</strong> KNF s<strong>in</strong>d, wollen<br />
wir zukünftig häufig durch Klauselmengen<br />
repräsentieren<br />
• Um zu e<strong>in</strong>er AL-Formel F die Klauselmenge<br />
K(F) zuzuordnen können wir wie folgt<br />
vorgehen:<br />
◮ Wir wandeln F zunächst <strong>in</strong> e<strong>in</strong>e äquivalente<br />
Formel F ′ <strong>in</strong> KNF um<br />
◮ Dann soll K(F) die Klauselmenge se<strong>in</strong>,<br />
die sich aus F ′ ergibt<br />
Klauseln und Klauselmengen (2/3)<br />
Beispiel<br />
• Sei F = (A ↔ B)<br />
• Dann: F ′ = (¬A ∨ B) ∧ (A ∨ ¬B)<br />
• K(F) = {{¬A, B},{A, ¬B}}<br />
• Für e<strong>in</strong>e Menge G von AL-Formeln sei<br />
schließlich: �<br />
K(G) = def K(F)<br />
F∈G<br />
• Zu beachten:<br />
◮ Damit K(F) durch F e<strong>in</strong>deutig bestimmt<br />
ist, nehmen wir im Folgenden an,<br />
dass wir e<strong>in</strong>en Algorithmus haben, <strong>der</strong> für<br />
je<strong>des</strong> F e<strong>in</strong> e<strong>in</strong>deutiges äquivalentes F ′<br />
<strong>in</strong> KNF berechnet<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 14
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
• Deshalb def<strong>in</strong>ieren wir, dass e<strong>in</strong>e Klauselmenge<br />
K durch e<strong>in</strong>e Belegung α erfüllt<br />
wird, wenn es <strong>in</strong> je<strong>der</strong> Klausel K ∈ K e<strong>in</strong><br />
Literal L gibt mit α |= L<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
• Deshalb def<strong>in</strong>ieren wir, dass e<strong>in</strong>e Klauselmenge<br />
K durch e<strong>in</strong>e Belegung α erfüllt<br />
wird, wenn es <strong>in</strong> je<strong>der</strong> Klausel K ∈ K e<strong>in</strong><br />
Literal L gibt mit α |= L<br />
• Wir nennen K erfüllbar, wenn es e<strong>in</strong>e Belegung<br />
gibt, die K erfüllt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
• Deshalb def<strong>in</strong>ieren wir, dass e<strong>in</strong>e Klauselmenge<br />
K durch e<strong>in</strong>e Belegung α erfüllt<br />
wird, wenn es <strong>in</strong> je<strong>der</strong> Klausel K ∈ K e<strong>in</strong><br />
Literal L gibt mit α |= L<br />
• Wir nennen K erfüllbar, wenn es e<strong>in</strong>e Belegung<br />
gibt, die K erfüllt<br />
• Es gibt e<strong>in</strong>e Reihe von Spezialfällen:<br />
◮ Die Literalmenge ∅ = {} enthält ke<strong>in</strong>e<br />
Literale<br />
� Es gibt ke<strong>in</strong>e Belegung α, für die es <strong>in</strong><br />
ihr e<strong>in</strong> Literal L gibt mit α |= L<br />
� Insofern entspricht sie <strong>der</strong> Formel ⊥<br />
� Wir bezeichnen die leere Klausel im<br />
Folgenden meistens durch ✷<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
• Deshalb def<strong>in</strong>ieren wir, dass e<strong>in</strong>e Klauselmenge<br />
K durch e<strong>in</strong>e Belegung α erfüllt<br />
wird, wenn es <strong>in</strong> je<strong>der</strong> Klausel K ∈ K e<strong>in</strong><br />
Literal L gibt mit α |= L<br />
• Wir nennen K erfüllbar, wenn es e<strong>in</strong>e Belegung<br />
gibt, die K erfüllt<br />
• Es gibt e<strong>in</strong>e Reihe von Spezialfällen:<br />
◮ Die Literalmenge ∅ = {} enthält ke<strong>in</strong>e<br />
Literale<br />
� Es gibt ke<strong>in</strong>e Belegung α, für die es <strong>in</strong><br />
ihr e<strong>in</strong> Literal L gibt mit α |= L<br />
� Insofern entspricht sie <strong>der</strong> Formel ⊥<br />
� Wir bezeichnen die leere Klausel im<br />
Folgenden meistens durch ✷<br />
� Wenn e<strong>in</strong>e Klauselmenge die Klausel<br />
✷ enthält, ist sie also unerfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
• Die Erfüllbarkeit aussagenlogischer Formeln<br />
F (o<strong>der</strong> Formelmengen G) wollen wir jetzt<br />
auf die Erfüllbarkeit ihrer Klauselmengen<br />
zurückführen<br />
Klauseln und Klauselmengen (3/3)<br />
• Zur Er<strong>in</strong>nerung: F ist erfüllbar, wenn es e<strong>in</strong>e<br />
Belegung α gibt mit α |= F<br />
• Wenn F <strong>in</strong> KNF ist, ist F erfüllbar, wenn<br />
es e<strong>in</strong>e Belegung gibt, die <strong>in</strong> je<strong>der</strong> Klausel<br />
m<strong>in</strong><strong>des</strong>tens e<strong>in</strong> Literal wahr macht<br />
• Deshalb def<strong>in</strong>ieren wir, dass e<strong>in</strong>e Klauselmenge<br />
K durch e<strong>in</strong>e Belegung α erfüllt<br />
wird, wenn es <strong>in</strong> je<strong>der</strong> Klausel K ∈ K e<strong>in</strong><br />
Literal L gibt mit α |= L<br />
• Wir nennen K erfüllbar, wenn es e<strong>in</strong>e Belegung<br />
gibt, die K erfüllt<br />
• Es gibt e<strong>in</strong>e Reihe von Spezialfällen:<br />
◮ Die Literalmenge ∅ = {} enthält ke<strong>in</strong>e<br />
Literale<br />
� Es gibt ke<strong>in</strong>e Belegung α, für die es <strong>in</strong><br />
ihr e<strong>in</strong> Literal L gibt mit α |= L<br />
� Insofern entspricht sie <strong>der</strong> Formel ⊥<br />
� Wir bezeichnen die leere Klausel im<br />
Folgenden meistens durch ✷<br />
� Wenn e<strong>in</strong>e Klauselmenge die Klausel<br />
✷ enthält, ist sie also unerfüllbar<br />
◮ Die Klauselmenge ∅ wird an<strong>der</strong>erseits<br />
durch jede Belegung erfüllt<br />
� Denn: für jede Belegung α gilt, dass<br />
jede Literalmenge K ∈ ∅ durch α<br />
wahr gemacht wird<br />
� Insofern entspricht die leere Klauselmenge<br />
<strong>der</strong> Formel ⊤<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 15
Klauseln und Implikation (1/2)<br />
• Klauseln lassen sich immer auch als Implikationen schreiben:<br />
◮ (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3) ist beispielsweise äquivalent zu:<br />
(A2 ∧ A3) → (A1 ∨ A4)<br />
◮ Aber auch zu: (A2 ∧ ¬A1) → (¬A3 ∨ A4)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 16
Klauseln und Implikation (1/2)<br />
• Klauseln lassen sich immer auch als Implikationen schreiben:<br />
◮ (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3) ist beispielsweise äquivalent zu:<br />
(A2 ∧ A3) → (A1 ∨ A4)<br />
◮ Aber auch zu: (A2 ∧ ¬A1) → (¬A3 ∨ A4)<br />
• Allgeme<strong>in</strong>:<br />
◮ Sei K = L1 ∨ · · · ∨ Lk e<strong>in</strong>e Klausel mit Literalen Li<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 16
Klauseln und Implikation (1/2)<br />
• Klauseln lassen sich immer auch als Implikationen schreiben:<br />
◮ (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3) ist beispielsweise äquivalent zu:<br />
(A2 ∧ A3) → (A1 ∨ A4)<br />
◮ Aber auch zu: (A2 ∧ ¬A1) → (¬A3 ∨ A4)<br />
• Allgeme<strong>in</strong>:<br />
◮ Sei K = L1 ∨ · · · ∨ Lk e<strong>in</strong>e Klausel mit Literalen Li<br />
◮ Für jede Teilmenge I ⊆ {1, . . . ,k} ist dann K äquivalent<br />
zu: �<br />
¬Li → �<br />
i∈I<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 16<br />
i�∈I<br />
Li
Klauseln und Implikation (1/2)<br />
• Klauseln lassen sich immer auch als Implikationen schreiben:<br />
◮ (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3) ist beispielsweise äquivalent zu:<br />
(A2 ∧ A3) → (A1 ∨ A4)<br />
◮ Aber auch zu: (A2 ∧ ¬A1) → (¬A3 ∨ A4)<br />
• Allgeme<strong>in</strong>:<br />
◮ Sei K = L1 ∨ · · · ∨ Lk e<strong>in</strong>e Klausel mit Literalen Li<br />
◮ Für jede Teilmenge I ⊆ {1, . . . ,k} ist dann K äquivalent<br />
zu: �<br />
¬Li → �<br />
i∈I<br />
i�∈I<br />
◮ Insbeson<strong>der</strong>e ist<br />
(¬A1 ∨ · · · ∨ ¬Ak ∨ Ak+1 ∨ · · · ∨ An)<br />
äquivalent zu<br />
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 16<br />
Li
Klauseln und Implikation (1/2)<br />
• Klauseln lassen sich immer auch als Implikationen schreiben:<br />
◮ (A1 ∨ ¬A2 ∨ A4 ∨ ¬A3) ist beispielsweise äquivalent zu:<br />
(A2 ∧ A3) → (A1 ∨ A4)<br />
◮ Aber auch zu: (A2 ∧ ¬A1) → (¬A3 ∨ A4)<br />
• Allgeme<strong>in</strong>:<br />
◮ Sei K = L1 ∨ · · · ∨ Lk e<strong>in</strong>e Klausel mit Literalen Li<br />
◮ Für jede Teilmenge I ⊆ {1, . . . ,k} ist dann K äquivalent<br />
zu: �<br />
¬Li → �<br />
i∈I<br />
i�∈I<br />
◮ Insbeson<strong>der</strong>e ist<br />
(¬A1 ∨ · · · ∨ ¬Ak ∨ Ak+1 ∨ · · · ∨ An)<br />
äquivalent zu<br />
(A1 ∧ · · · ∧ Ak) → (Ak+1 ∨ · · · ∨ An)<br />
• Die folgende Äquivalenz ist nützlich beim Umgang mit Implikationen<br />
:<br />
¬(F1 → F2) ≡ F1 ∧ ¬F2<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 16<br />
Li
• Wir wenden die Erkenntnisse <strong>der</strong> vorherigen<br />
Folie jetzt auf Klauseln mit drei Literalen an<br />
und schreiben sie <strong>in</strong> Implikationsform<br />
Klauseln und Implikation (2/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 17
• Wir wenden die Erkenntnisse <strong>der</strong> vorherigen<br />
Folie jetzt auf Klauseln mit drei Literalen an<br />
und schreiben sie <strong>in</strong> Implikationsform<br />
• Solche Klauseln lassen sich also immer <strong>in</strong><br />
e<strong>in</strong>er <strong>der</strong> folgenden vier Arten darstellen:<br />
(1) (A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: ⊤ → (A1 ∨ A2 ∨ A3)<br />
(2) (¬A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: A1 → (A2 ∨ A3)<br />
(3) (¬A1 ∨ ¬A2 ∨ A3)<br />
◮ Entspricht: (A1 ∧ A2) → A3<br />
(4) (¬A1 ∨ ¬A2 ∨ ¬A3)<br />
◮ Entspricht: (A1 ∧ A2 ∧ A3) → ⊥<br />
Klauseln und Implikation (2/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 17
• Wir wenden die Erkenntnisse <strong>der</strong> vorherigen<br />
Folie jetzt auf Klauseln mit drei Literalen an<br />
und schreiben sie <strong>in</strong> Implikationsform<br />
• Solche Klauseln lassen sich also immer <strong>in</strong><br />
e<strong>in</strong>er <strong>der</strong> folgenden vier Arten darstellen:<br />
(1) (A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: ⊤ → (A1 ∨ A2 ∨ A3)<br />
(2) (¬A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: A1 → (A2 ∨ A3)<br />
(3) (¬A1 ∨ ¬A2 ∨ A3)<br />
◮ Entspricht: (A1 ∧ A2) → A3<br />
(4) (¬A1 ∨ ¬A2 ∨ ¬A3)<br />
◮ Entspricht: (A1 ∧ A2 ∧ A3) → ⊥<br />
Klauseln und Implikation (2/2)<br />
• Intuitive Überlegung: Klauseln <strong>der</strong> Formen<br />
(1) und (2) s<strong>in</strong>d für Erfüllbarkeitstests problematisch,<br />
da sie e<strong>in</strong>e Wahlmöglichkeit für die<br />
Variablen auf <strong>der</strong> rechten Seite haben<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 17
• Wir wenden die Erkenntnisse <strong>der</strong> vorherigen<br />
Folie jetzt auf Klauseln mit drei Literalen an<br />
und schreiben sie <strong>in</strong> Implikationsform<br />
• Solche Klauseln lassen sich also immer <strong>in</strong><br />
e<strong>in</strong>er <strong>der</strong> folgenden vier Arten darstellen:<br />
(1) (A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: ⊤ → (A1 ∨ A2 ∨ A3)<br />
(2) (¬A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: A1 → (A2 ∨ A3)<br />
(3) (¬A1 ∨ ¬A2 ∨ A3)<br />
◮ Entspricht: (A1 ∧ A2) → A3<br />
(4) (¬A1 ∨ ¬A2 ∨ ¬A3)<br />
◮ Entspricht: (A1 ∧ A2 ∧ A3) → ⊥<br />
Klauseln und Implikation (2/2)<br />
• Intuitive Überlegung: Klauseln <strong>der</strong> Formen<br />
(1) und (2) s<strong>in</strong>d für Erfüllbarkeitstests problematisch,<br />
da sie e<strong>in</strong>e Wahlmöglichkeit für die<br />
Variablen auf <strong>der</strong> rechten Seite haben<br />
• Klauseln <strong>der</strong> Formen (3) und (4) s<strong>in</strong>d leichter<br />
zu handhaben<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 17
• Wir wenden die Erkenntnisse <strong>der</strong> vorherigen<br />
Folie jetzt auf Klauseln mit drei Literalen an<br />
und schreiben sie <strong>in</strong> Implikationsform<br />
• Solche Klauseln lassen sich also immer <strong>in</strong><br />
e<strong>in</strong>er <strong>der</strong> folgenden vier Arten darstellen:<br />
(1) (A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: ⊤ → (A1 ∨ A2 ∨ A3)<br />
(2) (¬A1 ∨ A2 ∨ A3)<br />
◮ Entspricht: A1 → (A2 ∨ A3)<br />
(3) (¬A1 ∨ ¬A2 ∨ A3)<br />
◮ Entspricht: (A1 ∧ A2) → A3<br />
(4) (¬A1 ∨ ¬A2 ∨ ¬A3)<br />
◮ Entspricht: (A1 ∧ A2 ∧ A3) → ⊥<br />
Klauseln und Implikation (2/2)<br />
• Intuitive Überlegung: Klauseln <strong>der</strong> Formen<br />
(1) und (2) s<strong>in</strong>d für Erfüllbarkeitstests problematisch,<br />
da sie e<strong>in</strong>e Wahlmöglichkeit für die<br />
Variablen auf <strong>der</strong> rechten Seite haben<br />
• Klauseln <strong>der</strong> Formen (3) und (4) s<strong>in</strong>d leichter<br />
zu handhaben<br />
• Deshalb betrachten wir nun zuerst Formeln,<br />
die nur Klauseln <strong>der</strong> Form (3) und (4) haben<br />
• Sie lassen sich dadurch charakterisieren,<br />
dass sie höchstens e<strong>in</strong> positives Literal enthalten<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 17
3.1 Das Erfüllbarkeitsproblem<br />
Inhalt<br />
3.2 Erfüllbarkeitstests: Vorbereitungen<br />
✄ 3.3 Hornformeln<br />
3.4 Aussagenlogische Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 18
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4)<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4)<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
• Intuitiv formuliert, berechnet <strong>der</strong> Algorithmus die<br />
Menge <strong>der</strong> Variablen, die durch e<strong>in</strong>e Wahrheitsbelegung<br />
wahr gemacht werden müssen, damit die<br />
Formel wahr wird<br />
• Dabei wendet er folgende Regeln an:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
• Intuitiv formuliert, berechnet <strong>der</strong> Algorithmus die<br />
Menge <strong>der</strong> Variablen, die durch e<strong>in</strong>e Wahrheitsbelegung<br />
wahr gemacht werden müssen, damit die<br />
Formel wahr wird<br />
• Dabei wendet er folgende Regeln an:<br />
◮ Wenn die Klausel ⊤ → A <strong>in</strong> F vorkommt,<br />
muss α(A) = 1 gelten, damit �F�α = 1<br />
se<strong>in</strong> kann<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
• Intuitiv formuliert, berechnet <strong>der</strong> Algorithmus die<br />
Menge <strong>der</strong> Variablen, die durch e<strong>in</strong>e Wahrheitsbelegung<br />
wahr gemacht werden müssen, damit die<br />
Formel wahr wird<br />
• Dabei wendet er folgende Regeln an:<br />
◮ Wenn die Klausel ⊤ → A <strong>in</strong> F vorkommt,<br />
muss α(A) = 1 gelten, damit �F�α = 1<br />
se<strong>in</strong> kann<br />
◮ Wenn es e<strong>in</strong>e Klausel (A ∧ B) → C gibt<br />
und wir schon wissen, dass A und B wahr<br />
se<strong>in</strong> müssen, können wir schließen, dass C<br />
auch wahr se<strong>in</strong> muss<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
• Intuitiv formuliert, berechnet <strong>der</strong> Algorithmus die<br />
Menge <strong>der</strong> Variablen, die durch e<strong>in</strong>e Wahrheitsbelegung<br />
wahr gemacht werden müssen, damit die<br />
Formel wahr wird<br />
• Dabei wendet er folgende Regeln an:<br />
◮ Wenn die Klausel ⊤ → A <strong>in</strong> F vorkommt,<br />
muss α(A) = 1 gelten, damit �F�α = 1<br />
se<strong>in</strong> kann<br />
◮ Wenn es e<strong>in</strong>e Klausel (A ∧ B) → C gibt<br />
und wir schon wissen, dass A und B wahr<br />
se<strong>in</strong> müssen, können wir schließen, dass C<br />
auch wahr se<strong>in</strong> muss<br />
◮ Wenn es e<strong>in</strong>e Klausel (A ∧ B ∧ C) → ⊥<br />
gibt, und wir schon wissen, dass A,B,C wahr<br />
se<strong>in</strong> müssen, so können wir schließen, dass<br />
die Formel unerfüllbar ist<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
• Wir konzentrieren uns <strong>in</strong> diesem Abschnitt<br />
auf Formeln, die nur Klauseln<br />
vom Typ (3) o<strong>der</strong> (4) haben<br />
Def<strong>in</strong>ition<br />
• E<strong>in</strong>e Klausel (L1∨· · ·∨Lk) heißt<br />
Horn-Klausel, falls sie höchstens e<strong>in</strong><br />
positives Literal Li hat<br />
• E<strong>in</strong>e Formel <strong>in</strong> KNF heißt Horn-<br />
Formel, falls alle ihre Klauseln Horn-<br />
Klauseln s<strong>in</strong>d<br />
Beispiel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ A4) ist ke<strong>in</strong>e Horn-Formel<br />
• (A1 ∨ ¬A2 ∨ ¬A3) ∧ (¬A1 ∨<br />
A3 ∨ ¬A4) ist e<strong>in</strong>e Horn-Formel<br />
• Nebenbei: Horn-Formeln s<strong>in</strong>d nach<br />
dem <strong>Logik</strong>er Alfred Horn (1918-2001)<br />
benannt<br />
Hornklauseln und Hornformeln<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest für<br />
Horn-Formeln, den <strong>Markierungsalgorithmus</strong><br />
• Intuitiv formuliert, berechnet <strong>der</strong> Algorithmus die<br />
Menge <strong>der</strong> Variablen, die durch e<strong>in</strong>e Wahrheitsbelegung<br />
wahr gemacht werden müssen, damit die<br />
Formel wahr wird<br />
• Dabei wendet er folgende Regeln an:<br />
◮ Wenn die Klausel ⊤ → A <strong>in</strong> F vorkommt,<br />
muss α(A) = 1 gelten, damit �F�α = 1<br />
se<strong>in</strong> kann<br />
◮ Wenn es e<strong>in</strong>e Klausel (A ∧ B) → C gibt<br />
und wir schon wissen, dass A und B wahr<br />
se<strong>in</strong> müssen, können wir schließen, dass C<br />
auch wahr se<strong>in</strong> muss<br />
◮ Wenn es e<strong>in</strong>e Klausel (A ∧ B ∧ C) → ⊥<br />
gibt, und wir schon wissen, dass A,B,C wahr<br />
se<strong>in</strong> müssen, so können wir schließen, dass<br />
die Formel unerfüllbar ist<br />
• Der <strong>Markierungsalgorithmus</strong> markiert alle Variablen,<br />
die aufgrund dieser Regeln mit dem Wert 1<br />
belegt werden müssen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 19
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4)∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥)∧<br />
A2∧ ((A4 ∧ A2) → A5)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4)∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥)∧<br />
A2 ∧ ((A4 ∧ A2) → A5)<br />
• Markierte Variablen:<br />
◮ A2<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4) ∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥)∧<br />
A2∧ ((A4 ∧ A2) → A5)<br />
• Markierte Variablen:<br />
◮ A2<br />
◮ A4<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4)∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥)∧<br />
A2∧ ((A4 ∧ A2) → A5)<br />
• Markierte Variablen:<br />
◮ A2<br />
◮ A4<br />
◮ A5<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4)∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥) ∧<br />
A2∧ ((A4 ∧ A2) → A5)<br />
• Markierte Variablen:<br />
◮ A2<br />
◮ A4<br />
◮ A5<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
Erfüllbarkeitstest für Horn-Formeln: <strong>Markierungsalgorithmus</strong><br />
Algorithmus 3.2 : <strong>Markierungsalgorithmus</strong><br />
E<strong>in</strong>gabe: Horn-Formel F<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: Markiere alle Variablen Ai, für die es e<strong>in</strong>e<br />
Klausel Ai <strong>in</strong> F gibt<br />
2: while es gibt Klauseln <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → X <strong>in</strong> F , für die<br />
(a) X1, . . . ,Xk markiert s<strong>in</strong>d und<br />
(b) X noch nicht markiert ist,<br />
do<br />
3: Wähle e<strong>in</strong>e solche Klausel und markiere<br />
X<br />
4: if es gibt e<strong>in</strong>e Klausel <strong>der</strong> Art<br />
(X1 ∧ · · · ∧ Xk) → ⊥ <strong>in</strong> F , für die<br />
X1, . . . ,Xk markiert s<strong>in</strong>d then<br />
5: Ausgabe „unerfüllbar“<br />
6: else<br />
7: Ausgabe „erfüllbar“<br />
Beispiel<br />
• Formel F :<br />
(¬A2 ∨ A4)∧<br />
(¬A2 ∨ ¬A3 ∨ A4 ∨ ¬A1)∧<br />
(¬A5 ∨ ¬A4) ∧ A2∧<br />
(¬A4 ∨ ¬A2 ∨ A5)<br />
• In Implikationsform übersetzt:<br />
(A2 → A4)∧<br />
((A2 ∧ A3 ∧ A1) → A4)∧<br />
((A5 ∧ A4) → ⊥)∧<br />
A2∧ ((A4 ∧ A2) → A5)<br />
• Markierte Variablen:<br />
◮ A2<br />
◮ A4<br />
◮ A5<br />
• F ist unerfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 20
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
◮ Falls α(X) = 0, ist<br />
�X1 ∧ · · · ∧ Xk�α = 0,<br />
da sonst <strong>der</strong> Algorithmus X markiert<br />
hätte<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
◮ Falls α(X) = 0, ist<br />
�X1 ∧ · · · ∧ Xk�α = 0,<br />
da sonst <strong>der</strong> Algorithmus X markiert<br />
hätte<br />
◮ Also gilt auch dann: �C�α = 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
◮ Falls α(X) = 0, ist<br />
�X1 ∧ · · · ∧ Xk�α = 0,<br />
da sonst <strong>der</strong> Algorithmus X markiert<br />
hätte<br />
◮ Also gilt auch dann: �C�α = 1<br />
• 2. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
◮ Dann ist analog �X1∧· · ·∧Xk�α =<br />
0, da sonst <strong>der</strong> Algorithmus „unerfüllbar“<br />
ausgegeben hätte<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
◮ Falls α(X) = 0, ist<br />
�X1 ∧ · · · ∧ Xk�α = 0,<br />
da sonst <strong>der</strong> Algorithmus X markiert<br />
hätte<br />
◮ Also gilt auch dann: �C�α = 1<br />
• 2. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
◮ Dann ist analog �X1∧· · ·∧Xk�α =<br />
0, da sonst <strong>der</strong> Algorithmus „unerfüllbar“<br />
ausgegeben hätte<br />
◮ Also gilt wie<strong>der</strong>: �C�α = 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (1/2)<br />
Satz 3.3<br />
• Algorithmus 3.2 löst das Erfüllbarkeitsproblem<br />
für Horn-Formeln F <strong>in</strong> Laufzeit<br />
O(|F|)<br />
(bei geeigneter Implementierung)<br />
Beweisskizze<br />
• Sei F e<strong>in</strong>e Formel mit n Variablen<br />
• Zunächst ist klar, dass <strong>der</strong> Algorithmus<br />
nach höchstens n Durchläufen <strong>der</strong><br />
WHILE-Schleife term<strong>in</strong>iert<br />
◮ Denn: <strong>in</strong> jedem Durchlauf wird e<strong>in</strong>e Variable<br />
markiert<br />
• (Die O(|F|)-Laufzeit-Schranke zeigen<br />
wir hier nicht)<br />
• Für die <strong>Korrektheit</strong> zeigen wir:<br />
F erfüllbar ⇐⇒<br />
Alg. 3.2 hat die Ausgabe „erfüllbar“<br />
• Wir beg<strong>in</strong>nen mit „⇐“<br />
• Habe <strong>der</strong> Alg. also die Ausgabe „erfüllbar“<br />
• Wir betrachten die markierten Variablen<br />
am Ende <strong>der</strong> Berechnung<br />
Beweisskizze (Forts.)<br />
• Sei α def<strong>in</strong>iert �durch: 1 falls X markiert ist<br />
α(X) = def<br />
0 an<strong>der</strong>nfalls<br />
• Sei nun C e<strong>in</strong>e Klausel von F<br />
• 1. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → X<br />
◮ Falls α(X) = 1 ist auch �C�α = 1<br />
◮ Falls α(X) = 0, ist<br />
�X1 ∧ · · · ∧ Xk�α = 0,<br />
da sonst <strong>der</strong> Algorithmus X markiert<br />
hätte<br />
◮ Also gilt auch dann: �C�α = 1<br />
• 2. Fall: C ist vom Typ<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
◮ Dann ist analog �X1∧· · ·∧Xk�α =<br />
0, da sonst <strong>der</strong> Algorithmus „unerfüllbar“<br />
ausgegeben hätte<br />
◮ Also gilt wie<strong>der</strong>: �C�α = 1<br />
• Also ist F erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 21
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
➨ α(X) = 1<br />
➨ Induktionsbehauptung<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
➨ α(X) = 1<br />
➨ Induktionsbehauptung<br />
• Nach <strong>der</strong> WHILE-Schleife s<strong>in</strong>d also nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Sei nun C e<strong>in</strong>e Klausel von F <strong>der</strong> Form<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
➨ α(X) = 1<br />
➨ Induktionsbehauptung<br />
• Nach <strong>der</strong> WHILE-Schleife s<strong>in</strong>d also nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Sei nun C e<strong>in</strong>e Klausel von F <strong>der</strong> Form<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
➨ �X1 ∧ · · · ∧ Xk�α = 0<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
➨ α(X) = 1<br />
➨ Induktionsbehauptung<br />
• Nach <strong>der</strong> WHILE-Schleife s<strong>in</strong>d also nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Sei nun C e<strong>in</strong>e Klausel von F <strong>der</strong> Form<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
➨ �X1 ∧ · · · ∧ Xk�α = 0<br />
➨ nicht alle Xi s<strong>in</strong>d markiert<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
<strong>Korrektheit</strong> <strong>des</strong> <strong>Markierungsalgorithmus</strong> (2/2)<br />
Beweisskizze (Forts.)<br />
• Sei nun F erfüllbar<br />
• Wir wollen zeigen: <strong>der</strong> Algorithmus gibt<br />
„erfüllbar“ aus<br />
• Sei α e<strong>in</strong>e erfüllende Belegung für F<br />
• Wir zeigen durch Induktion nach m:<br />
(∗) Nach m WHILE-Durchläufen s<strong>in</strong>d nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Für m = 0 ist das offensichtlich, da alle<br />
Formeln <strong>der</strong> Art Ai erfüllt werden müssen<br />
Beweisskizze (Forts.)<br />
• Von m zu m + 1:<br />
◮ (∗) gelte für m<br />
➨ für alle Klauseln (X1∧· · ·∧Xk) →<br />
X, für die X1, . . . ,Xk markiert s<strong>in</strong>d,<br />
gilt �X1 ∧ · · · ∧ Xk�α = 1<br />
➨ α(X) = 1<br />
➨ Induktionsbehauptung<br />
• Nach <strong>der</strong> WHILE-Schleife s<strong>in</strong>d also nur<br />
Variablen X mit α(X) = 1 markiert<br />
• Sei nun C e<strong>in</strong>e Klausel von F <strong>der</strong> Form<br />
(X1 ∧ · · · ∧ Xk) → ⊥<br />
➨ �X1 ∧ · · · ∧ Xk�α = 0<br />
➨ nicht alle Xi s<strong>in</strong>d markiert<br />
➨ Der Algorithmus gibt „erfüllbar“ aus<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 22
Aufgabenstellung<br />
• Sei F die Formel<br />
(B ∨ ¬A ∨ ¬D ∨ ¬C)∧<br />
(¬E ∨ C) ∧ (¬C ∨ A)∧<br />
(¬A ∨ ¬D) ∧ E<br />
(a) Wenden Sie den <strong>Markierungsalgorithmus</strong><br />
auf F an<br />
(b) Geben Sie e<strong>in</strong> m<strong>in</strong>imales Modell von<br />
F an, d.h. e<strong>in</strong> Modell α von F , für das<br />
die Anzahl <strong>der</strong> aussagenlogischen Variablen<br />
X mit α(X) = 1 m<strong>in</strong>imal<br />
ist.<br />
(c) Sei G e<strong>in</strong>e Hornformel und seien α1,<br />
α2 zwei Modelle von G. Zeigen Sie,<br />
dass dann auch die Belegung α mit<br />
α(X) = m<strong>in</strong>(α1(X),α2(X))<br />
für jede aussagenlogische Variable X<br />
e<strong>in</strong> Modell von G ist.<br />
Klausur 07/08, Aufgabe 2<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 23
Aufgabenstellung<br />
• Sei F die Formel<br />
(B ∨ ¬A ∨ ¬D ∨ ¬C)∧<br />
(¬E ∨ C) ∧ (¬C ∨ A)∧<br />
(¬A ∨ ¬D) ∧ E<br />
(a) Wenden Sie den <strong>Markierungsalgorithmus</strong><br />
auf F an<br />
(b) Geben Sie e<strong>in</strong> m<strong>in</strong>imales Modell von<br />
F an, d.h. e<strong>in</strong> Modell α von F , für das<br />
die Anzahl <strong>der</strong> aussagenlogischen Variablen<br />
X mit α(X) = 1 m<strong>in</strong>imal<br />
ist.<br />
(c) Sei G e<strong>in</strong>e Hornformel und seien α1,<br />
α2 zwei Modelle von G. Zeigen Sie,<br />
dass dann auch die Belegung α mit<br />
α(X) = m<strong>in</strong>(α1(X),α2(X))<br />
für jede aussagenlogische Variable X<br />
e<strong>in</strong> Modell von G ist.<br />
Klausur 07/08, Aufgabe 2<br />
Beispiellösung<br />
(a) Markiere E, C, A. Es kann ke<strong>in</strong>e Klausel<br />
mehr bearbeitet werden, also ist die Formel<br />
erfüllbar.<br />
(b) α(E) = α(C) = α(A) = 1 und<br />
α(B) = α(D) = 0.<br />
(c) Es genügt, die Behauptung für jede Klausel<br />
C = L1 ∨ · · · ∨ Ln von G zu zeigen,<br />
wobei nur e<strong>in</strong>es <strong>der</strong> Literale positiv se<strong>in</strong><br />
kann.<br />
1. Fall: Li ist negativ für i = 1, . . . ,n.<br />
Dann existiert e<strong>in</strong> i mit α1(Li) = 1.<br />
Sei Li = ¬Xj. Also gilt α1(Xj) =<br />
0. Also ist auch α(Xj) = 0, also<br />
α(C) = 1<br />
2. Fall: Für e<strong>in</strong> i ist Li positiv. Gilt<br />
α1(Lj) = 1 o<strong>der</strong> α2(Lj) = 1<br />
für e<strong>in</strong> j �= i, so folgt α(Lj) = 1<br />
wie im ersten Fall. An<strong>der</strong>nfalls ist<br />
α1(Li) = α2(Li) = 1 und damit<br />
auch α(Li) = 1.<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 23
3.1 Das Erfüllbarkeitsproblem<br />
Inhalt<br />
3.2 Erfüllbarkeitstests: Vorbereitungen<br />
3.3 Hornformeln<br />
✄ 3.4 Aussagenlogische Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 24
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest,<br />
<strong>der</strong> auch für Klauselmengen funktioniert, die<br />
nicht nur Hornklauseln enthalten:<br />
◮ aussagenlogische Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest,<br />
<strong>der</strong> auch für Klauselmengen funktioniert, die<br />
nicht nur Hornklauseln enthalten:<br />
◮ aussagenlogische Resolution<br />
• Die Grundidee <strong>der</strong> Resolution ist genauso:<br />
◮ Wir versuchen, aus den gegebenen Klauseln<br />
e<strong>in</strong>en Wi<strong>der</strong>spruch herzuleiten<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest,<br />
<strong>der</strong> auch für Klauselmengen funktioniert, die<br />
nicht nur Hornklauseln enthalten:<br />
◮ aussagenlogische Resolution<br />
• Die Grundidee <strong>der</strong> Resolution ist genauso:<br />
◮ Wir versuchen, aus den gegebenen Klauseln<br />
e<strong>in</strong>en Wi<strong>der</strong>spruch herzuleiten<br />
• Allerd<strong>in</strong>gs ist es hier etwas komplizierter:<br />
◮ Statt herzuleiten, welche Variablen den<br />
Wert 1 erhalten müssen, berechnen wir<br />
neue Klauseln, die wahr werden müssten,<br />
wenn die gegebene Klauselmenge<br />
wahr wird<br />
◮ Falls sich dabei die leere Klausel ✷ ergibt,<br />
haben wir den gewünschten Wi<strong>der</strong>spruch<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest,<br />
<strong>der</strong> auch für Klauselmengen funktioniert, die<br />
nicht nur Hornklauseln enthalten:<br />
◮ aussagenlogische Resolution<br />
• Die Grundidee <strong>der</strong> Resolution ist genauso:<br />
◮ Wir versuchen, aus den gegebenen Klauseln<br />
e<strong>in</strong>en Wi<strong>der</strong>spruch herzuleiten<br />
• Allerd<strong>in</strong>gs ist es hier etwas komplizierter:<br />
◮ Statt herzuleiten, welche Variablen den<br />
Wert 1 erhalten müssen, berechnen wir<br />
neue Klauseln, die wahr werden müssten,<br />
wenn die gegebene Klauselmenge<br />
wahr wird<br />
◮ Falls sich dabei die leere Klausel ✷ ergibt,<br />
haben wir den gewünschten Wi<strong>der</strong>spruch<br />
• Wir müssen dann beweisen:<br />
◮ Wenn ✷ ableitbar ist, so ist die Klauselmenge<br />
unerfüllbar<br />
◮ Wenn ✷ nicht ableitbar ist, ist sie erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Ziel <strong>der</strong> aussagenlogischen Resolution<br />
• Der <strong>Markierungsalgorithmus</strong> versucht aus<br />
den gegebenen Klauseln e<strong>in</strong>en Wi<strong>der</strong>spruch<br />
herzuleiten<br />
◮ E<strong>in</strong> solcher Wi<strong>der</strong>spruch kann sich <strong>in</strong> Zeile<br />
4 ergeben, wo er gewissermaßen ⊥<br />
markieren müsste<br />
◮ Da ⊥ aber niemals wahr werden kann,<br />
ergibt sich e<strong>in</strong> Wi<strong>der</strong>spruch<br />
• Der <strong>Markierungsalgorithmus</strong> hat dabei die<br />
Eigenschaft:<br />
◮ wenn er e<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, so ist<br />
die Klauselmenge unerfüllbar<br />
◮ Wenn er ke<strong>in</strong>en Wi<strong>der</strong>spruch f<strong>in</strong>det, ist<br />
sie erfüllbar<br />
• Wir betrachten jetzt e<strong>in</strong>en Erfüllbarkeitstest,<br />
<strong>der</strong> auch für Klauselmengen funktioniert, die<br />
nicht nur Hornklauseln enthalten:<br />
◮ aussagenlogische Resolution<br />
• Die Grundidee <strong>der</strong> Resolution ist genauso:<br />
◮ Wir versuchen, aus den gegebenen Klauseln<br />
e<strong>in</strong>en Wi<strong>der</strong>spruch herzuleiten<br />
• Allerd<strong>in</strong>gs ist es hier etwas komplizierter:<br />
◮ Statt herzuleiten, welche Variablen den<br />
Wert 1 erhalten müssen, berechnen wir<br />
neue Klauseln, die wahr werden müssten,<br />
wenn die gegebene Klauselmenge<br />
wahr wird<br />
◮ Falls sich dabei die leere Klausel ✷ ergibt,<br />
haben wir den gewünschten Wi<strong>der</strong>spruch<br />
• Wir müssen dann beweisen:<br />
◮ Wenn ✷ ableitbar ist, so ist die Klauselmenge<br />
unerfüllbar<br />
◮ Wenn ✷ nicht ableitbar ist, ist sie erfüllbar<br />
• Wir betrachten zunächst die Schlussregeln,<br />
die die aussagenlogische Resolution verwendet<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 25
Resolventen<br />
• Der <strong>Markierungsalgorithmus</strong> basiert auf <strong>der</strong> Idee, dass wir aus den<br />
AL-Formeln A → B und A die Formel B folgern können<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 26
Resolventen<br />
• Der <strong>Markierungsalgorithmus</strong> basiert auf <strong>der</strong> Idee, dass wir aus den<br />
AL-Formeln A → B und A die Formel B folgern können<br />
• Denn: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= A → B und α |= A,<br />
◮ so gilt zwangsläufig auch α |= B<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 26
Resolventen<br />
• Der <strong>Markierungsalgorithmus</strong> basiert auf <strong>der</strong> Idee, dass wir aus den<br />
AL-Formeln A → B und A die Formel B folgern können<br />
• Denn: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= A → B und α |= A,<br />
◮ so gilt zwangsläufig auch α |= B<br />
• E<strong>in</strong>e ähnliche Folgerung: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → B und<br />
◮ α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 26
Resolventen<br />
• Der <strong>Markierungsalgorithmus</strong> basiert auf <strong>der</strong> Idee, dass wir aus den<br />
AL-Formeln A → B und A die Formel B folgern können<br />
• Denn: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= A → B und α |= A,<br />
◮ so gilt zwangsläufig auch α |= B<br />
• E<strong>in</strong>e ähnliche Folgerung: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → B und<br />
◮ α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)<br />
• In Mengenschreibweise: falls α die Klauseln<br />
{¬A1, . . . ,¬Ak,B} und {¬B,C1, . . . ,Cl} wahr<br />
macht, so auch die Klausel {¬A1, . . . ,¬Ak,C1, . . . ,Cl}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 26
Resolventen<br />
• Der <strong>Markierungsalgorithmus</strong> basiert auf <strong>der</strong> Idee, dass wir aus den<br />
AL-Formeln A → B und A die Formel B folgern können<br />
• Denn: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= A → B und α |= A,<br />
◮ so gilt zwangsläufig auch α |= B<br />
• E<strong>in</strong>e ähnliche Folgerung: falls für e<strong>in</strong>e Belegung α gilt<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → B und<br />
◮ α |= B → (C1 ∨ · · · ∨ Cl), so gilt zwangsläufig auch<br />
◮ α |= (A1 ∧ · · · ∧ Ak) → (C1 ∨ · · · ∨ Cl)<br />
• In Mengenschreibweise: falls α die Klauseln<br />
{¬A1, . . . ,¬Ak,B} und {¬B,C1, . . . ,Cl} wahr<br />
macht, so auch die Klausel {¬A1, . . . ,¬Ak,C1, . . . ,Cl}<br />
• Das lässt sich verallgeme<strong>in</strong>ern zu:<br />
◮ Falls α die Klauselmengen {L1, . . . ,Lk,X} und<br />
{L ′ 1 , . . . ,L′ l<br />
{L1, . . . ,Lk,L ′ 1 , . . . ,L′ l }<br />
,¬X} wahr macht, so auch die Resolvente<br />
� dabei s<strong>in</strong>d die Li und L ′ j Literale (können also positiv o<strong>der</strong><br />
negiert se<strong>in</strong>) und X ist e<strong>in</strong>e aussagenlogische Variable<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 26
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
Schlussregeln (1/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Schlussregeln (1/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
•<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Beispiel<br />
{A,B,C} {A,¬B,¬D}<br />
{A,C,¬D}<br />
Schlussregeln (1/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
•<br />
•<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Beispiel<br />
{A,B,C} {A,¬B,¬D}<br />
{A,C,¬D}<br />
{A} {¬A}<br />
✷<br />
Schlussregeln (1/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
•<br />
•<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Beispiel<br />
{A,B,C} {A,¬B,¬D}<br />
{A,C,¬D}<br />
{A} {¬A}<br />
✷<br />
Schlussregeln (1/2)<br />
• Wir def<strong>in</strong>ieren nicht allgeme<strong>in</strong>, was e<strong>in</strong>e<br />
Schlussregel ist<br />
• E<strong>in</strong>e Schlussregel von <strong>der</strong> Form P<br />
Q soll<br />
aber <strong>in</strong>tuitiv bedeuten:<br />
Immer wenn P wahr ist, ist auch Q wahr<br />
◮ Je nach Kontext können P,Q dabei unterschiedliche<br />
Objekte se<strong>in</strong><br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
•<br />
•<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Beispiel<br />
{A,B,C} {A,¬B,¬D}<br />
{A,C,¬D}<br />
{A} {¬A}<br />
✷<br />
Schlussregeln (1/2)<br />
• Wir def<strong>in</strong>ieren nicht allgeme<strong>in</strong>, was e<strong>in</strong>e<br />
Schlussregel ist<br />
• E<strong>in</strong>e Schlussregel von <strong>der</strong> Form P<br />
Q soll<br />
aber <strong>in</strong>tuitiv bedeuten:<br />
Immer wenn P wahr ist, ist auch Q wahr<br />
◮ Je nach Kontext können P,Q dabei unterschiedliche<br />
Objekte se<strong>in</strong><br />
• Wir nennen e<strong>in</strong>e Schlussregel korrekt, wenn<br />
sie diese <strong>in</strong>tuitive Bedeutung <strong>in</strong> e<strong>in</strong>em präzisen<br />
S<strong>in</strong>ne erfüllt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
• Die Folgerungen auf <strong>der</strong> vorherigen Folie<br />
s<strong>in</strong>d Beispiele für Schlussregeln<br />
• Wir schreiben solche Schlussregeln jetzt <strong>in</strong><br />
e<strong>in</strong>er übersichtlicheren Notation<br />
• Die Schlussregel <strong>der</strong> letzten Folie nennen<br />
wir Resolutionsregel und schreiben sie wie<br />
•<br />
•<br />
folgt:<br />
{L1, . . . ,Lk,X} {L ′<br />
1 , . . . ,L′ l ,¬X}<br />
{L1, . . . ,Lk,L ′<br />
1<br />
, . . . ,L′<br />
l }<br />
◮ Dabei stehen k,l für beliebige natürliche<br />
Zahlen, die Li,L ′ j für beliebige Literale<br />
und X für e<strong>in</strong>e AL-Variable<br />
Beispiel<br />
{A,B,C} {A,¬B,¬D}<br />
{A,C,¬D}<br />
{A} {¬A}<br />
✷<br />
Schlussregeln (1/2)<br />
• Wir def<strong>in</strong>ieren nicht allgeme<strong>in</strong>, was e<strong>in</strong>e<br />
Schlussregel ist<br />
• E<strong>in</strong>e Schlussregel von <strong>der</strong> Form P<br />
Q soll<br />
aber <strong>in</strong>tuitiv bedeuten:<br />
Immer wenn P wahr ist, ist auch Q wahr<br />
◮ Je nach Kontext können P,Q dabei unterschiedliche<br />
Objekte se<strong>in</strong><br />
• Wir nennen e<strong>in</strong>e Schlussregel korrekt, wenn<br />
sie diese <strong>in</strong>tuitive Bedeutung <strong>in</strong> e<strong>in</strong>em präzisen<br />
S<strong>in</strong>ne erfüllt<br />
• Im Falle <strong>der</strong> Resolutionsregel bedeutet korrekt<br />
das Folgende:<br />
◮ Für jede Wahl von Zahlen k,l, Literalen<br />
L1, . . . ,Lk, L ′ 1 , . . . ,L′ l<br />
und <strong>der</strong> Va-<br />
riablen X und für jede passende Wahrheitsbelegung<br />
α gilt:<br />
� Falls α |= {L1, . . . ,Lk,X}<br />
� und α |= {L ′ 1 , . . . ,L′ k ,¬X}<br />
� dann gilt auch:<br />
α |= {L1, . . . ,Lk,L ′ 1 , . . . ,L′ l }<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 27
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
◮ Denn: es gibt e<strong>in</strong> Gegenbeispiel<br />
◮ Wir betrachten die Klauseln<br />
� K1 = {A, B, C},<br />
� K2 = {A ′ , ¬B, ¬C}<br />
� und die Belegung α :<br />
A ↦→ 0, B ↦→ 1, C ↦→ 0, A ′ ↦→ 0<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
◮ Denn: es gibt e<strong>in</strong> Gegenbeispiel<br />
◮ Wir betrachten die Klauseln<br />
� K1 = {A, B, C},<br />
� K2 = {A ′ , ¬B, ¬C}<br />
� und die Belegung α :<br />
A ↦→ 0, B ↦→ 1, C ↦→ 0, A ′ ↦→ 0<br />
◮ Klar: α |= K1 und α |= K2<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
◮ Denn: es gibt e<strong>in</strong> Gegenbeispiel<br />
◮ Wir betrachten die Klauseln<br />
� K1 = {A, B, C},<br />
� K2 = {A ′ , ¬B, ¬C}<br />
� und die Belegung α :<br />
A ↦→ 0, B ↦→ 1, C ↦→ 0, A ′ ↦→ 0<br />
◮ Klar: α |= K1 und α |= K2<br />
◮ E<strong>in</strong>e Anwendung <strong>der</strong> nicht korrekten Schlussregel ergibt<br />
die Klausel {A,A ′ }<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
◮ Denn: es gibt e<strong>in</strong> Gegenbeispiel<br />
◮ Wir betrachten die Klauseln<br />
� K1 = {A, B, C},<br />
� K2 = {A ′ , ¬B, ¬C}<br />
� und die Belegung α :<br />
A ↦→ 0, B ↦→ 1, C ↦→ 0, A ′ ↦→ 0<br />
◮ Klar: α |= K1 und α |= K2<br />
◮ E<strong>in</strong>e Anwendung <strong>der</strong> nicht korrekten Schlussregel ergibt<br />
die Klausel {A,A ′ }<br />
◮ Aber: α �|= {A,A ′ }<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Schlussregeln (2/2)<br />
• Wie das folgende Beispiel zeigt, ist e<strong>in</strong>e Schlussregel nicht<br />
zwangsläufig korrekt, auch wenn sie zunächst plausibel<br />
aussieht<br />
Beispiel<br />
• Die folgende Schlussregel ist nicht korrekt:<br />
{L1, . . . , Lk, X,Y } {L ′ 1, . . . ,L ′ l, ¬X, ¬Y }<br />
{L1, . . . , Lk, L ′ 1, . . . , L ′ l}<br />
◮ Denn: es gibt e<strong>in</strong> Gegenbeispiel<br />
◮ Wir betrachten die Klauseln<br />
� K1 = {A, B, C},<br />
� K2 = {A ′ , ¬B, ¬C}<br />
� und die Belegung α :<br />
A ↦→ 0, B ↦→ 1, C ↦→ 0, A ′ ↦→ 0<br />
◮ Klar: α |= K1 und α |= K2<br />
◮ E<strong>in</strong>e Anwendung <strong>der</strong> nicht korrekten Schlussregel ergibt<br />
die Klausel {A,A ′ }<br />
◮ Aber: α �|= {A,A ′ }<br />
• Bevor wir e<strong>in</strong>e Schlussregel verwenden, müssen wir uns<br />
also immer zuerst von ihrer <strong>Korrektheit</strong> überzeugen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 28
Das Resolutionslemma<br />
Lemma 3.4<br />
• Die Resolutionsregel<br />
{L1, . . . , Lk, X} {L ′<br />
1<br />
, . . . , L′<br />
l , ¬X}<br />
{L1, . . . , Lk, L ′<br />
1 , . . . , L′<br />
l }<br />
ist korrekt für alle k ≥ 0 und l ≥ 0<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 29
Das Resolutionslemma<br />
Lemma 3.4<br />
• Die Resolutionsregel<br />
{L1, . . . , Lk, X} {L ′<br />
1<br />
, . . . , L′<br />
l , ¬X}<br />
{L1, . . . , Lk, L ′<br />
1 , . . . , L′<br />
l }<br />
ist korrekt für alle k ≥ 0 und l ≥ 0<br />
Beweis<br />
• Seien L1, . . . , Lk, L ′ 1 , . . . , L′ l<br />
X ∈ AV<br />
Literale und<br />
• Sei α e<strong>in</strong>e Belegung, die {L1, . . . , Lk, X}<br />
und {L ′ 1 , . . . , L′ l , ¬X} wahr macht<br />
• Sei K = def {L1, . . . , Lk, L ′ 1 , . . . , L′ l }<br />
• Wir unterscheiden zwei Fälle:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 29
Das Resolutionslemma<br />
Lemma 3.4<br />
• Die Resolutionsregel<br />
{L1, . . . , Lk, X} {L ′<br />
1<br />
, . . . , L′<br />
l , ¬X}<br />
{L1, . . . , Lk, L ′<br />
1 , . . . , L′<br />
l }<br />
ist korrekt für alle k ≥ 0 und l ≥ 0<br />
Beweis<br />
• Seien L1, . . . , Lk, L ′ 1 , . . . , L′ l<br />
X ∈ AV<br />
Literale und<br />
• Sei α e<strong>in</strong>e Belegung, die {L1, . . . , Lk, X}<br />
und {L ′ 1 , . . . , L′ l , ¬X} wahr macht<br />
• Sei K = def {L1, . . . , Lk, L ′ 1 , . . . , L′ l }<br />
• Wir unterscheiden zwei Fälle:<br />
◮ 1. Fall: α(X) = 1<br />
� Dann gilt α |= {L ′ 1 · · · L′ l }<br />
� Also auch: α |= K<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 29
Das Resolutionslemma<br />
Lemma 3.4<br />
• Die Resolutionsregel<br />
{L1, . . . , Lk, X} {L ′<br />
1<br />
, . . . , L′<br />
l , ¬X}<br />
{L1, . . . , Lk, L ′<br />
1 , . . . , L′<br />
l }<br />
ist korrekt für alle k ≥ 0 und l ≥ 0<br />
Beweis<br />
• Seien L1, . . . , Lk, L ′ 1 , . . . , L′ l<br />
X ∈ AV<br />
Literale und<br />
• Sei α e<strong>in</strong>e Belegung, die {L1, . . . , Lk, X}<br />
und {L ′ 1 , . . . , L′ l , ¬X} wahr macht<br />
• Sei K = def {L1, . . . , Lk, L ′ 1 , . . . , L′ l }<br />
• Wir unterscheiden zwei Fälle:<br />
◮ 1. Fall: α(X) = 1<br />
� Dann gilt α |= {L ′ 1 · · · L′ l }<br />
� Also auch: α |= K<br />
◮ 2. Fall: α(X) = 0<br />
� Dann gilt α |= {L1 · · · Lk}<br />
� Also auch: α |= K<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 29
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er<br />
Resolventen K aus zwei Klauseln<br />
K1,K2 nennen wir e<strong>in</strong>en Resolutionsschritt<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,C}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{B}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{¬B} {B}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{¬B} {B}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30<br />
✷
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{¬B} {B}<br />
✷<br />
• Insgesamt erhalten wir hier die leere Klausel (✷)<br />
als letzte Resolvente<br />
• Was können wir daraus folgern?<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{¬B} {B}<br />
✷<br />
• Insgesamt erhalten wir hier die leere Klausel (✷)<br />
als letzte Resolvente<br />
• Was können wir daraus folgern?<br />
◮ Da jede Belegung, die zwei Klauseln wahr<br />
macht, auch ihre Resolvente wahr macht, und<br />
✷ nicht erfüllbar ist, folgt: die vier Klauseln s<strong>in</strong>d<br />
nicht (zusammen) erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
• Die Resolutionsmethode erzeugt aus<br />
e<strong>in</strong>er gegebenen Menge K von Klauseln<br />
durch Anwendung <strong>der</strong> Resolutionsregel<br />
neue Klauseln<br />
• Wir werden sehen: wenn sich dabei<br />
die leere Klausel ✷ ergibt, ist K unerfüllbar<br />
• Die e<strong>in</strong>malige Anwendung <strong>der</strong> Resolutionsregel<br />
zur Herleitung e<strong>in</strong>er Resolventen<br />
K aus zwei Klauseln K1,K2<br />
nennen wir e<strong>in</strong>en Resolutionsschritt<br />
• E<strong>in</strong> Resolutionsschritt lässt sich als<br />
kle<strong>in</strong>er Baum visualisieren:<br />
{A,¬B} {B,¬C}<br />
{A,¬C}<br />
• Mehrere Resolutionsschritte lassen<br />
sich als etwas größerer Baum darstellen<br />
E<strong>in</strong> „Resolutionsbeweis“<br />
Beispiel<br />
• Mit den Klauseln {A,B,C}, {¬A,B,C},<br />
{B,¬C}, {¬B} lässt sich folgen<strong>der</strong> Baum<br />
gew<strong>in</strong>nen:<br />
{A,B, C} {¬A,B, C}<br />
{B,¬C} {B,C}<br />
{¬B} {B}<br />
✷<br />
• Insgesamt erhalten wir hier die leere Klausel (✷)<br />
als letzte Resolvente<br />
• Was können wir daraus folgern?<br />
◮ Da jede Belegung, die zwei Klauseln wahr<br />
macht, auch ihre Resolvente wahr macht, und<br />
✷ nicht erfüllbar ist, folgt: die vier Klauseln s<strong>in</strong>d<br />
nicht (zusammen) erfüllbar<br />
➞ Mit Resolution lässt sich die Unerfüllbarkeit von<br />
Klauselmengen feststellen!<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 30
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
• Dazu def<strong>in</strong>ieren wir:<br />
◮ Res(K) = def K ∪ {K | K ist Resolvente<br />
zweier Klauseln aus K}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
• Dazu def<strong>in</strong>ieren wir:<br />
◮ Res(K) = def K ∪ {K | K ist Resolvente<br />
zweier Klauseln aus K}<br />
◮ Res 1 (K)= def Res(K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
• Dazu def<strong>in</strong>ieren wir:<br />
◮ Res(K) = def K ∪ {K | K ist Resolvente<br />
zweier Klauseln aus K}<br />
◮ Res 1 (K)= def Res(K)<br />
◮ Res k (K)= def Res(Res k−1 (K)), für je<strong>des</strong> k > 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
• Dazu def<strong>in</strong>ieren wir:<br />
◮ Res(K) = def K ∪ {K | K ist Resolvente<br />
zweier Klauseln aus K}<br />
◮ Res 1 (K)= def Res(K)<br />
◮ Res k (K)= def Res(Res k−1 (K)), für je<strong>des</strong> k > 1<br />
◮ Res ∞ (K)= def<br />
�<br />
k≥1<br />
Res k (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (1/5)<br />
• Also: wenn aus e<strong>in</strong>er Klauselmenge K die leere Klausel ✷ durch<br />
Anwendung <strong>der</strong> Resolutionsregel erreicht wird, so ist K unerfüllbar<br />
◮ Das müssen wir allerd<strong>in</strong>gs noch allgeme<strong>in</strong> beweisen<br />
• Außerdem werden wir zeigen, dass die Umkehrung auch gilt<br />
• Zur Vorbereitung def<strong>in</strong>ieren wir zunächst die Menge aller Klauseln,<br />
die sich aus K durch Anwendung von Resolutionsschritten erreichen<br />
lassen<br />
• Dazu def<strong>in</strong>ieren wir:<br />
◮ Res(K) = def K ∪ {K | K ist Resolvente<br />
zweier Klauseln aus K}<br />
◮ Res 1 (K)= def Res(K)<br />
◮ Res k (K)= def Res(Res k−1 (K)), für je<strong>des</strong> k > 1<br />
◮ Res ∞ (K)= def<br />
�<br />
k≥1<br />
Res k (K)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar, wenn<br />
✷ ∈ Res ∞ (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 31
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
➨ Da ke<strong>in</strong>e Belegung die Klausel ✷ wahr machen kann, ist also Res k (K)<br />
unerfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
➨ Da ke<strong>in</strong>e Belegung die Klausel ✷ wahr machen kann, ist also Res k (K)<br />
unerfüllbar<br />
◮ Aus dem Resolutionslemma folgt:<br />
� Für jede Klauselmenge K ′ gilt: K ′ erfüllbar ⇒ Res(K ′ ) erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
➨ Da ke<strong>in</strong>e Belegung die Klausel ✷ wahr machen kann, ist also Res k (K)<br />
unerfüllbar<br />
◮ Aus dem Resolutionslemma folgt:<br />
� Für jede Klauselmenge K ′ gilt: K ′ erfüllbar ⇒ Res(K ′ ) erfüllbar<br />
◮ Wäre K erfüllbar, dann wäre also auch Res 1 (K) erfüllbar<br />
◮ Dann wäre auch Res 2 (K) erfüllbar, ...<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
➨ Da ke<strong>in</strong>e Belegung die Klausel ✷ wahr machen kann, ist also Res k (K)<br />
unerfüllbar<br />
◮ Aus dem Resolutionslemma folgt:<br />
� Für jede Klauselmenge K ′ gilt: K ′ erfüllbar ⇒ Res(K ′ ) erfüllbar<br />
◮ Wäre K erfüllbar, dann wäre also auch Res 1 (K) erfüllbar<br />
◮ Dann wäre auch Res 2 (K) erfüllbar, ...<br />
◮ Induktion liefert: Wäre K erfüllbar, dann wäre auch Res k (K) erfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (2/5)<br />
Satz 3.5 [Resolutionssatz]<br />
• E<strong>in</strong>e endliche Klauselmenge K ist genau dann unerfüllbar,<br />
wenn ✷ ∈ Res ∞ (K)<br />
Beweis<br />
• Wir zeigen:<br />
(1) ✷ ∈ Res ∞ (K) ⇒ K unerfüllbar<br />
(2) K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Wir zeigen zuerst (1), die <strong>Korrektheit</strong> <strong>der</strong> Resolution<br />
◮ Wir nehmen also an: ✷ ∈ Res ∞ (K)<br />
➨ es gibt e<strong>in</strong> k, für das gilt: ✷ ∈ Res k (K)<br />
➨ Da ke<strong>in</strong>e Belegung die Klausel ✷ wahr machen kann, ist also Res k (K)<br />
unerfüllbar<br />
◮ Aus dem Resolutionslemma folgt:<br />
� Für jede Klauselmenge K ′ gilt: K ′ erfüllbar ⇒ Res(K ′ ) erfüllbar<br />
◮ Wäre K erfüllbar, dann wäre also auch Res 1 (K) erfüllbar<br />
◮ Dann wäre auch Res 2 (K) erfüllbar, ...<br />
◮ Induktion liefert: Wäre K erfüllbar, dann wäre auch Res k (K) erfüllbar<br />
◮ Da Res k (K) aber unerfüllbar ist, können wir folgern, dass auch K unerfüllbar<br />
ist<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 32
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
• n−1 → n:<br />
◮ Sei also K unerfüllbar mit Variablen {A1, . . . ,An}<br />
◮ Sei K1 die Klauselmenge, die aus K entsteht, <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen An (positiv) vorkommt, gestrichen werden, und<br />
� ¬An aus allen Klauseln entfernt wird<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
• n−1 → n:<br />
◮ Sei also K unerfüllbar mit Variablen {A1, . . . ,An}<br />
◮ Sei K1 die Klauselmenge, die aus K entsteht, <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen An (positiv) vorkommt, gestrichen werden, und<br />
� ¬An aus allen Klauseln entfernt wird<br />
◮ Sei dual dazu K2 die Klauselmenge, die aus K entsteht <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen ¬An vorkommt, gestrichen werden, und<br />
� An aus allen Klauseln entfernt wird<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
• n−1 → n:<br />
◮ Sei also K unerfüllbar mit Variablen {A1, . . . ,An}<br />
◮ Sei K1 die Klauselmenge, die aus K entsteht, <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen An (positiv) vorkommt, gestrichen werden, und<br />
� ¬An aus allen Klauseln entfernt wird<br />
◮ Sei dual dazu K2 die Klauselmenge, die aus K entsteht <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen ¬An vorkommt, gestrichen werden, und<br />
� An aus allen Klauseln entfernt wird<br />
◮ Behauptung: K1 und K2 s<strong>in</strong>d unerfüllbar<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
• n−1 → n:<br />
◮ Sei also K unerfüllbar mit Variablen {A1, . . . ,An}<br />
◮ Sei K1 die Klauselmenge, die aus K entsteht, <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen An (positiv) vorkommt, gestrichen werden, und<br />
� ¬An aus allen Klauseln entfernt wird<br />
◮ Sei dual dazu K2 die Klauselmenge, die aus K entsteht <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen ¬An vorkommt, gestrichen werden, und<br />
� An aus allen Klauseln entfernt wird<br />
◮ Behauptung: K1 und K2 s<strong>in</strong>d unerfüllbar<br />
� Denn: an<strong>der</strong>nfalls könnte e<strong>in</strong>e erfüllende Belegung α1 von K1<br />
durch α1(An) = def 1 o<strong>der</strong> e<strong>in</strong>e erfüllende Belegung α2 von<br />
K2 durch α2(An) = def 0 zu e<strong>in</strong>er erfüllenden Belegung von K<br />
erweitert werden<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (3/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Wir zeigen jetzt (2), die Vollständigkeit <strong>der</strong> Resolution:<br />
◮ K unerfüllbar ⇒ ✷ ∈ Res ∞ (K)<br />
• Der Beweis ist e<strong>in</strong>e Induktion nach <strong>der</strong> Anzahl n <strong>der</strong> Variablen <strong>in</strong> K<br />
• n = 0:<br />
◮ Da K ke<strong>in</strong>e Variablen enthält, aber unerfüllbar ist, muss K die leere<br />
Klausel ✷ enthalten �<br />
• n−1 → n:<br />
◮ Sei also K unerfüllbar mit Variablen {A1, . . . ,An}<br />
◮ Sei K1 die Klauselmenge, die aus K entsteht, <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen An (positiv) vorkommt, gestrichen werden, und<br />
� ¬An aus allen Klauseln entfernt wird<br />
◮ Sei dual dazu K2 die Klauselmenge, die aus K entsteht <strong>in</strong>dem<br />
� Klauseln, <strong>in</strong> denen ¬An vorkommt, gestrichen werden, und<br />
� An aus allen Klauseln entfernt wird<br />
◮ Behauptung: K1 und K2 s<strong>in</strong>d unerfüllbar<br />
� Denn: an<strong>der</strong>nfalls könnte e<strong>in</strong>e erfüllende Belegung α1 von K1<br />
durch α1(An) = def 1 o<strong>der</strong> e<strong>in</strong>e erfüllende Belegung α2 von<br />
K2 durch α2(An) = def 0 zu e<strong>in</strong>er erfüllenden Belegung von K<br />
erweitert werden<br />
◮ Mit Induktion folgt: ✷ ∈ Res ∞ (K1) und ✷ ∈ Res ∞ (K2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 33
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
∗ Daraus folgt, dass aus jedem Resolutionsbaum<br />
für K1 e<strong>in</strong> Resolutionsbaum<br />
für K gewonnen werden kann, <strong>in</strong>dem,<br />
wenn nötig, Klauseln um ¬An ergänzt<br />
werden (Beispiel gleich)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
∗ Daraus folgt, dass aus jedem Resolutionsbaum<br />
für K1 e<strong>in</strong> Resolutionsbaum<br />
für K gewonnen werden kann, <strong>in</strong>dem,<br />
wenn nötig, Klauseln um ¬An ergänzt<br />
werden (Beispiel gleich)<br />
∗ Insbeson<strong>der</strong>e wird aus dem Resolutionsbaum<br />
für ✷ dann e<strong>in</strong> Resolutionsbaum<br />
für ✷ o<strong>der</strong> {¬An}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
∗ Daraus folgt, dass aus jedem Resolutionsbaum<br />
für K1 e<strong>in</strong> Resolutionsbaum<br />
für K gewonnen werden kann, <strong>in</strong>dem,<br />
wenn nötig, Klauseln um ¬An ergänzt<br />
werden (Beispiel gleich)<br />
∗ Insbeson<strong>der</strong>e wird aus dem Resolutionsbaum<br />
für ✷ dann e<strong>in</strong> Resolutionsbaum<br />
für ✷ o<strong>der</strong> {¬An}<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Analog lässt sich mit Hilfe von K2 zeigen:<br />
✷ ∈ Res k (K) o<strong>der</strong><br />
{An} ∈ Res k (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
∗ Daraus folgt, dass aus jedem Resolutionsbaum<br />
für K1 e<strong>in</strong> Resolutionsbaum<br />
für K gewonnen werden kann, <strong>in</strong>dem,<br />
wenn nötig, Klauseln um ¬An ergänzt<br />
werden (Beispiel gleich)<br />
∗ Insbeson<strong>der</strong>e wird aus dem Resolutionsbaum<br />
für ✷ dann e<strong>in</strong> Resolutionsbaum<br />
für ✷ o<strong>der</strong> {¬An}<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Analog lässt sich mit Hilfe von K2 zeigen:<br />
✷ ∈ Res k (K) o<strong>der</strong><br />
{An} ∈ Res k (K)<br />
• Also gilt <strong>in</strong>sgesamt:<br />
◮ ✷ ∈ Res k (K) o<strong>der</strong><br />
◮ {An} ∈ Res k (K) und<br />
{¬An} ∈ Res k (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (4/5)<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
– Wir wissen also: ✷ ∈ Res ∞ (K1) und<br />
✷ ∈ Res ∞ (K2)<br />
– Es gibt <strong>des</strong>halb e<strong>in</strong> k, so dass gilt:<br />
✷ ∈ Res k (K1) und ✷ ∈ Res k (K2)<br />
– Behauptung: ✷ ∈ Res k (K) o<strong>der</strong><br />
{¬An} ∈ Res k (K)<br />
∗ Denn: für jede Klausel K aus K1 gilt:<br />
� K kommt <strong>in</strong> K vor o<strong>der</strong><br />
� K ∪ {¬An} kommt <strong>in</strong> K vor<br />
∗ Daraus folgt, dass aus jedem Resolutionsbaum<br />
für K1 e<strong>in</strong> Resolutionsbaum<br />
für K gewonnen werden kann, <strong>in</strong>dem,<br />
wenn nötig, Klauseln um ¬An ergänzt<br />
werden (Beispiel gleich)<br />
∗ Insbeson<strong>der</strong>e wird aus dem Resolutionsbaum<br />
für ✷ dann e<strong>in</strong> Resolutionsbaum<br />
für ✷ o<strong>der</strong> {¬An}<br />
Beweis <strong>des</strong> Resolutionssatzes (Forts.)<br />
• Analog lässt sich mit Hilfe von K2 zeigen:<br />
✷ ∈ Res k (K) o<strong>der</strong><br />
{An} ∈ Res k (K)<br />
• Also gilt <strong>in</strong>sgesamt:<br />
◮ ✷ ∈ Res k (K) o<strong>der</strong><br />
◮ {An} ∈ Res k (K) und<br />
{¬An} ∈ Res k (K)<br />
• In jedem Fall folgt: ✷ ∈ Res k+1 (K) �<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 34
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
{¬A2} {A2}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35<br />
✷
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{A1,A2} {¬A1,A2}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
{A1,A2} {¬A1,A2}<br />
{A2}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
{A1,A2} {¬A1,A2}<br />
{¬A2} {A2}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{¬A3}<br />
{A1,A2} {¬A1,A2}<br />
{¬A2} {A2}<br />
✷<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{A3}<br />
{¬A3}<br />
{A1,A2 ,A3 } {¬A1,A2 ,A3 }<br />
{¬A2} {A2 ,A3 }<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
Der Resolutionssatz <strong>der</strong> Aussagenlogik (5/5)<br />
Beispiel zur Illustration <strong>des</strong> Beweises von Satz 3.5<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• K1 = {{A2}, {¬A2}}<br />
• K2 = {{A1,A2}, {¬A1,A2}, {¬A2}}<br />
• E<strong>in</strong> Resolutionsbaum für K1:<br />
• E<strong>in</strong> Resolutionsbaum für K2:<br />
{¬A2} {A2 ,¬A3 }<br />
{A3}<br />
{¬A3}<br />
{A1,A2 ,A3 } {¬A1,A2 ,A3 }<br />
{¬A2} {A2 ,A3 }<br />
• Also: hier s<strong>in</strong>d {A3}, {¬A3} ∈ Res 2 (K) und <strong>des</strong>halb auch<br />
✷ ∈ Res 3 (K)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 35
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen: ≤ 4 n<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen: ≤ 4 n<br />
• Wie aufwändig ist dieser Algorithmus?<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen: ≤ 4 n<br />
• Wie aufwändig ist dieser Algorithmus?<br />
• Obere Schranke, wie gesagt: nach maximal<br />
4 n Schleifendurchläufen endet <strong>der</strong> Algorithmus<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen: ≤ 4 n<br />
• Wie aufwändig ist dieser Algorithmus?<br />
• Obere Schranke, wie gesagt: nach maximal<br />
4 n Schleifendurchläufen endet <strong>der</strong> Algorithmus<br />
• Untere Schranke: es gibt (Familien von) Formeln,<br />
für die exponentiell viele Schleifendurchläufe<br />
nötig s<strong>in</strong>d<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
E<strong>in</strong> Erfüllbarkeitstest für AL-Formeln<br />
• Aus dem Resolutionssatz können wir sofort<br />
folgenden Algorithmus zum Testen <strong>der</strong> Erfüllbarkeit<br />
e<strong>in</strong>er AL-Formel gew<strong>in</strong>nen<br />
Algorithmus 3.6 : Resolutionsalgorithmus<br />
E<strong>in</strong>gabe: AL-Formel F <strong>in</strong> KNF<br />
Ausgabe: „ja“, falls F erfüllbar ist, sonst<br />
„ne<strong>in</strong>“<br />
1: K := K(F)<br />
2: repeat<br />
3: K ′ := K<br />
4: K := Res(K)<br />
5: until K = K ′ o<strong>der</strong> ✷ ∈ K<br />
6: if ✷ ∈ K then<br />
7: Ausgabe „ne<strong>in</strong>“<br />
8: else<br />
9: Ausgabe „ja“<br />
• Die <strong>Korrektheit</strong> dieses Algorithmus folgt aus<br />
dem Resolutionssatz<br />
• Der Algorithmus term<strong>in</strong>iert immer, da die<br />
Menge K nicht unbegrenzt wachsen kann:<br />
◮ K kann höchstens so viele Klauseln enthalten,<br />
wie sich aus den n Variablen von<br />
F bilden lassen: ≤ 4 n<br />
• Wie aufwändig ist dieser Algorithmus?<br />
• Obere Schranke, wie gesagt: nach maximal<br />
4 n Schleifendurchläufen endet <strong>der</strong> Algorithmus<br />
• Untere Schranke: es gibt (Familien von) Formeln,<br />
für die exponentiell viele Schleifendurchläufe<br />
nötig s<strong>in</strong>d<br />
Satz 3.7 [Haken 85]<br />
Es gibt e<strong>in</strong> c > 1 und e<strong>in</strong>e Folge F1,F2, . . .<br />
unerfüllbarer AL-Formeln mit<br />
• Fn hat ≤ n 3 Variablen<br />
• Algorithmus 3.6 benötigt bei E<strong>in</strong>gabe Fn<br />
m<strong>in</strong><strong>des</strong>tens c n Schleifendurchläufe<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 36
Beispiel-Berechnung zu Algorithmus 3.6<br />
Beispiel<br />
• E<strong>in</strong>gabe:<br />
F = (A1 ∨ A2 ∨ A3) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3) ∧ (A2 ∨ ¬A3)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 37
Beispiel-Berechnung zu Algorithmus 3.6<br />
Beispiel<br />
• E<strong>in</strong>gabe:<br />
F = (A1 ∨ A2 ∨ A3) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3) ∧ (A2 ∨ ¬A3)<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 37
Beispiel-Berechnung zu Algorithmus 3.6<br />
Beispiel<br />
• E<strong>in</strong>gabe:<br />
F = (A1 ∨ A2 ∨ A3) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3) ∧ (A2 ∨ ¬A3)<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• Res 1 (K) = K ∪ {{A2,A3},{¬A3},{A1,A3},<br />
{¬A1,A3},{A1,A2},{¬A1,A2}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 37
Beispiel-Berechnung zu Algorithmus 3.6<br />
Beispiel<br />
• E<strong>in</strong>gabe:<br />
F = (A1 ∨ A2 ∨ A3) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3) ∧ (A2 ∨ ¬A3)<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• Res 1 (K) = K ∪ {{A2,A3},{¬A3},{A1,A3},<br />
{¬A1,A3},{A1,A2},{¬A1,A2}}<br />
• Res 2 (K) = Res 1 (K) ∪ {{A1},{¬A1},{A2},{A3}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 37
Beispiel-Berechnung zu Algorithmus 3.6<br />
Beispiel<br />
• E<strong>in</strong>gabe:<br />
F = (A1 ∨ A2 ∨ A3) ∧ ¬A2 ∧ (A2 ∨ ¬A1 ∨ A3) ∧ (A2 ∨ ¬A3)<br />
• K = {{A1,A2,A3}, {¬A1,A2,A3}, {A2,¬A3}, {¬A2}}<br />
• Res 1 (K) = K ∪ {{A2,A3},{¬A3},{A1,A3},<br />
{¬A1,A3},{A1,A2},{¬A1,A2}}<br />
• Res 2 (K) = Res 1 (K) ∪ {{A1},{¬A1},{A2},{A3}}<br />
• Res 3 (K) = Res 2 (K) ∪ {✷}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 37
Aufgabenstellung<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Klausur 07/08, Aufgabe 1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 38
Aufgabenstellung<br />
Anton hat gerade se<strong>in</strong>e <strong>Logik</strong>-Klausur geschrieben.<br />
Wie immer diskutiert er im Anschluss<br />
mit se<strong>in</strong>en Kommilitonen über die e<strong>in</strong>zelnen<br />
Aufgaben. Dabei gelangt er zu folgenden<br />
Überlegungen:<br />
1. Für e<strong>in</strong> Bestehen <strong>der</strong> Klausur muss er m<strong>in</strong><strong>des</strong>tens<br />
e<strong>in</strong>e <strong>der</strong> drei Aufgaben richtig gelöst<br />
haben.<br />
2. Aufgabe 3 konnte er nur dann richtig bearbeiten,<br />
wenn er e<strong>in</strong>e <strong>der</strong> ersten beiden<br />
richtig gelöst hat.<br />
3. Er hat die ersten beiden Aufgaben entwe<strong>der</strong><br />
beide richtig o<strong>der</strong> beide falsch gelöst.<br />
(a) Übersetzen Sie Antons Überlegungen <strong>in</strong><br />
aussagenlogische Formeln.<br />
(b) Zeigen Sie mittels aussagenlogischer Resolution,<br />
dass Anton nur dann die Klausur<br />
besteht, wenn er die erste Aufgabe richtig<br />
gelöst hat.<br />
Klausur 07/08, Aufgabe 1<br />
Beispiellösung zu (b)<br />
• Zeige die Unerfüllbarkeit von<br />
(¬B ∨ A1 ∨ A2 ∨ A3)∧<br />
(¬A3 ∨ A1 ∨ A2) ∧ (¬A1 ∨ A2)∧<br />
(A1 ∨ ¬A2) ∧ B ∧ ¬A1<br />
• Lösung zu (b):<br />
{¬B, A1, A2, A3} {B}<br />
{A1, A2, A3}<br />
{A1, A2, ¬A3}<br />
{A1, A2} {A1,¬A2}<br />
{A1} {¬A1}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 38<br />
✷
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
• Formeln zur Modellierung <strong>der</strong> Situation:<br />
◮ „Es sollen n Werte ... abgelegt werden“:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
• Formeln zur Modellierung <strong>der</strong> Situation:<br />
◮ „Es sollen n Werte ... abgelegt werden“:<br />
m�<br />
� Aij, für i = 1, . . . ,n<br />
j=1<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
• Formeln zur Modellierung <strong>der</strong> Situation:<br />
◮ „Es sollen n Werte ... abgelegt werden“:<br />
m�<br />
� Aij, für i = 1, . . . ,n<br />
j=1<br />
◮ „Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle jeweils höchstens e<strong>in</strong><br />
Wert abgespeichert werden“:<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
• Formeln zur Modellierung <strong>der</strong> Situation:<br />
◮ „Es sollen n Werte ... abgelegt werden“:<br />
m�<br />
� Aij, für i = 1, . . . ,n<br />
j=1<br />
◮ „Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle jeweils höchstens e<strong>in</strong><br />
Wert abgespeichert werden“:<br />
�<br />
�<br />
i 1 ,i 2 ∈{1,...,n}<br />
i 1 �=i 2<br />
¬(Ai1j ∧ Ai2j)<br />
für j = 1, . . . ,m<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Aufgabenstellung<br />
• Es sollen n Werte<br />
a1, . . . ,an <strong>in</strong> m Speicherstellen<br />
s1, . . . ,sm<br />
abgelegt werden, wobei n<br />
und m natürliche Zahlen<br />
s<strong>in</strong>d<br />
• Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle<br />
jeweils höchstens<br />
e<strong>in</strong> Wert abgespeichert<br />
werden<br />
(a) Stellen Sie e<strong>in</strong>e aussagenlogische<br />
Formel Fnm<br />
auf, die die obige Situation<br />
beschreibt.<br />
(b) Zeigen Sie mittels Resolution,<br />
dass es unmöglich<br />
ist, drei Datenwerte<br />
<strong>in</strong> zwei Speicherstellen<br />
abzulegen.<br />
Noch e<strong>in</strong> Resolutionsbeispiel (1/2)<br />
Lösungsansatz<br />
• Variablen für atomare Aussagen:<br />
◮ Aij: „Wert ai wird <strong>in</strong> Speicherzelle sj abgelegt“,<br />
für i = 1, . . . ,n und j = 1, . . . ,m<br />
• Formeln zur Modellierung <strong>der</strong> Situation:<br />
◮ „Es sollen n Werte ... abgelegt werden“:<br />
m�<br />
� Aij, für i = 1, . . . ,n<br />
j=1<br />
◮ „Dabei kann <strong>in</strong> e<strong>in</strong>er Speicherstelle jeweils höchstens e<strong>in</strong><br />
Wert abgespeichert werden“:<br />
�<br />
�<br />
i 1 ,i 2 ∈{1,...,n}<br />
i 1 �=i 2<br />
¬(Ai1j ∧ Ai2j)<br />
• Für (a) ergibt sich <strong>in</strong>sgesamt die Formel:<br />
Fnm =<br />
n�<br />
m�<br />
i=1 j=1<br />
Aij ∧<br />
m�<br />
j=1<br />
�<br />
i 1 ,i 2 ∈{1,...,n}<br />
i 1 �=i 2<br />
für j = 1, . . . ,m<br />
¬(Ai1j ∧Ai2j)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 39
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A11,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A11,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{¬A11,¬A32}<br />
{A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A11,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{¬A11,¬A32}<br />
{¬A11,A32}<br />
{A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A11,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{¬A11,¬A32}<br />
{¬A11,A32}<br />
{A11}<br />
{¬A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40
Noch e<strong>in</strong> Resolutionsbeispiel (2/2)<br />
Beispiel<br />
• Für (b) muss die Unerfüllbarkeit von F32 gezeigt werden<br />
• F32 liefert die Klauselmenge<br />
{{A11,A12},{A21,A22},{A31,A32},{¬A11,¬A21},{¬A11,¬A31},<br />
{¬A21,¬A31},{¬A12,¬A22},{¬A12,¬A32},{¬A22,¬A32}}<br />
{¬A21,¬A31}<br />
{A31,A32}<br />
{A11,A12}<br />
{¬A12,¬A22}<br />
{¬A12,¬A32}<br />
{¬A21,A32}<br />
{A11,¬A22}<br />
{A21,A22}<br />
{¬A11,¬A21}<br />
{A21,A22}<br />
{¬A12,¬A21}<br />
{A11,A21}<br />
{¬A11,A22}<br />
{¬A22,¬A32}<br />
{¬A11,¬A31}<br />
{A31,A32}<br />
{A11,¬A12}<br />
{A11,A12}<br />
{¬A11,¬A32}<br />
{¬A11,A32}<br />
{A11}<br />
{¬A11}<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 40<br />
✷
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
E<strong>in</strong> Zwischenfazit<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
E<strong>in</strong> Zwischenfazit<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
• Die Frage, ob es für dieses Problem e<strong>in</strong>en<br />
Algorithmus mit polynomieller Laufzeit gibt,<br />
ist äquivalent zum berühmtesten offenen<br />
Problem <strong>der</strong> (Theoretischen) <strong>Informatik</strong>:<br />
dem P-NP-Problem<br />
• Näheres dazu erfahren Sie <strong>in</strong> <strong>der</strong> GTI-<br />
Vorlesung<br />
E<strong>in</strong> Zwischenfazit<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
• Die Frage, ob es für dieses Problem e<strong>in</strong>en<br />
Algorithmus mit polynomieller Laufzeit gibt,<br />
ist äquivalent zum berühmtesten offenen<br />
Problem <strong>der</strong> (Theoretischen) <strong>Informatik</strong>:<br />
dem P-NP-Problem<br />
• Näheres dazu erfahren Sie <strong>in</strong> <strong>der</strong> GTI-<br />
Vorlesung<br />
• Hier nur soviel:<br />
◮ Das Erfüllbarkeitsproblem für AL-Formeln<br />
ist NP-vollständig<br />
◮ Wenn es e<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P = NP<br />
◮ Wenn es ke<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P �= NP<br />
E<strong>in</strong> Zwischenfazit<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
• Die Frage, ob es für dieses Problem e<strong>in</strong>en<br />
Algorithmus mit polynomieller Laufzeit gibt,<br />
ist äquivalent zum berühmtesten offenen<br />
Problem <strong>der</strong> (Theoretischen) <strong>Informatik</strong>:<br />
dem P-NP-Problem<br />
• Näheres dazu erfahren Sie <strong>in</strong> <strong>der</strong> GTI-<br />
Vorlesung<br />
• Hier nur soviel:<br />
◮ Das Erfüllbarkeitsproblem für AL-Formeln<br />
ist NP-vollständig<br />
◮ Wenn es e<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P = NP<br />
◮ Wenn es ke<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P �= NP<br />
E<strong>in</strong> Zwischenfazit<br />
• Nichts<strong>des</strong>totrotz:<br />
◮ Die Fähigkeit, <strong>in</strong> <strong>der</strong> Praxis SAT-<br />
Probleme zu lösen (Stichwort: SAT-<br />
Solv<strong>in</strong>g). hat sich <strong>in</strong> den vergangenen<br />
10-15 Jahren gewaltig verbessert<br />
◮ Mittlerweile werden SAT-Solver als Hilfsmittel<br />
<strong>in</strong> vielen Anwendungsbereichen<br />
verwendet, z.B. im (Bounded) Model<br />
Check<strong>in</strong>g<br />
◮ Wer dazu mehr wissen möchte:<br />
� Malik, Zhang: Boolean Satisfiabilty,<br />
Communications of the ACM, August<br />
2009<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
• Die Frage, ob es für dieses Problem e<strong>in</strong>en<br />
Algorithmus mit polynomieller Laufzeit gibt,<br />
ist äquivalent zum berühmtesten offenen<br />
Problem <strong>der</strong> (Theoretischen) <strong>Informatik</strong>:<br />
dem P-NP-Problem<br />
• Näheres dazu erfahren Sie <strong>in</strong> <strong>der</strong> GTI-<br />
Vorlesung<br />
• Hier nur soviel:<br />
◮ Das Erfüllbarkeitsproblem für AL-Formeln<br />
ist NP-vollständig<br />
◮ Wenn es e<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P = NP<br />
◮ Wenn es ke<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P �= NP<br />
E<strong>in</strong> Zwischenfazit<br />
• Nichts<strong>des</strong>totrotz:<br />
◮ Die Fähigkeit, <strong>in</strong> <strong>der</strong> Praxis SAT-<br />
Probleme zu lösen (Stichwort: SAT-<br />
Solv<strong>in</strong>g). hat sich <strong>in</strong> den vergangenen<br />
10-15 Jahren gewaltig verbessert<br />
◮ Mittlerweile werden SAT-Solver als Hilfsmittel<br />
<strong>in</strong> vielen Anwendungsbereichen<br />
verwendet, z.B. im (Bounded) Model<br />
Check<strong>in</strong>g<br />
◮ Wer dazu mehr wissen möchte:<br />
� Malik, Zhang: Boolean Satisfiabilty,<br />
Communications of the ACM, August<br />
2009<br />
• Für e<strong>in</strong>ige e<strong>in</strong>geschränkte Klassen von AL-<br />
Formeln lässt sich das Erfüllbarkeitsproblem<br />
effizient lösen:<br />
◮ Horn-Formeln (das haben wir gesehen)<br />
◮ 2-SAT-Formeln (mit maximal 2 Literalen<br />
je Klausel)<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
• Wir haben jetzt also e<strong>in</strong>en Algorithmus<br />
für das Erfüllbarkeitsproblem für AL-<br />
Formeln, <strong>der</strong> weniger naiv vorgeht als die<br />
Wahrheitstabellen-Methode<br />
• Aber wesentlich effizienter ist er nicht<br />
• Wir wissen sogar: dieser Algorithmus hat<br />
im schlimmsten Fall exponentielle Laufzeit<br />
(Satz von Haken)<br />
• Die Frage, ob es für dieses Problem e<strong>in</strong>en<br />
Algorithmus mit polynomieller Laufzeit gibt,<br />
ist äquivalent zum berühmtesten offenen<br />
Problem <strong>der</strong> (Theoretischen) <strong>Informatik</strong>:<br />
dem P-NP-Problem<br />
• Näheres dazu erfahren Sie <strong>in</strong> <strong>der</strong> GTI-<br />
Vorlesung<br />
• Hier nur soviel:<br />
◮ Das Erfüllbarkeitsproblem für AL-Formeln<br />
ist NP-vollständig<br />
◮ Wenn es e<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P = NP<br />
◮ Wenn es ke<strong>in</strong>en polynomiellen Algorithmus<br />
hat, ist P �= NP<br />
E<strong>in</strong> Zwischenfazit<br />
• Nichts<strong>des</strong>totrotz:<br />
◮ Die Fähigkeit, <strong>in</strong> <strong>der</strong> Praxis SAT-<br />
Probleme zu lösen (Stichwort: SAT-<br />
Solv<strong>in</strong>g). hat sich <strong>in</strong> den vergangenen<br />
10-15 Jahren gewaltig verbessert<br />
◮ Mittlerweile werden SAT-Solver als Hilfsmittel<br />
<strong>in</strong> vielen Anwendungsbereichen<br />
verwendet, z.B. im (Bounded) Model<br />
Check<strong>in</strong>g<br />
◮ Wer dazu mehr wissen möchte:<br />
� Malik, Zhang: Boolean Satisfiabilty,<br />
Communications of the ACM, August<br />
2009<br />
• Für e<strong>in</strong>ige e<strong>in</strong>geschränkte Klassen von AL-<br />
Formeln lässt sich das Erfüllbarkeitsproblem<br />
effizient lösen:<br />
◮ Horn-Formeln (das haben wir gesehen)<br />
◮ 2-SAT-Formeln (mit maximal 2 Literalen<br />
je Klausel)<br />
• Im nächsten Kapitel beschäftigen wir uns<br />
noch mit <strong>der</strong> Erfüllbarkeit von unendlichen<br />
Formelmengen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 41
Zusammenfassung<br />
• Fundamentale Bedeutung <strong>des</strong> Erfüllbarkeitsproblems<br />
für aussagenlogische Formeln<br />
• Resolventen und Resolutionsbeweise und e<strong>in</strong> darauf<br />
basieren<strong>der</strong> Algorithmus für den Erfüllbarkeitstest<br />
• Wichtiges Ergebnis:<br />
◮ Resolutionssatz<br />
• Für das allgeme<strong>in</strong>e Erfüllbarkeitsproblem ist ke<strong>in</strong> effizienter<br />
Algorithmus bekannt<br />
• Für Hornformeln lässt sich das Erfüllbarkeitsproblem<br />
mit Hilfe <strong>des</strong> <strong>Markierungsalgorithmus</strong> effizient lösen<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 42
Än<strong>der</strong>ungslog<br />
• 15.11.10: Folie 25 „Ziel <strong>der</strong> aussagenlogischen Resolution“ e<strong>in</strong>gefügt<br />
<strong>Logik</strong> / Schwentick / WiSe 10/11 A: Aussagenlogik - 3. Erfüllbarkeit . ✁ ✄ Folie 43