Sie sind auf Seite 1von 152

Formale Logik

Logik für Informatiker Ziel


• Formalisierung und Automatisierung rationalen Denkens
• Rational richtige Ableitung von neuem Wissen aus gegebenem

Viorica Sofronie-Stokkermans
Rolle der Logik in der Informatik

• Anwendung innerhalb der Informatik


e-mail: sofronie@uni-koblenz.de Spezifikation, Programmentwicklung, Programmverifikation

• Werkzeug für Anwendungen außerhalb der Informatik


Künstliche Intelligenz, Wissensrepräsentation

1 3

Logik in der Informatik Modellierung

Was ist Logik?


• Mathematisch?
ja
• Unverständlich?
hoffentlich nein
• Reine Theorie ohne praktischen Nutzen? Abstraktion

nein: Verifikation von Hardware, Software, Protokollen


Sprachverarbeitung und Wissensrepräsentation
Abfragensprachen für Datenbanken; ...

2 4
Modellierung Beispiel: Aufzug

Adäquatheit des Modells


oben oben
Wenn formulierbare Aussage wahr im Modell, dann entsprechende Aussage
wahr in Wirklichkeit

mitte mitte Aufzug mitte


Oben gedruckt

F.nach oben
unten unten

5 7

Beispiel: Aufzug Modellierung: Strukturen


oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt

oben oben Aufzug oben


Mitte gedruckt
F.nach unten F.nach unten
mitte mitte Aufzug mitte mitte
Unten gedruckt

F.nach unten
mitte mitte
F.nach unten
unten unten unten

unten unten

v(AufzugOben) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr


v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr

6 8
Modellierung: Strukturen Formale Logik
oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt
• Syntax
welche Formeln?
F.nach unten F.nach unten
mitte mitte Aufzug mitte mitte
Unten gedruckt
Aufzug mitte • Semantik
Modelle (Strukturen)
F.nach unten
Wann ist eine Formel wahr (in einer Struktur)?
unten unten unten

• Deduktionsmechanismus
Ableitung neuer wahrer Formeln

v(AufzugOben) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr


v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr

9 11

Modellierung: Strukturen Aussagenlogik: Syntax

oben Aufzug oben oben oben Aufzug oben


Die Welt besteht aus Fakten
Mitte gedruckt Mitte gedruckt

Bausteine: Atomare Aussagen

mitte
F.nach unten
mitte Aufzug mitte mitte
F.nach unten Beispiele: Aufzug ist oben:
Aufzug mitte
Unten gedruckt

AufzugOben
F.nach unten
unten unten unten
Mittlerer Knopf gedrückt:

MitteGedrückt

Verknüpft mit logischen Operatoren


Aussagen beziehen sich auf Strukturen
und oder impliziert nicht
(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar ∧ ∨ → ¬

10 12
Aussagenlogik: Syntax Aussagenlogik: Semantik

Komplexe Aussagen: Der Aufzug ist oben und der Aufzug ist nicht unten

Beispiele: AufzugOben ∧ ¬AufzugUnten

Wenn mittlerer Knopf gedrückt, dann Aufzug nicht in der Mitte falsch in: oben

MitteGedrückt → ¬AufzugMitte

mitte Aufzug mitte


Unten gedruckt
Der Aufzug ist oben und der Aufzug ist nicht unten

AufzugOben ∧ ¬AufzugUnten
F.nach unten
unten

13 15

Aussagenlogik: Semantik Aussagenlogik: Deduktionsmechanismus

Der Aufzug ist oben und der Aufzug ist nicht unten • Deduktionsmechanismus
AufzugOben ∧ ¬AufzugUnten Ableitung neuer wahrer Formeln
oben Aufzug oben
wahr in: Mitte gedruckt
Syllogismen:

F.nach unten P P→Q


mitte
Q

Beispiel:

unten

AufzugUnten AufzugUnten → ¬AufzugOben


¬AufzugOben

14 16
Aussagenlogik: Deduktionsmechanismus Prädikatenlogik

Deduktionsmechanismus im allgemeinen Reichere Struktur


Kalkül • Objekte (Elemente)
Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...

In dieser Vorlesung: • Relationen (Eigenschaften)


rot, rund, prim, mehrstöckig, ...
• Wahrheitstafeln ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
• Logische Umformung =, ≥, ...

• Resolutionskalkül • Funktionen
+, Mitte von, Vater von, Anfang von, ...
• Tableaukalkül
• DPLL

17 19

Prädikatenlogik Beispiel: Tante Agatha

Aussagenlogik: Die Welt besteht aus Fakten Eine kleine Logelei:

Jemand, der in Schloss Dreadbury wohnt, hat Tante


... aber: Aussagenlogik hat nur beschränkte Ausdruckskraft Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
waren die einzigen Bewohner von Schloss Dreadbury. Ein
Mörder hasst immer sein Opfer und ist niemals reicher als
sein Opfer. Charles hasst niemanden, den Tante Agatha
Beispiele: gehasst hat. Agatha hat jeden gehasst außer ihrem Butler.
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für Der Butler hasst jeden, der nicht reicher ist als Tante
jeden Mensch. Agatha. Der Butler hasst jeden, den Tante Agatha gehasst
hat. Niemand hasst jeden. Agatha war nicht der Butler.
• Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade”
erfordert eine Formel für jede Zahl. Wer hat Tante Agatha ermordet?

18 20
Beispiel: Tante Agatha Beispiel: Tante Agatha

Zuerst formalisieren wir das Problem: Der Butler hasst jeden, der nicht reicher ist als Tante Agatha.
A
Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha ◮ x (¬
¬ reicher(x, a) → hasst(b, x))
ermordet.
Der Butler hasst jeden, den Tante Agatha gehasst hat.
E
◮ x (schlossbewohner(x) ∧ ermordet(x, a)) A
◮ x (hasst(a, x) → hasst(b, x))
Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Niemand hasst jeden.
Bewohner von Schloss Dreadbury. E A
A ◮ x y (¬
¬ hasst(x, y ))
◮ x (schlossbewohner(x) ↔ (x = a ∨ x = b ∨ x = c))
Agatha war nicht der Butler.
◮ ¬a=b

21 23

Beispiel: Tante Agatha Prädikatenlogik: Deduktionsmechanismus

Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein • Deduktionsmechanismus
Opfer. Ableitung neuer wahrer Formeln
A
◮ x, y (ermordet(x, y ) → hasst(x, y ))
A
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
Syllogismen:
Charles hasst niemanden, den Tante Agatha gehasst hat.
A A A
◮ x (hasst(c, x) → ¬ hasst(a, x)) x(P(x) → Q(x)) x(Q(x) → R(x))
A
x(P(x) → R(x))
Agatha hat jeden gehasst außer ihrem Butler.
A
◮ x (¬
¬ hasst(a, x) ↔ x = b)

22 24
Beispiel: Tante Agatha Beispiel: Tante Agatha

Nun können wir aus den Formeln neue Formeln ableiten. Damit wissen wir schon, dass Charles nicht der Mörder ist.
Beispielweise so: Die weitere Berechnung ist aber mühsam.

ermordet(x, y ) → hasst(x, y ) hasst(c, y ) → ¬hasst(a, y )


ermordet(c, y ) → ¬hasst(a, y ) Glücklicherweise können wir die Arbeit einem automatischen
Theorembeweiser überlassen.

ermordet(c, y ) → ¬hasst(a, y ) ¬hasst(a, y ) → y = b


ermordet(c, y ) → y = b

25 27

Beispiel: Tante Agatha Prädikatenlogik: Deduktionsmechanismus

Nun können wir aus den Formeln neue Formeln ableiten. In dieser Vorlesung:
Beispielweise so: • Resolutionskalkül
• Tableaukalkül

ermordet(x, y ) → hasst(x, y ) hasst(c, y ) → ¬hasst(a, y )


ermordet(c, y ) → ¬hasst(a, y )

ermordet(c, y ) → ¬hasst(a, y ) ¬hasst(a, y ) → y = b


ermordet(c, y ) → y = b

ermordet(c, y ) → y = b ¬(a = b)
¬ermordet(c, a)

26 28
Das ganze Bild Das ganze Bild

Probleme Probleme
(Beschreibung in natürlicher Sprache) (Beschreibung in natürlicher Sprache)

Formalisierung Formalisierung

Logische Sprache: Syntax Logische Sprache: Syntax (automatische)


Aussagenlogik / Prädikatenlogik Aussagenlogik / Prädikatenlogik
Deduktion
Formel Formel

Modelle: Semantik Kalkül


Logik Modelle: Semantik Kalkül
Logik

Vollständigkeit Vollständigkeit
Gültige Formel Beweisbare Formel Gültige Formel Beweisbare Formel
Korrektheit Korrektheit

29 31

Das ganze Bild Inhalt der Vorlesung


• 1. Einführung: Motivation, Beweisstrategien (insb. Induktion)
Probleme • 2. Aussagenlogik
(Beschreibung in natürlicher Sprache) – Syntax und Semantik

Formalisierung
– Deduktionsmechanismen:
- Resolution, Vollständigkeits- und Korrektheitsbeweise
Logische Sprache: Syntax
- Analytische Tableaux; DPLL
Modellierung
Aussagenlogik / Prädikatenlogik • 3. Prädikatenlogik

Formel – Syntax und Semantik


Logik – Deduktionsmechanismen:
Modelle: Semantik Kalkül
- Resolution, Vollständigkeits- und Korrektheitsbeweise
- Analytische Tableaux
Vollständigkeit
Gültige Formel Beweisbare Formel • 4. Weitere Aussichten
Korrektheit - Nichtklassische Logiken; Logiken höherer Stufe
- Anwendungen: z.B. Datenbanken oder Verifikation
30 32
Einführung: Zusammenfassung Mathematisches Beweisen

• Ziel und Rolle der Formalen Logik in der Informatik Mathematische Aussagen
• Modellierung, Adäquatheit der Modellierung - haben oft die Form: Wenn A, dann B.
• Wesentliche Komponenten für jede Logik: Syntax, Semantik, - als Formel: A → B
Deduktionsmechanismus (Kalkül)

• Beispiel Aussagenlogik: Syntax, Semantik, Syllogismen


Mathematischer Beweis
• Beispiel Prädikatenlogik: Syntax, Semantik, Syllogismen
- bzgl. eines vorgegebenen Axiomensystems
• The Whole Picture:
– Formel in der “wahren Welt” / (semantisch) gültige Formel, - mit Hilfe von Inferenzregeln
gültige Formel / ableitbare Formel
– Vollständigkeit und Korrektheit von Kalkülen

33 35

1. Grundlegende Beweisstrategien Grundlegende Beweisstrategien

Mathematische Aussagen der Form A → B (Wenn A, dann B)


- Direkter Beweis:
Annahme: A gilt. Benutze A, Axiome, und Inferenzregeln
um B zu beweisen.

Behauptung: Das Quadrat einer ungeraden natürlichen Zahl n ist stets ungerade.

Beweis: Es sei n eine ungerade natürliche Zahl. Dann lässt sich n darstellen als
n = 2k + 1, wobei k eine natürliche Zahl oder Null ist. Daraus folgt mit Hilfe der
ersten binomischen Formel

n2 = (2k + 1)2 = 4k 2 + 4k + 1 = 2 · (2k 2 + 2k) + 1.

Aus der Möglichkeit, n2 so darzustellen folgt, dass n2 ungerade ist.

34 36
Grundlegende Beweisstrategien Grundlegende Beweisstrategien

Mathematische Aussagen der Form A → B (Wenn A, dann B) Mathematische Aussagen, die nicht die Form A → B haben
- Beweis durch Kontraposition: - Äquivalenzbeweis (A ⇔ B) (A genau dann, wenn B)
Beweis von ¬B → ¬A. Beweise dass A → B und dass B → A.
(Wenn A, dann B, und wenn B, dann A.)
- Beweis durch Widerspruch:
Beweise dass A ∧ ¬B → falsch

Behauptung: Ist die Wurzel aus einer geraden natürlichen Zahl n eine natürliche
Zahl, so ist diese gerade.

n gerade und n = k ∈ N → k gerade

Beweis durch Kontraposition: Zu zeigen:



n = k ∈ N und k ungerade → n ungerade.

37 39

Grundlegende Beweisstrategien Grundlegende Beweisstrategien

Mathematische Aussagen der Form A → B (Wenn A, dann B) - Beweis durch Fallunterscheidung


Um B zu beweisen, beweise dass A1 → B, . . . , An → B,
- Beweis durch Kontraposition:
wobei A1 ∨ · · · ∨ An ≡ wahr
Beweis von ¬B → ¬A.

- Beweis durch Widerspruch: Behauptung: Jede Primzahl p≥3 hat die Form p = 4·k±1 mit einer natürlichen Zahl k.
Beweise dass A ∧ ¬B → falsch
Beweis: Man unterscheidet folgende vier Fälle für die Zahl p, von denen immer genau
einer eintritt:
Behauptung: Ist die Wurzel aus einer geraden natürlichen Zahl n eine natürliche 1. p = 4k
Zahl, so ist diese gerade. 2. p = 4k + 1
3. p = 4k + 2
4. p = 4k + 3 = 4(k + 1) − 1

Beweis: Angenommen, n = k wäre ungerade. Dann ist wegen der bereits be- Im ersten dieser Fälle ist p durch 4 teilbar und damit keine Primzahl, im dritten Fall ist p
wiesenen Behauptung auch k 2 = n ungerade, und das ist ein Widerspruch zu der durch 2 teilbar und somit ebenfalls keine Primzahl.
Voraussetzung, dass n gerade ist. Also muss einer der Fälle zwei oder vier eintreten, das heißt p hat die Form p = 4 · k ± 1

Also ist die getroffene Annahme falsch, d.h., n ist gerade. mit einer natürlichen Zahl k.

38 40
Grundlegende Beweisstrategien Grundlegende Beweisstrategien

- Beweis durch Fallunterscheidung Aussagen mit Quantoren


Um B zu beweisen, beweise dass A1 → B, . . . , An → B, E
x (p(x) → q(x))
wobei A1 ∨ · · · ∨ An ≡ wahr
Sei a ein geeignetes Element aus U.
Beweis der Implikation p(a) → q(a).
E
Damit folgt x ∈ U : p(x) → q(x).
E A
Es sei angemerkt, dass die Fallunterscheidung zwar vollständig sein x y A(x, y )
muss, aber die untersuchten Fälle sich nicht gegenseitig ausschließen
müssen.

41 43

Grundlegende Beweisstrategien Grundlegende Beweisstrategien

Aussagen mit Quantoren Beweise mittels Vollständiger Induktion


A
x ∈ U : (p(x) → q(x))
Wähle a beliebig aus U.
Beweis der Implikation p(a) → q(a).
A
Da a beliebig gewählt werden kann, folgt x ∈ U : p(x) → q(x)

A √ √
Behauptung: n ∈ N : (n ist gerade und n ist eine natürliche Zahl → n ist gerade).
| {z } | {z }
p(n) q(n)

Beweis: Sei n beliebig aus N. Wir zeigen, dass wenn n gerade ist und n eine natürliche

Zahl ist, dann n gerade ist (das wurde auf Seite 6 bewiesen).

42 44
Induktion Induktion über die natürlichen Zahlen

Wesentliches Beweisprinzip in Mathematik und Logik Idee: Definition der natürlichen Zahlen

(A1) 0 ist eine natürliche Zahl


Einfache Version
(A2) Jede natürliche Zahl n hat einen Nachfolger S(n)
Induktion über die natürlichen Zahlen N
(natural induction) (A3) Aus S(n) = S(m) folgt n = m
(A4) 0 ist nicht Nachfolger einer natürlichen Zahl
(A5) Jede Menge X , die 0 und mit jeder natürlichen Zahl n
Generalization auch deren Nachfolger S(n) enthält, umfasst alle
Noethersche Induktion natürlichen Zahlen.
(noetherian induction/
induction over well-founded partially ordered sets)

45 47

Emmy Noether Induktion über die natürlichen Zahlen

(A5) Jede Menge X , die 0 und mit jeder natürlichen Zahl n


auch deren Nachfolger S(n) enthält, umfasst alle
natürlichen Zahlen.
Geboren 1882 in Erlangen A
X Menge: Falls 0 ∈ X , und
Gestorben 1934 in Princeton (USA) A
n ∈N:n ∈X →n+1∈X

Mitbegründerin der modernen Algebra so


A
n∈N:n∈X

Induktionssatz
Gelten die beiden Aussagen:
Allgemein heißt eine geordnete algebraische Struktur - p(0) und
A
noethersch, wenn es in ihr keine unendlich absteigenden - n ∈ N : p(n) → p(n + 1),
A
dann gilt auch n ∈ N : p(n).
Ketten gibt.

46 48
Induktion über die natürlichen Zahlen Induktion über die natürlichen Zahlen

(A5) Jede Menge X , die 0 und mit jeder natürlichen Zahl n Struktur eines Induktionsbeweises
auch deren Nachfolger S(n) enthält, umfasst alle (1) Induktionsbasis: Beweise p(0)
natürlichen Zahlen.
(2) Induktionsvoraussetzung: Für ein beliebig gewähltes
A
X Menge: Falls 0 ∈ X , und n ∈ N gilt p(n)
A
n ∈N:n ∈X →n+1∈X (3) Induktionsschluss: Folgere p(n + 1) aus der

so
A
n∈N:n∈X Induktionsvoraussetzung p(n)

Induktionssatz
Gelten die beiden Aussagen:
- p(0) und Induktionsbasis
A
- n ∈ N : p(n) → p(n + 1), Induktionsschritt
A
dann gilt auch n ∈ N : p(n).

49 51

Induktion über die natürlichen Zahlen Beispiel

Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .


Struktur eines Induktionsbeweises n−1
X
(1) Induktionsbasis: Beweise p(0) Für alle n ∈ N, (2i + 1) = n2 .
i=0
(2) Induktionsschritt: Beweise p(n) → p(n + 1)
für ein beliebiges n ∈ N

50 52
Beispiel Beispiel

Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 . Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .
n−1 n−1
X
X n−1
Für alle n ∈ N, (2i + 1) = n2 . n−1 Für alle n ∈ N, (2i + 1) = n2 . X
(2i + 1) = n2
X
p(n) : (2i + 1) = n2 p(n) :
i=0 i=0
i=0 i=0

(1) Induktionsbasis: Beweise p(0) OK


(1) Induktionsbasis: Beweise p(0)
(2) Induktionsvoraussetzung: Für ein beliebig gewähltes
n = 0: 0 = 02 n−1
X
n ∈ N gilt p(n): (2i + 1) = n2
i=0
(3) Induktionsschluss: Folgere p(n + 1) aus p(n)
Xn
p(n + 1) : (2i + 1) = (n + 1)2 .
i=0

n
X n−1
X p(n) 2 2
Beweis: (2i + 1) = ( (2i + 1)) + (2n + 1) = n + (2n + 1) = (n + 1) .
i=0 i=0

53 55

Beispiel Verallgemeinerte vollständige Induktion

Behauptung: Die Summe der ersten n ungeraden Zahlen ist n2 .


n−1
Verallgemeinerte vollständige Induktion
X
Für alle n ∈ N, (2i + 1) = n2 . n−1
X Gelten die beiden Aussagen:
i=0
p(n) : (2i + 1) = n2
i=0 p(0) und
A
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
(1) Induktionsbasis: Beweise p(0) OK A
dann gilt die Aussage n ∈ N : p(n).
(2) Induktionsvoraussetzung: Für ein beliebig gewähltes
n−1
X
n ∈ N gilt p(n): (2i + 1) = n2
i=0

54 56
Wohlfundierte (Noethersche) Induktion Beispiel

Verallgemeinerte vollständige Induktion • Verallgemeinerte vollständige Induktion


Gelten die beiden Aussagen: Gilt die Aussage:
A A
p(0) und n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n))
A A
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1) dann gilt die Aussage n ∈ N : p(n).
A
dann gilt die Aussage n ∈ N : p(n).

Induktionsvoraussetzung: Für ein beliebig gewähltes


Äquivalent
n ∈ N, gilt p(k) für alle k < n
Gelten die beiden Aussagen:
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung
p(0) und
A A
n ∈ N : ( k ∈ N : (k < n + 1 → p(k)) → p(n + 1))
A
dann gilt die Aussage n ∈ N : p(n).

57 59

Wohlfundierte (Noethersche) Induktion Beispiel

Verallgemeinerte vollständige Induktion Satz: Jede natürliche Zahl lässt sich als Produkt von Primzahlen darstellen.

Gelten die beiden Aussagen: p(n): n lässt sich als Produkt von Primzahlen darstellen.

p(0) und
A Beweis: Sei n ∈ N beliebig gewählt.
n ∈ N : p(0) ∧ p(1) ∧ · · · ∧ p(n) → p(n + 1)
dann gilt die Aussage
A
n ∈ N : p(n). Induktionsvoraussetzung: p(k) gilt für alle k < n
Induktionsschluss: Folgere p(n) aus der Induktionsvoraussetzung

Fallunterscheidung:
Äquivalent Fall 1: n Primzahl. Dann lässt sich n als Produkt von Primzahlen
darstellen.
Gilt die Aussage:
Fall 1: n keine Primzahl. Dann n = k1 · k2 , mit k1 , k2 ∈ N, k1 , k2 > 1.
A A
n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) Da aber ki < n, i = 1, 2 ist nach Induktionsvoraussetzung bereits eine
A Darstellung als Produkt von Primzahlen für ki bekannt.
dann gilt die Aussage n ∈ N : p(n).
Multipliziert man diese beiden Produkte miteinander, so erhält man
eine Darstellung für n.

58 60
Wohlfundierte (Noethersche) Induktion Wohlfundierte (Noethersche) Induktion

Theorem: Theorem:
A A A A
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
A A
dann gilt n ∈ N : p(n) Q dann gilt n ∈ N : p(n) Q

Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
A E Verallgemeinerung
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
- beliebige Menge A statt N
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . . - < “partielle” Ordnung auf A
Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h. - < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit
E A
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P. x1 > x2 > · · · > x n > . . . )

61 63

Wohlfundierte (Noethersche) Induktion Binäre Relationen

Definition:
Theorem:
A A Eine binäre Relation R über einer Menge A ist eine Teilmenge von A × A.
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
R binäre Relation: R ⊆ A × A.
A
dann gilt n ∈ N : p(n) Q
Statt (x, y ) ∈ R schreiben wir: R(x, y ) oder xRy .

Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
A E
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h.
E A
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P.

62 64
Partielle Ordnungen Partielle Ordnungen

Definition: Definition:
Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw. Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw.
A A
• R ist reflexiv: x ∈ A(xRx) • R ist reflexiv: x ∈ A(xRx)
A A
• R ist transitiv: x, y , z ∈ A(xRy ∧ yRz → xRz) • R ist transitiv: x, y , z ∈ A(xRy ∧ yRz → xRz)
A A
• R ist antisymmetrisch x, y ∈ A(xRy ∧ yRx → x = y ) • R ist antisymmetrisch x, y ∈ A(xRy ∧ yRx → x = y )

Beispiele:

• (N, ≤)

• (A, R), wobei


A = {0, a, b, 1} und
R = {(0, 0), (0, a), (0, 1), (a, a), (a, 1), (b, b), (b, 1), (1, 1)}
R partielle Ordnung: a und b in R unvergleichbar.

65 67

Partielle Ordnungen Totale Ordnungen

Definition: Definition: Sei (A, R) eine partiell geordnete Menge.


R ist eine totale Ordnung gdw. R(x, y ) oder R(y , x) für alle x, y ∈ A.
Eine binäre Relation R über einer Menge A ist eine partielle Ordnung gdw.
A
• R ist reflexiv: x ∈ A(xRx)
A
• R ist transitiv: x, y , z ∈ A(xRy ∧ yRz → xRz)
A
• R ist antisymmetrisch x, y ∈ A(xRy ∧ yRx → x = y )

Dann heißt (A, R) eine partiell geordnete Menge

66 68
Minimum Wohlfundierte partielle Ordnungen

Definition: Sei (A, R) eine partiell geordnete Menge. Sei (A, ≤) eine partiell geordnete Menge.
Sei A′ ⊆ A, und m ∈ A′ . Definition: x < y gdw.: (x ≤ y und x 6= y ) (für x, y ∈ A)
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.

69 71

Minimum Wohlfundierte partielle Ordnungen

Definition: Sei (A, R) eine partiell geordnete Menge. Sei (A, ≤) eine partiell geordnete Menge.
SeiA′ ⊆ A, und m ∈ A′ . Definition: x < y gdw.: (x ≤ y und x 6= y ) (für x, y ∈ A)
m ist ein Minimales Element von A′ , gdw.: es gibt kein x ∈ A′ mit
x ≤ m, x 6= m.
Definition (Noethersch / wohlfundiert)

Beispiele: (A, ≤) heißt noethersch (oder wohlfundiert) gdw.:

• (N, ≤). Sei A′ = {3, 5, 7, 9} ⊆ N. Es gibt keine unendlich absteigende Kette in A, das heißt:
3 ist ein Minimales Element von A′ . Es gibt keine unendliche Folge (xi )i∈N , mit
• Sei (A, R) wobei • xi ∈ A für alle i ∈ N und
A = {a, b, c, d} und • xi+1 < xi für alle i ∈ N.
R = {(a, a), (a, b), (c, c), (c, b), (c, d), (e, e), (e, d), (b, b), (d, d)}
(Unendlich aufsteigende Ketten sind zulässig)
Sei A′ = {a, b, c} ⊆ A.
A′ hat zwei minimale Elemente: a und c.

70 72
Beispiele Wohlfundierte partielle Ordnungen

(N, ≤) is wohlfundiert Lemma.


(Z, ≤) ist nicht wohlfundiert (A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere Teilmenge von
A hat (mindestens) ein Minimales Element.
(0 ∪ { n1 | n ∈ N}, ≤) ist nicht wohlfundiert
(R, ≤) ist nicht wohlfundiert Beweis: “←”
Statt P → Q, beweisen wir wieder ¬Q → ¬P.
Annahme: (A, ≤) ist nicht noethersch,
d.h. es gibt eine unendliche Folge (xi )i∈N , mit
• xi ∈ A für alle i ∈ N und
• xi+1 < xi für alle i ∈ N.
Sei A′ = {xi | i ∈ N}.
Wir zeigen, dass A′ keinen minimalen Element hat: Sei a ∈ A′ . Dann a = xi
für einen i ∈ N. Dann ist xi+1 < a; deshalb kann a nicht minimal sein.

73 75

Wohlfundierte partielle Ordnungen Wohlfundierte partielle Ordnungen

Lemma. Lemma.
(A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere Teilmenge von (A, ≤) ist noethersch (wohlfundiert) gdw.: jede nicht-leere
A hat (mindestens) ein Minimales Element. Teilmenge von A hat (mindestens) ein Minimales Element.

Beweis: “→”
Statt P → Q, beweisen wir ¬Q → ¬P. Nota bene
Sei A′ ⊆ A nicht-leere Teilmenge von A, die kein minimales Element Es genügt nicht, dass A ein minimales Element hat (selbst dann nicht, wenn
enthält. Sei x1 ∈ A′ . Da x1 nicht minimal ist, gibt es x2 ∈ A′ mit x2 < x1 . ≤ total ist).
Da x2 nicht minimal ist, gibt es x3 ∈ A′ mit x3 < x2 < x1 . Wir können
Beispiel:
deswegen eine unendliche absteigende Kette von Elementen aus A bilden, 1
d.h. A ist nicht noethersch. (0 ∪ { | n ∈ N}, ≤)
n

74 76
Verallgemeinerte vollständige Induktion Verallgemeinerte vollständige Induktion

Theorem: Theorem:
A A A A
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
A A
dann gilt n ∈ N : p(n) Q dann gilt n ∈ N : p(n) Q

Beweis: < wohlfundiert (es gibt keine unendliche Folge x1 , . . . , xn , . . . mit


x1 > x2 > · · · > x n > . . . ) Beweis: Zu zeigen: P → Q
Kontrapositionsbeweis: Wir zeigen, dass ¬Q → ¬P
A E
Annahme: ¬Q := ¬( n ∈ N : p(n)) ≡ n ∈ N : ¬p(n).
> wohlfundierte Ordnung auf N: es gibt keine unendliche Folge
Verallgemeinerung
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
- beliebige Menge A statt N
Sei Y = {n ∈ N | ¬p(n)} 6= ∅. Dann hat Y ein minimales Element m, d.h.
- < “partielle” Ordnung auf A E A
m(m ∈ Y ∧ ( k ∈ N : (k < m → k 6∈ Y ))) = ¬P.
- < wohlfundiert

77 79

Wohlfundierte (Noethersche) Induktion Wohlfundierte (Noethersche) Induktion


Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch}
Theorem: (Verallgemeinerte vollständige Induktion) (Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)
A A
Falls n ∈ N : ( k ∈ N : (k < n → p(k)) → p(n)) P
dann gilt
A
n ∈ N : p(n) Q Theorem.
A A
Falls x ∈ X : ( y ∈ X : (y < x → p(y )) → p(x)) P
A
dann gilt x ∈ X : p(x) Q
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch}
Beweis: zu zeigen: P → Q. Kontrapositionsbeweis: ¬Q → ¬P
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.) A E
Annahme: ¬Q := (¬ x ∈ X :p(x)) ≡ ( x ∈ X :¬p(x)).
> wohlfundierte Ordnung auf X : es gibt keine unendliche Folge
Theorem. (Noethersche Induktion) x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
A A
Falls x ∈ A : ( y ∈ A : (y < x → p(y )) → p(x)) P
A Sei Y = {y ∈ X | ¬p(y )} 6= ∅. Dann hat Y ein minimales Element x0 , d.h.
dann gilt x ∈ A : p(x) Q E A
x0 (x0 ∈ Y ∧ ( y ∈ X : (y < x0 → y 6∈ Y ))).

78 80
Wohlfundierte (Noethersche) Induktion Fehlerquellen
Sei (A, ≤) noethersch (wohlfundiert).
Sei p ein Prädikat auf A, d.h., eine Funktion p : A → {wahr , falsch} Was ist hier falsch?
(Eigenschaft der Elementen aus A, die wahr oder falsch sein kann.)

Theorem. Behauptung: Alle Menschen haben die gleiche Haarfarbe


A A
Falls x ∈ X : ( y ∈ X : (y < x → p(y )) → p(x)) P
dann gilt
A
x ∈ X : p(x) Q p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe

Induktionbasis: n = 1
Beweis: zu zeigen: P → Q. Kontrapositionsbeweis: ¬Q → ¬P Für eine Menge mit nur einem Menschen gilt die Behauptung trivial
A E
Annahme: ¬Q := (¬ x ∈ X :p(x)) ≡ ( x ∈ X :¬p(x)).
> wohlfundierte Ordnung auf X : es gibt keine unendliche Folge
x1 , . . . , xn , . . . mit x1 > x2 > · · · > xn > . . . .
Sei Y = {y ∈ X | ¬p(y )} 6= ∅. Dann hat Y ein minimales Element x0 , d.h.
E A
x0 (x0 ∈ Y ∧( y ∈ X : (y < x0 → y 6∈ Y ))) = ¬P.
| {z } | {z }
¬p(x0 ) y <x0 →p(y )

81 83

Fehlerquellen Fehlerquellen

Häufige Fehler bei Induktionsbeweisen Was ist hier falsch?

• Ordnung ist nicht noethersch

• Nicht alle Minima (Induktionsanfänge) bedacht Behauptung: Alle Menschen haben die gleiche Haarfarbe

• Bei Induktionsschritt die Grenzfälle nicht bedacht p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe

Induktionsvoraussetzung: p(n) wahr.


Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt.
n + 1 Menschen werden in eine Reihe gestellt.
Der Mensch links außen wird rausgeschickt.
Nun kann die Induktionsbehauptung angewendet werden und alle
verbliebenen haben die gleiche Haarfarbe (mit dem rechts außen).

82 84
Fehlerquellen Produktordnung

Was ist hier falsch? Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die Produktordnung ≤produkt auf A × B gegeben durch:
Behauptung: Alle Menschen haben die gleiche Haarfarbe
(x, y ) ≤produkt (x ′ , y ′ ) gdw. (x ≤A x ′ und y ≤B y ′ )
p(n) : In einer Menge von n Menschen haben alle die gleiche Haarfarbe
Induktionsvoraussetzung: p(n) wahr.
Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
Induktionsschritt: Beweise, dass aus p(n), p(n + 1) folgt.
(A × B, ≤produkt ) noethersch.
n + 1 Menschen werden in eine Reihe gestellt.
Der Mensch rechts außen wird rausgeschickt.
Die Induktionsbehauptung kann angewendet werden und alle
verbliebenen haben die gleiche Haarfarbe (mit dem links außen).
Also haben die beiden außen die gleiche Haarfarbe, wie die in
der Mitte, und die haben auch alle die gleiche Haarfarbe
Also haben alle n + 1 Menschen die gleiche Haarfarbe.

85 87

Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge


Beispiele von noetherschen Ordnungen Produktordnung
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.

Ordnungen auf kartesischen Produkten Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die Produktordnung ≤produkt auf A × B gegeben durch:
• Die Produktordnung (x, y ) ≤produkt (x ′ , y ′ ) gdw. (x ≤A x ′ und y ≤B y ′ )
• Die lexikographische Ordnung

Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist


(A × B, ≤produkt ) noethersch.

Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit

(x1 , y1 ) ≥produkt (x2 , y2 ) ≥produkt (x3 , y3 ) ≥produkt · · · ≥produkt (xn , yn ) ≥produkt . . .

Dann x1 ≥A x2 ≥A x3 ≥A . . .≥A xn ≥A . . . und y1 ≥B y2 ≥B y3 ≥B . . .≥B yn ≥B . . .


Da (A, ≤A ) noethersch ist, es gibt m1 so dass xm1 = xk für alle k ≥ m1 .
Da (B, ≤B ) noethersch ist, es gibt m2 so dass xm2 = xj für alle j ≥ m2 .
Sei m = max(m1 , m2 ). Dann (xm , ym ) = (xi , yi ) für alle i ≥ m.
86 Das zeigt, dass (A × B, ≤produkt ) noethersch ist. 88
Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
Lexikographische Ordnung Lexikographische Ordnung es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.

Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen. Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch: Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:

(x, y ) ≤ (x ′ , y ′ ) gdw. x = x ′ und y = y ′ oder (x, y ) ≤ (x ′ , y ′ ) gdw. x = x ′ und y = y ′ oder


x <A x′ oder x <A x ′ oder
x = x ′ und y <B y ′ x = x ′ und y <B y ′

Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch. (A × B, ≤) noethersch.

Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit

(x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . .

Fall 2: x1 = x2 = · · · = xi1 ≥A xi1 +1 = . . . = xi2 ≥A . . . . Da (A, ≤A ) noethersch ist,


es gibt m2 so dass xm2 = xk für alle k ≥ m2 .
89 91

Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge


(xi )i∈N mit xi ∈ X für alle i ∈ N und mit Lemma: (X , ≤) noethersch gdw: für jede unendliche Folge
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
Lexikographische Ordnung es gibt ein m ∈ N so dass xm = xk für alle k ≥ m. Lexikographische Ordnung
(xi )i∈N mit xi ∈ X für alle i ∈ N und mit
x1 ≥ x2 ≥ x3 ≥ · · · ≥ . . . xn ≥ . . .
es gibt ein m ∈ N so dass xm = xk für alle k ≥ m.

Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen. Definition: Seien (A, ≤A ) und (B, ≤B ) partiell geordnete Mengen.
Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch: Dann ist die lexikographische Ordnung ≤ auf A × B gegeben durch:

(x, y ) ≤ (x ′ , y ′ ) gdw. x = x ′ und y = y ′ oder (x, y ) ≤ (x ′ , y ′ ) gdw. x = x ′ und y = y ′ oder


x <A x ′ oder x <A x ′ oder
x = x ′ und y <B y ′ x = x ′ und y <B y ′

Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist Lemma: Wenn (A, ≤A ) und (B, ≤B ) noethersch sind, dann ist
(A × B, ≤) noethersch. (A × B, ≤) noethersch.

Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit Beweis: Sei ((xi , yi ))i∈N unendliche Folge in A × B mit

(x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . . (x1 , y1 ) ≥ (x2 , y2 ) ≥ (x3 , y3 ) ≥ · · · ≥ (xn , yn ) ≥ . . .

Fall 1: Die ersten Komponenten sind alle gleich: Dann y1 ≥B y2 ≥B . . . . (B, ≤B ) Sei m = max(m1 , m2 ). Dann (xm , ym ) = (xi , yi ) für alle i ≥ m.
noethersch ist, es gibt m1 so dass xm1 = xj für alle j ≥ m1 . Das zeigt, dass (A × B, ≤) noethersch ist.
90 92
Beispiel für Induktion: Ackermann-Funktion Beispiel für Induktion: Ackermann-Funktion
8
< y +1 falls x = 0
8 >
>
< y +1 falls x = 0
>
>
ACK (x, y ) = ACK (x − 1, 1) falls x 6= 0 und y = 0
ACK (x, y ) = ACK (x − 1, 1) falls x 6= 0 und y = 0 >
>
:
>
>
: ACK (x − 1, ACK (x, y − 1)) falls x 6= 0 und y 6= 0
ACK (x − 1, ACK (x, y − 1)) falls x 6= 0 und y 6= 0
Theorem. ACK ist eine totale Funktion auf N × N.

Induktionsvoraussetzung: ACK (m′ , n′ ) definiert für alle (m′ , n′ ) < (m, n).
Die Ackermann-Funktion ist eine 1926 von Wilhelm Ackermann gefundene, Induktionsschritt: Beweis durch Fallunterscheidung
extrem schnell wachsende mathematische Funktion, mit deren Hilfe in der
• m = 0: ACK (0, n) = n + 1 (definiert)
theoretischen Informatik Grenzen von Computer- und Berechnungsmodellen
aufgezeigt werden können. • m 6= 0, n = 0. Dann (m − 1, 1) < (m, 0), d.h. ACK (m − 1, 1) definiert
Aber ACK (m, 0) = ACK (m − 1, 1), so ACK (m, n) definiert.
• m 6= 0, n 6= 0. Dann (m, n − 1) < (m, n), d.h. ACK (m, n − 1) definiert.
(m − 1, z) < (m, z), d.h. ACK (m − 1, ACK (m, n − 1)) definiert.
93 95

Beispiel für Induktion: Ackermann-Funktion Zusammenfassung


8
< y +1 falls x = 0
>
> • Grundlegende Beweisstrategien
ACK (x, y ) = ACK (x − 1, 1) falls x 6= 0 und y = 0
>
> • Induktion über die natürlichen Zahlen
:
ACK (x − 1, ACK (x, y − 1)) falls x 6= 0 und y 6= 0
• Partielle Ordnung, totale Ordnung, minimale Elemente

Theorem. ACK ist eine totale Funktion auf N × N. • Noethersche (wohlfundierte) Menge

• Noethersche Induktion (Theorem, Beweis)

Induktionbasis: ACK (0, 0) = 1 (definiert) • Fehlerquellen

• Produktordnung/Lexikographische Ordnung

• Beispiel für noethersche Induktion: Ackermann-Funktion

94 96
2. Aussagenlogik Beispiel: Das 8-Damen Problem

Beschreibung des Problems


Für jedes Feld des Schachbretts eine aussagenlogische Variable

Dij

Mit der Vorstellung, dass Dij den Wert wahr hat, wenn auf dem Feld (i, j)
eine Dame steht.

Wir benutzen kartesische Koordinaten zur Notation von Positionen

97 99

Beispiel: Das 8-Damen Problem Beispiel: Das 8-Damen Problem

Man platziere acht Damen so auf einem Schachbrett, dass sie sich Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
gegenseitig nicht bedrohen.
Einschränkungen pro Feld: Fij

Falls auf dem Feld (5, 7) eine Dame steht:


• keine andere Dame auf Feld
(5,1), (5,2), (5,3), (5,4),(5,5), (5,6), (5,8)

• keine andere Dame auf Feld


(1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7)

• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)

• keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4)

98 100
Beispiel: Das 8-Damen Problem Beispiel: Das 8-Damen Problem

Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr. Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr.
Einschränkungen pro Feld: Fij Einschränkungen pro Feld: Fij

Falls auf dem Feld (5, 7) eine Dame steht: D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
• keine andere Dame auf Feld D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
(5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1) D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1 D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
• keine andere Dame auf Feld
| {z }
(1,7), (2,7), (3,7), (4,7),(6,7), (7,7), (8,7) F57
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87 Globale Einschränkungen
• keine andere Dame auf Feld (6,8), (4,6), (3,5), (2,4),(1,3)
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3 Für jedes k mit 1 ≤ k ≤ 8:
• keine andere Dame auf Feld (4,8), (6,6), (7,5), (8,4) Rk := D1,k ∨ D2,k ∨ D3,k ∨ D4,k ∨ D5,k ∨ D6,k ∨ D7,k ∨ D8,k
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4

101 103

Beispiel: Das 8-Damen Problem Beispiel: Das 8-Damen Problem

Beispiel: Auf dem Feld (5, 7) steht eine Dame 7→ D57 wahr. Struktur: Wahrheitswerte für die atomaren Aussagen Dij
Einschränkungen pro Feld: Fij Modell für Fij (Rk ): Wahrheitswerte für die atomaren Aussagen Dij so dass
Fij wahr (bzw. Rk wahr).
D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1
D57 → ¬D17 ∧ ¬D2,7 ∧ ¬D3,7 ∧ ¬D4,7 ∧ ¬D6,7 ∧ ¬D7,7 ∧ ¬D87
D57 → ¬D68 ∧ ¬D4,6 ∧ ¬D3,5 ∧ ¬D2,4 ∧ ¬D1,3
D57 → ¬D48 ∧ ¬D6,6 ∧ ¬D7,5 ∧ ¬D8,4
Lösung des 8-Damen Problems:
| {z }
F57 Eine aussagenlogische Struktur beschreibt eine Lösung des 8-Damen-
Problems genau dann, wenn sie ein Modell der Formeln

• Fij für alle 1 ≤ i, j ≤ 8

• Rk für alle 1 ≤ k ≤ 8

ist.

102 104
Beispiel: Aufzug Modellierung: Strukturen
oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt

oben oben Aufzug oben


Mitte gedruckt
F.nach unten F.nach unten
mitte mitte Aufzug mitte mitte
Unten gedruckt

F.nach unten
mitte mitte
F.nach unten
unten unten unten

unten unten

v(AufzugOben) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr


v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr

105 107

Beispiel: Aufzug Modellierung: Strukturen


oben Aufzug oben oben oben Aufzug oben
Mitte gedruckt Mitte gedruckt

oben oben

F.nach unten F.nach unten


mitte mitte Aufzug mitte mitte Aufzug mitte
Unten gedruckt

mitte mitte Aufzug mitte


Oben gedruckt F.nach unten
unten unten unten

F.nach oben
unten unten

v(AufzugOben) = wahr v(AufzugMitte) = wahr v(AufzugOben) = wahr


v(AufzugMitte) = wahr
v(MitteGedrückt) = wahr v(UntenGedrückt) = wahr v(MitteGedrückt) = wahr
v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr v(FährtNachUnten) = wahr

106 108
Modellierung: Strukturen Aussagenlogik

oben Aufzug oben oben oben Aufzug oben


Die Welt besteht aus Fakten die wahr oder falsch sein können.
Mitte gedruckt Mitte gedruckt

F.nach unten F.nach unten


mitte mitte Aufzug mitte mitte Aufzug mitte
Unten gedruckt

F.nach unten
unten unten unten

Aussagen beziehen sich auf Strukturen


(Formale) Aussagen sind in jeder einzelnen Struktur zu wahr oder falsch
auswertbar

109 111

Formale Logik 2.1 Syntax der Aussagenlogik

• Syntax
welche Formeln?
• Semantik
Modelle (Strukturen)
Wann ist eine Formel wahr (in einer Struktur)?
• Deduktionsmechanismus
Ableitung neuer wahrer Formeln

110 112
Syntax der Aussagenlogik: Logische Zeichen Formeln der Aussagenlogik

⊤ Symbol für die Formel “wahr” Definition: Menge ForΠ der Formeln über Π:
⊥ Symbol für die Formel “falsch” Die kleinste Menge mit:

• ⊤ ∈ ForΠ und ⊥∈ ForΠ


¬ Negationssymbol (“nicht”) • Π ⊆ ForΠ

• Wenn F , G ∈ ForΠ , dann auch


∧ Konjunktionssymbol (“und”)
¬F , (F ∧ G ), (F ∨ G ), (F → G ), (F ↔ G )
∨ Disjunktionssymbol (“oder”)
Elemente von ForΠ .
→ Implikationssymbol (“wenn . . . dann”)
↔ Symbol für Äquivalenz (“genau dann, wenn”)

( ) die beiden Klammern

113 115

Vokabular der Aussagenlogik Aussagenformeln

Abzählbare Menge von Symbolen, etwa ForΠ Menge der Formeln über Π:

Π = {P0 , . . . , Pn } F, G, H ::= ⊥ (Falsum)


| ⊤ (Verum)
oder
Π = {P0 , P1 , . . . } | P, P∈Π (atomare Formel)
| ¬F (Negation)
| (F ∧ G ) (Konjunktion)
Bezeichnungen für Symbole in Π | (F ∨ G ) (Disjunktion)
• atomare Aussagen | (F → G ) (Implikation)

• Atome | (F ↔ G ) (Äquivalenz)

• Aussagenvariablen

114 116
Konventionen zur Notation Terminologie

• Klammereinsparungen werden nach folgenden Regeln vorgenommen: Eine Formel F , die als Teil einer Formel G auftritt,
– ¬ >p ∧ >p ∨ >p → >p ↔ (Präzedenzen), heißt Teilformel von G .

– ∨ und ∧ sind assoziativ und kommutativ,


• F ist eine Teilformel von F
9
• F = ¬G und =
→ H Teilformel von F
H Teilformel von G ;
9
• F = F1 ρ F2 >
>
=
(wo ρ ∈ {∨, ∧, ⇒, ⇔}) → H Teilformel von F
>
>
;
H Teilformel von F1 oder F2

117 119

Beispiel: 8-Damenproblem 2.2 Strukturelle Induktion

Aussagenlogische Variablen Induktion über Formelaufbau


Di,j bedeutet: Auf dem Feld (i, j) steht eine Dame.

Formeln
“Wenn auf dem Feld (5, 7) eine Dame steht, kann keine Dame auf Feld
(5,8), (5,6), (5,5), (5,4),(5,3), (5,2), (5,1) stehen”:

D57 → ¬D58 ∧ ¬D5,6 ∧ ¬D5,5 ∧ ¬D5,4 ∧ ¬D5,3 ∧ ¬D5,2 ∧ ¬D5,1

118 120
Induktion über Formelaufbau: Beispiel Induktion über Formelaufbau: Beispiel

Lemma: Lemma:
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt
• F2 ist Teilformel von F1 , oder • F2 ist Teilformel von F1 , oder
• F1 ist Teilformel von F2 , oder • F1 ist Teilformel von F2 , oder
• F1 , F2 liegen getrennt • F1 , F2 liegen getrennt

Beweis: Durch noethersche Induktion über den Formelaufbau


• A = ForΠ
• Teilformel: Teilformelrelation auf A:
F Teilformel G (alternative Notation: Teilformel(F , G ))
gdw. F Teilformel von G .
Relation Teilformel partielle Ordnung; noethersch
121 123

Induktion über Formelaufbau: Beispiel Strukturelle Induktion

Menge aller aussagenlogischen Formeln ForΠ


Lemma: Basismenge: ⊤, ⊥; P0 , P1 , P2 , . . . sind aussagenlogische Formeln (atomare Formeln)
Ist F ∈ ForΠ und sind F1 , F2 Teilformeln von F , dann gilt Erzeugungsregel: Wenn F1 , F2 aussagenlogische Formeln sind, dann sind auch
• F2 ist Teilformel von F1 , oder ¬F1 , F1 ∧ F2 , F1 ∨ F2 , F1 → F2 , F1 ↔ F2 aussagenlogische Formeln
• F1 ist Teilformel von F2 , oder
ForΠ kleinste Menge, die- ⊤, ⊥ und Π enthält
• F1 , F2 liegen getrennt
- zusammen mit F auch ¬F enthält
- zusammen mit F1 , F2 auch F1 opF2 enthält (op ∈ {∧, ∨, →, ↔})

Beweis: Durch noethersche Induktion über den Formelaufbau

122 124
Strukturelle Induktion Semantik der Aussagenlogik

Menge aller aussagenlogischen Formeln ForΠ


Π eine aussagenlogische Signatur
Basismenge: ⊤, ⊥; P0 , P1 , P2 , . . . sind aussagenlogische Formeln (atomare Formeln)
Erzeugungsregel: Wenn F1 , F2 aussagenlogische Formeln sind, dann sind auch
¬F1 , F1 ∧ F2 , F1 ∨ F2 , F1 → F2 , F1 ↔ F2 aussagenlogische Formeln Aussagenvariablen für sich haben keine Bedeutung.
Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus
ForΠ kleinste Menge, die- ⊤, ⊥ und Π enthält dem Kontext zur Verfügung stehen.
- zusammen mit F auch ¬F enthält
- zusammen mit F1 , F2 auch F1 opF2 enthält (op ∈ {∧, ∨, →, ↔})
Eine Valuation (Wertebelegung) ist eine Abbildung
Gelten die beiden Aussagen: - p(A) für alle atomaren Formeln A ∈ {⊤, ⊥} ∪ Π A : Π → {0, 1}
A
- F ∈ForΠ : ((F = ¬F1 ∧p(F1 ))→p(F )) ∧
((F = F1 opF2 ∧p(F1 )∧p(F2 ))→p(F ))
A
dann gilt auch F ∈ ForΠ : p(F ).
Wir werden Wertebelegungen auch Aussagenlogische Strukturen,
Aussagenlogische Modelle oder Interpretationen nennen.

125 127

2.3 Semantik der Aussagenlogik Semantik der Aussagenlogik

Π eine aussagenlogische Signatur

Aussagenvariablen für sich haben keine Bedeutung.


Hierfür müssen Wertebelegungen (Valuationen) explizit oder implizit aus
dem Kontext zur Verfügung stehen.

Eine Wertebelegung ist eine Abbildung

A : Π → {0, 1}

Beispiel:
A B C
(Bei drei Symbolen gibt es 8 mögliche Modelle)
0 1 0

126 128
Semantik der Aussagenlogik Semantik der Aussagenlogik

Auswertung von Formeln in einem Modell Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung. Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert: A∗ : ForΠ → {0, 1} wird wie folgt definiert:

A∗ (⊥) = 0
A∗ (⊤) = 1

A∗ (P) = A(P)

129 131

Semantik der Aussagenlogik Semantik der Aussagenlogik

Auswertung von Formeln in einem Modell Auswertung von Formeln in einem Modell
Sei A : Π → {0, 1} eine Wertebelegung. Sei A : Π → {0, 1} eine Wertebelegung.
A∗ : ForΠ → {0, 1} wird wie folgt definiert: A∗ : ForΠ → {0, 1} wird wie folgt definiert:

8
A∗ (⊥) = 0 < 0 falls A∗ (F ) = 1
A∗ (¬F ) =
A∗ (⊤) = 1 : 1 falls A∗ (F ) = 0

130 132
Semantik der Aussagenlogik Wahrheitstafel für die logischen Operatoren

Auswertung von Formeln in einem Modell


P ¬P
Sei A : Π → {0, 1} eine Wertebelegung.
0 1
A∗ : ForΠ → {0, 1} wird wie folgt definiert: 1 0

8 ∧ 0 1 ∨ 0 1

< 0 falls A∗ (F1 ) = 0 oder A∗ (F2 ) = 0
A (F1 ∧ F2 ) = 0 0 0 0 0 1
: 1 falls A∗ (F1 ) = A∗ (F2 ) = 1
8 1 0 1 1 1 1
< 0 falls A∗ (F1 ) = A∗ (F2 ) =0
A∗ (F1 ∨ F2 ) =
: 1 falls A∗ (F1 ) = 1 oder A∗ (F2 ) = 1 → 0 1 ↔ 0 1
0 1 1 0 1 0
1 0 1 1 0 1

133 135

Semantik der Aussagenlogik Semantik der Aussagenlogik

Auswertung von Formeln in einem Modell Auswertung von Formeln in einem Modell

Sei A : Π → {0, 1} eine Wertebelegung. Sei A : Π → {0, 1} eine Π-Valuation.


A∗ : ForΠ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
A∗ : ForΠ → {0, 1} wird wie folgt definiert:
A∗ (⊥) = 0
8 A∗ (⊤) = 1
< 1 falls A∗ (F1 ) = 0 oder A∗ (F2 ) =1 A∗ (P) = A(P)
A∗ (F1 → F2 ) =
: 0 falls A∗ (F1 ) = 1 und A∗ (F2 ) =0 A∗ (¬F ) = 1 − A∗ (F )
8
< 1 falls A∗ (F1 ) = A∗ (F2 ) A∗ (F ρG ) = Bρ (A∗ (F ), A∗ (G ))
A∗ (F1 ↔ F2 ) =
: 0 sonst Bρ (x, y ) berechnet entschpr. der Wahrheitstafel für ρ
z.B. : B∨ (0, 1) = (0 ∨ 1) = 1; B→ (1, 0) = (1 → 0) = 0

Wir schreiben normalerweise A statt A∗ .

134 136
Beispiel Gültigkeit und Erfüllbarkeit

Sei A : {P, Q, R} → {0, 1} mit A(P) = 1, A(Q) = 0, A(R) = 1. Definition: F gilt in A (oder A ist Modell von F ) gdw. A(F ) = 1.
Notation: A |= F

A∗ ((P ∧ (Q ∨ ¬P)) → R) = A∗ (P ∧ (Q ∨ ¬P) → A∗ (R) Definition: F ist (allgemein-) gültig (oder eine Tautologie) gdw.: A |=
= (A∗ (P) ∧ A∗ (Q ∨ ¬P)) → A∗ (R) F , für alle A : Π → {0, 1}
= (A(P) ∧ (A(Q) ∨ ¬A(P))) → A(R) Notation: |= F
= (1 ∧ (0 ∨ ¬1)) → 1
= 1
Definition: F heißt erfüllbar gdw. es A : Π → {0, 1} gibt, so dass A |= F .

Sonst heißt F unerfüllbar (oder eine Kontradiktion).

137 139

Modell einer Formel(menge) Tautologien und Kontradiktionen

Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls Tautologien: Formel, die stets wahr sind.

A∗ (F ) = 1. Beispiele: p ∨ (¬p) (Prinzip vom ausgeschlossenen Dritten)


(Tertium non datur)
Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls p ↔ ¬¬p (Prinzip der doppelten Negation)
A∗ (F ) = 1 für alle F ∈ M

Kontradiktionen: Formel, die stets falsch sind.


Beispiel: p ∧ ¬p
Notation:
A |= F
A |= M • Die Negation einer Tautologie ist eine Kontradiktion
• Die Negation einer Kontradiktion ist eine Tautologie

138 140
Beispiele Beispiele

Die folgenden Formeln sind Tautologien: Die folgenden Formeln sind erfüllbar, aber keine Tautologien
(1) (p → ¬p) → (¬p) (1) p
(2) (p ∧ (p → q)) → q (2) p → (p ∧ q)
(3) (p ∧ q) → p (3) (p ∨ q) → (p ∧ q)
(p ∧ q) → q (4) p ↔ q
(4) p → (p ∨ q)
q → (p ∨ q)
(5) (p → q) → [(q → r ) → (p → r )]
(6) (((p → q) ∧ (q → r )) ∧ p) → r

141 143

Beispiele Beispiele

Die folgenden Formeln sind Tautologien: Die folgenden Formeln sind unerfüllbar:
(1) (p → ¬p) → (¬p) (1) ¬((p → ¬p) → (¬p))
(2) (p ∧ (p → q)) → q (2) (p ∧ (p → q)) ∧ ¬q
(3) (p ∧ q) → p (3) ¬((p ∧ q) → p)
(p ∧ q) → q (4) ¬(p → (p ∨ q))
(4) p → (p ∨ q) (5) (p → q) ∧ ¬[(q → r ) → (p → r )]
q → (p ∨ q) (6) (((p → q) ∧ (q → r )) ∧ p) ∧ ¬r
(5) (p → q) → [(q → r ) → (p → r )]
(6) (((p → q) ∧ (q → r )) ∧ p) → r

• (1)–(6) sind alle erfüllbar.

142 144
Folgerung und Äquivalenz Beispiel

Definition: F impliziert G (oder G folgt aus F ), F = (A ∨ C ) ∧ (B ∨ ¬C ) G = (A ∨ B)


gdw.: für alle A : Π → {0, 1} gilt: Wenn A |= F , dann A |= G . Überprüfe, ob F |= G
Notation: F |= G

A B C (A ∨ C ) (B ∨ ¬C ) (A ∨ C ) ∧ (B ∨ ¬C ) (A ∨ B)
Definition: F und G sind äquivalent 0 0 1 1 0 0 0
gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
0 0 0 0 1 0 0
Notation: F ≡ G .
0 1 1 1 1 1 1
0 1 0 0 1 0 1
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.: 1 0 1 1 0 0 1
N |= G gdw.: für alle A : Π → {0, 1} gilt: 1 0 0 1 1 1 1
falls A |= F , für alle F ∈ N,
1 1 1 1 1 1 1
so A |= G .
1 1 0 1 1 1 1

145 147

Beispiel Syntax: Beispiel

F = (A ∨ C ) ∧ (B ∨ ¬C ) G = (A ∨ B)
“Worin besteht das Geheimnis Ihres langen Lebens?”,
Überprüfe, ob F |= G
wurde ein 100 Jähriger gefragt.

“Ich halte mich streng an die Diätregeln:


A B C (A ∨ C ) (B ∨ ¬C ) (A ∨ C ) ∧ (B ∨ ¬C ) (A ∨ B)
0 0 1 • Wenn ich kein Bier zu einer Mahlzeit trinke,
dann habe ich immer Fisch.
0 0 0
0 1 1 • Immer wenn ich Fisch und Bier zur selben Mahlzeit habe,
verzichte ich auf Eiscreme.
0 1 0
• Wenn ich Eiscreme habe oder Bier meide,
1 0 1
dann rühre ich Fisch nicht an.”
1 0 0
1 1 1
1 1 0

146 148
Beispiel 1 Beispiel 1

◮ ¬B→F
Wenn ich kein Bier zu einer Mahlzeit trinke, dann habe ich immer Fisch.
◮ F ∧B→ ¬E
◮ ¬B→F
◮ E ∨¬B→ ¬F
Immer wenn ich Fisch und Bier zur selben Mahlzeit habe, verzichte ich
auf Eiscreme.
◮ F ∧B→ ¬E Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.

Wenn ich Eiscreme habe oder Bier meide, dann rühre ich Fisch nicht an. z.B.: Formalisierung:

◮ E ∨¬B→ ¬F
• kein Bier, Fisch und Eiscreme B 7→ falsch, F 7→ wahr, E 7→ wahr
erfüllt 3. Diätregel nicht!
• Bier, Fisch, keine Eiscreme B 7→ wahr, F 7→ wahr, E 7→ falsch
erfüllt alle Diätregeln

149 151

Beispiel 1 Beispiel 1

◮ ¬B→F ◮ ¬B→F
◮ F ∧B→ ¬E ◮ F ∧B→ ¬E
◮ E ∨¬B→ ¬F ◮ E ∨¬B→ ¬F

Wir möchten wissen, welche Menüs solche Diätregeln erfüllen. Wir möchten wissen, welche Menüs solche Diätregeln erfüllen.
z.B.: z.B.: Formalisierung:
0:falsch, 1:wahr A : {B, F , E } → {0, 1}
• kein Bier, Fisch und Eiscreme • kein Bier, Fisch und Eiscreme A(B) = 0, A(F ) = 1, A(E ) = 1
erfüllt 3. Diätregel nicht! erfüllt 3. Diätregel nicht!
• Bier, Fisch, keine Eiscreme • Bier, Fisch, keine Eiscreme A(B) = 1, A(F ) = 1, A(E ) = 0
erfüllt alle Diätregeln erfüllt alle Diätregeln

150 152
Beispiel 1 Modell einer Formel

◮ ¬B→F Definition: Interpretation A ist Modell einer Formel F ∈ ForΠ , falls


◮ F ∧B→ ¬E A∗ (F ) = 1.
◮ E ∨¬B→ ¬F
Notation: A |= F

Π = {B, F , E }
Mögliche Interpretation (Wertebelegung): A(B) = 1, A(F ) = 0, A(E ) = 1 Beispiel: A : Π(= {B, F , E }) → {0, 1} mit: A(B) = 1, A(F ) = 0, A(E ) = 1

A(B) = 1: “Ich habe Bier” Da A(¬B → F ) = 1, ist A ein Modell der Formel ¬B → F
A(F ) = 0: “Ich habe kein Fisch”
A |= ¬B → F
A(E ) = 1: “Ich habe Eiskreme”

153 155

Beispiel 1 Modell einer Formelmenge

◮ ¬B→F Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls


◮ F ∧B→ ¬E A∗ (F ) = 1 für alle F ∈ M
◮ E ∨¬B→ ¬F
Notation: A |= M

Beispiel 1: A : {B, F , E } → {0, 1} mit A(B) = 1, A(F ) = 0, A(E ) = 1


Π = {B, F , E }
• Da A(¬B → F ) = 1; A(F ∧ B → ¬E ) = 1; A(E ∨ ¬B → ¬F ) = 1,
Mögliche Interpretation (Wertebelegung): A(B) = 1, A(F ) = 0, A(E ) = 1
ist A ein Modell der Formelmenge

M = {¬B → F , F ∧ B → ¬E , E ∨ ¬B → ¬F }
Auswertung von Formeln:

A∗ (¬B → F ) = A∗ (¬B) → A∗ (F )
= ¬A(B) → A(F )
= (¬1 → 0) = (0 → 0) = 1

154 156
Modell einer Formelmenge Erster Kalkül: Wahrheitstafelmethode

Definition: Interpretation A ist Modell einer Formelmenge M ⊆ ForΠ , falls Jede Formel F enthält endlich viele Aussagenvariablen.

A (F ) = 1 für alle F ∈ M A(F ) ist nur von den Werten dieser Aussagenvariablen abhängig.

Notation: A |= M F enthält n Aussagenvariablen:


⇒ 2n Wertbelegungen notwendig um zu überprüfen,
Beispiel 1: A : {B, F , E } → {0, 1} mit A(B) = 1, A(F ) = 0, A(E ) = 1
ob F erfüllbar/unerfüllbar/allgemeingültig ist oder nicht.
• Da A(¬B → F ) = 1; A(F ∧ B → ¬E ) = 1; A(E ∨ ¬B → ¬F ) = 1,
ist A ein Modell der Formelmenge ⇒ Wahrheitstafel

{¬B → F , F ∧ B → ¬E , E ∨ ¬B → ¬F ) • F allgemeingültig (Tautologie): A(F ) = 1 für alle Wertbelegungen

Beispiel 2: A′ : {B, F , E } → {0, 1} mit A′ (B) = 0, A′ (F ) = 0, A′ (E ) = 1 • F erfüllbar: A(F ) = 1 für zumindest eine Wertbelegung

• Da A′ (¬B → F ) = ¬A′ (B) → A′ (F ) = (¬0 → 0) = (1 → 0) = 0 • F unerfüllbar: A(F ) = 0 für alle Wertbelegungen


ist A′ kein Modell der Formelmenge

{¬B → F , F ∧ B → ¬E , E ∨ ¬B → ¬F )

157 159

Unerfüllbarkeit und Allgemeingültigkeit Äquivalenz

Definition: F und G sind äquivalent


Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar. gdw.: für alle A : Π → {0, 1} gilt: A |= F gdw. A |= G .
Notation: F ≡ G .

Zwei Formeln sind logisch äquivalent, wenn sie in den gleichen Modellen
wahr sind

Beispiel:
(P → Q) ≡ (¬Q → ¬P) (Kontraposition)

158 160
Wichtige Äquivalenzen Wichtige Äquivalenzen

Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig: Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig:
(F ∧ F ) ≡ F
(F ∧ G ) ≡ F , falls G Tautologie
(F ∨ F ) ≡ F (Idempotenz)
(F ∨ G ) ≡ ⊤, falls G Tautologie (Tautologieregeln)
(F ∧ G ) ≡ (G ∧ F )
(F ∧ G ) ≡ ⊥, falls G unerfüllbar
(F ∨ G ) ≡ (G ∨ F ) (Kommutativität)
(F ∨ G ) ≡ F , falls G unerfüllbar (Tautologieregeln)
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (Assoziativität)

(F ∧ (F ∨ G )) ≡ F
(F ∨ (F ∧ G )) ≡ F (Absorption)

(F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H))


(F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H)) (Distributivität)

161 163

Wichtige Äquivalenzen Wichtige Äquivalenzen mit ⊤/⊥

Die folgenden Äquivalenzen sind für alle Formeln F , G , H gültig: (A ∧ ¬A) ≡ ⊥


(A ∨ ¬A) ≡ ⊤ (Tertium non datur)
(¬¬F ) ≡ F (Doppelte Negation)
(A ∧ ⊤) ≡ A
¬(F ∧ G ) ≡ (¬F ∨ ¬G )
(A ∧ ⊥) ≡ ⊥
¬(F ∨ G ) ≡ (¬F ∧ ¬G ) (De Morgan’s Regeln)

(F → G ) ≡ (¬G → ¬F ) (Kontraposition)

(F → G ) ≡ (¬F ∨ G ) (Elimination Implikation)

F ↔ G ≡ (F → G ) ∧ (G → F ) (Elimination Äquivalenz)

162 164
Wichtige Äquivalenzen (Zusammengefasst) Substitutionstheorem

(F ∧ F ) ≡ F (F ∨ F ) ≡ F (Idempotenz)
Theorem.
(F ∧ G ) ≡ (G ∧ F ) (F ∨ G ) ≡ (G ∨ F ) (Kommutativität)
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens)
(F ∧ (G ∧ H)) ≡ ((F ∧ G ) ∧ H)
einem Vorkommen der Teilformel F .
(F ∨ (G ∨ H)) ≡ ((F ∨ G ) ∨ H) (Assoziativität)
(F ∧ (F ∨ G )) ≡ F Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend)
(F ∨ (F ∧ G )) ≡ F (Absorption) ein Vorkommen von F in H durch G ersetzt wird.
(F ∧ (G ∨ H)) ≡ ((F ∧ G ) ∨ (F ∧ H))
(F ∨ (G ∧ H)) ≡ ((F ∨ G ) ∧ (F ∨ H)) (Distributivität) Beweis: Strukturelle Induktion.
(¬¬F ) ≡ F (Doppelte Negation) Induktionsbasis: Beweisen. dass das Theorem für alle atomaren Formeln gilt.
¬(F ∧ G ) ≡ (¬F ∨ ¬G )
Induktionsvoraussetzung: Sei H eine Formel (die nicht atomar ist)
¬(F ∨ G ) ≡ (¬F ∧ ¬G ) (De Morgan’s Regeln) Annahme: Theorem gilt für alle Teilformeln von F , die nicht gleich F sind.
(F → G ) ≡ (¬G → ¬F ) (Kontraposition) Induktionsschritt: Beweis durch Fallunterscheidung:
(F → G ) ≡ (¬F ∨ G ) (Elimination Implikation) Fall 1: H = ¬H1 . Induktionvoraussetzung: Theorem gilt für H1 . Folgere, dass Theorem auch für H gilt.
F ↔ G ≡ (F → G ) ∧ (G → F ) (Elimination Äquivalenz) Fall 2: H = H1 op H2 . Induktionvoraussetzung: Theorem gilt für H1 , H2 . Folgere, dass Theorem auch für H gilt.

165 167

Substitutionstheorem Ein zweiter Kalkül: Logische Umformung

Definition: Äquivalenzumformung
Theorem.
Seien F und G äquivalente Formeln. Sei H eine Formel mit (mindestens) • (Wiederholte) Ersetzung einer (Unter-)Formel durch äquivalente
einem Vorkommen der Teilformel F . Formel

Dann ist H äquivalent zu H ′ , wobei H ′ aus H hervorgeht, indem (irgend) • Anwendung des Substitutionstheorems
ein Vorkommen von F in H durch G ersetzt wird.

Theorem
Beispiel:
Äquivalenzumformung bildet mit den aufgelisteten wichtigen Äquivalen-
A∨B ≡B ∨A zen einen vollständigen Kalkül:
impliziert Wenn F und G logisch äquivalent sind, kann F in G umgeformt werden.
(C ∧ (A ∨ B)) ≡ (C ∧ (B ∨ A))

Anwendung: Test für Erfüllbarkeit/Unerfüllbarkeit/Allgemeingültigkeit

166 168
Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)


≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)

169 171

Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨)

170 172
Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨) ≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)

173 175

Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨) ≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)

174 176
Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation) ≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨) ≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥) ≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥)
≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R) (Äquivalenzen mit ⊥) ≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R) (Äquivalenzen mit ⊥)
≡(¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Distributivität)
≡(¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität)
≡((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)

177 179

Beispiel Beispiel

(P → Q) ∧ ¬((Q → R) → (P → R)) (P → Q) ∧ ¬((Q → R) → (P → R))

≡(¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation) ≡ (¬P ∨ Q) ∧ ¬((¬Q ∨ R) → (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation) ≡ (¬P ∨ Q) ∧ ¬(¬(¬Q ∨ R) ∨ (¬P ∨ R)) (Elimination Implikation)
≡(¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨) ≡ (¬P ∨ Q) ∧ (¬¬(¬Q ∨ R) ∧ ¬(¬P ∨ R)) (De Morgan’s Regel,∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨) ≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (¬¬P ∧ ¬R)) (Doppelte Negation, De Morgan, ∨)
≡(¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation) ≡ (¬P ∨ Q) ∧ ((¬Q ∨ R) ∧ (P ∧ ¬R)) (Doppelte Negation)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ P ∧ ¬R)) (Distributivität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ (R ∧ ¬R ∧ P)) (Kommutativität)
≡(¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥) ≡ (¬P ∨ Q) ∧ ((¬Q ∧ P ∧ ¬R) ∨ ⊥) (Äquivalenzen mit ⊥)
≡(¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R) (Äquivalenzen mit ⊥) ≡ (¬P ∨ Q) ∧ (¬Q ∧ P ∧ ¬R) (Äquivalenzen mit ⊥)
≡(¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Distributivität) ≡ (¬P ∧ ¬Q ∧ P ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Distributivität)
≡(¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität) ≡ (¬P ∧ P ∧ ¬Q ∧ ¬R) ∨ (Q ∧ ¬Q ∧ P ∧ ¬R) (Kommutativität)
≡ ((¬P ∧ P) ∧ ¬Q ∧ ¬R) ∨ ((Q ∧ ¬Q) ∧ P ∧ ¬R) (Assoziativität)
≡ ⊥ ∨ ⊥≡⊥ (Äquivalenzen mit ⊥)

178 180
Allgemeingültigkeit/Folgerung Unser Ziel

F , G Formeln; N Formelmenge. Kalkül(e) zur systematischen Überprüfung von Erfüllbarkeit


(für Formeln und/oder Formelmengen)
Theorem. F |= G gdw. |= F → G .

Theorem. N ∪ {F } |= G gdw. N |= F → G .
Dazu brauchen wir “Normalformen”

Theorem. F ≡ G gdw. |= F ↔ G .

181 183

Unerfüllbarkeit/Allgemeingültigkeit/Folgerung 2.4 Normalformen

F , G Formeln; N Formelmenge.

Theorem. F ist allgemeingültig gdw. ¬F ist unerfüllbar.

Theorem. F |= G gdw. F ∧ ¬G ist unerfüllbar.

Theorem. N |= G gdw. N ∪ ¬G ist unerfüllbar.

Nota bene: falls N unerfüllbar, so N |= G für jede Formel G


... auch für ⊥.

Notation: N |= ⊥ für N unerfüllbar.

182 184
Normalformen Normalformen

Definition: Definition:
• Atom: aussagenlogische Variable Disjunktive Normalform (DNF): Eine Disjunktion von Konjunktionen von
• Literal: Atom, oder Literalen.
negation eines Atoms
mehrstellig, einstellig oder nullstellig

Definition:
Beispiele:
Klausel: Eine Disjunktion von Literalen
(P ∧ ¬Q) ∨ (Q ∧ ¬R ∧ ¬S)
• mehrstellige Disjunktionen (P ∨ ¬Q ∨ R), (P ∨ P ∨ ¬Q)
P ∧Q
• einstellige Disjunktionen P P ∨ (Q ∧ R)
• die nullstellige Disjunktion (leere Klausel) ⊥ P ∨Q
P ∨P

185 187

Normalformen Normalformel

Definition: Eigenschaften:
Konjunktive Normalform (KNF): Eine Konjunktion von Disjunktionen von • Zu jeder aussagenlogischen Formel gibt es:
Literalen, d.h., eine Konjunktion von Klauseln - eine äquivalente Formel in KNF
mehrstellig, einstellig oder nullstellig - eine äquivalente Formel in DNF

• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig

Beispiele:
(P ∨ ¬Q) ∧ (Q ∨ ¬R ∨ ¬S)
P ∨Q
P ∧ (Q ∨ R)
P ∧Q
P ∧P

186 188
Normalformel Beispiel

Eigenschaften: F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
• Zu jeder aussagenlogischen Formel gibt es: P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F
- eine äquivalente Formel in KNF 0 0 0 0 1 0 0 0
- eine äquivalente Formel in DNF 0 0 1 0 1 0 1 0
0 1 0 1 1 1 1 1
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
0 1 1 1 1 1 1 1
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden 1 0 0 1 0 0 0 0
1 0 1 1 0 0 1 1
1 1 0 1 0 0 0 0
1 1 1 1 0 0 1 1

189 191

Beispiel Beispiel

F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R)
P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F
0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0
0 0 1 0 1 0 1 0 0 0 1 0 1 0 1 0
0 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1
0 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1
1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 0
1 0 1 1 0 0 1 1 1 0 1 1 0 0 1 1
1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 0
1 1 1 1 0 0 1 1 1 1 1 1 0 0 1 1

DNF: (¬P ∧ Q ∧ ¬R) ∨ (¬P ∧ Q ∧ R) ∨ (P ∧ ¬Q ∧ R) ∨ (P ∧ Q ∧ R)

190 192
Beispiel Normalformel

F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) _ A(P1 ) A(Pn )


DNF für F : (P1 ∧ · · · ∧ Pn )
P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F ¬F A:{P1 ,...,Pn }→{0,1}
A(F )=1
0 0 0 0 1 0 0 0 1
0 0 1 0 1 0 1 0 1 wobei:
0 1 0 1 1 1 1 1 0 P 0 = ¬P
0 1 1 1 1 1 1 1 0 P1 = P
1 0 0 1 0 0 0 0 1
1 0 1 1 0 0 1 1 0
1 1 0 1 0 0 0 0 1
Theorem
1 1 1 1 0 0 1 1 0
Für alle Interpretationen A′ : {P1 , . . . , Pn } → {0, 1}:
_ A(P ) A(P )
A′ (F ) = 1 gdw. A′ ( (P1 1 ∧ · · · ∧ Pn n )) = 1.
DNF für ¬F : (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) ∨ (P ∧ ¬Q ∧ ¬R) ∨ (P ∧ Q ∧ ¬R)
A:{P1 ,...,Pn }→{0,1}
A(F )=1

193 195

Beispiel Normalformel

F : (P ∨ Q) ∧ ((¬P ∧ Q) ∨ R) _ A(P1 ) A(Pn )


DNF für F : (P1 ∧ · · · ∧ Pn )
P Q R (P ∨ Q) ¬P (¬P ∧ Q) ((¬P ∧ Q) ∨ R) F ¬F A:{P1 ,...,Pn }→{0,1}
0 0 0 0 1 0 0 0 1 A(F )=1

0 0 1 0 1 0 1 0 1
wobei:
0 1 0 1 1 1 1 1 0
P 0 = ¬P
0 1 1 1 1 1 1 1 0
P1 = P
1 0 0 1 0 0 0 0 1
1 0 1 1 0 0 1 1 0
1 1 0 1 0 0 0 0 1 KNF für F: ¬F ′ ,
1 1 1 1 0 0 1 1 0 wobei F ′ die DNF von ¬F ist.

DNF für ¬F : (¬P ∧ ¬Q ∧ ¬R) ∨ (¬P ∧ ¬Q ∧ R) ∨ (P ∧ ¬Q ∧ ¬R) ∨ (P ∧ Q ∧ ¬R)

KNF für F : (P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)

194 196
Normalformel Umformung in KNF: Beispiel

Eigenschaften: Gegeben:
P ↔ (Q ∨ R)
• Zu jeder aussagenlogischen Formel gibt es:
- eine äquivalente Formel in KNF 1. Elimination von ↔
- eine äquivalente Formel in DNF
(P → (Q ∨ R)) ∧ ((Q ∨ R) → P)
• Diese äquivalenten Formeln in DNF bzw. KNF sind nicht eindeutig
2. Elimination von →
• Solche Formeln können aus einer Wahrheitstafel abgelesen werden
(¬P ∨ Q ∨ R) ∧ (¬(Q ∨ R) ∨ P)
• Solche Formeln können durch Umformungen hergestellt werden
3. “Nach innen schieben” von ¬

(¬P ∨ Q ∨ R) ∧ ((¬Q ∧ ¬R)) ∨ P)

4. “Nach innen schieben” von ∨

(¬P ∨ Q ∨ R) ∧ (¬Q ∨ P) ∧ (¬R ∨ P))

197 199

Umformung in KNF Beispiel zur exponentiellen Länge der KNF

Vier Schritte: Gegeben:


An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
1. Elimination von ↔
Verwende A ↔ B ≡ (A → B) ∧ (B → A) Zu An äquivalente KNF
^
2. Elimination von → (P1,f (1) ∨ · · · ∨ Pn,f (n) )
Verwende A → B ≡ (¬A ∨ B) f :{1,...,n}→{1,2}

3. “Nach innen schieben” von ¬ Größe der KNF:


Verwende de Morgans Regeln und ¬¬A ≡ A
• Klausel in KNF von An : 2n
4. “Nach innen schieben” von ∨
Beweis: Induktion
Verwende Distributivität von ∨ über ∧

198 200
Beispiel zur exponentiellen Länge der KNF KNF: Mengenschreibweise

Gegeben: Notation:
An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )
Klausel als Menge von Literalen
n = 1 : A1 = P11 ∧P12 Länge: 21 Formel in KNF als Menge von Klauseln
n = 2 : A2 = (P11 ∧P12 )∨(P21 ∧P22 )
≡ ((P11 ∧P12 )∨P21 )∧((P11 ∧P12 )∨P22 )
≡ (P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ) Länge: 22 Beispiel:
n = 3 : A3 = (P11 ∧P12 )∨(P21 ∧P22 )∨(P31 ∧P32 )
| {z } (P ∨ Q ∨ R) ∧ (P ∨ Q ∨ ¬R) ∧ (¬P ∨ Q ∨ R) ∧ (¬P ∨ ¬Q ∨ R)
A2
≡ ((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨(P31 ∧P32 )
| {z }
KNF (A2 )
{ {P, Q, R}, {P, Q, ¬R}, {¬P, Q, R}, {¬P, ¬Q, R} }
≡ (((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P31 )∧
(((P11 ∨P21 )∧(P12 ∨P21 )∧(P11 ∨P22 )∧(P12 ∨P22 ))∨P32 )
≡ (((P11 ∨P21 ∨P31 )∧(P12 ∨P21 ∨P31 )∧(P11 ∨P22 ∨P31 )∧(P12 ∨P22 ∨P31 )∧
(((P11 ∨P21 ∨P32 )∧(P12 ∨P21 ∨P32 )∧(P11 ∨P22 ∨P32 )∧(P12 ∨P22 ∨P32 ) Länge: 23

201 203

Beispiel zur exponentiellen Länge der KNF KNF: Mengenschreibweise

Gegeben: An = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) Bedeutung der leeren Menge

• Klausel in KNF von An : 2n • Leere Klausel


Beweis durch Induktion = leere Menge von Literalen
Induktionsvoraussetzung: KNF von An hat 2n Klausel = leere Disjunktion
KNF (An ) = C1 ∧ · · · ∧ C2n , Ci = (Li1 ∨ · · · ∨ Lini ) Klausel =⊥
Induktionsschritt: Zu zeigen: KNF von An+1 hat 2n+1 Klausel
• Leere Menge von Klauseln
An+1 = (P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 ) ∨ (P(n+1),1 ∧ P(n+1),2 )
≡ ((P11 ∧ P12 ) ∨ · · · ∨ (Pn1 ∧ Pn2 )) ∨ (P(n+1),1 ∧ P(n+1),2 ) = leere Konjunktion
| {z }
An =⊤
≡ (C1 ∧ · · · ∧ C2n ) ∨ (P(n+1),1 ∧ P(n+1),2 )
| {z }
KNF (An )
≡ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),1 ) ∧ ((C1 ∧ · · · ∧ C2n ) ∨ P(n+1),2 )
≡ (C1 ∨ P(n+1),1 ) ∧ · · · ∧ (C2n ∨ P(n+1),1 ) ∧ (C1 ∨ P(n+1),2 ) ∧ · · · ∧ (C2n ∨ P(n+1),2 )
| {z } | {z }
2n 2n

202 204
Vereinfachung der KNF: Subsumption Das SAT-Problem (Erfüllbarkeitsproblem)

Erfüllbarkeitsproblem für DNF Formeln


W V
Theorem (Subsumption Regel) Sei F = ni=1 ( m j=1 Lij ) in DNF
Enthält eine KNF-Formel (= Klauselmenge) Klauseln K , K ′ mit V
F unerfüllbar gdw. ( m j=1 Lij ) unerfüllbar für alle i = 1, . . . , n
Vm
K ⊂ K′ gdw. ( j=1 Lij ) enthält zwei komplementäre Literale für alle i

dann entsteht eine äquivalente Formel, wenn K ′ weggelassen wird.


Allgemeingültigkeit für DNF Formeln
Beweis: F in KNF allgemeingültig gdw. jede Disjunktion zwei komplementäre
K = {L1 , . . . , Lp } ⊆ {L1 , . . . , Lp , Lp+1 , . . . , Lm } = K ′ Literale enthält.

F enthält K ∧ K ′
K ∧ K′ = (L1 ∨ · · · ∨ Lp ) ∧ ((L1 ∨ · · · ∨ Lp ) ∨ Lp+1 ∨ . . . Lm )
≡ (L1 ∨ · · · ∨ Lp ) = K (Absorption)

205 207

Das SAT-Problem (Erfüllbarkeitsproblem) Das SAT-Problem (Erfüllbarkeitsproblem)

Definition: SAT-Problem Definition: SAT-Problem


Gegeben: Eine aussagenlogische Formel F Gegeben: Eine aussagenlogische Formel F
Frage: Ist F erfüllbar? Frage: Ist F erfüllbar?

NB: F allgemeingültig gdw. ¬F nicht erfüllbar


Theorem (ohne Beweis)
SAT ist ein NP-vollständiges Problem

206 208
NP Teilklassen des Erfüllbarkeitsproblems

Zur Erinnerung: Definition:


• P ist die Klasse aller Probleme, die in polynomieller Zeit entscheidbar k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben
sind.
• NP ist die Klasse aller Probleme, die nichtdeterministisch in
Theorem
polynomieller Zeit entscheidbar sind.
• Erfüllbarkeit für Formeln in KNF: NP-vollständig (ohne Beweis)
Ein Entscheidungsproblem ist genau dann in NP, wenn eine gegebene
Lösung für das entsprechende Suchproblem in Polynomialzeit überprüft • Erfüllbarkeit für Formeln in 3-KNF: NP-vollständig (Beweisidee)
werden kann.
• Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar

• Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar


SAT ist in NP:
• Rate eine “Lösung” (Interpretation A mit A(F ) = 1)
• Überprüfe, ob A wirklich eine “Lösung” ist (i.e. ob A(F ) = 1)
kann in Polynomialzeit überprüft werden

209 211

NP-Vollständigkeit 3-SAT

Zur Erinnerung: Theorem


“SAT ist NP-vollständig” heißt: Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig

• SAT ist nichtdeterministisch in polynomieller Zeit entscheidbar Beweis

• Jedes nichtdeterministisch in polynomieller Zeit entscheidbare Problem • 3-SAT ist ein Spezialfall von SAT und deshalb wie SAT in NP.
kann in polynomieller Zeit auf SAT reduziert werden
• Um zu zeigen, dass 3-SAT ebenfalls NP-vollständig ist, müssen wir
• Wenn es stimmt, dass NP 6= P, dann ist SAT nicht in polynomieller zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT
Zeit entscheidbar Problem reduzierbar ist.

210 212
3-SAT 3-SAT

Theorem Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig
Beweis (Teil 2) Beweis (Teil 4)
Wir zeigen, dass jedes SAT Problem in polynomieller Zeit auf das 3-SAT C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
Problem reduzierbar ist.
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
Gegeben sei eine Formel F in KNF. Wir transformieren F in eine Formel F ′ zu zeigen: F ′ erfüllbar gdw. F erfüllbar
in 3-KNF, so dass: “⇐”
F ist erfüllbar gdw. F ′ ist erfüllbar. Sei A eine erfüllende Belegung für F . A weist mindestens einem Literal aus C den
Wert 1 zu. Wir unterscheiden zwei Fälle:
Eine k-Klausel sei eine Klausel mit k Literalen. 1) Falls L1 oder L2 den Wert 1 haben, so ist F ′ für A(H) = 0 erfüllt.
Aus einer 1- bzw 2-Klausel können wir leicht eine äquivalente 3-Klausel 2) Falls L3 oder L4 den Wert 1 haben, so ist F ′ für A(H) = 1 erfüllt.
machen, indem wir ein Literal wiederholen. Also ist F ′ in beiden Fällen erfüllbar.
Was machen wir mit k-Klauseln für k > 3?
213 215

3-SAT 3-SAT

Theorem Theorem
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig

Beweis (Teil 3) Beweis (Teil 5)


Sei C beispielsweise eine 4-Klausel der Form C = L1 ∨ L2 ∨ L3 ∨ L4 ; C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
F ′ sei aus F entstanden durch Ersetzung von C durch C0 .
C = L1 ∨ L2 ∨ L3 ∨ L4 .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar
In einer Klauseltransformation ersetzen wir C durch die Teilformel “⇒”
Sei A eine erfüllende Belegung für F ′ . Wir unterscheiden zwei Fälle:
C0 = (L1 ∨ L2 ∨ H) ∧ (¬H ∨ L3 ∨ L4 ),
1) Falls A(H) = 0, so muss A(L1 ) = 1 oder A(L2 ) = 1.
wobei H eine zusätzlich eingeführte Hilfsvariable bezeichnet.
2) Falls A(H) = 1, so muss A(L3 ) = 1 oder A(L4 ) = 1
F ′ sei aus F entstanden durch Ersetzung von C durch C0 . In beiden Fällen erfüllt A somit auch C , i.e. auch F .
zu zeigen: F ′ erfüllbar gdw. F erfüllbar

214 216
3-SAT Horn-Formeln

Theorem Defintion:
Erfüllbarkeit für Formeln in 3-KNF (3-SAT) ist NP-vollständig Horn-Formel: Formel in KNF, in der jede Klausel höchstens ein positives
Literal enthält
Beweis (Teil 6)
Wir verallgemeinern die Klauseltransformation für k ≥ 4:
Notation: als Implikation
Jede Klausel der Form

L1 ∨ L2 ∨ · · · ∨ Lk−1 ∨ Lk
¬P1 ∨ · · · ∨ ¬Pn ∨ P P1 ∧ · · · ∧ Pn → P
wird durch eine Formel der Form ¬P1 ∨ · · · ∨ ¬Pn PA ∧ · · · ∧ Pn →

(L1 ∨ L2 ∨ ... ∨ Lk−2 ∨ H) ∧ (¬H ∨ Lk−1 ∨ Lk ) P →P

ersetzt. P1 ∧ · · · ∧ Pn : Rumpf

Die Erfüllbarkeitsäquivalenz folgt analog zum Fall k = 4. P: Kopf

217 219

Bis jetzt Horn Formel: Beispiele

• Das SAT-Problem (Erfüllbarkeitsproblem)


Klausel Literalmengen Implikationen
• Teilklassen des Erfüllbarkeitsproblems
¬P {¬P} P→
k-KNF Formel: KNF-Formeln, deren Klauseln höchstens k Literale haben Q ∨ ¬R ∨ ¬S {Q, ¬R, ¬S} R ∧S →Q
¬Q ∨ ¬S {¬Q, ¬S} Q∧S →
Theorem R {R} →R
• Erfüllbarkeit für Formeln in KNF: NP-vollständig (ohne Beweis) ¬Q ∨ P {¬Q, P} Q→P
• Erfüllbarkeit für Formeln in 3-KNF (3-SAT): NP-vollständig
• Erfüllbarkeit für Formeln in 2-KNF: polynomiell entscheidbar
(nächste Vorlesung)
• Erfüllbarkeit für Formeln in DNF: polynomiell entscheidbar
W V
F = ni=1 ( m j=1 Lij ) Formel in DNF unerfüllbar gdw. für alle
Vm
i, ( j=1 Lij ) enthält zwei komplementäre Literale.

218 220
Horn Formel: Beispiele Erfüllbarkeitsproblem für Horn-Formeln

Klausel Literalmengen Implikationen Theorem


¬P {¬P} P→ Die Erfüllbarkeit von Horn-Formeln ist in quadratischer Zeit entscheidbar.

Q ∨ ¬R ∨ ¬S {Q, ¬R, ¬S} R, S → Q


¬Q ∨ ¬S {¬Q, ¬S} Q, S →
R {R} →R Beweis: (Idee)
¬Q ∨ P {¬Q, P} Q→P Ziel: A : Π → {0, 1} mit A(F ) = 1.
Falls keine Fakten in F : F erfüllbar.
Sonst: Für alle Fakten → P in F : A(P) := 1;
Wiederhole das Verfahren für F ′ , entstanden aus F durch Ersetzung von P
mit ⊤.

221 223

Erfüllbarkeitsproblem für Horn-Formeln Erfüllbarkeitstest für Horn-Formeln

Lemma. Sei F Hornformel die keine Fakten enthält. Dann ist F erfüllbar. Eingabe: F = D1 ∧ · · · ∧ Dn eine Hornformel
(die Klausel Di enthält höchstens ein positives Literal)
Beweis: Sei A : Π → {0, 1} mit A(P) = 0 für alle P ∈ Π. Dann A(F ) = 1.

Ein Atom in H zu markieren, bedeutet, es an allen Stellen seines Auftretens


in H zu markieren

222 224
Erfüllbarkeitstest für Horn-Formeln 2.5 Der aussagenlogische Resolutionkalkül

0: IF keine Fakten (Klausel → A) vorhanden


THEN Ausgabe: erfüllbar
ELSE markiere alle Fakten in F (Atome A mit → A in H)
1: IF keine Klausel A1 ∧ · · · ∧ An → B in F , so dass
alle Atome in A1 , . . . , An markiert aber B nicht
THEN Ausgabe: erfüllbar
ELSE wähle die erste solche Klausel
IF B leer
THEN Ausgabe: unerfüllbar
ELSE markiere überall B in F
GOTO 1

225 227

Zusammenfassung: Normalformen Der aussagenlogische Resolutionkalkül

• Literale, Klauseln Wesentliche Eigenschaften

• Konjunktive und Disjunktive Normalform • Widerlegungskalkül: Testet auf Unerfüllbarkeit

• Ablesen von DNF und KNF aus Wahrheitstafeln • Voraussetzung: Alle Formeln in konjunktiver Normalform

• Umformen in KNF • Eine einzige Regel

• Mengenschreibweise • Operiert auf Klauseln (in Mengenschreibweise)

• Subsumption

• SAT-Problem (SAT, 3-SAT, 2-SAT, DNF-SAT)

• Horn-Formeln

• Erfüllbarkeitstest für Hornformeln

226 228
Resolutionskalkül Resolution: Weiteres Beispiel

Definition: Resolutionsregel (einzige Regel des Kalküls) Zu zeigen:


(P → Q) → ((Q → R) → (P → R))
C1 ∪ {P} {¬P} ∪ C2
C1 ∪ C2 ist allgemeingültig
wobei

• P eine aussagenlogische Variable Dazu zeigen wir, dass

• C1 , C2 Klauseln (können leer sein) ¬[(P → Q) → ((Q → R) → (P → R))]

unerfüllbar ist.
Definition:
C1 ∪ C2 heißt Resolvente von C1 ∪ {P}, C2 ∪ {¬P} Klauselnormalform:

{{¬P, Q}, {¬Q, R}, {P}, {¬R}}

229 231

Resolution: Beispiel Resolution: Weiteres Beispiel

Gegeben die Klauselmenge: Klauselnormalform:

M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}


M = {{¬P, Q}, {¬Q, R}, {P}, {¬R}}
Resolution:
{P1 , P2 } {P1 , ¬P2 } Ableitung der leeren Klausel aus M:
{P1 }
(1) {¬P, Q} gegeben
{¬P1 , P2 } {¬P1 , ¬P2 }
(2) {¬Q, R} gegeben
{¬P1 }
(3) {P} gegeben
{P1 } {¬P1 }
(4) {¬R} gegeben

(5) {Q} aus (1) und (3)
Insgesamt: M ⊢Res ⊥
(6) {R} aus (2) und (5)
also: M unerfüllbar
(7) ⊥ aus (4) und (6)

230 232
Resolution: Bemerkungen Ohne Mengenschreibweise

Vorsicht bei Klauseln mit mehreren Resolutionsmöglichkeiten Resolutionsregel:


• Zwei Klauseln können mehr als eine Resolvente haben C1 ∨ P ¬P ∨ C2
z.B.: {A, B} und {¬A, ¬B}
C1 ∨ C2
• {A, B, C } und {¬A, ¬B, D} haben NICHT {C , D} als Resolvente

Heuristik: Immer möglichst kleine Klauseln ableiten


Faktorisieren:
C ∨L∨L
C ∨L

233 235

Notwendigkeit der Mengenschreibweise Resolution mit Faktorisierung

Die Menge Die Menge

E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 } E = {P1 ∨ ¬P2 , ¬P1 ∨ P2 , ¬P1 ∨ ¬P2 , P1 ∨ P2 }

ist unerfüllbar. ist unerfüllbar.


Es gibt folgende Resolutionsmöglichkeiten (mit Faktorisieren)
Es gibt folgende Resolutionsmöglichkeiten (ohne Mengenschreibweise)

P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ ¬P2 ¬P1 ∨ ¬P2 P1 ∨ ¬P2 P1 ∨ P2


P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ ¬P2 ¬P1 ∨ ¬P2 P1 ∨ ¬P2 P1 ∨ P2
¬P2 ∨ P2 ¬P1 ∨ P1 ¬P2 ∨ ¬P2 P1 ∨ P1
¬P2 ∨ P2 ¬P1 ∨ P1 ¬P2 ∨ ¬P2 P1 ∨ P1
¬P1 ∨ P2 ¬P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2
¬P1 ∨ P2 ¬P1 ∨ ¬P2 ¬P1 ∨ P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P1 ∨ ¬P2 P1 ∨ P2 ¬P1 ∨ ¬P1 P2 ∨ P2 ¬P1 ∨ P1 ¬P2 ∨ P2
¬P1 ∨ ¬P1 P2 ∨ P2 ¬P1 ∨ P1 ¬P2 ∨ P2 P1 ∨ P1 ¬P1 ∨ ¬P1 P2 ∨ P2 ¬P2 ∨ ¬P2
P1 ¬P1 P2 ¬P2
Auf diese Weise ist ⊥ nicht herleitbar P1 ¬P1

234 236
Resolution: Beispiel Resolution: Korrektheit

Gegeben die Klauselmenge: Theorem


M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }} Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.

Resolution: Beweis: Annahme: M ⊢Res ⊥. Zu zeigen: M unerfüllbar.


{P1 , P2 } {P1 , ¬P2 }
Widerspruchsbeweis: wir zeigen, dass ein Widerspruch entsteht, wenn die
{P1 }
zu beweisende Behauptung falsch wäre.
{¬P1 , P2 } {¬P1 , ¬P2 }
Wir nehmen an, dass M erfüllbar.
{¬P1 }
Sei A : Π → {0, 1} mit A(C ) = 1 für alle C ∈ M.
{P1 } {¬P1 }
Lemma: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2
⊥ Beweis: Sei A Interpretation mit A(C1 ∨ P) = 1 und A(C2 ∨ ¬P) = 1.
Insgesamt: M ⊢Res ⊥ Zu zeigen: A(C1 ∨ C2 ) = 1
Fall 1: A(C1 ) = 1. Dann A(C1 ∨ C2 ) = 1.
also: M unerfüllbar Fall 2: A(C1 ) = 0. Dann A(P) = 1. Da A(C2 ∨ ¬P) = 1, so A(C2 ) = 1,
d.h. A(C1 ∨ C2 ) = 1.

237 239

Resolution Resolution: Korrektheit

Sei F eine Klauselmenge und


Theorem
Res(F ) = F ∪ {R | R ist eine Resolvente zweier Klauseln aus F } Für eine Menge M von Klauseln gilt: Falls M ⊢Res ⊥, so M unerfüllbar.

Res0 (F ) = F Beweis: Annahme: M ⊢Res ⊥, i.e. ⊥∈ Resn (M)


Resn+1 (F ) = Res(Resn (F )) Zu zeigen: M unerfüllbar.
S
Res⋆ (F ) = Resn (F ) Widerspruchsbeweis: wir zeigen, dass ein Widerspruch entsteht, wenn die
n∈N
zu beweisende Behauptung falsch wäre.
(bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte
auf F ) Wir nehmen an, dass M erfüllbar.
Sei A : Π → {0, 1} mit A(C ) = 1 für alle C ∈ M.
Notation: Falls C ∈ Res⋆ (F ), so schreiben wir F ⊢Res C .
Lemma: C1 ∨ P, C2 ∨ ¬P |= C1 ∨ C2
Definition: Beweis für C (aus F ): C1 , . . . Cn , wobei:
Cj1 Cj2 Induktion: Fur alle m ∈ N gilt: Falls D ∈ Resm (M), so A(D) = 1.
Cn = C und für alle 1 ≤ i ≤ n: (Ci ∈ F oder Ci Resolvente für Ci
mit
j1 , j2 <i). Da ⊥∈ Resn (M), A(⊥) = 1. Widerspruch!

238 240
Resolution: Vollständigkeit Resolution: Vollständigkeit

M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥:


Theorem.
- Pn+1 wird aus allen Klauseln gelöscht,
Für jede endliche Menge M von Klauseln gilt: - Klauseln, die ¬Pn+1 enthalten werden ebenfalls gelöscht
falls M unerfüllbar, so M ⊢Res ⊥.
M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤:
- ¬Pn+1 wird aus allen Klauseln gelöscht,
Beweis: Induktion: - Klauseln, die Pn+1 enthalten werden ebenfalls gelöscht
Fakten:
p(n): Sei M Menge von Klauseln mit n Aussagenvariablen.
• M0 , M1 enthalten nur Aussagenvariablen {P1 , . . . , Pn }
Falls M unerfüllbar, so M ⊢Res ⊥
• M0 , M1 unerfüllbar
Induktionsbasis: n = 0. dann M = {⊥}, d.h. M ⊢Res ⊥
Induktionsvoraussetzung:
Induktionsschritt: Annahme: p(n) gilt. Beweise p(n + 1).
M0 ⊢Res ⊥, i.e. es gibt C1 , C2 , . . . , Cm Beweis (aus M0 ) für ⊥
9
Sei M Menge von Klauseln mit Aussagenvariablen {P1 , . . . , Pn , Pn+1 }. Pn+1 zurück: C1′ , C2′ , . . . , Cm′ Beweis (aus M) für ⊥ oder Pn+1 >
>
=
M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥ ⇒ M ⊢Res ⊥
M1 ⊢Res ⊥, i.e. es gibt D1 , D2 , . . . , Dk Beweis (aus M1 ) für ⊥ >
>
;
M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤ ¬Pn+1 zurück: D1′ , D2′ , . . . , Dk′ Beweis (aus M) für ⊥ oder ¬Pn+1

241 243

Resolution: Vollständigkeit Resolution: Vollständigkeit

M0 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊥:


Theorem.
- Pn+1 wird aus allen Klauseln gelöscht,
- Klauseln, die ¬Pn+1 enthalten werden ebenfalls gelöscht Für jede endliche Menge M von Klauseln gilt:
falls M unerfüllbar, so M ⊢Res ⊥.
M1 sei aus M entstanden durch Ersetzung von Pn+1 durch ⊤:
- ¬Pn+1 wird aus allen Klauseln gelöscht,
- Klauseln, die Pn+1 enthalten werden ebenfalls gelöscht Es gilt auch:
Fakten:
Theorem.
• M0 , M1 enthalten nur Aussagenvariablen {P1 , . . . , Pn }
Für jede Menge M von Klauseln gilt:
• M0 , M1 unerfüllbar
falls M unerfüllbar, so M ⊢Res ⊥.
Induktionsvoraussetzung:
M0 ⊢Res ⊥, i.e. es gibt C1 , C2 , . . . , Cm Beweis (aus M0 ) für ⊥

M1 ⊢Res ⊥, i.e. es gibt D1 , D2 , . . . , Dk Beweis (aus M1 ) für ⊥

242 244
2-SAT 2.5 1-Resolution

Theorem Korrekt aber unvollständig.


Erfüllbarkeit für Formeln in 2-KNF (2SAT) ist polynomiell entscheidbar
Beweis (Krom, 1967)
Fall 1: Für jede Aussagenvariable P, entweder enthalten alle Klauseln P oder ¬P:
erfüllbar.
Fall 2: Es gibt Klauseln C1 = L1 ∨ P, C2 = L2 ∨ ¬P
Resolutionschritt; Resolvente L1 ∨ L2 (Mengennotation)
Fakt: Resolventen sind immer auch in 2-KNF.
Wenn F n Aussagenvariablen enthält, gibt es 2n mögliche Literale, und ≤ 4n2
nicht-leere verschiedene 2-KNF Klauseln.
F ist erfüllbar gdw. ⊥6∈ Res∗ (F )
Wenn wir Res∗ (F ) berechnen: nicht mehr als (4n2 )2 Resolutionsschritte
notwendig.
7→ Erfüllbarkeit von F ist polynomiell entscheidbar.

245 247

Andere Kalküle 1-Resolution

• 1-Resolution Syllogismus (in der ersten Vorlesung erwähnt):


• Das Davis-Putnam-Verfahren
P P→C
• Semantische Tableaux C

1-Resolution (unit resolution)

{P} {¬P} ∪ C {¬P} {P} ∪ C


C C

246 248
1-Resolution Andere Kalküle

Die 1-Resolution (unit resolution) benutzt dieselbe Notation wie im • 1-Resolution


Resolutionskalkül. Die 1-Resolutionsregel ist ein Spezialfall der allgemeinen
• Das Davis-Putnam-Verfahren
Resolutionsregel:
• Semantische Tableaux
{P} {¬P} ∪ C {¬P} {P} ∪ C
C C

249 251

1-Resolution 2.7 Das Davis-Putnam-Verfahren

Die 1-Resolution (unit resolution) benutzt dieselbe Notation wie im


Resolutionskalkül. Die 1-Resolutionsregel ist ein Spezialfall der allgemeinen
Resolutionsregel:

{P} {¬P} ∪ C {¬P} {P} ∪ C


C C

Der 1-Resolutionskalkül ist nicht vollständig.


Die Klauselmenge

M = {{P1 , P2 }, {P1 , ¬P2 }, {¬P1 , P2 }, {¬P1 , ¬P2 }}

ist nicht erfüllbar, aber mit 1-Resolution ist aus M nichts ableitbar, also
auch nicht ⊥.

250 252
Das Davis-Putnam-Verfahren Das Davis-Putnam-Verfahren

Gegeben: N Klauselmenge Gegeben: N Klauselmenge

Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell) Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
Allgemenine Idee:
• 1-Resolution + Fallunterscheidung
Martin Davis and Hilary Putnam, 1960
• N Klauselmenge, P Aussagenvariable in N.
N[P 7→⊥]: aus N entstanden durch Ersetzung von P durch ⊥
- P wird aus allen Klauseln gelöscht, 7→ Resolventen mit {¬P}

- Klauseln, die ¬P enthalten werden ebenfalls gelöscht Subsumption


N[P 7→ ⊤]: aus N entstanden durch Ersetzung von P durch ⊤
- ¬P wird aus allen Klauseln gelöscht, 7→ Resolventen mit {P}

- Klauseln, die P enthalten werden ebenfalls gelöscht Subsumption

N unerfüllbar gdw. (N[P 7→⊥] unerfüllbar und N[P 7→ ⊤] unerfüllbar)

253 255

Das Davis-Putnam-Verfahren Das Davis-Putnam-Verfahren

Gegeben: N Klauselmenge N: eine Menge von Klauseln


Programm DP(N):
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)
IF (N = ⊤) THEN Return “wahr”
Allgemeine Idee:
ELSE IF (N = ⊥) THEN Return “falsch”
• 1-Resolution + Fallunterscheidung ELSE IF (N enthält Klausel {P}) THEN return DP(N[P 7→ ⊤])
• N Klauselmenge, P Aussagenvariable in N. ELSE IF (N enthält Klausel {¬P}) THEN return DP(N[P 7→⊥])
N[P 7→⊥]: aus N entstanden durch Ersetzung von P durch ⊥ ELSE IF (N enthält pures Literal P (d.h. ¬P kommt in N nicht vor))
- P wird aus allen Klauseln gelöscht, THEN return DP(N[P 7→ ⊤])
- Klauseln, die ¬P enthalten werden ebenfalls gelöscht
ELSE IF (N enthält pures Literal ¬P (d.h. P kommt in N nicht vor))
N[P 7→ ⊤]: aus N entstanden durch Ersetzung von P durch ⊤
THEN return DP(N[P 7→ ⊥])
- ¬P wird aus allen Klauseln gelöscht,
- Klauseln, die P enthalten werden ebenfalls gelöscht ELSE {
Sei P Aussagenvariable in N
N unerfüllbar gdw. (N[P 7→⊥] unerfüllbar und N[P 7→ ⊤] unerfüllbar)
IF (DP(N ∪ {¬P}) THEN return “wahr”
ELSE return DP(N ∪ {P}) }
254 256
Das Davis-Putnam-Verfahren Das Davis-Putnam Verfahren: Beispiel

N: eine Menge von Klauseln


Programm DP(N): (¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
ddd
dddddQ7d→d⊤
IF (N = ⊤) THEN Return “wahr”
R ∧ ¬R ∧ (P ∨ ¬R)
ELSE IF (N = ⊥) THEN Return “falsch”
ELSE IF (N enthält Klausel {P}) THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält Klausel {¬P}) THEN return DP(N[P 7→⊥])
ELSE IF (N enthält pures Literal P (d.h. ¬P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊤])
ELSE IF (N enthält pures Literal ¬P (d.h. P kommt in N nicht vor))
THEN return DP(N[P 7→ ⊥])
ELSE {
Sei P Aussagenvariable in N
IF (DP(N[P 7→ ⊥]) THEN return “wahr”
ELSE return DP(N[P 7→ ⊤]) }
257 259

Das Davis-Putnam Verfahren: Beispiel Das Davis-Putnam Verfahren: Beispiel

(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R) (¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
ddd
dddddQ7d→d⊤
R ∧ ¬R ∧ (P ∨ ¬R)
R ¬R (oder: R7→⊥)

258 260
Das Davis-Putnam Verfahren: Beispiel Das Davis-Putnam Verfahren: Beispiel

(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R) (¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
ddd YYYYYY ddd YYYYYY
dddddQ7d→d⊤ Q7→⊥
YYYYY dddddQ7d→d⊤ Q7→⊥
YYYYY
R ∧ ¬R ∧ (P ∨ ¬R) ¬P ∨ R R ∧ ¬R ∧ (P ∨ ¬R) ¬P ∨ R
R7→⊤
R ¬R (oder: R7→⊥) R ¬R (oder: R7→⊥)

⊥ ¬P
P7→⊥

⊥ ⊤

A = (P 7→ 0, R 7→ 1, Q 7→ 0)

261 263

Das Davis-Putnam Verfahren: Beispiel Das Davis-Putnam Verfahren

Das Davis-Putnam Verfahren: 1-Resolution + Fallunterscheidung


(¬P ∨ Q ∨ R) ∧ (¬Q ∨ R) ∧ (¬Q ∨ ¬R) ∧ (P ∨ ¬Q ∨ ¬R)
ddd YYYYYY
dddddQ7d→d⊤ Q7→⊥
YYYYY
R ∧ ¬R ∧ (P ∨ ¬R) ¬P ∨ R Weiterentwicklung:
R7→⊤ Das Davis-Putnam-Logemann-Loveland Verfahren (DPLL)
R ¬R (oder: R7→⊥)
⊥ ¬P
Martin Davis, Hilary Putnam, George Logemann and Donald W. Loveland

1962

262 264
DPLL DPLL

Gegeben: N Klauselmenge Gegeben: N Klauselmenge

Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell) Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)

Idee: Erfüllende Wertebelegung inkrementell gebildet. Idee: Erfüllende Wertebelegung inkrementell gebildet.
“partielle Wertebelegungen”
Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu
einem Modell für N zu erweitern.

Falls A partielle Wertebelegung, so können Literale und Klauseln in A wahr,


falsch oder undefiniert sein.
Eine Klausel ist wahr in A, wenn ein Literal in C wahr ist; falsch, wenn alle
Literale falsch sind. Sonst ist C undefiniert (unresolved).

265 267

DPLL Einerklauseln (Unit clauses)

Gegeben: N Klauselmenge Definition. Sei A eine Interpretation. Sei C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so


dass L1 , . . . , Ln falsch in A und L nicht definiert.
Ziel: Entscheide, ob N erfüllbar ist. (Falls ja: Modell)

Dann heißt C Einerklausel (Unit clause).


Idee: Erfüllende Wertebelegung inkrementell gebildet.
“partielle Wertebelegungen”
Lemma. Seien A eine Interpretation und C = L1 ∨ · · · ∨ Ln ∨ L ∈ N, so
Wir beginnen mit der leeren Belegung und versuchen diese Belegung zu dass L1 , . . . , Ln falsch in A und L nicht definiert.
einem Modell für N zu erweitern.
Es gibt ein Modell von N, das A erweitert,
genau dann, wenn
es ein Modell von N gibt, das A erweitert und L wahr macht.

266 268
Pure Literale Pure Literale

Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn Mengen von Literalen), wenn

• L Element einer Klausel in N ist und • L Element einer Klausel in N ist und
• das Komplement von L in keiner Klausel von N enthalten ist.
• das Komplement von L in keiner Klausel von N enthalten ist.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält.
pures Literal enthält.
Lemma. Für jede pure Klausel C in einer Klauselmenge N:
Lemma. Für jede pure Klausel C in einer Klauselmenge N: N erfüllbar gdw. N\{C } erfüllbar
N erfüllbar gdw. N\{C } erfüllbar
Beweis:
“⇒” Falls N erfüllbar, ist N\{C } auch erfüllbar.
“⇐” Annahme: N\{C } erfüllbar (sei A Modell), C enthält ein in N pures Literal L.
(
′ ′ A(Q) falls Q 6= P
L = ¬P: A : Π → {0, 1} mit A (Q) = ist Modell für N.
0 falls Q = P

269 271

Pure Literale Pure Literale


Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien Definition: Ein Literal L heißt pur in einer Klauselmenge N (Klauseln seien
Mengen von Literalen), wenn Mengen von Literalen), wenn
• L Element einer Klausel in N ist und • L Element einer Klausel in N ist und
• das Komplement von L in keiner Klausel von N enthalten ist. • das Komplement von L in keiner Klausel von N enthalten ist.
Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N Eine Klausel C in einer Klauselmenge N heißt pur in N, wenn C ein in N
pures Literal enthält. pures Literal enthält.

Lemma. Für jede pure Klausel C in einer Klauselmenge N: Lemma. Für jede pure Klausel C in einer Klauselmenge N:
N erfüllbar gdw. N\{C } erfüllbar N erfüllbar gdw. N\C erfüllbar

Beweis:
Lemma. Sei A eine partielle Wertebelegung.
“⇒” Falls N erfüllbar, ist N\{C } auch erfüllbar.
Für jedes pure Literal L in einer Klauselmenge N gilt:
“⇐” Annahme: N\{C } erfüllbar (sei A Modell), C enthält ein in N pures Literal L. Es gibt ein Modell von N, das A erweitert
(
A(Q) falls Q 6= P genau dann, wenn
L = P: A′ : Π → {0, 1} mit A′ (Q) = ist Modell für N. es ein Modell von N gibt, das A erweitert und L wahr macht.
1 falls Q = P

270 272
DPLL Eine alternative Formulierung

N: eine Menge von Klauseln, A partielle Wertebeleung Zustand: M||F


Programm DPLL(N, A): wobei:
IF (alle Klauseln in N wahr in A) THEN Return “wahr”
- M Sequenz von Literalen (partielle Wertebelegung)
ELSE IF (eine Klausel in N falsch in A) Return “falsch”
(Ld : Entscheidungsliteral)
ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1})
- F Klauselmenge
ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0})
ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1})
ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0})
ELSE {
Sei P undefinierte Aussagenvariable in N
IF (DPLL(N, A(P 7→ 0))) THEN return “wahr”
ELSE return DPLL(N, A ∪ {P 7→ 1})

273 275

DPLL Eine alternative Formulierung

N: eine Menge von Klauseln, A partielle Wertebeleung


UnitPropagation
Programm DPLL(N, A):
M||F , C ∨ L ⇒ M, L||F , C ∨ L falls M |= ¬C , und L undef. in M
IF (alle Klauseln in N wahr in A) THEN Return “wahr”
ELSE IF (eine Klausel in N falsch in A) Return “falsch” Decide
ELSE IF (N enthält Einerklausel {P}) THEN return DPLL(N, A ∪ {P 7→ 1}) M||F ⇒ M, Ld ||F falls L oder ¬L kommt in F vor, L undef. in M
ELSE IF (N enthält Einerklausel {¬P}) THEN return DPLL(N, A ∪ {P 7→ 0}) Fail
ELSE IF (N enthält pures Literal P) THEN return DPLL(N, A ∪ {P 7→ 1}) M||F , C ⇒ Fail falls M |= ¬C , M enthält kein Entscheidungsliteral
ELSE IF (N enthält pures Literal ¬P) THEN return DPLL(N, A ∪ {P 7→ 0})
Backjump
ELSE { 8
>
> es gibt eine Klausel C ∨ L′ mit:
Sei P undefinierte Aussagenvariable in N >
>
>
< F |= C ∨ L′ , M |= ¬C ,
IF (DPLL(N, A(P 7→ 0))) THEN return “wahr” M, Ld , N||F ⇒ M, L′ ||F falls
ELSE return DPLL(N, A ∪ {P 7→ 1})
> L′ undef. in M
>
>
>
> ′
: L oder ¬L′ kommt in F vor.
Am Anfang: A = ∅ DPLL(N, ∅)

274 276
Eine alternative Formulierung Beispiel

Backjump Wertebelegung: Klauselmenge:


8
> es gibt eine Klausel C ∨ L′ mit: ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
>
>
>
> ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
< F |= C ∨ L′ , M |= ¬C ,
M, Ld , N||F ⇒ M, L′ ||F falls
> L′ undef. in M
>
>
>
> ′
: L oder ¬L′ kommt in F vor.

Es gibt mehrere mögliche backjump Klauseln. Ein Kandidat ist


¬L1 ∨ · · · ∨ ¬Ln wo L1 , . . . , Ln alle Entscheidungsliterale in MLd N sind.
(Es gibt manchmal bessere Kandidaten).

277 279

Beispiel Beispiel

Wertebelegung: Klauselmenge: Wertebelegung: Klauselmenge:


∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5

278 280
Beispiel Beispiel

Wertebelegung: Klauselmenge: Wertebelegung: Klauselmenge:


∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ ¶5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide)
¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack)

281 283

Beispiel Beispiel

Wertebelegung: Klauselmenge: Wertebelegung: Klauselmenge:


∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) ¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide)
¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack)
¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5

282 284
Beispiel DPLL

Wertebelegung: Klauselmenge: Das DPLL-Verfahren (Davis-Putnam-Logemann-Loveland)


∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
• Das bekannteste und am meisten verbreitete Verfahren zur
¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide) systematischen Suche eines Modells
¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack) • wurde in den letzten Jahrzehnten mit Hilfe von Heuristiken
¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp) und Lernverfahren stark verbessert
¬P1 ¬P3 ¬P5 P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5

285 287

Beispiel Andere Kalküle

Wertebelegung: Klauselmenge: • 1-Resolution


∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal) • Das Davis-Putnam-Verfahren
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
• Semantische Tableaux
¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide)
d
¬P1 ¬P3 P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack)
¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
¬P1 ¬P3 ¬P5 P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5

Die Klauselmenge ist erfüllbar.


Modell:
A(P1 ) = 0, A(P3 ) = 0, A(P5 ) = 0, A(P6 ) = 1
A(P2 ), A(P4 ) beliebig.
286 288
2.8 Der aussagenlogische Tableaukalkül Der aussagenlogische Tableaukalkül

Wesentliche Eigenschaften

• Widerlegungskalkül: Testet auf Unerfüllbarkeit

• Beweis durch Fallunterscheidung

• Top-down-Analyse der gegebenen Formeln

289 291

Der aussagenlogische Tableaukalkül Der aussagenlogische Tableaukalkül

Geschichte Vorteile
• Beth (1955), Hintikka (1955) and Schütte (1956) • Intuitiver als Resolution
• Analytic tableaus: Smullyan 1968 • Formeln müssen nicht in Normalform sein
• Automatisches Beweisen/Mechanisierung: • Falls Formelmenge erfüllbar ist (Test schlägt fehl), wird ein
Kanger 1957, Prawitz 1960, Wang 1960, Davis 1960, Maslov 1968. Gegenbeispiel (eine erfüllende Interpretation) konstruiert

• Weiterentwicklung/Verfeinerungen: Nachteile
Loveland 1968 (Model elimination), • Mehr als eine Regel
Kowalski, Kuehner 1971 (SL-resolution)
Bibel 1975,
Andrews 1976
...

290 292
Formeltypen Formeltypen

Konjunktive Formeln: Typ α Disjunktive Formeln: Typ β

• ¬¬F • ¬(F ∧ G )

• F ∧G • F ∨G

• ¬(F ∨ G ) • F →G

• ¬(F → G ) Zuordnungsregeln Formeln / Unterformeln

Disjunktive Formeln: Typ β


β β1 β2
• ¬(F ∧ G )
¬(F ∧ G ) ¬F ¬G
• F ∨G
F ∨G F G
• F →G F →G ¬F G

293 295

Formeltypen Regeln des (aussagenlogischen) Tableaukalküls

Konjunktive Formeln: Typ α p∧q


α
• ¬¬F |
α1 Konjunktiv p
• F ∧G |
• ¬(F ∨ G ) α2 q
• ¬(F → G )
p∨q
Zuordnungsregeln Formeln / Unterformeln β
Disjunktiv / \
β1 | β2
p q
α α1 α2
F ∧G F G φ
φ
¬(F ∨ G ) ¬F ¬G ¬φ
¬φ Widerspruch
¬(F → G ) F ¬G |

¬¬F F ⊥

294 296
Instanzen der α und β-Regel Determinismus von Kalkül und Regeln

Instanzen der α-Regel Determinismus

P ∧Q ¬(P ∨ Q) ¬(P → Q) ¬¬P • Die Regeln sind alle deterministisch


P ¬P P P • Der Kalkül aber nicht:
Q ¬Q ¬Q Auswahl der nächsten Formel, auf die eine Regel angewendet wird
Instanzen der β-Regel Heuristik
P ∨Q ¬(P ∧ Q) P→Q • Nicht-verzweigende Regeln zuerst: α vor β
P | Q ¬P | ¬Q ¬P | Q Nota bene:
Dieselbe Formel kann mehrfach (auf verschiedenen Ästen) verwendet
werden

297 299

Ein Tableau für {P ∧ ¬(Q ∨ ¬R), ¬Q ∨ ¬R} Formale Definition des Kalküls

Definition
Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind
1. P ∧ ¬(Q ∨ ¬R)
Definition
2. ¬Q ∨ ¬R Dieses Tableau ist nicht
PPP “maximal”, aber der erste Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt)
 P
3. ¬Q 4. ¬R “Ast” ist.
5. P 10. P Dieser Ast ist nicht
“geschlossen” (enthält
6. ¬(Q ∨ ¬R) 11. ¬(Q ∨ ¬R)
keinen Widerspruch),
7. ¬Q also ist die Menge {1, 2}
8. ¬¬R erfüllbar.
9. R (Diese Begriffe werden auf
den nächsten Seiten
erklärt.)

298 300
Formale Definition des Kalküls Formale Definition des Kalküls

Sei M eine Formelmenge Definition.


Initialisierung Ast B eines Tableaus für M ist geschlossen, wenn
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M F , ¬F ∈ B ∪ M
Erweiterung

• T ein Tableau für M


Definition.
• B ein Ast von T
Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist.
• F eine Formel auf B oder in M, die kein Literal ist

T ′ entstehe durch Erweiterung von B gemäß der auf F anwendbaren Regel


Definition.
(α oder β)
Ein Tableau für M, das geschlossen ist, ist ein Tableaubeweis für (die
Unerfüllbarkeit von) M
Dann ist T ′ ein Tableau für M.

301 303

Formale Definition des Kalküls Beispiel

Nota bene: Zu zeigen:


Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M (P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig

Wir zeigen, dass

¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]

unerfüllbar ist.

302 304
Beispiel Klauseltableau: Beispiel

1. ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))] M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }

2. (P → (Q → R)) [11 ]
3. ¬((P ∨ S) → ((Q → R) ∨ S)) [12 ]
4. P ∨S [31 ]
5. ¬((Q → R) ∨ S)) [32 ]
6. ¬(Q → R) [51 ]
7. ¬S [52 ]
hhhhhhh
 h
8. ¬P [21 ] 9. Q→R [22 ]
XXXX
 X
10. P [41 ] 11. S [42 ]
geschlossenes Tableau.

305 307

Klauseltableau Klauseltableau: Beispiel

M Menge von Klauseln M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }

Änderungen ii 1. TTTTTT
iiiiiii TTT
i Q
• Keine α-Regel ¬P

• Erweiterungsregel kann Verzweigungsgrad > 2 haben

• Alle Knoten im Tableau enthalten Literale

306 308
Klauseltableau: Beispiel Klauseltableau: Beispiel

M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} } M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }

hhhh 1. UUUUUUUU ggggg 1. VVVVVVVV


V
hhhh gggg
hhh UU
Q
ggg VV
u
¬P KKK w JJJJ u
¬P K
K u Q LLLL
uuu www uuu K uuu
P ¬Q P ¬Q P ¬Q P ¬Q
s PPP pp P III
sss ppp
⊥ P Q R ¬P ¬Q ⊥

⊥ ⊥ ⊥ ⊥ ⊥

309 311

Klauseltableau: Beispiel Korrektheit und Vollständigkeit des


Tableaukalküls
M = { {P, Q, R}, {¬R}, {¬P, Q}, {P, ¬Q}, {¬P, ¬Q} }

Theorem.
ggg 1. VVVVVVV Eine Formelmenge M ist unerfüllbar
gg gggg VVVV
gg genau dann, wenn
u
¬P K
KK u Q LLLL es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
uuu uuu
P ¬Q O P ¬Q
sss OOO
pppp III
s
P Q R ¬P ¬Q

310 312
Korrektheit und Vollständigkeit des Kern des Korrektheitsbeweises
Tableaukalküls
Theorem (Korrektheit)
Theorem. Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
Eine Formelmenge M ist unerfüllbar (d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar.
genau dann, wenn ... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt

Korrektheit: “⇐”
Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist)
so ist M unerfüllbar.
... alternativ:
Falls M erfüllbar ist, hat M kein geschlossenes Tableau.

313 315

Korrektheit und Vollständigkeit des Kern des Korrektheitsbeweises


Tableaukalküls
Theorem (Korrektheit)
Theorem. Falls es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
(d.h. ein Tableau für M, das geschlossen ist) so ist M unerfüllbar.
Eine Formelmenge M ist unerfüllbar
genau dann, wenn ... alternativ: Falls M erfüllbar ist, hat M kein geschlossenes Tableau.
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt
Definition.
Ein Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist
Vollständigkeit: “⇒”
Ein Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Falls M unerfüllbar ist,
gibt es einen Tableaubeweis für (die Unerfüllbarkeit von) M
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
(d.h. ein Tableau für M, das geschlossen ist).

Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar

... Also: Kein geschlossenes Tableau für erfüllbare Formelmenge

314 316
Lemma 1: Beweis Lemma 1: Beweis
Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Definition. Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar Sei T ein in n + 1 Schritten gebildetes Tableau für M.
Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und
Induktionsbasis: T wurde in einem Schritt gebildet. eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung
von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
Initialisierung
Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
da M erfüllbar ist, ist ein solches Tableau erfüllbar Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B.
Fall 2a: α-Regel angewandt F ≡ F1 ∧ F2 . Dann ist A Modell für
NB ∪ {F1 , F2 }, d.h.: die Erweiterung von B mit dieser α-Regel ist erfüllbar,
so T erfüllbar.

317 319

Lemma 1: Beweis Lemma 1: Beweis


Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist. Definition.Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist.
Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat

Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
Beweis: Induktion p(n): Falls M erfüllbar und das Tableau T in n Schritten
aus M gebildet wurde, ist T erfüllbar
aus M gebildet wurde, ist T erfüllbar
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Induktionsschritt: Annahme p(n) gilt. Zu zeigen: p(n + 1).
Sei T ein in n + 1 Schritten gebildetes Tableau für M.
Sei T ein in n + 1 Schritten gebildetes Tableau für M. Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und
Dann gibt es ein Tableau T ′ für M (in n Schritten gebildet), ein Ast B von T ′ und eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung
eine Formel F auf B oder in M, die kein Literal ist, so dass T durch die Erweiterung von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
von B gemäß der auf F anwendbaren Regel (α oder β) entstanden ist.
Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
Induktionsvoraussetzung: T ′ erfüllbar, d.h. hat (mindestens) einen erfüllbaren Ast B ′ .
Fall 2: B ′ = B d.h. B erfüllbar. Sei A Modell für die Formeln NB auf B.
Fall 1: B ′ 6= B. Dann ist B ′ auch Ast in T , d.h. T erfüllbar. Fall 2b: β-Regel angewandt F ≡F1 ∨F2 . Dann 1=A(F )=A(F1 )∨A(F2 ), so
A(F1 )=1 oder A(F2 )=1. Dann A|=NB ∪{Fi }, i=1 oder 2, d.h. A Modell
für alle Formeln auf der Erweiterung von B mit F1 oder F2 , so T erfüllbar.

318 320
Lemma 2: Beweis Lemma 3: Beweis

Definition. Lemma 3.
Tableauast ist erfüllbar, wenn die Menge seiner Formeln erfüllbar ist B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar.

Tableau ist erfüllbar, wenn es (mindestens) einen erfüllbaren Ast hat Beweis: (für klausale Tableaux)
Sei N die Menge der Formeln auf B. Da B offen ist, ist ⊥ nicht in N.
Seien C ∨ A, D ∨ ¬A zwei Klauseln in N die komplementäre Literale enthalten. Einer
Lemma 1. Jedes Tableau für eine erfüllbare Formelmenge M ist erfüllbar von C , D ist nicht leer (sonst wäre B geschlossen).
Annahme: C nicht leer. Da B voll expandiert ist, wurde die β-Regel für C ∨ A
Lemma 2. Ein geschlossenes Tableau ist nicht erfüllbar angewandt (auch für D ∨ ¬A falls D nicht leer).

Beweis: Kontraposition Fall 1: A, ¬A ∈ B: unmöglich, da B offen ist.


Fall 2: A, L ∈ B mit L Literal in D. N erfüllbar gdw. N\{D ∨ ¬A} erfüllbar.
Annahme: T erfüllbar. Dann hat T einen erfüllbaren Ast B. Fall 3: L, ¬A ∈ B, mit L Literal in C . N erfüllbar gdw. N\{C ∨ A} erfüllbar.
Falls die Menge der Formeln auf B (und M) erfüllbar ist, kann B nicht ⊥ enthalten, Fall 4: L1 , L2 ∈ B, mit L1 Literal in C , L2 Literal in D.
N erfüllbar gdw. N\{C ∨ A, D ∨ ¬A} erfüllbar.
d.h. B kann nicht geschlossen sein.
N 7→ N ′ , N ′ Klauselmenge ohne komplementäre Literale und ohne ⊥
Die Erfüllbarkeit von N ′ folgt aus der Vollständigkeit der Resolution.

321 323

Kern des Vollständigkeitsbeweises Klauseltableau: Einschränkungen des Suchraums

Definition. Regularität:
Ein Tableau heißt voll expandiert, wenn Kein Literal darf auf einem Ast mehr als einmal vorkommen

• jede Regel

• auf jede passende Formel Schwache Konnektionsbedingung (Connection calculus)

• auf jedem offenen Ast Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
komplementär zu Literal in B ∪ M sein.
angewendet worden ist.

Starke Konnektionsbedingung (Modellelimination)


Lemma 3. Bei Erweiterung von Ast B muss mindestens eines der neuen Literale
B offener Ast in voll expandiertem Tableau, dann B ∪ M erfüllbar. komplementär zum Blatt von B sein – außer beim ersten Schritt.
... Also: Voll expandiertes Tableau für unerfüllbares M ist geschlossen

322 324
Klauseltableau: Einschränkungen des Suchraums Klauseltableau: Weiteres Beispiel

Behauptung
Theorem (hier ohne Beweis)
Regularität, starke und schwache Konnektionsbedingung Dann müssen sie ans Meer mit Vollpension, mit Pool und ohne Flug.
erhalten Vollständigkeit. M ∧ V ∧ P ∧ ¬F

Jedoch
Zu zeigen:
Bei starker Konnektionsbedingung kann ungünstige Erweiterung in {¬F → (V ∧ M), (M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P),
Sackgasse führen. ¬P → (F ∧ M ∧ ¬V ), (P ∧ ¬F ) ∨ (V ∧ ¬P)} |= M ∧ V ∧ P ∧ ¬F
(bei schwacher Konnektionsbedinung nicht) Wir zeigen, dass die folgende Konjunktion unerfüllbar ist:
(¬F → (V ∧ M), (M ∧ F ))∧
((M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P))∧
Beispiel: M = {{P}, {¬Q}, {¬P, Q}, {¬P, R}}
(¬P → (F ∧ M ∧ ¬V ))∧
Zuerst {¬P, Q}: OK ((P ∧ ¬F ) ∨ (V ∧ ¬P))∧
Zuerst {¬P, R}: Sackgasse ¬M ∨ ¬V ∨ ¬P ∨ F (Negation der Behauptung)

325 327

Klauseltableau: Weiteres Beispiel Klauseltableau: Weiteres Beispiel

Signatur: F : Flugreise V : Vollpension M: Meer P: Pool ¬F → (V ∧ M) (1) F ∨V


(2) F ∨M
(M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P) (3) M ∨V
Falls sie nicht mit dem Flugzeug fliegen, besteht der Vater auf Vollpension am Meer.
(4) M∨P
¬F → (V ∧ M) (5) M ∨ ¬P ∨ V
(6) F ∨M ∨V
Die Mutter möchte mindestens einen ihrer drei Wünsche erfüllt sehen: ans Meer
fliegen, oder am Meer ohne Pool, oder Vollpension und Pool. (7) F ∨M ∨P
(8) F ∨ ¬P ∨ V
(M ∧ F ) ∨ (M ∧ ¬P) ∨ (V ∧ P) ¬P → (F ∧ M ∧ ¬V ) (9) P ∨F
Gibt es keinen Pool, so besteht Tochter Lisa auf einer Flugreise und Urlaub am Meer (10) P ∨M
und darauf, dass keine Vollpension gebucht wird. (11) P ∨ ¬V
(P ∧ ¬F ) ∨ (V ∧ ¬P) (12) P ∨V
¬P → (F ∧ M ∧ ¬V )
(13) ¬F ∨ V
Auch dem Baby soll einer seiner Wünsche erfüllt werden: erstens einen Pool und nicht (14) ¬F ∨ ¬P
fliegen oder zweitens Vollpension, dann aber ohne Pool. Negation der Behauptung (15) ¬M ∨ ¬V ∨ ¬P ∨ F
(P ∧ ¬F ) ∨ (V ∧ ¬P)

326 328
Klauseltableau: Weiteres Beispiel Terminierung

Beobachtung Aussagenlogische Resolution (für Klauselmengen in Mengennotation)


terminiert, für jede endliche Menge von Klauseln.
Konstruktion des Konnektionstableaus
• bei Beginn mit Klausel (1)
Beweis: Es gibt nicht mehr als 22n Klauseln (in Mengennotation) mit n
• mit Regularität
Aussagenvariablen.
• mit starker Konnektionsbedingung
7→ nicht mehr als (22n )2 mögliche Anwendungen der Resolutionsregel.

Dann:
Nahezu deterministische Beweiskonstruktion

329 331

Klauseltableau: Weiteres Beispiel Terminierung

(1) F ∨V Das Davis-Putnam und das DPLL Verfahren terminieren ebenfalls.


(2) F ∨M 1 Beweis (Idee auf Beispiel)
(3) M ∨V F V
Wertebelegung: Klauselmenge:
(4) M ∨P
F V P V ∅ ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
(5) M ∨ ¬P ∨ V
¬P1 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Pure Literal)
(6) F ∨M ∨V V P P F ¬P1 ¬P3 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Decide)
(7) F ∨M ∨P ¬P1 ¬P3 P5 d ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6
∨ ¬P5 ⇒ (UnitProp)
(8) F ∨ ¬P ∨ V P F F M ¬P1 ¬P3 P5 d ¬P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (Backtrack)
(9) P ∨F ¬P1 ¬P3 ¬P5 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5 ⇒ (UnitProp)
M V P F ¬P1 ¬P3 ¬P5 P6 ||¬P1 ∨ P2 , ¬P3 ∨ P4 , ¬P5 ∨ ¬P6 , P6 ∨ P5 , P6 ∨ ¬P5
(10) P ∨M
(11) P ∨ ¬V
(12) P ∨V Noether’sche Ordnung auf partiellen Wertebelegungen
(13) ¬F ∨ V (Wieviele Literale sind undefiniert? Gibt es Entscheidungsliterale?
(14) ¬F ∨ ¬P
(15) ¬M ∨ ¬V ∨ ¬P ∨ F
Partielle Wertebelegungen werden mit jedem Schritt kleiner.

330 332
Terminierung Zusammenfassung: Tableaukalkül

Ähnliches Resultat für Tableaux? Beweis durch Widerspruch und Fallunterscheidung

• Tableauregeln (mit uniformer Notation)


• Formale Definition des Kalküls
• Korrektheit und Vollständigkeit

• Klauseltableau
• Regularität
• Schwache und starke Konnektionsbedingung

• Strikte Tableaux
• Terminierung

333 335

Terminierung 3. Prädikatenlogik

Definition. Ein Tableau ist strikt, falls für jede Formel F die entsprechende
Erweiterungsregel höchstens einmal auf jeden Ast, der die Formel enthält,
angewandt wurde.

Theorem.
Sei T ein striktes aussagenlogisches Tableau. Dann ist T endlich.

Beweis: Neue Formeln mit denen ein Tableau erweitert wird sind ⊥, (⊤) oder
Teilformeln der Formel, auf der die Erweiterungsregel angewandt wird. Da T strikt
ist, wird für jede Formel F die entsprechende Erweiterungsregel höchstens einmal auf
jeden Ast, der die Formel enthält, angewandt.
Dann sind alle Äste in T endlich, und so ist auch T endlich (König’s Lemma).

334 336
Rückblick: Vor- und Nachteile von Aussagenlogik Prädikatenlogik

+ Aussagenlogik ist deklarativ: Syntaxelemente entsprechen Fakten Reichere Struktur


+ Aussagenlogik erlaubt konjunktive / disjunktive / negative Aussagen • Objekte (Elemente)
(im Gegensatz zu vielen Datenstrukturen und Datenbanken) Leute, Häuser, Zahlen, Theorien, Farben, Jahre, ...
+ Aussagenlogik ist kompositional:
• Relationen (Eigenschaften)
Bedeutung von F1 ∧ F2 leitet sich ab aus der von F1 und F2
rot, rund, prim, mehrstöckig, ...
+ Bedeutung in Aussagenlogik ist kontextunabhängig ist Bruder von, ist größer als, ist Teil von, hat Farbe, besitzt, ..
(im Gegensatz zu natürlicher Sprache) =, ≥, ...

• Funktionen
− Aussagenlogik hat nur beschränkte Ausdruckskraft +, Mitte von, Vater von, Anfang von, ...
(im Vergleich zu natürlicher Sprache)
Beispiele:
• Die Aussage “Alle Menschen sind sterblich” erfordert eine Formel für
jeden Mensch.
337 339

Rückblick: Vor- und Nachteile von Aussagenlogik Weitere Logiken

+ Aussagenlogik ist deklarativ: Syntaxelemente entsprechen Fakten


Logik
+ Aussagenlogik erlaubt konjunktive / disjunktive / negative Aussagen
Aussagenlogik Fakten wahr/falsch
(im Gegensatz zu vielen Datenstrukturen und Datenbanken)
Prädikatenlogik Objekte, Funktionen, wahr/falsch
+ Aussagenlogik ist kompositional:
Relationen
Bedeutung von F1 ∧ F2 leitet sich ab aus der von F1 und F2
Temporallogik Fakten, Zeitpunkte wahr/falsch
+ Bedeutung in Aussagenlogik ist kontextunabhängig
(im Gegensatz zu natürlicher Sprache) Mehrwertige Logik Fakten wahr/falsch/unbekannt
Fuzzy-Logik Fakten [0, 1]
... ... ...
− Aussagenlogik hat nur beschränkte Ausdruckskraft
(im Vergleich zu natürlicher Sprache)
Beispiele:
• Die Aussage “Jede natürliche Zahl ist entweder gerade oder ungerade”
erfordert eine Formel für jede Zahl.
338 340
Syntax der Prädikatenlogik: Logische Zeichen Syntax der Prädikatenlogik: Vokabular

Wie in der Aussagenlogik Definition


⊤ Symbol für die Formel “wahr” (Formel, die immer wahr ist) Prädikatenlogische Signatur: Paar Σ = (Ω, Π) wobei:
⊥ Symbol für die Formel “falsch” (Formel, die immer falsch ist)
• Ω eine Menge von Funktionssymbolen f mit Stelligkeit n ≥ 0,
¬ Negationssymbol (“nicht”) geschrieben f /n,
∧ Konjunktionssymbol (“und”) z.B. 2/0, koblenz/0, c/0, sqrt/1, leftLegOf/1, +/2, -/2
∨ Disjunktionssymbol (“oder”) • Π Menge von Prädikatensymbolen p mit Stelligkeit m ≥ 0, geschrieben
→ Implikationssymbol (“wenn . . . dann”) p/m
↔ Symbol für Äquivalenz (“genau dann, wenn”)
z.B. bruderVon/1, > /2, ≈ /2, . . .
( ) die beiden Klammern

Quantoren Bemerkung: Das Gleichheitsprädikat ≈ kann (muss aber nicht) enthalten


A
Allquantor (“für alle”) sein. Es wird infix notiert.
E
Existenzquantor (“es gibt”)

341 343

Syntax der Prädikatenlogik: Vokabular Syntax der Prädikatenlogik: Vokabular

Signatur Definition.
Zweck: Festlegung der nichtlogischen Symbole Funktionsssymbole mit Stelligkeit n = 0 heißen Konstante

Σ = (Ω, Π), z.B. 2, koblenz, c

Definition.
Prädikatensymbole mit Stelligkeit n = 0 heißen Aussagenvariablen

342 344
Syntax der Prädikatenlogik: Vokabular Terme

Variablen Terme sind also vollständig geklammerte Ausdrücke, die wir auch
als markierte, geordnete Bäume auffassen können. Die Knoten sind
Prädikatenlogik erlaubt die Formulierung abstrakter (schematischer)
mit Funktionssymbolen oder Variablen markiert. Jeder mit einem
Aussagen. Technisches Hilfmittel hierfür sind die Variablen.
Funktionssymbol f der Stelligkeit n markierte Knoten hat genau n
Wir nehmen an, dass Unterbäume, einen für jedes Argument von f .
X
eine vorgegebene Menge von abzählbar unendlich vielen Symbolen ist, die
wir für (die Bezeichnung von) Variablen verwenden.

345 347

Terme Beispiele

Terme über Σ (bzw. Σ-Terme) werden nach folgenden syntaktischen Regeln Σ = (Ω, Π)
gebildet:
Ω = {Jan/0, Vater /1, Mutter /1}
s, t, u, v ::= x ,x ∈X (Variable)
{x, y , z} ⊆ X
| f (s1 , ..., sn ) , f /n ∈ Ω (F-Terme)
Terme:
Mit TΣ (X ) bezeichnen wir die Menge der Σ-Terme
x Jan
Vater (x) Vater (Jan)
Menge TΣ (X ) der Σ-Terme: Mutter (x) Mutter (Jan)
Die kleinste Menge mit: X ⊆ TΣ (X ) Vater (Mutter (x)) Vater (Mutter (Jan))
Wenn • f ∈ Ω,
• n ist die Stelligkeit von f
• t1 , . . . , tn ∈ TΣ (X )
dann f (t1 , . . . , tn ) ∈ TΣ (X )

346 348
Beispiele Beispiele

Σ = (Ω, Π) Σ = (Ω, Π)

Σ = {0/0, 1/0, succ/1, +/2} Ω = {Jan/0, Anna/0, Vater /1, Mutter /1}

{x, y , z} ⊆ X Π = {Mann/1, Frau/1, Bruder /2, ≈ /2}

Terme: {x, y , z} ⊆ X

x, y , z, 0, 1 Atome:
Mann(x) Mann(Jan) Mann(Anna)
succ(x), succ(0), succ(1)
Mann(Vater (x)) Frau(Vater (Jan)) Mann(Vater (Jan))
x + y , x + z, x + 0, x + 1, (x + (succ(y ) + 1)), ... Infix
Bruder (x, y ) Bruder (x, Jan) Bruder (x, Anna)
+(x, y ), +(x, z), +(x, 0), +(x, 1), +(x, +(succ(y ), 1)) Präfix
Vater (Jan) ≈ Vater (Anna)
Vater (x) ≈ Mutter (y )

349 351

Atome Beispiele

Atome (Atomare Formeln) über Σ genügen dieser Syntax: Σ = (Ω, Π)

A, B ::= p(s1 , ..., sm ) , p/m ∈ Π Ω = {0/0, 1/0, succ/1, +/2}


h i
| (s ≈ t) (Gleichung) Π = {≤, ≈}

Ist m = 0, so handelt es sich bei p um eine Aussagenvariable. Wir {x, y , z} ⊆ X


verwenden insbesondere die Buchstaben P, Q, R, S, um Aussagenvariablen Atome:
zu bezeichnen
x ≤ y , z ≈ 0, 0≤1
succ(x) ≤ succ(0), succ(1) ≈ succ(0)
x + y ≤ x + z, x + 0 ≈ x + 1 (x + (succ(y ) + 1)) ≤ z, ... Infix

Präfix:
≤ (+(x, y ), +(x, z)), + (x, 0) ≈ +(x, 1), ≤ (+(x, +(succ(y ), 1)), z)

350 352
Literale Formeln

L ::= A (positives Literal) Formeln über Σ:

| ¬A (negatives Literal) F, G, H ::= ⊥ (Falsum)


| ⊤ (Verum)
| A (atomare Formel)
| ¬F (Negation)
| (F ∧ G ) (Konjunktion)
| (F ∨ G ) (Disjunktion)
| (F → G ) (Implikation)
| (F ↔ G ) (Äquivalenz)
A
| xF (Allquantifizierung)
E
| xF (Existenzquantifizierung)

353 355

Klauseln Formeln

C, D ::= ⊥ (leere Klausel) Menge ForΣ der Formeln über Σ:

| L1 ∨ . . . ∨ Lk , k ≥ 1 (nichtleere Klausel) Die kleinste Menge, die

• Alle atomare Formeln enthält,

• ⊤ ∈ ForΣ , ⊥ ∈ ForΣ ,

• Wenn F , G ∈ ForΣ , dann auch


¬F , F ∧ G , F ∨ G , F → G , F ↔ G ∈ ForΣ ,

• Wenn F ∈ ForΣ und x ∈ X , dann


A E
xF ∈ ForΣ , xF ∈ ForΣ

354 356
Konventionen zur Notation Beispiel

• Klammereinsparungen werden nach folgenden Regeln vorgenommen: “Es gibt jemand, der in Landau studiert und schlau ist”
– ¬ >p ∧ >p ∨ >p → >p ↔ (Präzedenzen), Ω = {landau/0} Π = {studiertIn/2, schlau/1}
– ∨ und ∧ sind assoziativ und kommutativ. E
x(studiertIn( x , landau ) ∧ schlau( x ))
|{z} | {z } |{z}
• Qx1 , . . . , xn F für Qx1 . . . Qxn F . Variable Konstante Variable
Term Term Term
| {z } | {z }
• Terme und Atome in Infix-, Präfix-, Postfix- oder Mixfixnotation;
Atom Atom
Beispiele: | {z }
Formel
s +t für +(s, t) | {z }
Formel
s≤t für ≤ (s, t)
−s für −(s)
0 für 0()

357 359

Beispiel Beispiel: Peano-Arithmetik

“Alle, die in Koblenz studieren, sind schlau” ΣPA = (ΩPA , ΠPA )


ΩPA = {0/0, +/2, ∗/2, s/1}
Ω = {koblenz/0} Π = {studiertIn/2, schlau/1}
ΠPA = {≤ /2, < /2, ≈ /2}
A
x(studiertIn( x , koblenz ) → schlau( x )) +, ∗ infix; ∗ >p +
|{z} | {z } |{z}
Variable Konstante Variable
Term Term Term Formelbeispiele über dieser Signatur sind
| {z } | {z } A E
Atom Atom x, y (x ≤ y ↔ z(x + z ≈ y ))
| {z } A E
Formel x y (x + y ≈ y )
| {z } A
x, y (x ∗ s(y ) ≈ x ∗ y + x)
Formel A
x, y (s(x) ≈ s(y ) → x ≈ y )
E A
x y x <y

358 360
Bemerkungen zum Beispiel Beispiel: Tante Agatha

Wie man an diesen Formeln sieht, sind die Symbole ≤, <, 0 redundant, Zuerst formalisieren wir das Problem:
da sie über + in PL mit Gleichheit definiert werden können. So definiert
die erste Formel ≤, während die zweite Formel die Null definiert. Die Jemand, der in Schloss Dreadbury wohnt, hat Tante Agatha
Eliminierung der zugehörigen Existenzquantoren durch Skolemisierung ermordet.
(siehe unten) führt dann aber die Funktionssymbole wieder ein. E
◮ x (schlossbewohner(x) ∧ ermordet(x, a))

Agatha, ihr Butler und ihr Neffe Charles waren die einzigen
Bewohner von Schloss Dreadbury.
A
◮ x (schlossbewohner(x) ↔ (x ≈ a ∨ x ≈ b ∨ x ≈ c))

361 363

Beispiel: Tante Agatha Beispiel: Tante Agatha

Ein Mörder hasst immer sein Opfer und ist niemals reicher als sein
Jemand, der in Schloss Dreadbury wohnt, hat Tante
Opfer.
Agatha ermordet. Agatha, ihr Butler und ihr Neffe Charles
A
waren die einzigen Bewohner von Schloss Dreadbury. Ein ◮ x, y (ermordet(x, y ) → hasst(x, y ))
Mörder hasst immer sein Opfer und ist niemals reicher als A
x, y (ermordet(x, y ) → ¬ reicher(x, y ))
sein Opfer. Charles hasst niemanden, den Tante Agatha
gehasst hat. Agatha hat jeden gehasst außer ihrem Butler. Charles hasst niemanden, den Tante Agatha gehasst hat.
Der Butler hasst jeden, der nicht reicher ist als Tante A
Agatha. Der Butler hasst jeden, den Tante Agatha gehasst ◮ x (hasst(c, x) → ¬ hasst(a, x))
hat. Niemand hasst jeden. Agatha war nicht der Butler.
Agatha hat jeden gehasst außer ihrem Butler.
Wer hat Tante Agatha ermordet? ◮
A
x (¬
¬ hasst(a, x) ↔ x ≈ b)

362 364
Beispiel: Tante Agatha Beispiel

Der Butler hasst jeden, der nicht reicher ist als Tante Agatha. Bindungsbereich
z }| {
A Bind.
◮ x (¬
¬ reicher(x, a) → hasst(b, x)) z }| {
A A
y ( x p(x) → q(x, y ))
Der Butler hasst jeden, den Tante Agatha gehasst hat.
A
◮ x (hasst(a, x) → hasst(b, x))

Niemand hasst jeden.


E A
◮ x y (¬
¬ hasst(x, y ))

Agatha war nicht der Butler.


◮ ¬a≈b

365 367

Gebundene und freie Variablen Beispiel

A E
In QxF , Q ∈ { , }, heißt F der Bindungsbereich des Quantors Qx. Ein A E
p(z) → x (q(x, z) ∧ z r (y , z))
Auftreten einer Variablen x heißt gebunden, wenn es zum Bindungsbereich
eines Quantors Qx gehört. Alle anderen Auftreten von Variablen heißen frei. • x gebunden
Formeln ohne freie Variablen heißen Satzformen. Variablenfreie Formeln • y frei
heißen Grundformeln.
• z frei und gebunden

366 368
Substitution eines Termes für eine Variable Beispiel
Mit F [s/x] bezeichnen wir das Resultat der Substitution aller freien
Auftreten von x in F durch den Term s. F [s/x] sei durch strukturelle Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2}
Induktion über den Aufbau von F wie folgt definiert:
A E
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x]
x[s/x] = s A E

x [s/x] =

x ; falls x 6= x
′ = x(p(x, g (f (x), y )))[g (y , z)/x] ∧ z(x ≈ g (y , z))[g (y , z)/x]
f (s1 , . . . , sn )[s/x] = f (s1 [s/x], . . . , sn [s/x]) A E
= x(p(x, g (f (x), y ))) ∧ u(((x ≈ g (y , z))[u/z])[g (y , z)/x])
⊥[s/x] = ⊥
A E
⊤[s/x] = ⊤ = x(p(x, g (f (x), y ))) ∧ u((x ≈ g (y , u))[g (y , z)/x])
p(s1 , . . . , sn )[s/x] = p(s1 [s/x], . . . , sn [s/x]) A E
(u ≈ v )[s/x] = (u[s/x] ≈ v [s/x]) = x(p(x, g (f (x), y ))) ∧ u(g (y , z) ≈ g (y , u))
¬F [s/x] = ¬(F [s/x])
(F ρG )[s/x] = (F [s/x]ρG [s/x]) ; für alle binären Junktoren ρ ∈ {∧, ∨, →, ↔}
(QxF )[s/x] = QxF
(QyF )[s/x] = Qz((F [z/y ])[s/x]) ; falls y 6= x, z neue Variable

369 371

Problematik Substitution allgemein

Der Grund für die Umbenennung der gebundenen Variablen y in eine neue Definition. Substitutionen sind Abbildungen
unbenutzte“ Variable z ist die Vermeidung des Einfangens freier Variablen
” σ : X → TΣ (X ),
in s.
so dass der Bereich von σ, d.h. die Menge
Sollte y in s auftreten, wären sonst diese Auftreten nach erfolgter
Substitution gebunden. dom(σ) = {x ∈ X | σ(x) 6= x},

endlich ist. Die Menge der eingeführten Variablen, d.h. der Variablen die in einem der
Terme σ(x), für x ∈ dom(σ), auftreten, wird mit codom(σ) bezeichnet.
Substitutionen schreiben wir auch als [s1 /x1 , . . . , sn /xn ], xi pw. verschieden, und
meinen dann die Abbildung
(
si , falls y = xi
[s1 /x1 , . . . , sn /xn ](y ) =
y, sonst

Ab jetzt schreiben wir für die Applikation σ(x) von Substitutionen xσ.

370 372
Anwendung einer Substitution 3.2 Semantik

Homomorphe“ Fortsetzung von σ auf Terme und Formeln:



f (s1 , . . . , sn )σ = f (s1 σ, . . . , sn σ)
⊥σ = ⊥
⊤σ = ⊤
p(s1 , . . . , sn )σ = p(s1 σ, . . . , sn σ)
(u ≈ v )σ = (uσ ≈ v σ)
¬F σ = ¬(F σ)
(F ρG )σ = (F σρG σ) ; für alle binären Junktoren ρ
(QxF )σ = Qz((F [z/x])σ); wobei z neue“ Variable

Abänderung einer Substitution σ an x zu t:


(
t, falls y = x
σ[x → t](y ) =
σ(y ), sonst

373 375

Beispiel Semantik

Σ = (Ω, Π), mit Ω = {f /1, g /2, a/0}, Π = {p/2, ≈ /2} Semantik geben bedeutet für logische Systeme, einen Begriff von Wahrheit
für Formeln zu definieren. Das hier für die Prädikatenlogik zu definierende
A E Konzept geht auf Tarski zurück.
( x(p(x, g (f (x), y ))) ∧ z(x ≈ g (y , z)))[g (y , z)/x, f (x)/y , a/z]
A
= x(p(x, g (f (x), y )))[g (y , z)/x, f (x)/y , a/z] ∧
E In der klassischen Logik (zurückgehend auf Aristoteles) gibt es nur“ die
z(x ≈ g (y , z))[g (y , z)/x, f (x)/y , a/z] ”
zwei Wahrheitswerte wahr“ und falsch“, die wir mit 1 und 0 bezeichnen.
A E ” ”
= u(p(u, g (f (u), f (x)))) ∧ v (((x ≈ g (y , z))[v /z])[g (y , z)/x, f (x)/y , a/z])
A E
= u(p(u, g (f (u), f (x)))) ∧ v ((x ≈ g (y , v ))[g (y , z)/x, f (x)/y , a/z])
A E
= u(p(u, g (f (u), f (x)))) ∧ v (g (y , z) ≈ g (f (x), u))

374 376
Strukturen Wert eines Terms in A bzgl. β

Definition. Durch strukturelle Induktion definieren wir:


Eine Σ-Struktur (bzw. Σ-Interpretation bzw. Σ-Modell) ist ein Tripel A(β)(x) = β(x), x ∈X
A = (U, (fA : U n → U)f /n∈Ω , (pA ⊆ U m )p/m∈Π ) A(β)(f (s1 , . . . , sn )) = fA (A(β)(s1 ), . . . , A(β)(sn )), f /n ∈ Ω

wobei U 6= ∅ eine Menge, genannt Universum von A.

Oft identifizieren wir U mit A, wenn die Interpretation der Funktions- und
Prädikatensymbole eindeutig aus dem Kontext hervorgeht.
Mit Σ-Str bezeichnen wir die Menge aller Σ-Strukturen.

377 379

Valuationen Wert eines Terms in A bzgl. β

Variablen für sich haben keine Bedeutung. Hierfür müssen Wertebelegungen Wert eines Terms in A bzgl. β, A(β)(t):
(Valuationen) explizit oder implizit aus dem Kontext zur Verfügung stehen. • Falls t = x ∈ X : A(β)(t) = β(x)
• Falls t = c eine Konstante: A(β)(t) = cA
Definition. • Falls t = f (t1 , . . . , tn ):
Unter einer (Variablen-) Belegung oder einer Valuation (über einer A(β)(t) = fA (A(β)(t1 ), . . . , A(β)(tn ))
Σ-Struktur A) versteht man eine Abbildung
Beispiel: Σ = ({+/2, 0/0}, {≤, ≈})
β:X →U N = (N, {0N , +N : N × N → N}, {≤N ⊆ N × N, ≈N })
0N = 0 ∈ N, +N (n1 , n1 ) = n1 + n2 ∈ N
β : {x, y , z} → N mit β(x) = 5, β(y ) = 10, β(z) = 3
N (β)((x + (y + z)) + (z + 0)) =
= (β(x) +N (β(y ) +N β(z))) +N (β(z) +N 0N ) =
= (5 + (10 + 3)) + (3 + 0) = 21

378 380
Wahrheitswert einer Formel in A bzgl. β Wahrheitswert einer Formel in A bzgl. β

Die Menge der Wahrheitswerte sei {0, 1}.


A(β)(¬F ) = 1 g.d.w. A(β)(F ) = 0
A(β) : ForΣ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
A(β)(F ρG ) = Bρ (A(β)(F ), A(β)(G ))
mit Bρ die ρ zugeordnete Boolesche Funktion

A(β)(⊥) = 0
A(β)(⊤) = 1

381 383

Wahrheitswert einer Formel in A bzgl. β Wahrheitswert einer Formel in A bzgl. β

(
A(β)(p(s1 , . . . , sn )) = 1 g.d.w. (A(β)(s1 ), . . . , A(β)(sn )) ∈ pA A 1 falls A(β[x 7→ a])(F ) = 1 für alle a ∈ U
A(β)( xF ) = min{A(β[x → a])(F )} =
a∈U 0 sonst
A(β)(s ≈ t) = 1 g.d.w. A(β)(s) = A(β)(t)
8
< 1
>
> falls A(β[x 7→ a])(F ) = 1 für mindestens
E
A(β)( xF ) = max{A(β[x → a])(F )} = ein a ∈ U
a∈U >
>
: 0 sonst

Für x ∈ X und a ∈ U bezeichne β[x → a] : X → U die Belegung, mit


8
<a falls x = y
β[x → a](y ) :=
:β(y ) sonst

382 384
Beispiel Gültigkeit und Erfüllbarkeit

UN = {0, 1, 2, . . .} Definition. F gilt in A unter β:


0N = 0 ∈ UN
A, β |= F g.d.w. A(β)(F ) = 1
sN : UN → UN , sN (n) = n + 1
+N : UN2 → UN , +N (n, m) = n + m
Definition. F gilt in A (A ist Modell von F ):
∗N : UN2 → UN , ∗N (n, m) = n ∗ m
≤N = “kleiner-gleich” ⊆ UN2 A |= F g.d.w. A, β |= F , für alle β : X → UA
<N = “kleiner” ⊆ UN2
Definition. F ist (allgemein-) gültig:
Mit β(x) = 1, β(y ) = 3 ergibt sich beispielsweise:
|= F g.d.w. A |= F , für alle A ∈ Σ-Str
N(β)(s(x) + s(0)) = 3
F heißt erfüllbar gdw. es A und β gibt, so daß A, β |= F .
N(β)(x + y ≈ s(y )) = 1
A Sonst heißt F unerfüllbar.
N(β)( x, y (x + y ≈ y + x)) = 1
A
N(β)( z z ≤ y ) = 0
E A
N(β)( x y x < y ) = 1

385 387

Modelle, Gültigkeit, Erfüllbarkeit Folgerung und Äquivalenz

Definition. F impliziert G (oder G folgt aus F ), i.Z. F |= G


gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
Falls A, β |= F , so A, β |= G .

Definition. F und G sind äquivalent


gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
A, β |= F genau dann, wenn A, β |= G .

Satz. F impliziert G gdw. (F → G ) ist gültig

Satz. F und G sind äquivalent gdw. (F ↔ G ) ist gültig.


Erweiterung auf Formelmengen N in natürlicher Weise, z.B.:
N |= G gdw.
für alle A ∈ Σ-Str und β : X → UA :
falls A, β |= F , für alle F ∈ N, so A, β |= G .

386 388
Gültigkeit und Unerfüllbarkeit Universelle Quantifizierung

Nachweis von Gültigkeit (und damit Folgerung oder Äquivalenz) durch Faustregel
A
Unerfüllbarkeitstest: → ist der logische (Top-level-)Operator mit

F gültig genau dann, wenn ¬F unerfüllbar Häufiger Fehler


A
Verwendung von ∧ mit

Beispiel
“Alle, die in Koblenz studieren, sind schlau”
A
Richtig: x(studiertIn(x, koblenz) → schlau(x))
A
Falsch: x(studiertIn(x, koblenz) ∧ schlau(x))
“Alle studieren in Koblenz und sind schlau”, d.h.
“Alle studieren in Koblenz und alle sind schlau”
389 391

Universelle Quantifizierung Existenzielle Quantifizierung

Intuition Intuition.
A E
xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F .

Beispiel: Beispiel:
A E
x(studiertIn(x, koblenz) → schlau(x)) x(studiertIn(x, landau) ∧ schlau(x))
entspricht: entspricht

(studiertIn(student1, koblenz) → schlau(student1)) (studiertIn(student1, landau) ∧ schlau(student1))


∧ (studiertIn(student2, koblenz) → schlau(student2)) ∨ (studiertIn(student2, landau) ∧ schlau(student2))
∧ ... ∨ ...
∧ (studiertIn(koblenz, koblenz) → schlau(koblenz)) ∨ (studiertIn(landau, landau) ∧ schlau(landau))

390 392
Universelle Quantifizierung Eigenschaften von Quantoren

Faustregel Verschiedene Quantoren kommutieren NICHT


E
∧ ist der logische (Top-level-)Operator mit
Beispiel:
E A
x y Mutter (y , x)
Häufiger Fehler
E Jeder hat eine Mutter (richtig)
Verwendung von → mit
A E
y x Mutter (y , x)

Beispiel Es gibt eine Person, die die Mutter von jedem ist (falsch)
“Es gibt jemand, der in Landau studiert und schlau ist”
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
E
Richtig: x(studiertIn(x, landau) ∧ schlau(x)) A E E A
x y F |= y x F
E
Falsch: x(studiertIn(x, landau) → schlau(x)) Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
E A A E
“Es gibt jemanden, der, falls er/sie in Landau studiert, schlau ist” x y F 6|= y x F
Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert

393 395

Eigenschaften von Quantoren Eigenschaften von Quantoren

Quantoren gleicher Art kommutieren Dualität der Quantoren


A E
A A
x y ist das gleiche wie
A A
y x x... ist das gleiche wie ¬ x¬...
E A
E E
x y ist das gleiche wie y x
E E x... ist das gleiche wie ¬ x¬...

Beispiel:
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
A E
A A A A x mag(x, eiskrem) ist das gleiche wie ¬ x ¬mag(x, eiskrem)
(1) x yF ≡ y xF
E A
E E E E x mag(x, broccoli) ist das gleiche wie ¬ x ¬mag(x, broccoli)
(2) x yF ≡ y xF

Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:


A E
(1) x F ≡ ¬ x ¬F
E A
(2) x F ≡ ¬ x ¬F

394 396
Eigenschaften von Quantoren Eigenschaften von Quantoren

A A
distributiert über ∧ distributiert NICHT über ∨
A A A
A A A
x(... ∧ ...) ist das gleiche wie ( x...) ∧ ( x...) x(... ∨ ...) ist NICHT das gleiche wie ( x...) ∨ ( x...)

Beispiel
Beispiel A
A x (eiskrem(x) ∨ broccoli(x)) ist NICHT das gleiche wie
x (studiert(x) ∧ arbeitet(x)) ist das gleiche wie A A
A A ( x eiskrem(x)) ∨ ( x broccoli(x))
( x studiert(x)) ∧ ( x arbeitet(x))
A
x (gerade(x) ∨ ungerade(x)) ist NICHT das gleiche wie
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt: A A
A A A ( x gerade(x)) ∨ ( x ungerade(x))
x(F ∧ G ) ≡ xF ∧ xG

Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:


A A A
x(F ∨ G ) 6≡ xF ∨ xG

397 399

Eigenschaften von Quantoren Eigenschaften von Quantoren

E E
distributiert über ∨ distributiert NICHT über ∧
E E E E E E
x(... ∨ ...) ist das gleiche wie ( x...) ∨ ( x...) x(... ∧ ...) ist NICHT das gleiche wie ( x...) ∧ ( x...)

Beispiel Beispiel
E E
x (eiskrem(x) ∨ broccoli(x)) ist das gleiche wie x (gerade(x) ∧ ungerade(x)) ist NICHT das gleiche wie
E E
E E ( x gerade(x)) ∧ ( x ungerade(x))
( x eiskrem(x)) ∨ ( x broccoli(x))

Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit:


Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt:
E E E
E E E x(F ∧ G ) 6≡ xF ∧ xG
x (F ∨ G ) ≡ ( x F ) ∨ ( x G )

398 400
Eigenschaften von Quantoren Beispiele: Familienverhältnisse

Quantoren gleicher Art kommutieren • “Brüder sind Geschwister”


A A
x y (bruder (x, y ) → geschwister (x, y ))
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
A A A A
(1) x yF ≡ y xF • “bruder” ist symmetrisch
E E E E A A
(2) x yF ≡ y xF x y (bruder (x, y ) → bruder (y , x))

Verschiedene Quantoren kommutieren NICHT • “Ein Cousin ersten Grades ist das Kind eines Geschwisters eines
Elternteils”
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt: A A E E
A E E A x y (cousin1(x, y ) → p ps (elternteil(p, x) ∧ geschwister (ps , p) ∧
x y F |= y x F
elternteil(ps , y )))
Es gibt eine Signatur Σ = (Ω, Π) und eine Formel F mit:
E A A E
x y F 6|= y x F • Definition für “Bruder, der nicht nur Halbbruder ist”
A A
x ybruder (x, y ) ↔ (¬(x ≈ y )∧
Dualität der Quantoren E E
m v (¬(m = v )∧
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F gilt:
A E elternteil(m, x) ∧ elternteil(v , x)
(1) x F ≡ ¬ x ¬F
E A elternteil(m, y ) ∧ elternteil(v , y )))
(2) x F ≡ ¬ x ¬F
401 403

Eigenschaften von Quantoren Strukturelle Induktion


A
distributiert über ∧ Sei p(F ) eine Eigenschaft der Formeln in Prädikatenlogik
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt: Behauptung: Für alle Formeln F , p(F ) gilt
A A A
x(F ∧ G ) ≡ xF ∧ xG Beweis durch Strukturelle Induktion:
E
distributiert über ∨ Induktionsbasis: Zu zeigen:
Sei Σ = (Ω, Π) eine Signatur. Für alle Σ-Formeln F , G gilt: p(F ) gilt für F ∈ {⊤, ⊥} und für alle atomaren Formeln.
E E E
x (F ∨ G ) ≡ ( x F ) ∨ ( x G ) Induktionsvoraussetzung: Sei F eine Formel (nicht atomar oder ⊤ oder ⊥).
A
distributiert NICHT über ∨ Annahme: p(G ) gilt für alle Teilformeln G von F (mit G 6= F )
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit: Induktionsschritt: Zu zeigen: p(F ) gilt:
A A A
x(F ∨ G ) 6≡ xF ∨ xG
Fall 1 F = ¬G Fall 2 F = G 1 ∨ G2
E
distributiert NICHT über ∧ Fall 3 F = G 1 ∧ G2 Fall 4 F = G 1 → G2
Es gibt eine Signatur Σ = (Ω, Π) und Σ-Formeln F , G mit: Fall 5 F = G 1 ↔ G2 Fall 6 F =
A
xG
E E E
x(F ∧ G ) 6≡ xF ∧ xG E
Fall 7 F = xG

402 404
Strukturelle Induktion Substitutionen und Valuationen

Sei p(t) eine Eigenschaft der Terme in Prädikatenlogik Theorem (Substitutionslemma)


Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Behauptung: Für alle Terme t, p(t) gilt Variablen x und Terme t gilt:
Beweis durch Strukturelle Induktion:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
Induktionsbasis: Zu zeigen:
Beweis: Strukturelle Induktion
p(t) gilt für t ∈ X und für alle Konstanten.
1. Induktionsbasis: Zu zeigen: Die Eigenschaft gilt für ⊤, ⊥ und alle atomaren Formeln.
Induktionsvoraussetzung: Sei t ein Term (nicht Variable oder Konstante).
Fall 1: F = ⊤ Dann F [t/x] = ⊤;
Annahme: p(s) gilt für alle Teilterme s von t (mit s 6= t) A(β)(F [t/x])=A(β)(⊤)=1=A(β[x→A(β)(t)])(⊤)=A(β[x→A(β)(t)])(F )
Fall 2: F = ⊥ Dann F [t/x] = ⊥;
Induktionsschritt: Zu zeigen: p(t) gilt:
A(β)(F [t/x])=A(β)(⊥)=0=A(β[x→A(β)(t)])(⊥)=A(β[x→A(β)(t)])(F ).
Fallunterschied über alle f ∈ Ω mit t = f (t1 , . . . , tn ). Fall 3: F = p(t1 , . . . , tn ) mit p/n ∈ Ω. Dann F [t/x] = p(t1 [t/x], . . . , tn [t/x]).
A(β)(F [t/x])=A(β)(p(t1 [t/x], .., tn [t/x]))=1 iff (A(β)(t1 [t/x]), .., A(β)(tn [t/x]))∈pA
A(β[x→A(β)(t)])(p(t1 , .., tn ))=1 iff (A(β[x→A(β)(t)])(t1 ), .., A(β[x→A(β)(t)])(tn ))∈pA
Lemma: A(β)(ti [t/x]) = A(β[x→A(β)(t)])(ti ). Äquivalenz folgt daraus.

405 407

Substitutionen und Valuationen Substitutionen und Valuationen

Theorem (Substitutionslemma)
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt:
Variablen x und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
Beweis: ctd.
2. Induktionsvoraussetzung: Sei F eine Formel (nicht atomar oder ⊤ oder ⊥).
Beweis: Strukturelle Induktion Annahme: p(G ) gilt für alle Teilformeln G von F (mit G 6= F )
3. Induktionsschritt: Zu zeigen: p(F ) gilt:
Wir benutzen folgendes Lemma: Fall 1: F = ¬G . Dann F [t/x] = ¬(G [t/x]).
A(β)(F [t/x]) = A(β)(¬(G [t/x]) = 1 iff A(β)(G [t/x]) = 0 iff (Ind.Voraus.)
Lemma: Für alle Σ-Strukturen A, Wertebelegungen β, A(β[x→A(β)(t)])(G )=0 iff A(β[x→A(β)(t)])(¬G )=1 iff A(β[x→A(β)(t)])(F )=1
Variable x und Terme ti , t: Fall 2-5: F = G1 opG2 , op ∈ {∨, ∧, →, ↔. Dann F [t/x] = G1 [t/x]opG2 [t/x].
A(β)(ti [t/x]) = A(β[x → A(β)(t)])(ti ) A(β)(F [t/x])=A(β)(G1 [t/x]opG2 [t/x])=A(β)(G1 [t/x])opB A(β)(G2 [t/x])= (I.V.)
A(β[x→A(β)(t)])(G1 )opB A(β[x→A(β)(t)])(G2 )=A(β[x→A(β)(t)])(G1 opG2 ).
| {z }
F

406 408
Substitutionen und Valuationen Substitutionen und Valuationen

Theorem (Substitutionslemma) Theorem (Substitutionslemma)


Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Variablen x und Terme t gilt: Variablen x und Terme t gilt:

A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F


A
Fall 6: F = yG . E
Fall 7: F = yG .
A
Fall 6.1: y = x. Dann F [t/x] = xG [t/x] = xG .
A Ähnlich zu Fall 6.
A
A(β)(F [t/x])=A(β)( xG )=min{A(β[x 7→ a])(G ) | a ∈ UA }
A
A(β[x→A(β)(t)])( xG )=min{A(β[x→A(β)(t)][x→a])(G ) | a ∈ UA } =
min{A(β[x 7→ a])(G ) | a ∈ UA }.
A A
Fall 6.2: y 6= x, t enthält nicht y . Dann F [t/x] = yG [t/x] = y (G [t/x]).
A
A(β)(F [t/x])=A(β)( y (G [t/x])=min{A(β[y →a])(G [t/x])|a∈UA } = (Ind.Vor.)
min{A(β[y →a, x→A(β[y →a])(t))(G )|a∈UA }=
min{A(β[y →a, x→A(β)(t)])(G )|a∈UA } (y kommt in t nicht vor)
A
A(β[x→A(β)(t)])( yG )= = min{A(β[x→A(β)(t)][y →a])(G )|a∈UA }=
min{A(β[y 7→ a, x→A(β)(t)])(G ) = |a∈UA }.

409 411

Substitutionen und Valuationen Substitutionen und Valuationen

Theorem (Substitutionslemma)
Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F ,
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Variablen x
Variablen x und Terme t gilt:
und Terme t gilt:
A, β |= F [t/x] g.d.w. A, β[x → A(β)(t)] |= F
A A, β |= F [t/x] g.d.w. A, β[x→A(β)(t)] |= F
Fall 6: F = yG .
A
Fall 6.3: y 6= x, t enthält y . Dann F [t/x] = y ′ G [y ′ /y ][t/x].
A ′ ′ Allgemeiner gilt für beliebige Substitutionen σ:
A(β)(F [t/x])=A(β)( y (G [y /y ][t/x])=
′ ′
=min{A(β[y →a])(G [y /y ][t/x])|a∈UA } = (Ind.Vor.)
Theorem.
= min{A(β[y ′ →a, x→A(β[y ′ →a])(t))(G [y ′ /y ])|a∈UA }= (Ind.Vor.)
′ ′ A, β |= F σ g.d.w. A, β ◦ σ |= F ,
= min{A(β[y →a, x→A(β[y →a])(t), y →a])(G )|a∈UA } =
[ Rem: A(β[y ′ →a, x→A(β[y ′ →a])(t)])(y ′ ) = a] wobei β ◦ σ : X → A die Wertebelegung mit β ◦ σ(x) = A(β)(xσ), für

= min{A(β[x→A(β)(t), y →a])(G )|a∈UA } (y kommt in t u. G nicht alle Variablen x.
A
A(β[x→A(β)(t)])( yG )=min{A(β[x→A(β)(t)][y →a])(G )|a∈UA }=
=min{A(β[y 7→ a, x→A(β)(t)])(G )|a∈UA }.

410 412
Substitutionen und Valuationen 2.3 Algorithmische Probleme

Theorem (Substitutionslemma)
Für alle Σ-Strukturen A, Wertebelegungen β, Σ-Formeln F , Variablen x
und Terme t gilt:

A, β |= F [t/x] g.d.w. A, β[x→A(β)(t)] |= F

Allgemeiner gilt für beliebige Substitutionen σ:

Theorem.
A, β |= F σ g.d.w. A, β ◦ σ |= F ,
wobei β ◦ σ : X → A die Wertebelegung mit β ◦ σ(x) = A(β)(xσ), für
alle Variablen x.
Beweis: σ = [t1 /x1 , . . . tn /xn ]
Induktion nach Anzahl n von Variablen in dom(σ) = {x1 , . . . , xn }

413 415

Umbenennung von Variablen Algorithmische Probleme

Lemma Gültigkeit(F ):
|= F ? (Σ fest)
Für alle Σ-Formeln F , Variablen x gilt:
A
xF ≡
A
z F [z/x] Erfüllbarkeit(F ):
F erfüllbar? (Σ fest)
wobei z eine neue Variable ist.
Modelltest(F ,A):
A |= F ? (Σ fest)

414 416
Ausblick: Kalküle, Entscheidbarkeit Ausblick: Kalküle, Entscheidbarkeit

Kalküle Kalküle

Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B. Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B.
Resolution) Resolution)

Aber diese Kalküle können die Erfüllbarkeit von Formeln NICHT entscheiden

Aussagenlogik
Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR
Prädikatenlogik
• Es gibt Σ, so dass Gültigkeit(F ) unentscheidbar.
• Menge der allgemeingültigen Formeln REKURSIV AUFZÄHLBAR
• Menge der unerfüllbaren Formeln REKURSIV AUFZÄHLBAR
• Menge der erfüllbaren Formeln NICHT REKURSIV AUFZÄHLBAR

417 419

Ausblick: Kalküle, Entscheidbarkeit Rekursiv Aufzählbar

Kalküle Informelle Definition. Als rekursiv aufzählbare Menge


Es gibt korrekte und vollständige Kalküle für Prädikatenlogik (z.B. (auch semi-entscheidbare Menge, positiv semi-entscheidbare Menge,
Resolution) halb-entscheidbare Menge, berechenbar aufzählbare Menge, kurz r.e., c.e)
wird in der Berechenbarkeitstheorie eine aufzählbare Menge A (z.B. eine
Aber diese Kalküle können die Erfüllbarkeit von Formeln NICHT entscheiden Teilmenge von N) bezeichnet, wenn es einen Algorithmus gibt, der die
Elemente von A aufzählt.

Äquivalent ist folgende Definition: es gibt einen Algorithmus, der 1 ausgibt


wenn die Eingabe in A ist, und auf anderen Eingaben 0 ausgibt oder nicht
hält.

418 420
Zusammenfassung: Syntax und Semantik 2.4 Normalformen

• Prädikatenlogische Signatur

• Term, Atom, Formel

• Prädikatenlogisches Modell

• Auswertung von Formeln in Modellen

• Erfüllbarkeit, Gültigkeit; Folgerung, Äquivalenz

• Eigenschaften von Quantoren (Vertauschbarkeit untereinander und mit


∧, ∨)

• Entscheidbarkeit der Erfüllbarkeit von Formeln

421 423

Unser Ziel Normalformen, Skolemisierung,


Herbrandmodelle
Kalküle zur systematischen Überprüfung von Erfüllbarkeit
(für Formeln und/oder Formelmengen) Vorteile von Normalformen

• Reduktion der logischen Konzepte

• einfache Datenstrukturen für Beweisverfahren

422 424
Negationsnormalform Bereinigte Formeln

Definition. Eine Formel F ∈ ForΣ ist in Negationsnormalform (NNF), falls: Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:

• →, ↔ kommen in F nicht vor • Keine Variable in F sowohl gebunden als auch frei vorkommt

• jedes Negationszeichen in F steht direkt vor einem Atom (insbes. auch • Keine Variable mehr als einmal in F quantifiziert ist
kein ¬¬)

425 427

Negationsnormalform Bereinigte Formeln

Definition. Eine Formel F ∈ ForΣ ist in Negationsnormalform (NNF), falls: Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:
• →, ↔ kommen in F nicht vor • Keine Variable in F sowohl gebunden als auch frei vorkommt
• jedes Negationszeichen in F steht direkt vor einem Atom (insbes. auch • Keine Variable mehr als einmal in F quantifiziert ist
kein ¬¬)
Beispiele:
Bereinigt
Beispiele:
NNF: P ∨Q
E A E
P, ¬P, (¬P ∨ Q) ∧ (R ∨ (Q ∧ ¬P)) x y (p(x) ∨ q(x, y ) ∨ z r (x, z))

p(x, y ) ∨ ¬q(y )
nicht NNF:
¬¬P, ¬(P ∨ Q)
p(x, y ) → q(x)
426 428
Bereinigte Formeln Pränexe Normalform
Definition: Pränexe Formeln sind von der Form
Definition. Eine Formel F ∈ ForΣ ist bereinigt, falls:
Q 1 x1 . . . Q n xn F ,
• Keine Variable in F sowohl gebunden als auch frei vorkommt
E A
wobei F quantorenfrei, Qi ∈ { , }. Hierbei heißt Q1 x1 . . . Qn xn der
• Keine Variable mehr als einmal in F quantifiziert ist
Quantorenpräfix und F die Matrix der Formel.
Beispiele:
Beispiele
Bereinigt
In Pränexnormalform
P ∨Q
E A E p(x) ∨ q(x)
x y (p(x) ∨ q(x, y ) ∨ z r (x, z))
E A
x y (p(x) ∨ q(y ))
Nicht bereinigt
A Nicht in Pränexnormalform
p(x) ∨ x q(x)
A E
A A ( x p(x)) ∨ ( y q(y ))
( x p(x)) ∨ ( x q(x))

429 431

Pränexe Normalform Pränexe Normalform


Definition: Pränexe Formeln sind von der Form Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in
Q 1 x1 . . . Q n xn F , Pränexnormalform
E A
wobei F quantorenfrei, Qi ∈ { , }. Hierbei heißt Q1 x1 . . . Qn xn der Konstruktiver Beweis
Quantorenpräfix und F die Matrix der Formel.
• Formel bereinigen

• Formel in NNF transformieren (Negationszeichen nach innen)


A E
– ¬ F ≡ ¬F
– aussagenlogische Umformungen

• Alle Quantoren nach vorne (Reihenfolge unverändert lassen)

430 432
Beispiel Pränexe Normalform

Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in


A E A Pränexnormalform
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))

1. Bereinigung Konstruktiver Beweis


F ≡ F1 := ( x ′ ((p(x ′ )∨q(x ′ , y ))∧ z ′ r (x ′ , y , z ′ )))→((p(z)∧q(x, z))∧ z ′′ r (z ′′ , x, y ))
A E A
• Formel bereinigen
2. NNF • Formel in NNF transformieren (Negationszeichen nach innen)
¬( x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
A E A A E
F1 ≡ ¬ ≡ ¬ A E

E
x ′ ¬((p(x ′ ) ∨ q(x ′ , y )) ∧ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
E A
(DeMorgan)
– ¬ F ≡ ¬F
x ′ (¬(p(x ′ ) ∨ q(x ′ , y )) ∨ ¬ z ′ r (x ′ , y , z ′ ))) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
E E A
≡ (De Morgan) – aussagenlogische Umformungen
x ′ ((¬p(x ′ ) ∧ ¬q(x ′ , y )) ∨ z ′ ¬r (x ′ , y , z ′ )) ∨ ((p(z) ∧ q(x, z)) ∧ z ′′ r (z ′′ , x, y ))
E A A E A
≡ ¬ ≡ ¬
=: F2 • Alle Quantoren nach vorne (Reihenfolge unverändert lassen)
3. Alle Quantoren nach vorne 7→ Pränexnormalform
E ′ A ′ A ′′ ′ ′ ′ ′ ′′
F2 ≡ x z z ((¬p(x ) ∧ ¬q(x , y )) ∨ ¬r (x , y , z )) ∨ ((p(z) ∧ q(x, z)) ∧ r (z , x, y ))
| {z }
Pränexnormalform von F

433 435

Pränexe Normalform Pränexe Normalform

Theorem. Zu jeder Formel F ∈ ForΣ gibt es eine äquivalente Formel in


Äquivalenzbeweis
Pränexnormalform
Direkter Beweis: Strukturelle Induktion Folgt aus:
A E
Induktionsbasis: ⊤, ⊥ und jede atomare Formel F = q(t1 , . . . , tn ) sind in Pränexnormalform, d.h. sind äquivalent zu ¬ F ≡ ¬F
einer Formel in Pränexnormalform.
E A
Sei F eine Formel, die nicht ⊤, ⊥ und nicht atomar ist. ¬ F ≡ ¬F
Induktionsvoraussetzung (I.V.): Jede Teilformel G von F (G 6= F ) ist äquivalent zu einer Formel in Pränexnormalform.
Aussagenlogische Umformungen zur Berechnung der NNF: Äquivalenzer-
Induktionsschritt: Zu zeigen: F äquivalent zu einer Formel in Pränexnormalform.
haltend
I .V .
Fall 1: F = ¬G ≡ ¬(Q1 x1 . . . Qn xn G ′ ) ≡ Q 1 x1 . . . Q n xn ¬G ′ (wobei
A E E A
= , = ).
Falls x nicht in G vorkommt:
I .V .
Fall 2: F = G1 ∧ G2 ≡ (Q1 x1 . . . Qn xn G1′ ) ∧ (Q1′ y1 . . . Qm ′ y G′)
m 2 (Bereinigung) A A
≡ (Q1 x1′ . . . Qn xn′ G1′ [xi′ /xi ]) ∧ (Q1′ y1′ . . . Qm ′ y ′ G ′ [y ′ /y ]) (Quantoren nach vorne) ( xF ) ∧ G ≡ x(F ∧ G )
m 2 i i
≡ Q1 x1′ . . . Qn xn′ Q1′ y1′ . . . Qm ′ y ′ (G ′ [x ′ /x ] ∧ G ′ [y ′ /y ])
m 1 i i 2 i i (Pränexnormalform) A A
( xF ) ∨ G ≡ x(F ∨ G )
Fall 3,4,5: F = G1 opG2 (op ∈ {∨, →, ↔}) analog
E E
I .V . ( xF ) ∧ G ≡ x(F ∧ G )
x(Q1 x1 . . . Qn xn G ′ )
A A
Fall 6: F = xG ≡ (Pränexnormalform)
E E
Fall 6: F =
E
xG analog ( xF ) ∨ G ≡ x(F ∨ G )

434 436
Pränexe Normalform Beispiel

Alternatives Verfahren (ohne Bereinigung, ohne NNF)


A E A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
Herstellung von pränexer Normalform durch ⇒P :
E E A
⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z)) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
(F ↔ G ) ⇒P (F → G ) ∧ (G → F )
¬QxF ⇒P Qx¬F (¬Q)
(QxF ρ G ) ⇒P Qy (F [y /x] ρ G ), y neu, ρ ∈ {∧, ∨}
(QxF → G ) ⇒P Qy (F [y /x] → G ), y neu
(F ρ QxG ) ⇒P Qy (F ρ G [y /x]), y neu, ρ ∈ {∧, ∨, →}
A E E A
Hierbei ist Q der zu Q duale Quantor, d.h. = und = .

437 439

Beispiel Beispiel

A E A A E A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))

E E A
⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z)) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))

438 440
Beispiel Beispiel

A E A A E A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))

E E A E E A
⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
E E A E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A A E A
⇒P x ′ z ′ (((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) ⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
A A E
⇒P x′ z′ z ′′ (((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y

441 443

Beispiel Skolemnormalform

Definition. Eine Formel F ∈ ForΣ ist in Skolemnormalform (SNF), falls:


A E A
F := ( x((p(x) ∨ q(x, y )) ∧ z r (x, y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
• F ist in Pränexnormalform

⇒P
E E A
x ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ z r (x ′ , y , z))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) • F enthält nur universelle Quantoren
E E A
⇒P x ′ ( z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ ))) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y ))
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → ((p(z) ∧ q(x, z)) ∧ z r (z, x, y )) Beispiele:
A E A
⇒P x ′ z ′ ((p(x ′ ) ∨ q(x ′ , y )) ∧ r (x ′ , y , z ′ )) → z ′′ ((p(z) ∧ q(x, z)) ∧ r (z ′′ , x, y
In Skolemnormalform
A A
x y (p(x) ∨ q(y ))
Nicht in Skolemnormalform
A A
x p(x) ∨ y q(y )
E A
x y (p(x) ∨ q(y ))

442 444
Skolemisierung Skolemisierung

Skolemisierung: Transformation ⇒S : Zusammen:


∗ ∗
A E A F ⇒P G ⇒S H
x1 , . . . , xn yF ⇒S x1 , . . . , xn F [f (x1 , . . . , xn )/y ] |{z} |{z}
E
pränexe Form pränex, kein
wobei f /n ein neues Funktionssymbol (Skolemfunktion).

Theorem:
Seien F , G und H wie oben angenommen. Dann:
(1) F und G sind äquivalent.
(2) G erfüllbar gdw. H erfüllbar
(bzgl. Σ-Str) (bzgl. Σ′ -Str)
wobei Σ = (Ω ∪ SKF , Π), wenn Σ = (Ω, Π).

445 447

Skolemisierung Klauselnormalform (konjunktive Normalform)

Beispiel Transformationsregeln ⇒K

Gegeben: (1) (F ↔ G ) ⇒K (F → G ) ∧ (G → F )
A E A E (2) (F → G ) ⇒K (¬F ∨ G )
w ( x(p(w , x) ∨ y (q(w , x, y ) ∧ z r (y , z))))
(3) ¬(F ∨ G ) ⇒K (¬F ∧ ¬G )
Pränexnormalform: (4) ¬(F ∧ G ) ⇒K (¬F ∨ ¬G )
E A E A
w x y z((p(w , x) ∨ (q(w , x, y ) ∧ r (y , z)))) (5) ¬¬F ⇒K F
(6) (F ∧ G ) ∨ H ⇒K (F ∨ H) ∧ (G ∨ H)
Skolemisierung: (7) (F ∧ ⊤) ⇒K F
A A
w y ((p(w , sk(w )) ∨ (q(w , sk(w ), y ) ∧ r (y , g (w , y ))))) (8) (F ∧ ⊥) ⇒K ⊥
(9) (F ∨ ⊤) ⇒K ⊤
(10) (F ∨ ⊥) ⇒K F

Die ersten 5 Regeln, zusammen mit Regel (¬Q), stellen die Negationsnormalform
(NNF) her.

446 448
Gesamtbild 2.5 Herbrand-Interpretationen


F ⇒P Q1 y1 . . . Qn yn G (G quantorenfrei)
∗ A
⇒S x1 , . . . , xm H (H quantorenfrei)
k ni
∗ A ^ _
⇒K x1 , . . . , xn Lij
| {z } i=1 j=1
weglassen | {z }
Klauseln Ci
| {z }
F′

N = {C1 , . . . , Ck } heißt Klausel(normal)form (KNF) von F.


Merke: Die Variablen in Klauseln sind implizit allquantifiziert.
Falls F freie Variablen enthält, werden diese Variablen mit Konstanten ersetzt
E
(F (x) erfüllbar gdw. xF (x) erfüllbar)

Theorem: F ist erfüllbar, gdw. F ′ erfüllbar, gdw. N erfüllbar.

Viel Optimierungspotential vorhanden, wenn nur Erfüllbarkeit bewahrt werden muß


und kann: Größenexplosion, kleine Stelligkeit von Skolemfunktionen.

449 451

Beispiel Herbrand-Interpretationen

E A A E Ab jetzt betrachten wir, falls nichts Anderes angegeben, immer nur PL ohne Gleichheit.
F ≡ z(( x(p(z, x))) → ( y (q(z, y ) ∧ ( xr (y , x)))))
Ω enthalte immer mindestens ein Konstantensymbol.

Pränexnormalform: Definition. Herbrand-Interpretationen (über Σ) sind Σ-Strukturen A mit:


E A A E
F ≡ z(( x(p(z, x))) → ( y (q(z, y ) ∧ ( x r (y , x ))))) ′ ′
(Bereinigung) 1. UA = TΣ Menge der Grundterme, d.h. variablenfreien Terme über Σ
E A A E ′ ′
≡ z((¬ xp(z, x)) ∨ ( y (q(z, y ) ∧ ( x r (y , x ))))) 2. fA : (s1 , . . . , sn ) 7→ f (s1 , . . . , sn ), f /n ∈ Ω
E E A E
≡ z(( x¬p(z, x)) ∨ ( y (q(z, y ) ∧ ( x ′ r (y , x ′ ))))) (NNF)
E A E E f
≡ z x y x ′ (¬p(z, x) ∨ (q(z, y ) ∧ r (y , x ′ ))) (Pränexnormalform)
fA (△, . . . , △) =
Skolemisierung z 7→ sk1 ; x 7→ sk2 ; x ′ 7→ sk3 (y )
⇒∗
A
S y (¬p(sk1 , sk2 ) ∨ (q(sk1 , y ) ∧ r (y , sk3 (y )))) ...
△ △
(Erfüllbarkeitsäquivalente Formel in Skolemnormalform)
d.h. vorgegeben sind Terme als Daten und Funktionen als Termkonstruktoren.
Klauselnormalform:
Variabel sind nur die Interpretationen der Prädikatensymbole
⇒∗
A
K y ((¬p(sk1 , sk2 ) ∨ q(sk1 , y )) ∧ (¬p(sk1 , sk2 ) ∨ r (y , sk3 (y ))))
pA ⊆ TΣm , pm ∈ Π
Klauselmenge: N = {{¬p(sk1 , sk2 ), q(sk1 , y )}, {¬p(sk1 , sk2 ), r (y , sk3 (y ))}}

450 452
Herbrand-Interpretationen als Mengen von Existenz von Herbrand-Modellen
Grundatomen
Definition. Eine Herbrand-Interpretation I heißt Herbrand-Modell von F ,
falls I |= F .
Satz.
Jede Menge von Grundatomen I identifiziert genau eine Herbrand-
Theorem [Herbrand] Sei N eine Menge von Σ-Klauseln.
Interpretation A durch
N erfüllbar g.d.w. N hat Herbrand-Modell (über Σ)
(s1 , . . . , sn ) ∈ pA genau dann, wenn p(s1 , . . . , sn ) ∈ I g.d.w. GΣ (N) hat Herbrand-Modell (über Σ)
wobei

GΣ (N) = {C σ Grundklausel | C ∈ N, σ : X → TΣ }
Im folgenden werden wir daher nicht zwischen Herbrand-Interpretationen
die Menge der Grundinstanzen von N ist.
(über Σ) und Mengen von Σ-Grundatomen unterscheiden.

[Beweis später im Zusammenhang mit dem Vollständigkeitsbeweis für


Resolution.]

453 455

Herbrand-Interpretationen als Mengen von Beispiel für GΣ


Grundatomen
Bzgl. ΣPres erhält man für
Beispiel:
C = (x < y ) ∨ (y ≤ s(x))
ΣPres = ({0/0, s/1, +/2}, {< /2, ≤ /2})
folgende Grundinstanzen:
N als Herbrand-Interpretation über ΣPres
(0 < 0) ∨ (0 ≤ s(0))
I ={ 0 ≤ 0, 0 ≤ s(0), 0 ≤ s(s(0)), . . . ,
(s(0) < 0) ∨ (0 ≤ s(s(0)))
0 + 0 ≤ 0, 0 + 0 ≤ s(0), . . . , ...
. . . , (s(0) + 0) + s(0) ≤ s(0) + (s(0) + s(0)) (s(0) + s(0) < s(0) + 0) ∨ (s(0) + 0 ≤ s(s(0) + s(0)))
... ...
s(0) + 0 < s(0) + 0 + 0 + s(0)
. . .}

454 456
2.6 Prädikatenlogische Resolution Wiederholung: Resolutionskalkül
(Mengennotation)

Resolutionsregel:
C ∪ {A} {¬A} ∪ D
C ∪D

C ∪ D: Resolvente
A: resolviertes Atom

457 459

Wiederholung: Aussagenlogische Resolution Beispielrefutation (Mengennotation)

Aussagenlogische Klauseln entsprechen Grundklauseln und umgekehrt. 1. {¬P(f (a)), ¬P(f (a)), Q(b)} (gegeben)
2. {P(f (a)), Q(b)} (gegeben)
3. {¬P(g (b, a)), ¬Q(b)} (gegeben)
4. {P(g (b, a))} (gegeben)
5. {¬P(f (a)), Q(b)} (Res. 2. in 1.)
6. {Q(b)} (Res. 2. in 5.)
7. {¬P(g (b, a))} (Res. 6. in 3.)
8. ⊥ (Res. 4. in 9.)

458 460
Wiederholung: Resolutionskalkül Wiederholung: Korrektheit und Vollständigkeit
(Klauselnotation)
Aussagenlogische Resolution ist korrekt und vollständig.
Resolutionsregel: • Mengennotation: Resolutionsregel
C ∨A ¬A ∨ D
C ∨D • Klauselnotation: Resolutionsregel + Faktorisieren
C ∨ D: Resolvente
A: resolviertes Atom

Faktorisieren:
C ∨L∨L
C ∨L

∨“ wird in Klauseln als assoziativ und kommutativ aufgefaßt.


461 463

Beispielrefutation (Klauselnotation) Prädikatenlogische Resolution: Idee

Grundidee
1. ¬P(f (a)) ∨ ¬P(f (a)) ∨ Q(b) (gegeben)
Vor Resolutionsschritt durch geeignete Substitution komplementäres Paar
2. P(f (a)) ∨ Q(b) (gegeben)
von Literalen erzeugen
3. ¬P(g (b, a)) ∨ ¬Q(b) (gegeben)
4. P(g (b, a)) (gegeben) Möglichkeit für Resolutionsregel
5. ¬P(f (a)) ∨ Q(b) ∨ Q(b) (Res. 2. in 1.)
C1 ∪ {L} C2 ∪ {¬L′ }
6. ¬P(f (a)) ∨ Q(b) (Fakt. 5.)
C1 σ ∪ C2 σ
7. Q(b) ∨ Q(b) (Res. 2. in 6.) wobei
8. Q(b) (Fakt. 7.) • die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
9. ¬P(g (b, a)) (Res. 8. in 3.) 7→ ggf. umbenennen
10. ⊥ (Res. 4. in 9.) • σ(L) = σ(L′ )
Nachteil: Viel zu viele Substitutionen σ mit σ(L) = σ(l ′ )
Idee: Wähle die “allgemeinste” Substitution, mit σ(L) = σ(l ′ )

462 464
Unifikation Unifikation nach Martelli/Montanari

. .
Sei E = {s1 = t1 , . . . , sn = tn } (si , ti Terme oder Atome) eine Menge von .
Gleichheitsproblemen. (1) t = t, E ⇒MM E
. . .
Definition: Eine Substitution σ heißt ein Unifikator von E g.d.w. (2) f (s1 , . . . , sn ) = f (t1 , . . . , tn ), E ⇒MM s1 = t1 , . . . , sn = tn , E
A
1 ≤ i ≤ n : si σ = ti σ. .
(3) f (. . .) = g (. . .), E ⇒MM ⊥

Existiert ein Unifikator, so heißt E unifizierbar. (4)


.
x = t, E ⇒MM
.
x = t, E [t/x]
Definition: σ heißt allgemeiner als τ falls x ∈ var (E ), x 6∈ var (t)

σ ≤ τ :⇔ es gibt Subst.̺ : σ ◦ ̺ = τ .
(5) x = t, E ⇒MM ⊥
wobei (σ ◦ ̺)(x) := (xσ)̺ die Komposition von σ und ̺ als Abbildungen.a falls x 6= t, x ∈ var (t)
a Ist wohldefiniert, weil σ ◦ ̺ einen endlichen Bereich hat. . .
(6) t = x, E ⇒MM x = t, E
falls t 6∈ X

465 467

Ein paar simple Fakten Beispiel 1

. .
• Jeder Term ist mit sich selbst unifizierbar (mittels id) {f (g (a, x), g (y , b)) = f (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)}

• Terme der Gestalt f (s1 , . . . , sn ), f (t1 , . . . , tn ) sind unifizierbar g.d.w.


si und ti unifizierbar für 1 ≤ i ≤ n (2) . . . .
⇒MM {g (a, x) = x, g (y , b) = g (v , w ), x = g (x, a), g (v , w ) = g (v , b)}
• Atome der Gestalt p(s1 , . . . , sn ), p(t1 , . . . , tn ) sind unifizierbar g.d.w. (5)
⇒MM ⊥
si und ti unifizierbar für 1 ≤ i ≤ n

• Terme der Gestalt f (s1 , . . . , sn ), g (t1 , . . . , tm ) sind niemals unifb. nicht unifizierbar
• Atome der Gestalt p(s1 , . . . , sn ), q(t1 , . . . , tn ) sind niemals unifb.

• Eine Variable x und ein Term t, der x nicht enthält, sind immer unifb.
(mittels [t/x])

• Eine Variable x und ein Term t 6= x, der x enthält, sind niemals


unifizierbar

466 468
Beispiel 2 Unifikation: Haupteigenschaften

. .
{f (g (a, x), g (y , b)) = g (x, g (v , w )), f (x, g (v , w )) = f (g (x, a), g (v , b)} Definition. Eine Substitition σ heißt idempotent, wenn σ ◦ σ = σ.
(3)
⇒MM ⊥ Lemma.
σ ist idempotent gdw. dom(σ) ∩ codom(σ) = ∅.

nicht unifizierbar Theorem.



1. E ⇒MM ⊥ gdw. E nicht unfizierbar.
∗ . .
2. E unifizierbar gdw. E ⇒MM x1 = u1 , . . . , xk = uk ,
mit xi pw. verschieden, xi 6∈ var (uj ), 1 ≤ i, j ≤ k.
∗ . .
3. Falls E ⇒MM x1 = u1 , . . . , xk = uk ,
mit xi pw. verschieden, xi 6∈ var (uj ) so
σ = [u1 /x1 , . . . , uk /xk ] ist allgemeinster Unifikator von E .

469 471

Beispiel 3 Unifikation: Haupteigenschaften

. .
{f (g (a, x), g (y , b)) = f (z, g (v , w )), f (z, g (v , w )) = f (g (x, a), g (v , b)} Theorem.
(2) . . . . E unifizierbar g.d.w. es gibt allgemeinsten Unifikator σ von E , so dass:
⇒MM {g (a, x) = z, g (y , b) = g (v , w ), z = g (x, a), g (v , w ) = g (v , b)}
(4) . . . .
(1) σ idempotent und
⇒MM {z = g (a, x), g (y , b) = g (v , w ), g (a, x) = g (x, a), g (v , w ) = g (v , b)} (2) dom(σ) ∪ codom(σ) ⊆ var (E ).
. . . . . . .
⇒∗MM {z = g (a, x), y = v , b = w , a = x, x = a, v = v , w = b}
. . . . . . Notation: σ = mgu(E ) ( most general unifier“)
⇒∗MM {z = g (a, x), y = v , b = w , a = x, x = a, w = b} ”
⇒∗MM
. . . .
{z = g (a, a), y = v , b = b, a = a, x = a, w = b}
. . Problem: exponentielles Anwachsen der Terme möglich.
. . . .
⇒∗MM {z = g (a, a), y = v , x = a, w = b} Beispiel:
Allgemeinster Unifikator: E = {x1 ≈ f (x0 , x0 ), x2 ≈ f (x1 , x1 ), . . . , xn ≈ f (xn−1 , xn−1 )}
m.g.u. [x1 7→ f (x0 , x0 ), x2 7→ f (f (x0 , x0 ), f (x0 , x0 )), ...]
[g (a, a)/z, v /y , a/x, w /b] xi 7→ kompletter binärer Baum der Höhe i Zeit/Raum: exponentiell

Idee: Terme: azyklische Termgraphen

470 472
Beweisideen Beispiel

• Falls E ⇒MM E ′ , dann σ Unifikator von E gdw. σ Unifikator von E ′ . (⊥ habe {L} ∪ C1 = {p(a, x), p(x, x)}
keinen Unifikator.) | {z }
L
• Bzgl. ⇒MM irreduzible E sind trivialerweise nicht unifizierbar (E = ⊥)
{L′ } ∪ C2 = {¬p(y , y )}
oder haben die Form einer idempotenten Substitution. In diesem Fall ist die | {z }
Substitution der allgemeinste Unifikator. L′

• ⇒MM ist Noethersch. Eine geeignete lexikographische Ordnung auf Gleichungs- Allgemeinster Unifikator von L, L′ :
mengen E (mit ⊥ minimal und kleiner als alle Gleichungsmengen) zeigt dieses.
. . .
Man vergleiche in dieser Reihenfolge: {p(a, x) = p(y , y )} ⇒MM {a = y , x = y }
. . .
1. Anzahl der definierten Variablen (d.h. Variablen x in Gleichung x = t mit ⇒MM {y = a, x = a}
x 6∈ var (t)), die auch außerhalb ihrer Definition in E vorkommen
σ = [a/y , a/x]
2. Mengenordnung induziert von (i) der Größe (Anzahl der Symbole) einer
. .
Gleichung; (ii) bei gleicher Größe betrachten wir x = t kleiner als t = x,
C1 ∪ {L} C2 ∪ {¬L′ }
falls t 6∈ X . C1 σ ∪ C2 σ
• σ ist idempotent wegen der Substitution in Regel 4. dom(σ) ⊆ var (E ), weil R := {p(x, x)}σ ∪ {}σ = {p(a, a)}
keine neuen Variablen eingeführt werden.

473 475

Prädikatenlogische Resolutionsregel Prädikatenlogische Resolutionsregel

Prädikatenlogische Resolutionsregel Resolutionsregel in dieser Form alleine unvollständig für Prädikatenlogik


Beispiel:
C1 ∪ {L} C2 ∪ {¬L′ }
{{p(x), p(y )}, {¬p(u), ¬p(v )}}
C1 σ ∪ C2 σ
wobei • unerfüllbar

• die Elternklauseln keine Variablen gemeinsam haben (bereinigt) • aber nur Resolventen der Länge 2
7→ ggf. umbenennen

• σ ein allgemeinster Unifikator (MGU) von L, L′ ist.

474 476
Faktorisierung Beispiel

Faktorisierung 1. P(x) ∨ P(f (x)) ∨ ¬Q(x) [Gegeben]


2. ¬P(y ) [Gegeben]
{L1 , . . . , Ln } ∪ C
3. P(g (x ′ , x ′′ )) ∨ Q(x ′′ ) [Gegeben; Bereinigt]
({L1 , . . . , Ln } ∪ C )σ
4. P(f (x)) ∨ ¬Q(x) [Res. 1, 2]
wobei
5. ¬Q(x) [Res. 4, 2]
• σ allgemeinster Unifikatior (MGU) von {L1 , . . . , Ln } ist 6. Q(x ′′ ) [Res. 3, 2]
7. ⊥
({L1 , . . . , Ln } ∪ C )σ heißt Faktor von {L1 , . . . , Ln } ∪ C

477 479

Beispiel für Faktorisierung Resolutionskalkül Res für allgemeine Klauseln

{p(x), p(y ), r (y , z)} C ∨A D ∨ ¬B


falls σ = mgu(A, B) [Resolution]
{p(x), r (x, z)} (C ∨ D)σ

{p(x), p(y ), p(a), r (y , z)} C ∨ L1 ∨ L2


falls σ = mgu(A, B) [Faktorisierung]
{p(a), r (a, z)} (C ∨ A)σ
Es wird immer implizit angenommen, dass die Variablen in einer der beiden
Prämissen der Resolutionsregel ggfs. (bijektiv) umbenannt werden, so dass
sie disjunkt mit denen der anderen Prämisse sind.
Dieses implizite Umbenennen werden wir nicht formalisieren.
Welche Variablennamen man verwendet ist egal.
Beispielsweise könnte man sich vorstellen, dass am Anfang alle Klauseln
paarweise variablendisjunkt sind und das Unifikatoren so gewählt werden,
dass in ihrem Wertebereich nur neue Variablen vorkommen.

478 480
Allgemeine Resolution mit implizitem Wichtig: Häufige Fehlerquellen
Faktorisieren
• Das Bereinigen (Umbenennen) nicht vergessen!
Günstiger ist es, Resolutionsregel und Faktorisierungsregel in eine Regel
• Das Faktorisierungen (falls möglich) nicht vergessen!
zusammenzuziehen.
• Selbstresolution ist möglich!
C ∨ L1 ∨ . . . ∨ Ln D∨ ¬L′1 ∨ ... ∨ ¬L′m
(C ∨ D)σ
• wobei die Elternklauseln keine Variablen gemeinsam haben (bereinigt)
7→ ggf. umbenennen

• σ = mgu(L1 , . . . , Ln , L′1 , . . . , L′m )

481 483

Allgemeine Resolution: Beispiel Notation

(Hier verwenden wir Resolution mit implizitem Faktorisieren.) Sei N eine Klauselmenge und

Man sieht, dass (i) beim Instanziieren verschiedene Literale gleich werden Res(N) = N ∪ {R | R ist eine Resolvente zweier Klauseln aus N
können, und dass (ii) i. allg. mehrere verschiedene Instanzen einer Klausel oder Resultat der Faktorisierung einer Klausel aus N}
an einem Beweis partizipieren.

1. P(x) ∨ P(f (a)) ∨ ¬Q(x) [Gegeben] Res0 (N) = N


2. ¬P(y ) [Gegeben] Resn+1 (N) = Res(Resn (N))
3. P(g (x ′ , x ′′ )) ∨ Q(x ′′ ) [Gegeben] S
Res⋆ (N) = n∈N Resn (N)
4. ¬Q(f (a)) [RIF 1, 2]
5. Q(x ′′ ) [RIF 3, 2] (bezeichnet die Vereinigung der Ergebnisse aus aller möglichen Resolutions- und
Faktorisierungsschritte auf N)
6. ⊥ [RIF 4, 5]

482 484
Resolution: Korrektheit Resolution: Vollständigkeit

Theorem Theorem
Für eine Menge N von Klauseln gilt: Falls ⊥∈ Res∗ (N), so N unerfüllbar. Für eine Menge N von Klauseln gilt: Falls N unerfüllbar, so ⊥∈ Res∗ (N).

Beweis: Wie bei Aussagenlogik.


Beweisplan:
Einzelne Regelanwendung erhält die Erfüllbarkeit der Klauselmenge
1. Sei N eine unter Res saturierte Menge allgemeiner Klauseln, d.h.
Auch dies einfach zu beweisen wie in Aussagenlogik (beachte dabei:
Res(N) ⊆ N. Dann ist auch GΣ (N) saturiert.
Variablen in Klauseln sind universell quantifiziert)
Beweis: “Lifting-Lemma”

2. Sei N eine Menge von Σ-Klauseln.


N erfüllbar g.d.w. N besitzt Herbrand-Modell über Σ.

3. Sei N Menge allgemeiner Klauseln mit Res(N) ⊆ N. Dann


N |= ⊥ genau dann, wenn ⊥ ∈ N.

485 487

Resolution: Korrektheit Lifting-Lemma

Theorem Lemma. Falls


Für eine Menge N von Klauseln gilt: Falls ⊥∈ Res∗ (N), so N unerfüllbar. C D
? ?
Beweis: ? ?
A A yσ yσ
Annahme: A |= C1 ∨ L1 , A |= C2 ∨ ¬L2 (d.h. A |= x(C1 ∨ L1 ), A |= x(C2 ∨ ¬L2 ))
Sei σ = mgu(L1 , L2 ). Cσ Dσ [aussagenlogische Resolution]
A
Zu zeigen: A |= x(C1 ∨ C2 )σ. C′

Sei β beliebig. dann gibt es τ , so dass


A(β)((C1 ∨ C2 )σ) = A(β ◦ σ)(C1 ∨ C2 ) (Substitution-Lemma) C D
[allgemeine Resolution]
• Fall 1: A(β ◦ σ)(C1 ) = 1. Dann A(β)((C1 ∨ C2 )σ) = 1. C ′′
?
• Fall 2: A(β ◦ σ)(C1 ) = 0. Laut Annahme, A(β ◦ σ)(C1 ∨ L1 ) = 1, so ?
y τ
A(β ◦ σ)(L1 ) = 1. Dann: A(β ◦ σ)(L2 ) = A(β)(L2 σ) = A(β)(L1 σ) =
A(β ◦ σ)(L1 ) = 1. Also: A(β ◦ σ)(¬L2 ) = 0. C ′ = C ′′ τ
Aber A(β ◦ σ)(C2 ∨¬L2 )=1, so A(β ◦ σ)(C2 )=1. Dann A(β)((C1 ∨C2 )σ)=1.
Entsprechend für Faktorisieren.

486 488
Lifting-Lemma: Beweis Saturiertheit von Mengen allgemeiner Klauseln

Beweis (Idee) Theorem.


Sei C = C1 ∨ L1 , D = C2 ∨ ¬L2 . Sei N eine unter Res saturierte Menge allgemeiner Klauseln, d.h.
Res(N) ⊆ N. Dann ist auch GΣ (N) saturiert, d.h.
C σ = C1 σ ∨ L1 σ, Dσ = C2 σ ∨ ¬L2 σ.
L1 σ = L2 σ und C ′ = (C1 ∨ C2 )σ. Res(GΣ (N)) ⊆ GΣ (N).

L1 , L2 unifizierbar. Sei ρ = mgu(L1 , L2 ). Beweis. Sei C ′ ∈ Res(GΣ (N)). D.h. es gibt: (i) Grundinstanzen C σ und Dσ ′ von N
mit Resolvente C ′ , oder (ii) Grundinstanz C σ s.d. C ′ durch Faktorisierung abgeleitet.
Die Resolvente C ′′ ist dann (C1 ∨ C2 )ρ.
(i) Ist C ′ Resolvente, so können wir o.B.d.A. annehmen, dass σ = σ ′ .
(Nur wenn C und D nicht variablen-disjunkt wären, könnte dies schiefgehen.
Dann aber dürfen und müssen wir die Variablen in einer Klausel umbenennen.)
ρ ist allgemeiner als σ, d.h. es gibt eine Substitution τ mit σ(x) = τ (ρ(x))
Wegen des Lifting-Lemmas sind C und D resolvierbar mit einer Resolvente C ′′
für alle x ∈ X .
so dass C ′′ τ = C ′ , für eine geeignete Substitution τ . Weil C ′′ ∈ N nach
C ′′ τ = (C1 ∨ C2 )ρτ = (C1 ∨ C2 )σ = C ′ . Voraussetzung, ist C ′ ∈ GΣ (N).

(ii) Analog für den Fall, dass C ′ durch Faktorisierung abgeleitet wurde.

489 491

Saturiertheit von Mengen allgemeiner Klauseln Satz von Herbrand

Sei N eine Klauselmenge und


Theorem (Herbrand)
Res(N) = N ∪ {R | R ist eine Resolvente zweier Klauseln aus N Sei N eine Menge von Σ-Klauseln.
oder Resultat der Faktorisierung einer Klausel aus N} N erfüllbar g.d.w. N besitzt Herbrand-Modell über Σ
Beweis:
Res0 (N) = N
“⇐” trivial
Resn+1 (N) = Res(Resn (N))
“⇒”
S

Res (N) = n∈N
n
Res (N) N 6|= ⊥ ⇒ ⊥ 6∈ Res ∗ (N) (Res. korrekt)
⇒ ⊥ 6∈ GΣ (Res ∗ (N))
(bezeichnet die Vereinigung der Resolventen aus aller möglichen Resolutionsschritte
⇒ GΣ (Res ∗ (N)) hat ein (’aussagenlogisches’) Modell
auf N)
⇒ GΣ (Res ∗ (N)) hat ein Herbrand Modell I
⇒ I |= Res ∗ (N) (I Herbrand-Modell)
⇒ I |= N (N ⊆ Res ∗ (N))

490 492
Korrektheit und Vollständigkeit der allgemeinen Prädikatenlogische Resolution: Beispiel (1)
Resolution
Gegeben die Formel F :

Theorem A A
( x y (p(x, y ) → q(x, y ))∧
Sei N Menge allgemeiner Klauseln mit Res(N) ⊆ N. Dann: A A
x y (r (x, y ) → s(x, y ))
N |= ⊥ genau dann, wenn ⊥ ∈ N )→
A A E
( x y (( z(p(x, z) ∧ r (z, y ))) →
E
Proof: “⇐” trivial ( z(q(x, z) ∧ s(z, y )))))
“⇒:” Sei N Klauselmenge mit Res(N) ⊆ N. )
Dann Res(GΣ (N)) ⊆ GΣ (N) (Theorem Seite 10)
Gezeigt werden soll die Allgemeingültigkeit von F mittels Resolution
Annahme: N |= ⊥. Dann GΣ (N) |= ⊥ (Wir haben gezeigt, dass GΣ (N) 6|= ⊥ ⇒ GΣ (N)
hat Herbrand Modell I und I |= N)
Aber GΣ (N) |= ⊥ gdw. ⊥ ∈ GΣ (N) (aussag.log. Resol. vollständig + korrekt).
Es ist leicht zu sehen, dass ⊥ ∈ GΣ (N) gdw. ⊥ ∈ N.

493 495

Resolution: Vollständigkeit Prädikatenlogische Resolution: Beispiel (2)

Theorem Dazu zeigen wir die Unerfüllbarkeit von ¬F :


Für eine Menge N von Klauseln gilt: Falls N unerfüllbar, so ⊥∈ Res∗ (N). A A
¬(( x y (p(x, y ) → q(x, y ))∧
A A
x y (r (x, y ) → s(x, y ))
Beweis:
)→
Sei M = Res∗ (N). Dann Res(M) ⊆ M. So: M |=⊥ gdw. ⊥∈ M. A A E
( x y (( z(p(x, z) ∧ r (z, y ))) →
Widerspruchsbeweis: E
( z(q(x, z) ∧ s(z, y ))))
Annahme: ⊥6∈ Res∗ (N). Dann Res∗ (N) 6|=⊥, d.h. Res∗ (N) hat ein Modell A.
))
Da N ⊆ Res∗ (N), A |= N, d.h. N 6|=⊥.
Diese Formel muss zunächst in Klauselnormalform transformiert werden

494 496
Prädikatenlogische Resolution: Beispiel (3) Prädikatenlogische Resolution: Beispiel (5)

Elimination der Implikationen: Negation an den Allquantoren vorbei:


A A A A
¬(¬( x y (¬p(x, y ) ∨ q(x, y ))∧ (( x y (¬p(x, y ) ∨ q(x, y ))∧
A A A A
x y (¬r (x, y ) ∨ s(x, y )) x y (¬r (x, y ) ∨ s(x, y ))
) ∨ ) ∧
A A E E E E
( x y (¬( z(p(x, z) ∧ r (z, y )))∨ ( x y ¬(¬( z(p(x, z) ∧ r (z, y )))∨
E E
( z(q(x, z) ∧ s(z, y )))) z(q(x, z) ∧ s(z, y )))
)) ))

497 499

Prädikatenlogische Resolution: Beispiel (4) Prädikatenlogische Resolution: Beispiel (6)

Äußere Negation nach innen schieben: De Morgan:


A A
A A (( x y (¬p(x, y ) ∨ q(x, y ))∧
(( x y (¬p(x, y ) ∨ q(x, y ))∧ A A
A A x y (¬r (x, y ) ∨ s(x, y ))
x y (¬r (x, y ) ∨ s(x, y ))
) ∧
) ∧ E E E
A A E ( x y (( z(p(x, z) ∧ r (z, y )))∧
¬( x y (¬( z(p(x, z) ∧ r (z, y )))∨ E
E ¬ z(q(x, z) ∧ s(z, y )))
z(q(x, z) ∧ s(z, y )))
))
))

498 500
Prädikatenlogische Resolution: Beispiel (7) Prädikatenlogische Resolution: Beispiel (9)

Negation am Quantor vorbei: Bereinigen der Formel führt zu:


A A A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧ (( x y (¬p(x, y ) ∨ q(x, y ))∧
A A A A
x y (¬r (x, y ) ∨ s(x, y )) x ′ y ′ (¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ ))
) ∧ ) ∧
E E E E E E
( x y (( z(p(x, z) ∧ r (z, y )))∧ ( x ′′ y ′′ (( z(p(x ′′ , z) ∧ r (z, y ′′ )))∧
A A
z¬(q(x, z) ∧ s(z, y ))) z ′ (¬q(x ′′ , z ′ ) ∨ ¬s(z ′ , y ′′ )))
)) ))

501 503

Prädikatenlogische Resolution: Beispiel (8) Prädikatenlogische Resolution: Beispiel (10)

De Morgan Da die Formel bereinigt und in NNF ist, kann man alle Quantoren nach
A A
(( x y (¬p(x, y ) ∨ q(x, y ))∧ vorne ziehen:
E A A A A E A E
A A
x y (¬r (x, y ) ∨ s(x, y )) x y x ′ y ′ x ′′ y ′′ z z ′ (

) ∧ (¬p(x, y ) ∨ q(x, y ))∧


E E E
( x y (( z(p(x, z) ∧ r (z, y )))∧ (¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ ))
A
z(¬q(x, z) ∨ ¬s(z, y ))) p(x ′′ , z)∧

)) r (z, y ′′ ∧
(¬q(x ′′ , z ′ ) ∨ ¬s(z ′ , y ′′ ))
Nun ist die Formel in Negationsnormalform
)

Nun ist die Formel in Pränexnormalform, die Matrix der Formel ist auch
schon in konjunktiver Normalform

502 504
Prädikatenlogische Resolution: Beispiel (11) Prädikatenlogische Resolution: Beispiel (13)

Skolemisieren von x ′′ und y ′′ : In Klauselmengenschreibweise:


A E A A A A
x y x′ y ′ z z′( 1. {¬p(x, y ), q(x, y )}
(¬p(x, y ) ∨ q(x, y ))∧ 2. {¬r (x ′ , y ′ ), s(x ′ , y ′ )}
(¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ )) 3. {p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
p(f (x, y , x ′ , y ′ ), z)∧ 4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
r (z, g (x, y , x ′ , y ′ ))∧ 5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
(¬q(f (x, y , x ′ , y ′ ), z ′ ) ∨ ¬s(z ′ , g (x, y , x ′ , y ′ )))
)

505 507

Prädikatenlogische Resolution: Beispiel (12) Prädikatenlogische Resolution: Beispiel (14)

Skolemisieren von z:
1. {¬p(x, y ), q(x, y )}
A E A A A A
x y x′ y′ z z′( 2. {¬r (x ′ , y ′ ), s(x ′ , y ′ )}
(¬p(x, y ) ∨ q(x, y ))∧ 3. {p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
(¬r (x ′ , y ′ ) ∨ s(x ′ , y ′ )) 4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))∧ 5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))∧
Resolution der Klauseln 1. und 3. Dazu zunächst Umbenennung der
(¬q(f (x, y , x ′ , y ′ ), z ′ ) ∨ ¬s(z ′ , g (x, y , x ′ , y ′ )))
Variablen x, y in 3., um die Klauseln variablendisjunkt zu machen
)
Verwendeter MGU: [f (u, v , x ′ , y ′ )/x, h(u, v , x ′ , y ′ )/y ]

1 : {¬p(x, y ), q(x, y )} 3′ : {p(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}


6 : {q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}

506 508
Prädikatenlogische Resolution: Beispiel (15) Prädikatenlogische Resolution: Beispiel (17)
1. {¬p(x, y ), q(x, y )}
1. {¬p(x, y ), q(x, y )} 2. {¬r (x ′ , y ′ ), s(x ′ , y ′ )}
2. {¬r (x ′ , y ′ ), s(x ′ , y ′ )} 3. {p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))}
3. {p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))} 4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))}
4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))} 5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))}
5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))} 6. {q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))}
6. {q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ ))} 7. {s(h(x, y , u, v ), g (x, y , u, v ))}
8. {¬s(h(u, v , u ′ , v ′ ), g (u, v , u ′ , v ′ ))}
Resolution der Klauseln 2 und 4. Dazu zunächst Umbenennung der
Variablen x ′ , y ′ in 4, um die Klauseln variablendisjunkt zu machen Resolution der Klauseln 7 und 8. Dazu zunächst Umbenennung der
Variablen u, v in 8, um die Klauseln variablendisjunkt zu machen.
Verwendeter MGU: [h(x, y , u, v )/x ′ , g (x, y , u, v )/y ′ ]
Verwendeter MGU: [u ′′ /x, v ′′ /y , u ′ /u, v ′ /v ]
2 : {¬r (x ′ , y ′ ), s(x ′ , y ′ )} 4′ : {r (h(x, y , u, v ), g (x, y , u, v ))}
7 : {s(h(x, y , u, v ), g (x, y , u, v ))} 7 : {s(h(x, y , u, v ), g (x, y , u, v ))} 8′ : {¬s(h(u ′′ , v ′′ , u ′ , v ′ ), g (u ′′ , v ′′ , u ′ , v ′ ))}

509 511

Prädikatenlogische Resolution: Beispiel (16) Prädikatenlogische Resolution: Beispiel (18)


1. {¬p(x, y ), q(x, y )}
2. {¬r (x ′ , y ′ ), s(x ′ , y ′ )} Damit ist die leere Klausel ⊥ abgeleitet,

3. {p(f (x, y , x ′ , y ′ ), h(x, y , x ′ , y ′ ))} also ist die Klauselmenge unerfüllbar,


4. {r (h(x, y , x ′ , y ′ ), g (x, y , x ′ , y ′ ))} also ist die Formel ¬F unerfüllbar,
5. {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))} also ist die Formel F allgemeingültig
6. {q(f (u, v , x ′ , y ′ ), h(u, v , x ′ , y ′ )}
7. {s(h(x, y , u, v ), g (x, y , u, v ))}

Resolution der Klauseln 5 und 6. Dazu zunächst Umbenennung der


Variablen x ′ , y ′ in 6, um die Klauseln variablendisjunkt zu machen.
Verwendeter MGU: [u/x, v /y , u ′ /x ′ , v ′ /y ′ , h(u, v , u ′ , v ′ )/z ′ ]

5 : {¬q(f (x, y , x ′ , y ′ ), z ′ ), ¬s(z ′ , g (x, y , x ′ , y ′ ))} 6 : {q(f (u, v , u ′ , v ′ ), h(u, v , u ′ , v ′ )}


8 : {¬s(h(u, v , u ′ , v ′ ), g (u, v , u ′ , v ′ ))}

510 512
Zusammenfassung: Prädikatenlogische Resolution Wiederholung: Der aussagenlogische
Tableaukalkül
• Prädikatenlogische Resolutionsregel

• Faktorisierung Wesentliche Eigenschaften

• Kombination von Resolution und Faktorisierung • Widerlegungskalkül: Testet auf Unerfüllbarkeit

• Häufige Fehlerquellen • Beweis durch Fallunterscheidung

• Korrektheit und Vollständigkeit • Top-down-Analyse der gegebenen Formeln

513 515

2.7 Tableaukalkül Wiederholung: Der aussagenlogische


Tableaukalkül

Vorteile

• Intuitiver als Resolution

• Formeln müssen nicht in Normalform sein

• Falls Formelmenge erfüllbar ist (Test schlägt fehl), wird ein


Gegenbeispiel (eine erfüllende Interpretation) konstruiert

Nachteile

• Mehr als eine Regel

514 516
Formeltypen Formeltypen

Konjunktive Formeln: Typ α Disjunktive Formeln: Typ β

• ¬¬F • ¬(F ∧ G )

• F ∧G • F ∨G

• ¬(F ∨ G ) • F →G

• ¬(F → G ) Zuordnungsregeln Formeln / Unterformeln

Disjunktive Formeln: Typ β


β β1 β2
• ¬(F ∧ G )
¬(F ∧ G ) ¬F ¬G
• F ∨G
F ∨G F G
• F →G F →G ¬F G

517 519

Formeltypen Regeln des (aussagenlogischen) Tableaukalküls

Konjunktive Formeln: Typ α p∧q


α
• ¬¬F |
α1 Konjunktiv p
• F ∧G |
• ¬(F ∨ G ) α2 q
• ¬(F → G )
p∨q
Zuordnungsregeln Formeln / Unterformeln β
Disjunktiv / \
β1 | β2
p q
α α1 α2
F ∧G F G φ
φ
¬(F ∨ G ) ¬F ¬G ¬φ
¬φ Widerspruch
¬(F → G ) F ¬G |

¬¬F F ⊥

518 520
Instanzen der α und β-Regel Beispiel

Instanzen der α-Regel 1. ¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]


P ∧Q ¬(P ∨ Q) ¬(P → Q) ¬¬P 2. (P → (Q → R)) [11 ]
P ¬P P P 3. ¬((P ∨ S) → ((Q → R) ∨ S)) [12 ]
Q ¬Q ¬Q 4. P ∨S [31 ]
Instanzen der β-Regel 5. ¬((Q → R) ∨ S)) [32 ]
6. ¬(Q → R) [51 ]
P ∨Q ¬(P ∧ Q) P→Q
7. ¬S [52 ]
P | Q ¬P | ¬Q ¬P | Q hhhhhhh
 h
8. ¬P [21 ] 9. Q→R [22 ]
XXXX
 X
10. P [41 ] 11. S [42 ]
geschlossenes Tableau.

521 523

Beispiel Beispiel

Zu zeigen: Geschlossenes Tableau gefunden

(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S)) allgemeingültig


... also ist die Formel

¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]

unerfüllbar,
Wir zeigen, dass

¬[(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))]

unerfüllbar ist. ... d.h. die Formel

(P → (Q → R)) → ((P ∨ S) → ((Q → R) ∨ S))

ist allgemeingültig

522 524
Zusätzlich: Prädikatenlogische Formeltypen Instanzen der γ und δ-Regel

Instanzen der γ-Regel


universell existentiell
A E
γ γ(t) δ δ(t) xF (x) ¬ xF (x)
A
xF F [t/x]
E
xF F [t/x] F (t) ¬F (t)
E A
¬ xF ¬F [t/x] ¬ xF ¬F [t/x]

Instanzen der δ-Regel


E A
xF (x, y1 , . . . , yn ) ¬ xF (x, y1 , . . . , yn )
F (f (y1 , . . . , yn ), y1 , . . . , yn ) ¬F (f (y1 , . . . , yn ), y1 , . . . , yn )

wobei f eine neue Skolemfunktion ist und y1 , . . . , yn die freien Variablen in


E A
xF (x, y1 , . . . , yn ) (resp. xF (x, y1 , . . . , yn )) sind.

525 527

Zusätzlich: Prädikatenlogische Tableauregeln Determinismus der Regeln

γ-Regel α- und β-Regeln


A
xq(x)
γ
universell | deterministisch (wie in Aussagenlogik)
γ(t)
q(t)
wobei t ein beliebiger Term ist.
γ-Regel
δ-Regel • hochgradig nicht-deterministisch
E
xp(x, y1 , . . . , yn )
δ
δ(f (y1 ,...,yn ))
existentiell | • muss für Vollständigkeit mehrfach angewendet werden (pro Ast)
p(f (y1 , . . . , yn ), y1 , . . . , yn )
• Grund für Nicht-Terminierung
wobei f eine neue Skolemfunktion ist, und y1 , . . . , yn die freien Variablen in δ
sind.
δ-Regel
Skolemisierung ist also ein Bestandteil des Kalküls und wird nicht als ein • nicht-deterministisch
Vorverarbeitungsschritt vorausgesetzt. Aber natürlich könnte man ebensogut vorher
Skolemisieren, was auch Vorteile haben kann. • muss dennoch nur einmal pro Ast und Formel angewendet werden

526 528
Formale Definition des Kalküls Definition: Tableau (mit freien Variablen)

Fast wie in der Aussagenlogik definiert (kleine Änderungen) Sei M = {F1 , . . . , Fn } eine Formelmenge

(Definition auf den folgenden Seiten). Initialisierung


Das Tableau, das nur aus dem Knoten 1 besteht, ist ein Tableau für M
Erweiterung
• T ein Tableau für M
• B ein Ast von T
• F eine Formel auf B oder in M, die kein Literal ist
• T ′ entstehe durch Erweiterung von B gemäß der auf F anwendbaren Regel (α,
β, γ oder δ)
Dann ist T ′ ein Tableau für M.

Substitutionsregel
• Ist T ein Tableau für M und
• ist σ eine Substitution,
so ist auch T σ ein Tableau für M.

529 531

Formale Definition des Kalküls Formale Definition des Kalküls

Definition Definition.
Tableau: Binärer Baum, dessen Knoten mit Formeln markiert sind Ast B eines Tableaus für M ist geschlossen, wenn
Definition F , ¬F ∈ B ∪ M
Tableauast: Maximaler Pfad in einem Tableau (von Wurzel zu Blatt)
Definition.
Ein Tableau ist geschlossen, wenn jeder seiner Äste geschlossen ist.

Definition.
Ein Tableau für M, das geschlossen ist, ist ein Tableaubeweis für (die
Unerfüllbarkeit von) M

530 532
Beispiel Beispiel

Eine Aussage über Mengen Modellierung Unerfüllbarkeit der Menge M


E E
(1) S ∩Q = ∅ (¬ x(S(x) ∧ Q(x)) ∧ ¬ x(S(x) ∧ Q(x)) (1)
A A
(2) P ⊆ Q ∪R x(P(x) → (Q(x) ∨ R(x)) ∧ x(P(x) → (Q(x) ∨ R(x)) (2)
E E E E
(3) P=∅ → Q 6= ∅ (¬( xP(x))) → ( yQ(y )) ∧ (¬( xP(x))) → ( yQ(y )) (3)
A A
(4) Q ∪R ⊆ S x((Q(x) ∨ R(x)) → S(x)) ) → x((Q(x) ∨ R(x)) → S(x)) (4)
E E
(5) P ∩R 6= ∅ x((P(x) ∧ R(x))) ¬ x((P(x) ∧ R(x))) (5)

533 535

Beispiel Beispiel

Eine Aussage über Mengen Modellierung eeeee 1 XXXXXXXXXX


E E
eeeeee E
(1) S ∩Q = ∅ (¬ x(S(x) ∧ Q(x)) ∧ (6) ¬¬ xP(x) [31 , β] (7) yQ(y ) [32 , β]
A
(2) P ⊆ Q ∪R x(P(x) → (Q(x) ∨ R(x)) ∧ E
(8) xP(x) [61 , α] (9) Q(d) [7, δ]
E E
(3) P=∅ → Q 6= ∅ (¬( xP(x))) → ( yQ(y )) ∧
A (10) P(c) [8, δ] (∗∗)
(4) Q ∪R ⊆ S x((Q(x) ∨ R(x)) → S(x)) ) →
E (11) ¬(P(c) ∧ R(c)) [5, γ]
(5) P ∩R 6= ∅ x((P(x) ∧ R(x))) YYYYYY
ffffff Y
(12) ¬P(c) [111 , β] (13) ¬R(c) [112 , β]

⊥ 14 : P(c) → (Q(c) ∨ R(c)) [2, γ]


e
eeeeee
15 : ¬P(c) [141 , β] 16 : Q(c) ∨ R(c) [142 , β]
XXXXXX
⊥ 17 : Q(c) [161 , β] 18 : R(c) [162 , β]

(∗) ⊥

534 536
Beispiel Bemerkungen

Ast (*), Fortsetzung: Nota bene:


17 : Q(c) [161 , β]
Alle Äste in einem Tableau für M enthalten implizit alle Formeln in M
19 : ¬(S(c) ∧ Q(c)) [1, γ]
e
eeeeee
20 : ¬S(c) [191 , β] 21 : ¬Q(c) [192 , β] Die Substitutionsregel ändert potentiell alle Formeln des Tableau.
Das ist das Globale an der Beweismethode.
22 : Q(c) ∨ R(c) → S(c) [4, γ] ⊥
YYYYYY
YY
23 : ¬(Q(c) ∨ R(c)) [221 , β] 24 : S(c) [222 , β]
Nimmt man die Substitutionsregel wörtlich, so zählt man, in Verbindung
25 : ¬Q(c) [231 , α] ⊥
mit der γ-Regel, alle Substitutionsinstanzen allquantifizierter Formeln auf,
26 : ¬R(c) [232 , α]
ein Rückschritt im Vergleich zur Resolution.
Das braucht man aber nicht.

537 539

Beispiel Beispiel

Ast (**), Fortsetzung: A E E A E


1. ¬[ w x p(x, w , f (x, w )) → w x y p(x, w , y )]
E
(7) yQ(y ) [32 , β] A E
2. w x p(x, w , f (x, w )) 11 [α]
E A E
(9) Q(d) [7, δ] 3. ¬ w x y p(x, w , y ) 12 [α]
A
(27) : ¬(S(d) ∧ Q(d)) [1, γ]
4. x p(x, a, f (x, a)) 2(a) [δ]
e XXXXXX
eeeeeee
E A
5. ¬ x y p(x, v1 , y ) 3(v1 ) [γ]
(28) : ¬S(d) [271 , β] (29) : ¬Q(d) [272 , β] E
6. ¬ y p(b(v1 ), v1 , y ) 5(b(v1 )) [δ]
(30) : Q(d) ∨ R(d) → S(d) [4, γ] ⊥
YYYYYY 7. p(v2 , a, f (v2 , a)) 4(v2 ) [γ]
YY
(31) : ¬(Q(d) ∨ R(d)) [301 , β] (32) : S(d) [302 , β] 8. ¬p(b(v1 ), v1 , v3 ) 6(v3 ) [γ]
7. und 8. sind (modulo Unifikation) komplementär:
(33) : ¬Q(d) ⊥ [311 , α]
. . .
v2 = b(v1 ), a = v1 , f (v2 , a) = v3
(34) : ¬R(d) [312 , α]

ist lösbar mit mgu σ = [a/v1 , b(a)/v2 , f (b(a), a)/v3 ] und somit ist T σ ein

geschlossenes (lineares) Tableau für Formel 1.

538 540
Formale Definition des Kalküls Tableaus mit freien Variablen

Problem: Es ist sehr schwierig, zu “raten”, welche Instanzen im Beweis Neue γ-Regel
A
nützlich sind. γ xq(x)
universell |
γ(y )
q(y )
wobei y eine neue freie Variable ist
Idee:

• Substitutionsregel auf Unifikatoren komplementärer Formeln be- Neue Abschlussregel


schränken! L1
• γ-Regel führen nur freien Variablen ein (Tableaus mit freien Variablen) ¬L2 p(y )
Widerspruch ¬p(a)

Freie Variablen (Dummies, Platzhalten) werden ’bei Bedarf’ (bei ⊥ mgu: [a/y ]
Abschluss) instantiiert (wie bei Resolution).
wobei L1 , L2 unifizierbare Literale.
Wir sprechen von einem AMGU-Tableau, wenn die Substitutionsregel nur
für Substitutionen σ angewendet wird, für die es einen Pfad in T mit
Nota bene: Allgemeinster Unifikator von L1 , L2 wird auf das ganze Tableau
Literalen ¬A und B gibt, so daß σ = mgu(A, B). angewendet.

541 543

Tableaus mit freien Variablen Konvention

Neue γ-Regel Wir nehmen an, dass die Menge der Variablen X in 2 disjunkte unendliche
A
γ xq(x) Teilmengen Xf und Xg partitioniert ist, und dass:
universell |
γ(y )
q(y ) • Für gebundene Variablen nur solche aus Xg verwendet werden.
wobei y eine neue freie Variable ist (Vermeidet das Einfangproblem bei Substitution.)

Neue Abschlussregel
• Die Variabeln, die durch die neue γ-Regel eingeführt werden immer
aus Menge Xf gewählt sind.
L1
¬L2 p(y )
Widerspruch ¬p(a)

⊥ mgu: [a/y ]

wobei L1 , L2 unifizierbare Literale.

542 544
Prädikatenlogische Klauseltableaux Korrektheit und Vollständigkeit

Klauseltableaux für eine Klauselmenge S


Theorem
• Abschlussregel wie zuvor
Eine Formelmenge M ist unerfüllbar
• Keine α, keine δ-Regel genau dann, wenn
es einen Tableaubeweis für (die Unerfüllbarkeit von) M gibt.
• β- und γ-Regel zusammengefasst:
– Sei B ein Ast in T
– Sei C = {L1 , . . . , Ln } eine Klausel in S
– Sei C ′ = C σ = {L′1 , . . . , L′n } aus C durch Variablenumbenennung
Dann kann B erweitert werden, indem n Blätter mit L′1 , . . . , L′n
angehängt werden.

545 547

Beispiel Korrektheit

S = {{p(0)}, {¬p(x), p(s(x))}, {¬p(s(s(0)))}} Bei gegebener Signatur Σ bezeichnen wir mit Σsko das Ergebnis der
Hinzunahme unendlich vieler neuer Skolemfunktionen zu Σ, die wir in der
δ-Regel verwenden dürfen.
1

m p(0) RRRRR Sei A eine Σsko -Interpretation, T ein Tableau, und β eine Variablenbelegung
mmmm
¬p(x1 ) p(s(x1 )) über A.
SSS
llll S
⊥ ¬p(x2 ) p(s(x2 ))
Definition. T heißt (A, β)-erfüllt, wenn es einen Pfad Pβ in T gibt, so dass
[0/x1 ] ⊥ ¬p(s(s(0))) A, β |= F , für jede Formel F auf Pβ .

[s(0)/x2 ] ⊥
Definition. T heißt erfüllbar, falls es ein A gibt, so dass für jede
[s(0)/x2 ] Variablenbelegung β das Tableau T (A, β)-erfüllt ist. (D.h. wir dürfen Pβ
in Abhängigkeit von β wählen.)

546 548
Korrektheit Striktheitbedingung

Sei M = {F1 , . . . , Fn } eine Formelmenge (so dass Fi keine freien Variablen Definition. Ein Tableau ist strikt, falls für jede Formel F die entsprechende
enthält). Erweiterungsregel höchstens einmal auf jeden Ast, der die Formel enthält,
angewandt wurde.
Theorem
Sei T ein Tableau für {F1 , . . . , Fn }.
{F1 , . . . , Fn } erfüllbar genau dann, wenn T erfüllbar.

Beweis:
“ ⇐ ”: Falls T erfüllbar, so gibt es eine Struktur A, so dass für jede Variablenbelegung
β das Tableau T (A, β)-erfüllt ist,
d.h. es gibt einen Pfad Pβ in T , so dass A, β |= F , für jede Formel F auf Pβ .
Dann ist aber leicht zu sehen, dass A, β |= M (Alle Äste in einem Tableau für M
enthalten implizit alle Formeln in M).

549 551

Korrektheit Striktheitsbedingung für γ unvollständig


A
Sei M = {F1 , . . . , Fn } eine Formelmenge (so dass Fi keine freien Variablen 1. ¬[ x p(x) → (p(a) ∧ p(b))]
A
enthält). 2. x p(x) 11
3. ¬(p(a) ∧ p(b)) 12
Theorem
4. p(v1 ) 2(v1 )
Sei T ein Tableau für {F1 , . . . , Fn }.
XXXX
{F1 , . . . , Fn } erfüllbar genau dann, wenn T erfüllbar.  X
5. ¬p(a) 31 6. ¬p(b) 32
Beweis von “ ⇒ ” durch Induktion über die Tiefe von T .
Tableau mit Tiefe 1 (mit einem Knoten) erfüllbar wenn {F1 , . . . , Fn } erfüllbar. Würde die Striktheitsbedingung für γ gelten, wäre das Tableau nur noch
Induktionsvoraussetzung: Implikation gilt für alle Tableaux mit Tiefe ≤ n. durch Anwendung der Substitutionsregel weiter expandierbar. Aber es gibt
Induktionsschritt: Sei T ein Tableau mit Tiefe n + 1. T entsteht durch eine Erweiterung keine Substitution (für v1 ), unter der beide Pfade gleichzeitig abgeschlossen
mit einer α, β, γ oder δ-Regel aus einem Tableau mit Tiefe ≤ n. werden können.
α/β-Regeln: Beweis wie für Aussagenlogik; γ-Regel: Offensichtlich.
Bei δ müssen die Ideen aus dem Beweis der Bewahrung von Erfüllbarkeit bei
Skolemisierung verwendet werden.

550 552
Mehrfachanwendung von γ löst das Problem Vollständigkeit
A
1. ¬[ x p(x) → (p(a) ∧ p(b))]
A Theorem
2. x p(x) 11
{F1 , . . . , Fn } erfüllbar genau dann, wenn es kein geschlossenes, striktes
3. ¬(p(a) ∧ p(b)) 12 (mit Ausnahme von γ) AMGU-Tableau für {F1 , . . . , Fn } gibt.
4. p(v1 ) 2v1
XXXX
 X Beweis (Idee, Klauseltableaux)
6. ¬p(b) 32 Zum Beweis definiert man einen fairen Tableaux-Expansionssprozess, der gegen ein
5. ¬p(a) 31
unendliches Tableau konvergiert, wo auf jedem Pfad jede γ-Formel in alle Varianten
(modulo Wahl der freien Variablen) expandiert wurde. Man kann dann wieder zeigen,
7. p(v2 ) 2v2
dass alle Pfade bis auf Redundanz unter Resolution saturiert sind. Hierzu verwendet
man die Lifting-Argumente für Resolutionsinferenzen, um die AMGU-Einschränkung
A als vollständig zu beweisen.
Der Punkt ist, dass die verschiedenen Anwendungen von γ auf x p(x)
jeweils neue freie Variablen für x einsetzen dürfen.
Jetzt liefert zweifache Anwendung der AMGU-Regel die Substitution
[a/v1 , b/v2 ] und somit ein geschlossenes Tableau.

553 555

Wie oft muss γ angewendet werden? Vom Kalkül zur Beweissuchprozedur

Theorem • Vollständigkeit der Tableauregeln garantiert nur Existenz eines


Es gibt keine berechenbare Funktion f : ForΣ × ForΣ → N, so dass, falls geschlossenen Tableaus.
eine Satzform F unerfüllbar, es ein geschlossenes Tableau für F gibt, • Eine systematische Beweissuchprozedur ist notwendig, um einen
A
wobei für Formeln xG , die in T vorkommen, die γ-Regel auf jedem Beweis zu finden.
A A
Pfad, auf dem xG vorkommt, höchstens f (F , xG )-mal angewendet
worden ist.
Tableaukonstruktion ist nicht-deterministisch: Choice points
Sonst wäre Unerfüllbarkeit bzw. Gültigkeit in Logik erster Stufe entscheidbar, weil man
• Nächster zu betrachtender Ast?
nur Tableaux in einer Tiefe aufzählen müsste, die durch f beschränkt wird. Daher sind
Tableaux mit freien Variablen i.allg. notwendigerweise unbeschränkt in ihrer Tiefe. • Abschluss- oder Erweiterung?
A
wirkt wie eine unendliche Konjunktion. Durch iteratives Anwenden von γ, in
• Falls Abschluss: Mit welchem Literal-Paar?
Verbindung mit der Substitutionsregel, können alle Instanzen F [t/x] aufgezählt und
A
untereinander, also konjunktiv, in jedem Pfad durch xF eingesetzt werden. • Falls Erweiterung: Mit welcher Formel?

554 556
Vom Kalkül zur Beweissuchprozedur Beispiel

Schlechte Wahl kann das Finden eines Beweises verhindern! Bevorzugung eines Abschlusses

p(0)
Harmlos: Astauswahl
A
x(p(x) → p(s(x)))
Beliebige Strategie (z.B. links nach rechts) führt zum Erfolg
¬p(s(s(0)))

Mit Fairnessstrategie handhabbar: Formelauswahl


p(X1 ) → p(s(X2 ))
ii VVVVV
Jede Formel auf jedem Ast, γ-Formeln beliebig oft iiii VV
¬p(X1 ) p(s(X1 ))

Kritisch: Abschluss erfordert Backtracking ⊥ p(X2 ) → p(s(X2 ))


hh
Alternativ: Keinen Abschluss machen, bis sich alle Äste zugleich schließen
(mgu: [0/X1 ]) ¬p(X2 )
hhhhh p(s(X2 ))
lassen
⊥ ...

(mgu: [0/X2 ])

557 559

Beispiel Beispiel

Unfaire Bevorzugung einer Formel Abschluss statt Erweiterung

A
xp(x) p(a)

| A
x((p(b) ∧ p(c) → p(x)) → ¬(q(x) → (q(b) ∨ q(c))))

q ∧ ¬q
¬q(d)
|
((p(b) ∧ p(c) → p(X )) → ¬(q(X ) → (q(b) ∨ q(c))))
p(X1 ) dd ZZZZZZZZ
d dddd
ddd ZZ
| ¬(p(b) ∧ p(c) → p(X )) ¬(q(X ) → (q(b) ∨ q(c))))

p(X2 ) p(b) ∧ p(c) q(X )


...
¬p(X ) ¬(q(b) ∨ q(c))

558 560
Zusammenfassung Anwendungsbereiche

Prädikatenlogische Tableaukalküle
MATHEMATIK VERIFIKATION DATENBANKEN
• γ- und δ-Regel
Aufgaben Aufgaben Aufgaben
• Determinismus der Regeln − Beweisen − Programme − Konsistenz
− Korrektheit − Anfragen
− Beweisuberprufung beantworten
• Tableaux mit freien Variablen − Terminierung
− reaktive/hybride − Kleiner Suchraum
neue γ- und neue Abschlussregel
Theorien Systeme Theorien
− Sicherheit
• Prädikatenlogische Klauseltableaux − Zahlen − Logik erster Stufe
Theorien − Datalog
− Polynomen − ...
• Beweissuchprozedur − Zahlen
− Funktionen auf − Komplexe Theorien
− Datentypen
Zahlenbereichen − Funktionen
− Funktionen auf
− Algebren Zahlenbereichen − Zahlen

komplexe Systeme (MAS, mit eingebetteter Software, Datenbanken)

561 563

4. Anwendungen Anwendungsbereiche

MATHEMATIK VERIFIKATION DATENBANKEN

Aufgaben Aufgaben Aufgaben


− Beweisen − Programme − Konsistenz
− Korrektheit − Anfragen
− Beweisuberprufung beantworten
− Terminierung
− reaktive/hybride − Kleiner Suchraum
Theorien Systeme Theorien
− Sicherheit
− Zahlen − Logik erster Stufe
Formale Methoden − Datalog
Theorien
− Polynomen − ...
− Zahlen
Verfahren: - Probleme
− Funktionen auf →
7 als logische Formeln kodiert
− Komplexe Theorien
− Datentypen
Zahlenbereichen
- Verifikationsaufgaben: zu − Funktionen
Erfüllbarkeit/Gültigkeitstests reduziert
− Funktionen auf
− Algebren Zahlenbereichen − Zahlen

komplexe Systeme (MAS, mit eingebetteter Software, Datenbanken)

562 564
Beispiel: Sicherheitsprotokole Beispiel: Sicherheitsprotokolle

Ziel: zwei Personen (Alice und Bob) wollen miteinander kommunizieren Das folgende Schlüsselaustauschverfahren wurde 1993 von den beiden Kryp-
tographen Neuman und Stubblebine vorgeschlagen:
• über ein unsicheres Daten- oder Telefonnetz,

• sicher, d. h., ohne dass ein Eindringling (Charlie) mithören oder sich
als Alice oder Bob ausgeben kann.
Schritt 1: Alice schickt Bob die Nachricht 1: A, Na.

Die Nachricht enthäIt den Namen von Alice, A, und


eine Zufallszahl Na.
Hilfsmittel: Verschlüsselung Die Aufgabe von Na liegt darin, diesen Protokollauf
eindeutig zu kennzeichnen, um das wiederholen von
• Alice und Bob vereinbaren einen gemeinsamen Schlüssel
Nachrichten durch einen Angreifer sinnlos werden
und nutzen ihn, um ihr Gespräch zu verschlüsseln.
zu lassen.
• Nur wer den Schlüssel kennt, kann das Gespräch entschlüsseln.
Alice schickt (offen) Identifikation und Zufallszahl an Bob.

565 567

Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle

Bob schickt die Nachricht 2 : B, E (Kbt, A, Na, Tb), Nb an Trust.


Problem: wie kommen die Gesprächspartner an den gemeinsamen Schlüssel?
Nachdem Bob die Nachricht von Alice erhalten hat, weiss er,
• Persönliche Übergabe kommt nicht immer in Frage. dass sie einen sicheren Schlüssel mit ihm etablieren will.
• Wird der gemeinsame Schlüssel über das Netz Deshalb schickt Bob die Nachricht 2 an Trust.
unverschlüsselt verschickt, könnte Charlie ihn abfangen oder Die Nachricht enthält:
Schritt 2:
austauschen. - seinen Namen, B,
- einen verschlüsselten Mittelteil
• Annahme: es gibt eine sichere Schlüsselzentrale, mit der Alice und Bob
- eine von Bob generierte Zufallszahl, Nb,
jeweils einen gemeinsamen Schlüssel vereinbart haben.
- Tb: Zeitspanne für die Gültigkeitsdauer des Schlüssels

Der Term E (Kbt, A, Na, Tb) steht für die Nachricht A, Na, Tb
verschlüsselt mit dem Schlüssel Kbt, dem sicheren Schlüssel
zwischen Bob und Trust.

Bob leitet Nachricht weiter an Schlüsselzentrale ( Trust“).


566 568
Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle

Trust schickt die Nachricht 3


Bob liest Nachricht 4, entschlüsselt den ersten Teil und erhält
E (Kat, B, Na, Kab, Tb), E (Kbt, A, Kab, Tb), Nb an Alice.
so auch den Schlüssel Kab.

Schritt 3: Nachdem Trust Bob’s Nachricht gelesen und entschlüsselt hat, Schritt 5: Diesen verwendet er dann zur Entschlüsselung des zweiten
generiert er den sicheren Schlüssel Kab für die Kommunikation
Teils und vergleicht die enthaltene Zufallszahl Nb mit der,
zwischen Alice und Bob.
die er ursprünglich in Nachricht 2 an Trust schickte.
Er verschickt den Schlüssel mit Nachricht 3 an Alice.
Auf diese Weise ist sich Bob sicher, dass die Nachricht
Der erste Teil der Nachricht kann von Alice entschlüsselt werden,
von Alice stammt und Kab der gewünschte Schlüssel ist.
während sie den zweiten Teil später einfach an Bob weiterleitet,
siehe Schritt 4.

Trust schickt Nachricht an Alice. Darin: ein neuer gemeinsamer Schlüssel, Alice und Bob können nun mit dem gemeinsamen Schlüssel kommunizieren.
einmal für Alice und einmal für Bob verschlüsselt.
569 571

Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle

A, Na
Alice schickt die Nachricht 4: 1. A B
E (Kbt, A, Kab, Tb), E (Kab, Nb) an Bob.

Schritt 4: Alice liest Nachricht 3, entschlüsselt den ersten Teil durch B, Nb , EKbt (A, Na , Tb )
2. B T
den gemeinsamen Schlüssel Kat mit Trust und erhält so den
neuen Schlüssel Kab, um mit Bob zu kommunizieren.
EKat (B, Na , Kab , Tb ), EKbt (A, Kab , Tb ), Nb
Sie leitet den zweiten Teil von Trust’s Nachricht an Bob weiter 3. T A
und fügt die Nachricht E (Kab, Nb) hinzu.

EKbt (A, Kab , Tb ), EKab (Nb )


4. A B

Alice leitet den neuen gemeinsamen Schlüssel weiter an Bob.

570 572
Beispiel: Sicherheitsprotokolle Formalisierung der Eigenschaften des Protokolls

Ist das Verfahren sicher? 1. A, Na

(1) Ak(key (at, t))

(2) M(sent(a, b, pair (a, na)))

Formel (1) beschreibt, dass Alice am Anfang den Schlüssel at für die Kommunikation
mit Trust besitzt. (Wir lassen “K ” bei der Benamung von Schlüsseln weg.)

Formel (2) formalisiert Nachricht 1.


Nachrichten werden durch die dreistellige Funktion “sent” ausgedrückt, wobei das
erste Argument den Absender bezeichnet, das zweite den Empfänger und das dritte
den Inhalt der Nachricht.
Die Konstante a bezeichnet Alice, b Bob, t Trust und i Intruder.
Wir übersetzen das Problem in Formeln und lassen sie von einem Die Funktionen “pair” (triple, quadr) gruppieren Sequenzen von Nachrichten
Theorembeweiser untersuchen. entsprechender Länge.

573 575

Beispiel: Sicherheitsprotokolle Formalisierung der Eigenschaften des Protokolls

Zuerst formalisieren wir die Eigenschaften des Protokolls: 2. B, Nb, E (Kbt, A, Na, Tb)
• Wenn Alice/Bob/Trust eine Nachricht in einem bestimmten Format (3) Bk(key (bt, t))
bekommt, dann schickt er/sie eine andere Nachricht ab. A
(4) xa, xna[M(sent(xa, b, pair (xa, xna))) →
M(sent(b, t, triple(b, nb(xna), encr (triple(xa, xna, tb(xna)), bt)))))]
Dann formalisieren wir die Eigenschaften des Angreifers: Formel (3): Bob besitzt den Schlüssel bt zur Kommunikation mit Trust.
Formel (4): Wann immer er eine Nachricht in der Form von Nachricht 1 erhält
• Wenn eine Nachricht übermittelt wird, kann Charlie sie mithören.
(Formel 2), schickt er die Anfrage nach einem Schlüssel an Trust wie in Nachricht
• Wenn Charlie eine verschlüsselte Nachricht bekommt und den 2 festgelegt.

passenden Schlüssel hat, kann er sie entschlüsseln. Die Verschlüsselung wird mit Hilfe der zweistelligen Funktion “encr” beschrieben.
Das erste Argument der Funktion ist die zu verrschlüsselnde Nachricht und das zweite
• Wenn Charlie eine Nachricht hat, dann kann er sie an Alice/Bob/Trust
Argument der benutzte Schlüssel.
abschicken.
Alle Symbole die mit einem kleinen x anfangen, bezeichnen Variablen.
... Die Funktionen nb und tb generieren Bob’s Zufallszahl und Ablaufdatum
aus xna, xa’s (Alice’s ) Zufallszahl.

574 576
Formalisierung der Eigenschaften des Protokolls Formalisierung des Angreifers

3. E (Kat, B, Na, Kab, Tb), E (Kbt, A, Kab, Tb), Nb Der Angreifer wird als unermüdlicher Hacker implementiert, der keine
Möglichkeit unversucht lässt, das Protokoll anzugreifen.
(5) Tk(key (at, a))) ∧ Tk(key (bt, b))
A Er hört alle Nachrichten ab und zerlegt sie in ihre Bestandteile, solange er
(6) xb, xnb, xa, xna, xbet, xbt, xat, xk dazu nicht einen Schlüssel braucht, den er nicht hat.
[(M(sent(xb, t, triple(xb, xnb, encr (triple(xa, xna, xbet), xbt)))) ∧
Tk(key (xbt, xb)) ∧ Tk(key (xat, xa))) → Die Bestandteile werden dann auf jeder Art und Weise zu neuen Nachrichten
M(sent(t, xa, triple(encr (quadr (xb, xna, kt(xna), xbet), xat), beliebiger Länge komponiert.
encr (triple(xa, kt(xna), xbet), xbt), Jeder Bestandteil wird als Schlüssel in Betracht gezogen und sowohl zum
xnb)))] verschlüsseln als auch zum entschlüsseln verwendet.
(5) Trust besitzt die Schlüssel für Alice und Bob und ...
Alle so generierten Nachrichten werden verschickt.
(6) ... antwortet entsprechend des Protokolls auf Nachricht 2.
Entschlüsselung wird hierbei durch Unifikation mit einer entsprechenden Termstruktur
Die Menge aller Nachrichten(teile), die der Intruder so erhält, wird durch
realisiert, wobei zusätzlich überprüft wird, dass Trust die benötigten Schlüssel auch das Prädikat “Im” ausgedrückt.
besitzt.
Trust generiert den neuen Schlüssel durch die Funktion kt aus der Zufallszahl xna.
577 579

Formalisierung der Eigenschaften des Protokolls Der Angreifer

• Die Teilnehmer (Participants) sind Alice, Bob, Trust und Intruder:


4. E (Kbt, A, Kab, Tb), E (Kab, Nb)
(9) P(a) ∧ P(b) ∧ P(t) ∧ P(i)
A
(7) xnb, xbet, xk, xm, xb, xna
[M(sent(t, a, triple(encr (quadr (xb, xna, xk, xbet), at), xm, xnb)) → • Intruder hört alle Nachrichten ab.
A
(M(sent(a, xb, pair (xm, encr (xnb, xk)))) ∧ Ak(key (xk, xb)))] (10) xa, xb, xm[M(sent(xa, xb, xm)) → Im(xm)]
A
(8) xbet, xk, xnb, xa, xna • Er dekomponiert und entschlüsselt alle Nachrichten, soweit er dafür den Schlüssel
[M(sent(xa, b, pair (encr (triple(xa, xk, tb(xna)), bt), encr (nb(xna), xk))) → besitzt.
Bk(key (xk, xa))] (11)
A
u, v [Im(pair (u, v )) → (Im(u) ∧ Im(v ))]
A
Formel (7): Alice antwortet in korrekter Weise auf Nachricht 3 und merkt sich den (12) u, v , w [Im(triple(u, v , w )) → (Im(u) ∧ Im(v ) ∧ Im(w ))]
A
neuen Schlüssel. (13) u, v , w , z[Im(quadr (u, v , w , z)) → (Im(u) ∧ Im(v ) ∧ Im(w ) ∧ Im(z))]
A
Formel (8) beschreibt Bob’s Verhalten nachdem er Alices Nachricht erhalten hat. (14) u, v , w [(Im(encr (u, v )) ∧ Ik(key (v , w )) → Im(u)]
Bob entschlüsselt die Nachricht und extrahiert den neuen Schlüssel.

578 580
Der Angreifer Automatische Analyse

• Alle Nachrichten(teile) werden auf alle möglichen Arten neu komponiert. Die Formalisierung des Protokolls, Formeln (1)-(8) zusammen mit den
A
(15) u, v [(Im(u) ∧ Im(v ) → Im(pair (u, v ))] Angreiferformeln (9)-(20) und der Erfolgsbedingung für den Angreifer kann
A
(16) u, v , w [(Im(u) ∧ Im(v ) ∧ Im(w )) → Im(triple(u, v , w )) man nun in einen Theorembeweiser eingeben.
A
(17) u, v , w , z[(Im(u) ∧ Im(v ) ∧ Im(w ) ∧ Im(z)) → Im(quadr (u, v , w , z))

• Jeder Nachrichtenteil wird auch als Schlüssel aufgefasst und zur Verschlüsselung Dieser antwortet “erfüllbar”.
benutzt. Das beweist dann automatisch, dass der Angreifer das Protokoll brechen
A
(18) u, v , w [(Im(v ), P(w ) → Ik(key (v , w ))] kann und der kritische Schlüssel die Zufallszahl Na ist.
A
(19) u, v , w [(Im(v ), P(w ), Ik(key (v , w ))) → Im(encr (u, v ))]

• Der Angreifer schickt alles was er hat an jeden.


A
(20) x, y , u[(P(x) ∧ P(y ) ∧ Im(u)) → M(sent(x, y , u))]

581 583

Formalisierung Beispiel: Sicherheitsprotokolle

Zum Schluss müssen wir noch formalisieren was es bedeutet, dass der Was kann passieren?
Angreifer Erfolg hat.

Dies ist dann der Fall, wenn er einen Schlüssel zur Kommunikation mit Bob
hat, von dem Bob glaubt, es sei ein Schlüssel für Alice.

E
x[Ik(key (x, b)) ∧ Bk(key (x, a))]

Charlie fängt die letzte Nachricht von Alice ab.

582 584
Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle
Intruder schickt die Nachricht 5:
Was kann passieren? E (Kbt, A, Na, Tb), E (Na, Nb) an Bob. Was kann passieren?
Das Problem des Protokolls liegt darin, dass die Nachricht
E (Kbt, A, Kab, Tb) in Nachricht 4 und die Nachricht
E (Kbt, A, Na, Tb) in Nachricht 2 fast identisch sind.
Die beiden Nachrichten unterscheiden sich nur an der 2. Position.
(Nachricht 4 enthält dort den Schlüssel Kab,
Nachricht 2 die Zufallszahl Na.)

Da der Intruder alle Nachrichten lesen und auch selbst


Nachrichten schicken kann, fängt er also Nachricht 4 ab,
wiederholt den obigen Teil aus Nachricht 2 und fügt
E (Na, Nb) hinzu.
Die beiden Zufallszahlen wurden bereits unverschlüsselt verschickt.
Charlie schickt eine veränderte Nachricht an Bob. Bob startet Kommunikation mit Alice . . .

585 587

Beispiel: Sicherheitsprotokolle Beispiel: Sicherheitsprotokolle

Was kann passieren? Was kann passieren?

Bob entschlüsselt die Nachricht und denkt, sie komme von Alice, . . . aber spricht in Wirklichkeit mit Charlie.
und dass Na der sichere Schlüssel zur Kommunikation mit Alice ist.

586 588
Beispiel: Sicherheitsprotokolle Andere Anwendungsbereiche

Der Fehler ist tatsächlich leicht zu beheben.


MATHEMATIK VERIFIKATION

Aufgaben Aufgaben
Mit ein wenig Erfahrung erkennt man aus der Ausgabe des Theorembewei- − Programme
− Beweisen
sers, wie es geht. − Beweisuberprufung − Korrektheit
− Terminierung Beispiel: Geometrie
− reaktive/hybride a b

Theorien Systeme
Dieser Angriff lässt sich reparieren, in dem man die Elemente des Protokolls − Sicherheit d c

− Zahlen (A1)
A A A A
x y u v (T (x, y , u, v )→P(x, y , u, v )
typisiert, so dass Zufallszahlen und Schlüssel nicht mehr austauschbar sind. Theorien
− Polynomen A A A A
− Zahlen (A2) x y u v (P(x, y , u, v )→E (x, y , v , u, v , y )
− Funktionen auf − Datentypen (A3) T (a, b, c, d)
Zahlenbereichen
Dies lässt sich dann auch wieder formalisieren; − Funktionen auf A1 ∧ A2 ∧ A3 → E (a, b, d, c, d, b)
− Algebren Zahlenbereichen
der Theoremenbeweise antwortet jetzt “unerfüllbar”.

589 591

Beispiel: Sicherheitsprotokolle Andere Anwendungsbereiche

Literatur
MATHEMATIK VERIFIKATION
[1] Neuman, B. C. and Stubblebine, S. G., 1993, A note on the use of
timestamps as nonces, ACM SIGOPS, Operating Systems Review, 27(2), Aufgaben Aufgaben
− Beweisen − Programme
10-14. − Korrektheit
− Beweisuberprufung
− Terminierung Beispiel: Programmverifikation
− reaktive/hybride
Theorien Systeme int [] BubbleSort(int[] a) {
[2] Weidenbach, C., 1999, Towards an automatic analysis of security − Sicherheit
− Zahlen
int i, j, t;
protocols in first-order logic, in H. Ganzinger, ed., 16th International
− Polynomen
Theorien for (i := |a| − 1; i > 0; i := i − 1) {
Conference on Automated Deduction, CADE-16, Vol. 1632 of LNAI, − Zahlen for (j := 0; j < i; j := j + 1) {
Springer, pp. 378-382. − Funktionen auf − Datentypen if (a[j] > a[j + 1]){t := a[j];
Zahlenbereichen
− Funktionen auf a[j] := a[j + 1];
− Algebren Zahlenbereichen a[j + 1] := t};
}} return a}

590 592
Andere Anwendungsbereiche Beispiel: ETCS Fallstudie
AVACS: ETCS Fallstudie [Jacobs,VS’06,’07; Faber,Jacobs,VS’07]
Controllers RBC
MATHEMATIK VERIFIKATION

Aufgaben Aufgaben
− Beweisen − Programme
− Beweisuberprufung − Korrektheit
− Terminierung
braking + reaction
− reaktive/hybride distance
Theorien Systeme
− Sicherheit
− Zahlen Überprüfe:
Theorien • Kein “overflow” Anzahl der Züge: n>0 Z
− Polynomen
− Zahlen • Substanzen in der richtigen Proportion Minimaler sicherer Abstand: lalarm > 0 R
− Funktionen auf − Datentypen • ... andernfalls:
Zahlenbereichen
Minimale / maximale Geschwindigkeit : 0 ≤ min < max R
Tank kann in ≤ 200s geleert werden.
− Funktionen auf
Zahlenbereichen
Zeit zwischen Updates: ∆t > 0 R
− Algebren
Zugpositionierung vor/nach Update: pos, pos ′ :Z→R

593 595

Weitere Anwendungebereiche Beispiel: ETCS Fallstudie


AVACS: ETCS Fallstudie [Jacobs,VS’06,’07; Faber,Jacobs,VS’07]
Controllers RBC
MATHEMATIK VERIFIKATION

Aufgaben Aufgaben
− Beweisen − Programme
− Beweisuberprufung − Korrektheit
− Terminierung
braking + reaction
− reaktive/hybride distance
Theorien Systeme
− Sicherheit Zugkontrollsysteme
− Zahlen RBC
Update(pos, pos′ ) : •
A
i (i = 0 → pos(i) + ∆t∗min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
Theorien
− Polynomen A
− Zahlen • i (0 < i < n ∧ pos(i − 1) > 0 ∧ pos(i − 1) − pos(i) ≥ lalarm
− Funktionen auf − Datentypen braking + reaction
distance → pos(i) + ∆t ∗ min ≤ pos ′ (i) ≤ pos(i) + ∆t∗max)
Zahlenbereichen • Task: Keine Kollision ...
− Funktionen auf
− Algebren Zahlenbereichen
Induktive Invariante: Keine Kollision Sicher(pos) :
Sicher(pos)∧Update(pos, pos′ )∧¬Sicher(pos′ ) |=⊥
A
i, j(i<j→pos(i)>pos(j))

594 596
Weitere Logiken Weitere Logiken

• Alternativen zur klassischen Logik • Alternativen: z.B. Mehrwertige Logiken.


• Erweiterungen der klassischen Logik Wahrheitswerten: Menge W mit 0, 1 ∈ W
z.B: W = {0, 1, unbekannt}
W = {0, n1 , n2 , . . . , n−1
n
, 1} oder W = [0, 1].

In neuerer Zeit haben mehrwertige Logiken im Bereich der Informatik hohe


praktische Bedeutung gewonnen.
Sie ermöglichen den Umgang mit der Tatsache, dass Datenbanken nicht
nur eindeutig bestimmte, sondern auch unbestimmte, fehlende oder sogar
widersprüchliche Informationen enthalten können.

597 599

Weitere Logiken Weitere Logiken

• Alternativen: z.B. Mehrwertige Logiken • Erweiterungen:

Ausgangspunkt für die Entwicklung mehrwertiger Logiken war die Frage, ob In einer nichtklassischen Erweiterung der klassischen Logik werden
Annahme, das es nur zwei Wahrheitswerte 0 (falsch) und 1 (wahr) geben zusätzliche logische Operatoren hinzugefügt.
kann nicht zu Einschränkungen führen kann.
Für Aussagen über die Zukunft stellte bereits Aristoteles diese Frage, indem • Modale Logiken: Zusätzliche logische Operatoren:
er argumentierte, dass die Wahrheit einer Aussage wie
“2”: steht für “Es ist notwendig, dass...”.
“Morgen wird eine Seeschlacht stattfinden”
“3”: steht für “Es ist möglich, dass...”.
erst am Abend des morgigen Tages feststehen wird und dass sie bis zu
diesem Zeitpunkt noch als unbestimmt betrachtet werden muss.
• Dynamische Logik: Zusätzliche logische Operatoren:
[α], <α>, α Programm.
[α]F : F gilt nach jeder Ausführung von α
<α>: es gibt eine Ausführung von α nach der F gilt

598 600
Weitere Logiken Logik höherer Stufe

• Erweiterungen: Logik höherer Stufe erweitert die Prädikatenlogik erster Stufe um die
Möglichkeit, über alle Relationen/Funktionen zu quantifizieren.
In einer nichtklassischen Erweiterung werden zusätzliche logische Operatoren
hinzugefügt.

• Temporale Logiken: Erweiterungen der Logik, durch die zeitliche


Abläufe erfasst werden können.

Die Aussagenlogik kann Aussagen, deren Wahrheitswerte sich mit der


Zeit ändern, nicht oder nur mit Mühe adäquat behandeln.
So ist “Es regnet” nur wahr, wenn es am Ort und zur Zeit der
Äusserung gerade regnet, sonst nicht.
Klassische Logiken zählen daher den Äußerungszeitpunkt zu den
Wahrheitsbedingungen.

601 603

Weitere Logiken Acknowledgements

• Erweiterungen: Für die Vorbereitung der Vorlesungsmaterialien habe ich Material zu den Vorlesungen
von:
In einer nichtklassischen Erweiterung werden zusätzliche logische Operatoren
hinzugefügt. • Bernhard Beckert (Logik für Informatiker“, gehalten an der Universität
Koblenz-Landau)
• Temporale Logiken: Erweiterungen der Logik, durch die zeitliche
• Harald Ganzinger, Uwe Waldmann, Viorica Sofronie-Stokkermans (Äutomated
Abläufe erfasst werden können. Reasoning“, gehalten an der Universität des Saarlandes)

Zeitlogiken führen Operatoren ein, so dass jeder Fall der Äusserung • Ulrich Furbach (Logik für Informatiker“, gehalten an der Universität Koblenz-
des Satzes unter denselben Wahrheitsbedingungen steht. Landau) benutzt.

Diese Operatoren lassen es zu, differenziertere zeitliche Aussagen Material aus anderen Vorlesungen:
logisch zu analysieren, so dass der Wahrheitswert von “Es hat • Ulrich Furbach: Logic for Computer Scientists. Vorlesungsskriptum und Wikibook
geregnet”, “Es wird regnen”, “Es regnet immer” von der Erfüllung von • Harald Ganzinger, Viorica Sofronie-Stokkermans, Uwe Waldmann: Folien Äuto-
“Es regnet” zu bestimmten Zeitpunkten abhängig ist. mated ReasoningSSS 2004. Online: http://www.mpi-inf.mpg.de/ uwe/lehre/autreas/readings.html.
Temporale Logik wird in der Informatik für die Programm Spezifikation • Gert Smolka: Einführung in die Computationale Logik; SS 2003. Online at
und Verifikation benutzt. http://www.ps.uni-sb.de/courses/cl-ss03/skript/.

602 604
Literatur

Aussagenlogik, Prädikatenlogik:

• Melvin Fitting: First-Order Logic and Automated Theorem Proving. Springer-


Verlag, New York, 1996.

• Uwe Schöning Logik für Informatiker. Spektrum Akademischer Verlag, 2000

• Huth and Ryan: Logic in Computer Science. modelling and reasoning about
systems. Cambridge University Press, 2004.

• Armin Biere, Marijn Heule, Hans van Maaren, Toby Walsh (Editors) Handbook
of Satisfiability IOS Press, 2009

605

Das könnte Ihnen auch gefallen