30.01.2013 Aufrufe

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

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!