Logik - an der Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Vorlesung “Logik”
Wintersemester 2013/14
Universität Duisburg-Essen
Barbara König
Übungsleitung: Dr. Sander Bruggink
Barbara König
Logik
1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
2
Aussagenlogik
Prädikatenlogik
Wer sind wir?
Das heutige Programm:
Organisatorisches
Vorstellung
Ablauf der Vorlesung und der Übungen
Prüfung & Klausur
Literatur & Folien
Dozentin: Prof. Barbara König
Raum LF 264
E-Mail: barbara [email protected]
Sprechstunde: nach Vereinbarung
Einführung und Motivation: Logik in der Informatik
Inhalt der Vorlesung
Web-Seite:
www.ti.inf.uni-due.de/de/teaching/ws201314/logik/
Grundbegriffe der Aussagenlogik
Barbara König
Logik
3
Barbara König
Logik
4
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Wer sind wir?
Vorlesungstermine
Übungsleitung: Dr. Sander Bruggink
Raum LF 265
Vorlesungstermin:
Mittwoch, 8:30 – 10:00 Uhr, im Raum LB 107
[email protected]
Sprechstunde: nach Vereinbarung
Barbara König
5
Logik
Aussagenlogik
Prädikatenlogik
Barbara König
Logik
6
Aussagenlogik
Prädikatenlogik
Termine der Übungsgruppen/Tutorien
Hinweise zu den Übungen
Übungsgruppen (zur Besprechung der Übungsblätter):
Gruppe
1
2
3
4
5
6
7
8
9
10
Tag
Mittwoch
Mittwoch
Donnerstag
Donnerstag
Donnerstag
Donnerstag
Freitag
Freitag
Freitag
Donnerstag
Uhrzeit
16:00–18:00
16:00–18:00
10:00–12:00
12:00–14:00
14:00–16:00
16:00–18:00
8:30–10:00
12:00–14:00
14:00–16:00
10:00-12:00
Barbara König
Logik
Die Übungen und Tutorien beginnen in der vierten
Vorlesungswoche am Mittwoch, den 6. November.
Raum
LE 105
LC 137
LC 137
LE 120
LF 035
LF 035
LF 035
LE 120
LE 120
BC 003
Bitte versuchen Sie, sich möglichst gleichmäßig auf die
Übungen zu verteilen.
Besuchen Sie die Übungen! Diesen Stoff kann man nur durch
regelmäßiges Üben erlernen. Auswendiglernen hilft nicht
besonders viel.
Die Übungsblätter werden jeweils am Mittwoch der Vorwoche
ins Netz gestellt. Das erste Übungsblatt wird am 30.10.
bereitgestellt.
7
Barbara König
Logik
8
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Hinweise zu den Übungen
Hinweise zu den Übungen
Wir verwenden Moodle, um:
Abgabe der gelösten Aufgaben bis Mittwoch der folgenden
Woche, 16:00 Uhr.
die Aufgabenblätter zur Verfügung zu stellen,
Einwurf in den Briefkasten neben dem Raum LF 259 oder
Abgabe per Moodle.
um Diskussionsforen bereitzustellen.
die Hausaufgaben elektronisch (nur PDF!) abzugeben und
Moodle-2-Plattform an der Universität Duisburg-Essen:
http://moodle2.uni-due.de/ (siehe auch Link auf der
Webseite)
Bitte geben Sie auf Ihrer Lösung deutlich die Vorlesung, Ihren
Namen, Ihre Matrikelnummer und Ihre Gruppennummer an.
Elektronische Abgaben sind nur als PDF zulässig! Bitte
benennen Sie Dateien nach folgendem Schema (um eine
eindeutige Namenswahl zu gewährleisten):
<vorname>-<nachname>-<blattnr>.pdf
Bitte legen Sie dort einen Zugang an (falls noch nicht vorhanden)
und tragen Sie sich in den Kurs “Logik 2013/14”
(Ingenieurwissenschaften → Informatik und Angewandte
Kognitionswissenschaft) ein. Bitte mit Uni-Kennung anmelden!
Es sind keine Gruppenabgaben erlaubt, nur Einzelabgaben.
Zugangsschlüssel: . . .
Barbara König
Logik
9
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
10
Aussagenlogik
Prädikatenlogik
Prüfung
Literatur
Klausur am Ende des Semesters:
Die Vorlesung basiert im Wesentlichen auf folgendem Buch:
Dienstag, 11. Februar 2014, 8:30-10:30 Uhr
Uwe Schöning: Logik für Informatiker. Spektrum, 2000.
Räume:
Weitere relevante Bücher:
LD Sporthallte (Anfangsbuchstabe Nachname A–S)
Wenn Sie 50% der Punkte erzielt haben, so erhalten Sie einen
Bonus für die Klausur.
Jon Barwise, John Etchemendy: Language, Proof, and Logic.
Seven Bridges Press, 2000.
Auf Deutsch: Sprache, Beweis und Logik, Band I – Aussagenund Prädikatenlogik. mentis, 2005.
Auswirkung: Verbesserung um eine Notenstufe; z.B. von 2,3 auf 2,0
Kreuzer, Kühling: Logik für Informatiker, Pearson, 2006.
LB 104 (Anfangsbuchstabe Nachname T–Z)
Bonuspunkte aus dem WS 2012/13 (oder früher) gelten nicht
mehr!
Barbara König
Logik
11
Barbara König
Logik
12
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Literatur
Folien
Einführende/unterhaltsame Literatur:
Folien werden
Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal
Golden Braid. Basic Books, 1999.
Auf Deutsch: Gödel, Escher, Bach: Ein Endloses Geflochtenes
Band. dtv, 1991.
im Web bereitgestellt,
regelmäßig aktualisiert,
im Wesentlichen den Folien des letzten Semesters (WS 12/13)
entsprechen
Raymond M. Smullyan: “To Mock a Mockingbird” and Other
Logic Puzzles. Knopf, 1985.
Auf Deutsch: Spottdrosseln und Metavögel. W. Krüger Vlg.,
1986.
Barbara König
Logik
Ein eigenes Skript gibt es – neben dem Buch von Schöning – nicht.
13
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
14
Aussagenlogik
Prädikatenlogik
Geschichte der Logik
Syllogismen (I)
Aristoteles entwickelte den Begriff des Syllogismus:
A syllogism is discourse in which, certain things being
stated, something other than what is stated follows of
necessity from their being so. I mean by the last phrase
that they produce the consequence, and by this, that no
further term is required from without in order to make
the consequence necessary.
Beginn in Griechenland: Aristoteles (384–322 v.Chr.)
untersucht das Wesen der Argumentation und des logischen
Schließens
Verschiedene Werke, u.a.: Analytica priora, Analytica
posteriora
Seither: Weiterentwicklung der Logik, Formalisierung,
Verwendung in der Mathematik und Informatik
Barbara König
Logik
Wenn alle Menschen sterblich sind und
Sokrates ein Mensch ist,
dann ist Sokrates sterblich.
15
Barbara König
Logik
16
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Syllogismen (II)
Verschiedene Logiken
Alle Dackel sind Hunde
Alle Hunde sind Tiere
Dann sind alle Dackel Tiere
Alle P sind M
Alle M sind S
Alle P sind S
Keine Blume ist ein Tier
Alle Hunde sind Tiere
Dann ist keine Blume ein Hund
Kein P ist M
Alle S sind M
Kein P ist S
Es gibt viele verschiedene Logiken:
Aussagenlogik
(Barbara)
Prädikatenlogik (1. Stufe)
Prädikatenlogik höherer Stufe
Modale und temporale Logiken
(Cesare)
Intuitionistische Logik
...
Alle Delfine leben im Meer
Alle Delfine sind Säugetiere
Dann leben einige Säugetiere im Meer
Barbara König
Alle M sind P
Alle M sind S
Einige S sind P
Wir beschäftigen uns in dieser Vorlesung nur mit Aussagenlogik
und Prädikatenlogik 1. Stufe.
(Darapti)
Logik
17
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
18
Aussagenlogik
Prädikatenlogik
Aussagenlogik (I)
Aussagenlogik (II)
George Boole (1848)
Der Stoff im Bereich “Aussagenlogik” umfasst unter anderem:
Verknüpfung von Aussagen, die entweder wahr oder falsch sein
können, mit einfachen Operatoren
(und; oder; nicht; wenn . . . , dann . . . )
Syntax der Aussagenlogik:
Was sind Operatoren? Was ist eine Formel? Welche Formeln
sind syntaktisch korrekt?
Beispiel:
Semantik der Aussagenlogik:
Was ist die Bedeutung einer Formel? Welche Formeln sind
allgemeingültig, d.h. immer wahr? Welche Formeln sind
unerfüllbar, d.h. immer falsch?
Aussagen: “Es regnet”, “Die Straße ist nass”
Verknüpfungen:
Es regnet und die Straße ist nass.
Wenn es regnet, dann ist die Straße nass.
Wenn die Straße nicht nass ist, dann regnet es nicht.
Barbara König
Logik
Verfahren und Methoden, die überprüfen, ob eine Formel
allgemeingültig oder unerfüllbar ist
19
Barbara König
Logik
20
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Prädikatenlogik
Anwendungen in der Informatik (I)
Frege, Peano, Russell (Ende des 19. Jahrhunderts)
Modellierung und Spezifikation: Eindeutige Beschreibung von
komplexen Systemen
Mit der Prädikatenlogik kann man zusätzlich
Verifikation: Beweisen, dass ein Programm das gewünschte
Verhalten zeigt
Beziehungen zwischen “Objekten” beschreiben
Schaltkreisentwurf: Schaltkreise lassen sich als logische
Formeln darstellen
Entwurf und Optimierung von Schaltungen
existentielle Aussagen treffen: “es gibt ein x, so dass . . . ”
universelle Aussagen treffen: “für jedes x gilt, dass . . . ”
Datenbanken: Formulierung von Anfragen an Datenbanken
Abfragesprache SQL (Structured query language)
Beispiel: Für jede natürliche Zahl x gilt, dass es eine natürliche
Zahl y gibt, so dass x kleiner als y ist.
Barbara König
Logik
Künstliche Intelligenz: Schlussfolgerungen automatisieren,
insbesondere in Expertensystemen
21
Barbara König
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Anwendungen in der Informatik (II)
Formale Syntax und Semantik
Auch wenn die Beispiele bisher mit natürlicher Sprache beschrieben
wurden, werden wir in der Vorlesung meist auf natürliche Sprache
verzichten.
Theorembeweiser: Der Computer beweist mathematische
Sätze
automatischer Beweis von wichtigen Sätzen im Bereich der
Booleschen Algebren
Beispiele:
Logische Programmiersprachen: Prolog
Natürliche Sprache
Es regnet und die Straße ist nass.
Wenn es regnet, dann ist die Straße nass.
Für jede natürliche Zahl x gilt,
dass es eine natürliche Zahl y gibt,
so dass x kleiner als y ist.
Außerdem: Logik ist ein Paradebeispiel für Syntax und formale
Semantik
Ein Zitat von Edsger W. Dijkstra:
Informatik = VLSAL (Very large scale application of logics)
(In Anspielung auf VLSI = Very large scale integration, ein Begriff
aus dem Chipdesign)
Barbara König
22
Logik
Logik
Formalisierung
R ∧N
R→N
∀x∃y (x < y )
Frage: Warum nicht natürliche Sprache?
23
Barbara König
Logik
24
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Probleme mit natürlicher Sprache (I)
Probleme mit natürlicher Sprache (II)
Problem: Natürliche Sprache ist oft schwer verständlich.
Beispiel: Auszug aus der “Analytica Priora” von Aristoteles
Die Aussage: If the middle term is related universally to one of the extremes, a particular negative syllogism must result whenever the middle term
is related universally to the major whether positively or negatively, and particularly to the minor and in a manner opposite to that of the universal
statement.
Der Beweis: For if M belongs to no N, but to some O, it is necessary that N
does not belong to some O. For since the negative statement is convertible,
N will belong to no M: but M was admitted to belong to some O: therefore
N will not belong to some O: for the result is reached by means of the first
figure. Again if M belongs to all N, but not to some O, it is necessary that
N does not belong to some O: for if N belongs to all O, and M is predicated
also of all N, M must belong to all O: but we assumed that M does not
belong to some O. And if M belongs to all N but not to all O, we shall
conclude that N does not belong to all O: the proof is the same as the
above. But if M is predicated of all O, but not of all N, there will be no
syllogism.
Problem: Zuordnung von Wahrheitswerten zu natürlichsprachigen
Aussagen ist problematisch.
Beispiele:
Jede gerade Zahl größer als 4 ist die Summe zweier
Primzahlen. (Goldbach’sche Vermutung, unbewiesen)
Dieser Satz hat zwei Vehler.
Barbara König
Logik
25
Aussagenlogik
Prädikatenlogik
Barbara König
Logik
26
Aussagenlogik
Prädikatenlogik
Probleme mit natürlicher Sprache (III)
Ich sah den Mann . . .
Problem: Natürliche Sprache ist mehrdeutig.
Beispiel:
Ich sah den Mann auf dem Berg mit dem Fernrohr.
(((Ich sah den Mann) auf dem Berg) mit dem Fernrohr)
Barbara König
Logik
27
Barbara König
Logik
28
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Ich sah den Mann . . .
Ich sah den Mann . . .
((Ich sah (den Mann auf dem Berg)) mit dem Fernrohr)
Barbara König
Logik
((Ich sah den Mann) (auf dem Berg mit dem Fernrohr))
29
Aussagenlogik
Prädikatenlogik
Barbara König
Logik
30
Aussagenlogik
Prädikatenlogik
Ich sah den Mann . . .
Ich sah den Mann . . .
(Ich sah ((den Mann auf dem Berg) mit dem Fernrohr))
Barbara König
Logik
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
31
Barbara König
Logik
32
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Ich sah den Mann . . .
Inhalt der Vorlesung
(((Ich sah den Mann) auf dem
Berg) mit dem Fernrohr)
Aussagenlogik:
Grundbegriffe, Normalformen und Äquivalenz
Resolution
((Ich sah (den Mann auf dem
Berg)) mit dem Fernrohr)
((Ich sah den Mann) (auf dem
Berg mit dem Fernrohr))
5 mögliche
Interpretationen!
Prädikatenlogik:
Grundbegriffe, Normalformen und Äquivalenz
Herbrand-Theorie
Resolution
Grundlagen der Logikprogrammierung
(Ich sah ((den Mann auf dem
Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem
Berg mit dem Fernrohr)))
Barbara König
Logik
33
Aussagenlogik
Prädikatenlogik
Barbara König
Aussagenlogik
Prädikatenlogik
Logik-Tools
Logik
34
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Aussagenlogik:
SAT-Solver: Überprüfen der Erfüllbarkeit von
aussagenlogischen Formeln
limboole (http://fmv.jku.at/limboole/)
Menge: Menge X von Elementen, wird beschrieben als Aufzählung
X = {A1 , A2 , A3 , A7 }
Prädikatenlogik:
oder als Menge von Elementen mit einer bestimmten Eigenschaft
Anschauliche Lehrsoftware für die Prädikatenlogik
Tarski’s World
(http://www-csli.stanford.edu/hp/Tarski1.html)
Theorembeweiser für die Prädikatenlogik 1. Stufe
(basierend auf Resolution)
otter (http://www.cs.unm.edu/~mccune/otter/)
Barbara König
Logik
X = {Ai | 1 ≤ i ≤ 3 oder i = 7}.
35
Barbara König
Logik
36
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Bemerkungen:
Die Elemente einer Menge sind ungeordnet, d.h., ihre
Ordnung spielt keine Rolle. Beispielsweise gilt:
Element einer Menge: Wir schreiben x ∈ X , falls ein Element x in
der Menge X enthalten ist.
{1, 2, 3} = {1, 3, 2} = {2, 1, 3} = {2, 3, 1} = {3, 1, 2} = {3, 2, 1}
Teilmengenbeziehung: Für zwei Mengen X , Y schreiben wir
X ⊆ Y , falls jedes Element von X auch in Y enthalten ist. Die
Relation ⊆ heißt auch Inklusion.
Ein Element kann nicht “mehrfach” in einer Menge auftreten.
Es ist entweder in der Menge, oder es ist nicht in der Menge.
Beispielsweise gilt:
Leere Menge: Mit ∅ oder {} bezeichnet man die leere Menge. Sie
enthält keine Elemente und ist Teilmenge jeder anderen Menge.
{1, 2, 3} =
6 {1, 2, 3, 4} = {1, 2, 3, 4, 4}
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
37
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
38
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Relation zwischen der Menge X und der Menge Y
Eine Teilmenge R ⊆ X × Y des Kreuzprodukts von X und Y heißt
Relation zwischen X und Y .
Seien X , Y zwei Mengen. Die Menge X × Y ist die Menge aller
Paare (x, y ), wobei die erste Komponente des Paars aus X , die
zweite aus Y kommt.
Beispiel:
X × Y = {(x, y ) | x ∈ X , y ∈ Y }
X = {1, 2, 3} Y = {a, b, c, d}
R = {(1, a), (1, b), (2, b), (3, d)} ⊆ X × Y
Beispiel:
{1, 2} × {3, 4, 5} = {(1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5)}
Logik
Logik
Mengen, Relationen und Funktionen
Kreuzprodukt (kartesisches Produkt)
Barbara König
Barbara König
39
Barbara König
Logik
40
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengen, Relationen und Funktionen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Mengen, Relationen und Funktionen
Notation von Funktionen
f:X
x
Funktion von der Menge X in die Menge Y
Eine Relation f ⊆ X × Y heißt Funktion, wenn folgendes gilt:
→ Y
7→ f (x)
Die Funktion f bildet ein Element x ∈ X auf ein Element f (x) ∈ Y
ab. Dabei ist X der Definitionsbereich und Y der Wertebereich von
f.
für jedes Element x ∈ X gibt es genau ein Element y ∈ Y mit
(x, y ) ∈ R.
Anschaulich: jedem Element der Menge X wird genau ein Element
der Menge Y zugeordnet.
Beispiel:
f : {A1 , A2 , A3 , A7 } → {0, 1}
A1 7→ 0, A2 7→ 1, A3 7→ 0, A7 7→ 1
alternativ: f (A1 ) = 0, f (A2 ) = 1, f (A3 ) = 0, f (A7 ) = 1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
41
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Syntax der Aussagenlogik
42
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formel als Syntaxbaum
Eine atomare Formel hat die Form Ai (wobei i = 1, 2, 3, . . .).
Jede Formel kann auch durch einen Syntaxbaum dargestellt
werden.
Definition (Formel)
Beispiel: F = ¬((¬A4 ∨ A1 ) ∧ A3 )
Formeln werden durch folgenden induktiven Prozess definiert:
1
Alle atomaren Formeln sind Formeln
¬
2
Für alle Formeln F und G sind (F ∧ G ) und (F ∨ G ) Formeln.
∧
3
Für jede Formel F ist ¬F eine Formel.
∨
Sprechweise:
(F ∧ G ): “F und G , “Konjunktion von F und G ”
¬
¬F : “nicht F ”, “Negation von F ”
A4
(F ∨ G ): “F oder G ”, “Disjunktion von F und G ”
Barbara König
Logik
43
Barbara König
A3
A1
Logik
44
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Teilformel
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Semantik der Aussagenlogik (I)
Die Teilformeln einer Formel F entsprechen dann den Teilbäumen.
¬
¬
∧
∧
∨
A4
¬
A3
∨
A1
A1
¬
A4
¬A4
¬
∧
∨
A3
A3
A1
¬
A4
¬
∧
∧
¬
∨
A3
A1
A4
Die Elemente der Menge {0, 1} heißen Wahrheitswerte.
A1
Eine Belegung ist eine Funktion A : D → {0, 1}, wobei D eine
Teilmenge der atomaren Formeln ist.
A4
¬
∨
A3
(¬A4 ∨ A1 )
¬
Wir erweitern A zu einer Funktion  : E → {0, 1}, wobei E ⊇ D
die Menge aller Formeln ist, die nur aus den atomaren Formeln in
D aufgebaut sind.
A3
A1
A4
¬
¬
∧
∧
((¬A4 ∨ A1 ) ∧ A3 )
∨
¬
∨
A3
¬((¬A4 ∨ A1 ) ∧ A3 )
A1
A4
Barbara König
Aussagenlogik
Prädikatenlogik
¬
A3
A1
A4
Logik
45
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Semantik der Aussagenlogik (II)
46
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Verknüpfungstafeln (I)
Berechnung von  mit Hilfe von Verknüpfungstafeln, auch
Wahrheitstafeln genannt.
Â(A) = A(A)
1
Â((F ∧ G )) =
0
1
Â((F ∨ G )) =
0
1
Â((¬F )) =
0
falls A ∈ D eine atomare Formel ist
Beobachtung: Der Wert Â(F ) hängt nur davon ab, wie A auf den
den in F vorkommenden atomaren Formeln definiert ist.
falls Â(F ) = 1 und Â(G ) = 1
sonst
Tafeln für die Operatoren ∨, ∧, ¬:
falls Â(F ) = 1 oder Â(G ) = 1
sonst
A
0
0
1
1
falls Â(F ) = 0
sonst
Wir schreiben A statt Â.
Barbara König
Logik
47
B
0
1
0
1
A
0
0
1
1
∨
0
1
1
1
B
0
1
0
1
A
0
0
1
1
B
0
1
0
1
Barbara König
A
0
0
1
1
Logik
∧
0
0
0
1
B
0
1
0
1
A
0
1
¬
1
0
A
0
1
48
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Abkürzungen
Verknüpfungstafeln (II)
A, B, C oder P, Q, R oder . . .
(F1 → F2 )
(F1 ↔ F2 )
n
_
( Fi )
(
i=1
n
^
Fi )
i=1
Grundbegriffe, Äquivalenz und Normalformen
Resolution
statt
A1 , A2 , A3 . . .
statt
statt
(¬F1 ∨ F2 )
((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ))
statt
(. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn )
statt
(. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn )
Barbara König
Aussagenlogik
Prädikatenlogik
Tafeln für die Operatoren →, ↔:
Logik
A
0
0
1
1
49
Grundbegriffe, Äquivalenz und Normalformen
Resolution
B
0
1
0
1
A
0
0
1
1
→
1
1
0
1
B
0
1
0
1
B
0
1
0
1
A
0
0
1
1
↔
1
0
0
1
B
0
1
0
1
Name: Implikation, Folgerung
Name: Äquivalenz, Biimplikation
Interpretation: Wenn A gilt,
dann muss auch B gelten.
Interpretation: A gilt genau dann,
wenn B gilt.
Barbara König
Aussagenlogik
Prädikatenlogik
Präzedenzen
A
0
0
1
1
Logik
50
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formalisierung natürlicher Sprache (I)
Präzedenz der Operatoren:
↔
→
∨
∧
¬
Ein Gerät besteht aus einem Bauteil A, einem Bauteil B und einem
roten Licht. Folgendes ist bekannt:
bindet am schwächsten
...
...
...
bindet am stärksten
Bauteil A oder Bauteil B (oder beide) sind kaputt.
Wenn Bauteil A kaputt ist, dann ist auch Bauteil B kaputt.
Wenn Bauteil B kaputt ist und das rote Licht leuchtet, dann
ist Bauteil A nicht kaputt.
Die Formel
Das rote Licht leuchtet.
A ↔ B ∨ ¬C → D ∧ ¬E
Formalisieren Sie diese Situation als aussagenlogische Formel und
stellen Sie die Wahrheitstafel zu dieser Formel auf. Verwenden Sie
dazu folgende atomare Formeln: RL (rotes Licht leuchtet), AK
(Bauteil A kaputt), BK (Bauteil B kaputt)
wird also wie folgt gelesen:
(A ↔ ((B ∨ ¬C ) → (D ∧ ¬E )))
Dennoch: Zusätzliche Klammern schaden im allgemeinen nicht
Barbara König
Logik
51
Barbara König
Logik
52
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Formalisierung natürlicher Sprache (II)
Modelle
Sei F eine Formel und A eine Belegung.
Falls A für alle in F vorkommenden atomaren Formeln definiert ist,
so heißt A zu F passend.
Gesamte Wahrheitstafel:
RL
0
0
0
0
1
1
1
1
AK
0
0
1
1
0
0
1
1
BK
0
1
0
1
0
1
0
1
(((AK ∨ BK ) ∧ (AK → BK )) ∧
((BK ∧ RL) → ¬AK )) ∧ RL
0
0
0
0
0
1
0
0
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Sei A passend zu F :
53
Falls A(F ) = 1
so schreiben wir
und sagen
oder
A |= F
F gilt unter A
A ist ein Modell für F
Falls A(F ) = 0
so schreiben wir
und sagen
oder
A 6|= F
F gilt nicht unter A
A ist kein Modell für F
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Gültigkeit und Erfüllbarkeit
54
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aufgabe
Definition (Erfüllbarkeit)
Gültig
Eine Formel F heißt erfüllbar, falls F mindestens ein Modell
besitzt, andernfalls heißt F unerfüllbar.
Definition (Gültigkeit)
Eine Formel F heißt gültig (oder allgemeingültig oder Tautologie)
falls jede zu F passende Belegung ein Modell für F ist. Wir
schreiben |= F , falls F gültig ist, und 6|= F sonst.
Logik
Unerfüllbar
A
A∨B
A ∨ ¬A
A ∧ ¬A
A → ¬A
A→B
A → (B → A)
A → (A → B)
A ↔ ¬A
Eine (endliche oder unendliche!) Menge von Formeln M heißt
erfüllbar, falls es eine Belegung gibt, die für jede Formel in M ein
Modell ist. (In diesem Fall sagt man auch, die Belegung ist ein
Modell für die Menge M.)
Barbara König
Erfüllbar
55
Barbara König
Logik
56
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
Spiegelungsprinzip
Gelten die folgenden Aussagen?
gültige
Formeln
J/N
Wenn
Wenn
Wenn
Wenn
Grundbegriffe, Äquivalenz und Normalformen
Resolution
F
F
F
F
gültig,
erfüllbar,
gültig,
unerfüllbar,
dann
dann
dann
dann
Barbara König
Aussagenlogik
Prädikatenlogik
erfüllbare, aber
nicht gültige
Formeln
Gegenb.
F erfüllbar
¬F unerfüllbar
¬F unerfüllbar
¬F gültig
Logik
F
¬G
57
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ein Gültigkeitstest
¬F
unerfüllbare
Formeln
G
Logik
58
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung
Wie kann man überprüfen, ob eine Formel F gültig (erfüllbar,
unerfüllbar) ist?
Definition (Folgerung)
Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls
für jede Belegung A, die sowohl zu F1 , . . . , Fk als auch zu G
passend ist, gilt:
Eine Möglichkeit: Wahrheitstafel aufstellen
Angenommen, die Formel F enthält n verschiedene atomare
Formeln. Wie groß ist die Wahrheitstafel?
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
Anzahl Zeilen in der Wahrheitstafel: 2n
Geht es auch effizienter? Diese Frage wird im Laufe der Vorlesung
beantwortet.
Barbara König
Logik
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
59
Barbara König
Logik
60
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Folgerung: Beispiel
Aufgabe
M
A
A
A, B
A, B
(A ∧ B)
(A ∨ B)
A, (A → B)
(AK ∨ BK ), (AK → BK ),
((BK ∧ RL) → ¬AK ), RL |= RL ∧ ¬AK ∧ BK
Wenn Bauteil A oder Bauteil B kaputt ist und daraus, dass
Bauteil A kaputt ist, immer folgt, dass Bauteil B kaputt ist und . . .
. . . dann kann man die Folgerung ziehen: das rote Licht leuchtet,
Bauteil A ist nicht kaputt und Bauteil B ist kaputt.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
61
Aussagenlogik
Prädikatenlogik
3
Logik
Logik
62
Grundbegriffe, Äquivalenz und Normalformen
Resolution
(Semantische) Äquivalenz
F1 , . . . , Fk |= G , d.h., G ist eine Folgerung von F1 , . . . , Fk .
V
(( ki=1 Fi ) → G ) ist gültig.
V
(( ki=1 Fi ) ∧ ¬G ) ist unerfüllbar.
Barbara König
Gilt M |= F ?
Äquivalenz
Zeigen Sie, dass folgende Aussagen äquivalent sind:
2
F
(A ∨ B)
(A ∧ B)
(A ∨ B)
(A ∧ B)
A
A
B
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung, Gültigkeit und Unerfüllbarkeit
1
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Zwei Formeln F und G heißen (semantisch) äquivalent, falls für
alle Belegungen A, die sowohl für F als auch für G passend sind,
gilt A(F ) = A(G ). Hierfür schreiben wir F ≡ G .
63
Barbara König
Logik
64
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Aufgabe
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Die Hauptprobleme
Modellprüfung
Sei F eine Formel und sei A eine passende Belegung. Gilt
A(F ) = 1?
Gelten die folgenden Äquivalenzen?
Erfüllbarkeit
Sei F eine Formel. Ist F erfüllbar?
(A ∧ (A ∨ B)) ≡ A
¬(A ∨ B) ≡ (¬A ∧ ¬B)
Gültigkeit
Sei F eine Formel. Ist F gültig?
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ C )
Folgerung
Seien F und G Formeln. Gilt F |= G ?
(A ∧ (B ∨ C )) ≡ ((A ∧ B) ∨ (A ∧ C ))
Äquivalenz
Seien F und G Formeln. Gilt F ≡ G ?
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
65
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Reduktion von Problemen (I)
Logik
66
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (II)
Welche Probleme lassen sich auf welche reduzieren?
Gültigkeit ⇐⇒ (Nicht)Erfüllbarkeit:
Unerfüllbarkeit =⇒ Folgerung:
Gültigkeit =⇒ Folgerung:
Folgerung =⇒ Unerfüllbarkeit:
F unerfüllbar gdw. F |= U
(U ist beliebige unerfüllbare Formel)
F gültig gdw. ¬F nicht erfüllbar
F erfüllbar gdw. ¬F nicht gültig
F gültig
gdw.
T |= F
F |= G
(T ist beliebige gültige Formel)
Folgerung =⇒ Gültigkeit:
F |= G
gdw.
Barbara König
gdw.
F ∧ ¬G unerfüllbar
F → G gültig
Logik
67
Barbara König
Logik
68
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Reduktion von Problemen (III)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Gültigkeits- und Erfüllbarkeitstests mit limboole
limboole – http://fmv.jku.at/limboole/
limboole ist ein Tool, mit dem Gültigkeits- und
Erfüllbarkeitstests für aussagenlogische Formeln durchgeführt
werden können.
Gültigkeit =⇒ Äquivalenz:
F gültig
gdw.
F ≡T
(T ist beliebige gültige Formel)
Dieses Tool basiert auf einer Kombination des
Davis-Putnam-Verfahrens zusammen mit Boolean Constraint
Propagation. (Genau dieses Verfahren wird in der Vorlesung
nicht vorgestellt, jedoch andere mögliche Verfahren.)
Äquivalenz =⇒ Gültigkeit:
F ≡G
gdw.
F ↔ G gültig
Bemerkung: Eine gültige Formel bezeichnet man manchmal auch
mit 1, eine unerfüllbare Formel mit 0.
Anders als andere Werkzeuge konvertiert limboole selbst die
Eingabe in (konjunktive) Normalform.
Es gibt noch zahlreicher andere Tools dieser Art, die
normalerweise als SAT-Solver bezeichnet werden. Einige
davon sind inzwischen auch effizienter als limboole.
Barbara König
Aussagenlogik
Prädikatenlogik
69
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Gültigkeits- und Erfüllbarkeitstests mit limboole
Logik
70
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Diagnose
Eingabeformat für limboole
Aussagenlogik
↔
→
∨
∧
¬
limboole kann für eine Formel F sowohl überprüfen,
ob sie gültig (valid) oder nicht gültig (invalid) ist als auch
ob sie erfüllbar (satisfiable) oder unerfüllbar (unsatisfiable) ist.
Bei einer nicht-gültigen Formel F wird eine Belegung A mit
A(F ) = 0 ausgegeben, bei einer erfüllbaren Formel eine Belegung
A mit A(F ) = 1.
Barbara König
Um zu zeigen, dass
limboole
<->
->
|
&
!
Logik
F
z
}|
{
(AK ∨ BK ), (AK → BK ), ((BK ∧ RL) → ¬AK ), RL
|= RL
| ∧ ¬AK
{z ∧ BK}
G
gilt, überprüfen wir, ob F → G gültig ist. Diese Formel sieht in
limboole-Syntax folgendermaßen aus:
((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL)
-> (!AK & BK & RL)
71
Barbara König
Logik
72
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 1:
Aufgabe: Gegeben sind zwei Schaltkreise. Überprüfen Sie, ob diese
Schaltkreise äquivalent sind, in dem Sinne, dass sie bei gleicher
Eingabe die gleichen Ausgaben liefern.
X1
Diese Überprüfung soll mit Hilfe von limboole durchgeführt
werden und nutzt die Tatsache, dass
Y1
∨
X2
F ≡ G gdw. F ↔ G gültig ist.
Aussagenlogik
Prädikatenlogik
Nor
∧
∧
∨
Y2
Barbara König
∧
73
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Nor
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Logik
74
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 2:
X1
¬
X2
Formel S1 für Schaltkreis 1 (in limboole-Syntax)
∧
Y1
¬
∧
¬
∧
(((X1 & Y1) | !(X1 | Y1)) & ((X2 & Y2) | !(X2 | Y2))
Formel S2 für Schaltkreis 1 (in limboole-Syntax)
∨
(X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) |
(X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2)
∧
Y2
Barbara König
Logik
75
Barbara König
Logik
76
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Eigenschaften der Äquivalenz
Wir betrachten nun wieder die Äquivalenz auf Formeln. Sie hat
folgende Eigenschaften:
reflexiv: Es gilt F ≡ F für jede Formel F (jede Formel ist zu
sich selbst äquivalent)
Mit Hilfe von limboole lässt sich feststellen, dass die Formel
S1 ↔ S2 nicht gültig ist, das heißt die Schaltkreise sind nicht
äquivalent.
symmetrisch: Falls F ≡ G gilt, so gilt auch G ≡ F
transitiv: Falls F ≡ G und G ≡ H gilt, so gilt auch F ≡ H
Zusatzaufgabe: wie kann man mit Hilfe von limboole überprüfen,
auf welchen Eingaben sich die beiden Schaltkreise unterscheiden?
abgeschlossen unter Operatoren: Falls F1 ≡ F2 und G1 ≡ G2 gilt,
so gilt auch (F1 ∧ G1 ) ≡ (F2 ∧ G2 ),
(F1 ∨ G1 ) ≡ (F2 ∨ G2 ) und ¬F1 ≡ ¬F2 .
Reflexive, symmetrische, transitive Relation
Äquivalenzrelation
Äquivalenzrelation + Abgeschlossenheit unter
Operatoren
Kongruenzrelation
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
77
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ersetzbarkeitstheorem
78
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (I)
Satz
Die Abgeschlossenheit unter Operatoren lässt sich auch
folgendermaßen formulieren:
Es gelten die folgenden Äquivalenzen:
Satz (Ersetzbarkeitstheorem)
Seien F und G äquivalente Formeln (F ≡ G ). Sei H eine Formel
mit (mindestens) einem Vorkommen der Teilformel F . Dann ist H
äquivalent zu H 0 (d.h. H ≡ H 0 ), wobei H 0 aus H hervorgeht, indem
(irgend) ein Vorkommen von F in H durch G ersetzt wird.
Barbara König
Logik
79
(F ∧ F )
(F ∨ F )
≡
≡
F
F
(F ∧ G )
(F ∨ G )
≡
≡
(G ∧ F )
(G ∨ F )
((F ∧ G ) ∧ H)
((F ∨ G ) ∨ H)
≡
≡
(F ∧ (G ∧ H))
(F ∨ (G ∨ H))
(F ∧ (F ∨ G ))
(F ∨ (F ∧ G ))
≡
≡
F
F
Barbara König
(Idempotenz)
(Kommutativität)
(Assoziativität)
(Absorption)
Logik
80
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Äquivalenzen (II)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen
(F ∧ (G ∨ H))
(F ∨ (G ∧ H))
≡
≡
((F ∧ G ) ∨ (F ∧ H))
((F ∨ G ) ∧ (F ∨ H))
¬¬F
≡
F
¬(F ∧ G )
¬(F ∨ G )
≡
≡
(¬F ∨ ¬G )
(¬F ∧ ¬G )
(F ∨ G )
(F ∧ G )
≡
≡
F , falls F gültig
G , falls F gültig
(F ∨ G )
(F ∧ G )
≡
≡
G , falls F unerfüllbar
F , falls F unerfüllbar
Die Tautologie- und Unerfüllbarkeitsregeln können auch
folgendermaßen geschrieben werden:
(Distributivität)
(Doppelnegation)
Barbara König
Aussagenlogik
Prädikatenlogik
(de Morgansche
Regeln)
(Tautologieregeln)
≡
≡
1
G
(Tautologieregeln)
(0 ∨ G )
(0 ∧ G )
≡
≡
G
0
(Unerfüllbarkeitsregeln)
Daraus folgt unter anderem, dass 1 (= gültige Formel) das
neutrale Element der Konjunktion und 0 (= unerfüllbare Formel)
das neutrale Element der Disjunktion ist.
(Unerfüllbarkeitsregeln)
Logik
(1 ∨ G )
(1 ∧ G )
81
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Normalformen (I)
Logik
82
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Normalformen (II)
Definition (Normalformen)
Ein Literal ist eine atomare Formel oder die Negation einer
atomaren Formel. (Im ersten Fall sprechen wir von einem positiven,
im zweiten Fall von einem negativen Literal).
Eine Formel F ist in disjunktiver Normalform (DNF), falls sie eine
Disjunktion von Konjunktionen von Literalen ist:
Eine Formel F ist in konjunktiver Normalform (KNF), falls sie eine
Konjunktion von Disjunktionen von Literalen ist:
F =(
F =(
n m
W
Vi
( Li,j )),
i=1 j=1
n m
V
Wi
( Li,j )),
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
i=1 j=1
wobei Li,j ∈ {A1 , A2 , · · · } ∪ {¬A1 , ¬A2 , · · · }
Barbara König
Logik
83
Barbara König
Logik
84
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Umformungsmethode (in KNF)
Umformungsmethode (in KNF)
Gegeben: eine Formel F .
1
Aufwand der Umformungsmethode
Bei der Umwandlung einer Formel in KNF kann die Formel
exponentiell größer werden.
Ersetze in F jedes Vorkommen einer Teilformel der Bauart
¬¬G
durch
G
durch
¬(G ∨ H)
durch
(¬G ∨ ¬H)
¬(G ∧ H)
Beispiel: F = (A1 ∧ B1 ) ∨ (A2 ∧ B2 ) ∨ · · · ∨ (An ∧ Bn )
(bestehend aus n Konjunktionen).
Bei Umwandlung in KNF ergeben sich durch das Distributivgesetz
2n Disjunktionen, da jede Kombination von Literalen (eines aus
jeder Konjunktion) eine neue Disjunktion ergibt.
(¬G ∧ ¬H)
bis keine derartige Teilformel mehr vorkommt.
2
Ersetze jedes Vorkommen einer Teilformel der Bauart
(F ∨ (G ∧ H))
((F ∧ G ) ∨ H)
durch
durch
F
((F ∨ G ) ∧ (F ∨ H))
Aussagenlogik
Prädikatenlogik
Logik
≡ (A1 ∨ A2 ∨ · · · ∨ An )
∧ (B1 ∨ A2 ∨ · · · ∨ An )
((F ∨ H) ∧ (G ∨ H))
∧ (A1 ∨ B2 ∨ · · · ∨ An )
bis keine derartige Teilformel mehr vorkommt.
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
∧ ...
85
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengendarstellung in KNF
Logik
86
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ablesen von DNF und KNF aus Wahrheitstafel
Klausel: Menge von Literalen (Disjunktion).
A
0
0
0
0
1
1
1
1
{A, B} stellt (A ∨ B) dar.
Formel in KNF: Menge von Klauseln (Konjunktion).
{{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar.
Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel (0).
Die leere Formel ist äquivalent zu einer gültigen Formel (1).
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
F
1
0
0
0
1
0
0
1
DNF: Aus jeder Zeile mit Wahrheitswert 1
wird eine Konjunktion, aus einer 0 in der
Spalte A wird ¬A, aus einer 1 wird A
(¬A ∧ ¬B ∧ ¬C )
∨ (A ∧ ¬B ∧ ¬C ) ∨ (A ∧ B ∧ C )
KNF: Aus jeder Zeile mit Wahrheitswert 0
wird eine Disjunktion, aus einer 0 in der
Spalte A wird A, aus einer 1 wird ¬A
(A ∨ B ∨ ¬C ) ∧ (A ∨ ¬B ∨ C )
∧ (A ∨ ¬B ∨ ¬C ) ∧ (¬A ∨ B ∨ ¬C )
∧ (¬A ∨ ¬B ∨ C )
Barbara König
Logik
87
Barbara König
Logik
88
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Für Formeln in DNF gibt es einen einfachen Erfüllbarkeitstest.
Für Formeln in KNF gibt es einen einfachen Gültigkeitstest.
Erfüllbarkeitstest für Formeln in DNF
Eine Formel in disjunktiver Normalform ist erfüllbar, genau dann
wenn sie eine Konjunktion (L1 ∧ · · · ∧ Ln ) enthält, in der jedes
Literal entweder nur positiv oder nur negativ vorkommt. Das heißt,
es gibt keine atomare Formel A, die sowohl als A als auch als ¬A
in dieser Konjunktion vorkommt.
Gültigkeitstest für Formeln in KNF
Eine Formel in konjunktiver Normalform ist gültig, genau dann
wenn es in jeder vorkommenden Disjunktion (L1 ∨ · · · ∨ Ln ) ein
Literal gibt, das sowohl positiv als auch negativ vorkommt. Das
heißt, es gibt in jeder Disjunktion eine atomare Formel A, die
sowohl als A als auch als ¬A vorkommt.
Beispiele:
(A ∧ B ∧ ¬C ) ∨ (¬A ∧ ¬B) ∨ (B ∧ ¬B)
ist erfüllbar, beispielsweise mit der Belegung A(A) = 1,
A(B) = 1, A(C ) = 0.
(A ∧ B ∧ ¬A) ∨ (¬A ∧ ¬B ∧ A ∧ B ∧ C ) ∨ (B ∧ ¬B)
ist nicht erfüllbar (= unerfüllbar).
Beispiele:
(A ∨ B ∨ ¬C ) ∧ (¬A ∨ ¬B) ∧ (B ∨ ¬B)
ist nicht gültig, beispielsweise erhält man 0 bei Auswertung
unter der Belegung A(A) = 0, A(B) = 0, A(C ) = 1.
(A ∨ B ∨ ¬A) ∧ (¬A ∨ ¬B ∨ A ∨ B ∨ C ) ∧ (B ∨ ¬B)
ist gültig.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
89
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
90
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Das Problem, die Erfüllbarkeit einer beliebigen Formel (oder einer
Formel in KNF) zu bestimmen ist auch als SAT-Problem
(Satisfiability-Problem) bekannt.
Diese einfachen Erfüllbarkeits- bzw. Gültigkeitstests können
durchgeführt werden, indem man einmal die Formel
durchläuft. Das heißt, man benötigt nur lineare Zeit.
SAT ist NP-vollständig ( “Berechenbarkeit und Komplexität”),
was bedeutet, dass es (zur Zeit) keinen bekannten
Polynomzeit-Algorithmus für dieses Problem gibt. Ob ein solcher
Polynomzeit-Algorithmus existiert, ist ein offenes Problem.
Trotzdem erhält man dadurch keinen einfachen
Erfüllbarkeitstest für Formeln in KNF und keinen einfachen
Gültigkeitstest für Formeln in DNF.
Dazu müsste man eine Formel in KNF erst in DNF
umwandeln (oder umgekehrt), was exponentielle Zeit in
Anspruch nehmen kann.
Logik
Logik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
Aufwand der Tests:
Barbara König
Barbara König
Es gibt jedoch einige Verfahren, die zumindest in vielen Fällen sehr
effizient sind (z.B. limboole und das im folgenden besprochene
Resolutionsverfahren).
91
Barbara König
Logik
92
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Definition (Boolesche Funktionen)
Eine Funktion der Form b : {0, 1}n → {0, 1} heißt (n-stellige)
Boolesche Funktion.
n
Daher gibt es genau 22 n-stellige Boolesche Funktionen bzw.
Wahrheitstafeln mit n atomaren Formeln.
Eine Formel F mit atomaren Formeln aus der Menge {A1 , . . . , An }
beschreibt eine n-stellige Boolesche Funktion bF wie folgt:
Aufgabe: Stellen Sie alle 16 Wahrheitstafeln mit zwei atomaren
Formeln auf, d.h., bestimmen Sie alle zweistelligen Booleschen
Funktionen. Versuchen Sie, jeder Wahrheitstafel den Operator oder
die Formel zuzuordnen, die sie beschreibt.
bF (x1 , . . . , xn ) = Ax1 ,...,xn (F ),
wobei Ax1 ,...,xn die Belegung ist, die Ai mit xi ∈ {0, 1} belegt.
Die n-stelligen Booleschen Funktionen entsprechen genau den
Wahrheitstafeln mit n Spalten für atomare Formeln und einer
Ergebnisspalte.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
93
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Logik
94
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Vollständigkeit von Operatormengen
Definition (Vollständigkeit)
Eine Menge von Operatoren heißt vollständig, wenn man damit für
jede Boolesche Funktion eine entsprechende Formel erstellen kann,
die diese Funktion beschreibt.
Die Operatormenge {Nand} ist vollständig, wobei der
Operator Nand wie folgt definiert ist: A Nand B = ¬(A ∧ B).
Begründung: A Nand A = ¬(A ∧ A) ≡ ¬A und
(A Nand B) Nand (A Nand B) ≡ A ∧ B.
Die Operatormenge {¬, ∨, ∧} ist vollständig.
Begründung: wie vorher beschrieben kann jede beliebige
Wahrheitstafel in KNF bzw. DNF umgewandelt werden.
Die Operatormenge {¬, ∨} ist vollständig.
Begründung: A ∧ B ≡ ¬(¬A ∨ ¬B).
Die Operatormenge {¬, ∧} ist vollständig.
Die Operatormenge {¬, →} ist vollständig.
Begründung: A ∨ B ≡ ¬A → B.
Barbara König
Logik
Die Operatormenge {Nor} ist vollständig, wobei der
Operator Nor wie folgt definiert ist: A Nor B = ¬(A ∨ B).
95
Barbara König
Logik
96
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
Die Operatormenge {∧, ∨} ist nicht vollständig.
Begründung: Hausaufgabe
Definition (Erfüllbarkeit einer Menge) – Wiederholung
Die Operatormenge {→} ist nicht vollständig.
Begründung: Die Formel ¬A kann nicht dargestellt werden.
Falls eine Formel nur aus Operatoren der Form → besteht und
der Wahrheitswert 1 eingesetzt wird, so erhält man wieder 1.
Das ist aber bei ¬A nicht der Fall.
Man erhält jedoch Vollständigkeit, wenn man auch die
Konstante 0 (“falsch”) zulässt. Dann gilt A → 0 ≡ ¬A und ∨
kann wie oben beschrieben mit Hilfe von ¬ und → dargestellt
werden.
Eine Menge M von aussagenlogischen Formeln heißt erfüllbar
genau dann, wenn es eine Belegung A gibt, die für alle Formeln in
M passend ist und für die gilt A(F ) = 1 für alle F ∈ M.
Endlichkeitssatz (compactness theorem)
Eine Menge M von Formeln ist erfüllbar genau dann, wenn jede
der endlichen Teilmengen von M erfüllbar ist.
Die Operatormenge {¬, ↔} ist nicht vollständig (ohne
Begründung).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
97
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
Logik
98
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Endlichkeitssatz
2. Schritt: Wir zeigen nun, dass M erfüllbar ist, wenn jede endliche
Teilmenge von M (insbesondere jede Menge Mi ) erfüllbar ist. Sei
Ai ein Modell für Mi . Wir konstruieren ein Modell A von M wie
folgt:
Beweis (Skizze):
1. Schritt: Zerlegung von M in Mengen M1 , M2 , M3 , . . . , wobei Mi
genau die Formeln von M enthält, die aus den atomaren Formeln
A1 , . . . , Ai bestehen. Es gilt:
1
M1 ⊆ M2 ⊆ M3 ⊆ . . .
S
M= ∞
i=1 Mi
2
Problem: Jede Menge Mi kann unendlich viele Formeln enthalten.
(Beispielsweise könnte M1 die Formeln A1 , ¬A1 , ¬¬A1 , ¬¬¬A1 ,
. . . enthalten.)
i
Da es jedoch höchstens 22 verschiedene i-stellige Boolesche
Funktionen geben kann, kann man diese in endlich viele
Äquivalenzklassen zusammenfassen.
Barbara König
Logik
Setze I := {1, 2, 3, . . . }
Stufe n > 0 (Wahrheitswert für An wird festgelegt)
Falls es unendlich viele Indizes i ∈ I gibt mit Ai (An ) = 1,
dann setze A(An ) = 1 und entferne aus I alle Indizes j,
für die Aj (An ) = 0 gilt.
Sonst: setze A(An ) = 0 und entferne aus I alle Indizes j,
für die Aj (An ) = 1 gilt.
3. Schritt: Zeige, dass A tatsächlich ein Modell für M ist.
99
Barbara König
Logik
100
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Resolution (Motivation)
Bemerkungen zum Endlichkeitssatz:
Der Beweis ist nicht-konstruktiv, er zeigt nur, dass es ein
Modell A gibt, nicht wie man es erhält.
Wir benötigen Algorithmen für Erfüllbarkeitstests, die zumindest in
vielen Fällen gutartiges Verhalten zeigen.
Aussagen der Form “es gibt unendlich viele i ∈ I mit . . . ”
können nicht in eine (mechanische) Konstruktion
umgewandelt werden.
Dennoch ist im schlimmsten Fall (worst case) immer eine
exponentielle Laufzeit zu erwarten.
Wir betrachten nun Resolution als Erfüllbarkeitstest und
untersuchen dann einige Fallstudien mit schlechtem bzw. gutem
Laufzeitverhalten.
Korollar: Wenn M eine unerfüllbare Menge ist, dann ist
bereits eine endliche Teilmenge von M unerfüllbar.
Die Bedeutung des Endlichkeitssatzes liegt vor allem in seinen
Anwendungsmöglichkeiten im Bereich der Prädikatenlogik
(siehe 2. Kapitel der Vorlesung).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
101
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Resolution (Idee)
Logik
102
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Resolution (Idee)
Wir betrachten im folgenden nur Formeln in KNF.
Es gilt:
Es gilt (für Formeln F , G und eine atomare Formel A):
F |= G
(F ∨ A) ∧ (G ∨ ¬A) |= (F ∨ G )
(F ∨ A) ∧ (G ∨ ¬A) ≡ (F ∨ A) ∧ (G ∨ ¬A) ∧ (F ∨ G )
Das kann so interpretiert werden, dass man zu den bisher
existierenden Klauseln (F ∨ A), (G ∨ ¬A) die Klausel (F ∨ G )
hinzufügt, ohne die Aussage der Formel zu verändern.
Zwei Fragen:
Kann man aus einer unerfüllbaren Formel immer die leere
Klausel herleiten? (Vollständigkeit)
Gibt es eine Möglichkeit, die Herleitung kompakter
aufzuschreiben?
Logik
F ≡F ∧G
Daraus folgt:
Aus der Herleitung der leeren Disjunktion bzw. leeren Klausel (=
unerfüllbare Formel 0) folgt Unerfüllbarkeit. (Korrektheit)
(Siehe auch der Zusammenhang zwischen Folgerung und
Unerfüllbarkeit: F unerfüllbar gdw. F |= 0.)
Barbara König
⇐⇒
Dies macht man so lange, bis man die leere Klausel erhält, oder
sich sicher sein kann, dass die leere Klausel nicht auftaucht.
103
Barbara König
Logik
104
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengendarstellung der KNF
Vorteile der Mengendarstellung
Klausel: Menge von Literalen (Disjunktion).
Man erhält automatisch:
{A, B} stellt (A ∨ B) dar.
Kommutativität:
(A ∨ B) ≡ (B ∨ A),
beide dargestellt durch {A, B}
Formel: Menge von Klauseln (Konjunktion).
{{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar.
Assoziativität:
((A ∨ B) ∨ C ) ≡ (A ∨ (B ∨ C )),
beide dargestellt durch {A, B, C }
Die leere Klausel (= leere Disjunktion) ist äquivalent zu einer
unerfüllbaren Formel. Diese wird auch mit bezeichnet.
Idempotenz:
(A ∨ A) ≡ A,
beide dargestellt durch {A}
Die leere Formel (= leere Konjunktion) ist äquivalent zu einer
gültigen Formel.
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
105
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Resolvent (I)
106
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Resolvent (II)
Definition (Resolvent)
Wir stellen diesen Sachverhalt durch folgendes Diagramm dar
(Sprechweise: R wird aus K1 , K2 nach L resolviert).
Seien K1 , K2 und R Klauseln. Dann heißt R Resolvent von K1 und
K2 , falls es ein Literal L gibt mit L ∈ K1 und L ∈ K2 und R die
Form hat:
K1
K2
R = (K1 − {L}) ∪ (K2 − {L}).
Hierbei ist L definiert als
¬Ai
L=
Ai
Barbara König
R
Ferner: falls K1 = {L} und K2 = {L}, so entsteht die leere Menge
als Resolvent. Diese wird mit dem speziellen Symbol bezeichnet,
das eine unerfüllbare Formel darstellt.
falls L = Ai ,
falls L = ¬Ai
Logik
107
Barbara König
Logik
108
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Resolutions-Lemma
Definition von Res(F )
Definition
Sei F eine Klauselmenge. Dann ist Res(F ) definiert als
Resolutions-Lemma
Sei F eine Formel in KNF, dargestellt als Klauselmenge. Ferner sei
R ein Resolvent zweier Klauseln K1 und K2 in F . Dann sind F und
F ∪ {R} äquivalent.
Res(F ) = F ∪ {R | R ist Resolvent zweier Klauseln in F }.
Außerdem setzen wir:
Res 0 (F ) = F
Beweis: Folgt direkt aus
Res n+1 (F ) = Res(Res n (F ))
(F1 ∨ A) ∧ (F2 ∨ ¬A) ≡ (F1 ∨ A) ∧ (F2 ∨ ¬A) ∧ (F1 ∨ F2 )
| {z } | {z } | {z } | {z } | {z }
K1
Grundbegriffe, Äquivalenz und Normalformen
Resolution
K2
K1
Barbara König
Aussagenlogik
Prädikatenlogik
K2
und schließlich sei
R
Res ∗ (F ) =
[
Res n (F ).
n≥0
109
Logik
für n ≥ 0
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Anzahl der Resolventen
Logik
110
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anzahl der Resolventen
Angenommen, die Formel F enthält n atomare Formeln. Dann gilt
welche Abschätzung für Res ∗ (F )?
A
∗
|Res (F )| ≤
2n
B
∗
|Res (F )| ≤
Was passiert, wenn alle Klauseln maximal zweielementig sind?
Durch die Resolution von zweielementigen Klauseln können nur
wieder maximal zweielementige Klauseln entstehen. (Das ist bei
drei- und mehrelementigen Klauseln anders.)
2n(2n−1)
Da es bei n verschiedenen atomaren Formeln nur 2n
2 =
2
viele zweielementige und 2n viele einelementige Klauseln gibt,
werden nach spätestens dieser polynomialen Anzahl von Schritten
keine neuen Klauseln mehr abgeleitet.
4n
C |Res ∗ (F )| kann beliebig groß werden
Dabei bezeichnet |Res ∗ (F )| die Anzahl der Elemente in Res ∗ (F ).
Es gilt |Res ∗ (F )| ≤ 4n
4n ist eine obere Schranke für die Menge aller Klauseln (jede
atomare Formel kann auf vier verschieden Arten in einer Klausel
vorkommen: gar nicht, nur positiv, nur negativ, positiv und
negativ).
Barbara König
Logik
111
Barbara König
Logik
112
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Resolutionssatz
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Induktionsprinzip
Wir zeigen nun die Korrektheit und Vollständigkeit der Resolution:
Um die Aussage
Resolutionssatz (der Aussagenlogik)
Für jedes n ∈ {0, 1, 2, 3, . . .} gilt P(n).
Eine Klauselmenge F ist unerfüllbar genau dann, wenn
∈ Res ∗ (F ).
zu zeigen, gehen wir im allgemeinen folgendermaßen vor:
Wir zeigen, dass P(0) gilt. (Induktionsanfang)
Diese Aussage beinhaltet zwei Teile:
Wir zeigen, dass für jedes n gilt:
Wenn P(n) gilt, dann gilt auch P(n + 1). (Induktionsschritt)
Wenn ∈ Res ∗ (F ), dann ist F unerfüllbar.
(Korrektheit, folgt unmittelbar aus dem Resolutionslemma)
Dann kann man schließen, dass P(n) für jedes beliebige n gilt.
Wenn F unerfüllbar ist, dann ∈ Res ∗ (F ).
(Vollständigkeit, muss noch – per Induktion – bewiesen
werden)
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
113
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beweisidee (I)
Logik
114
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beweisidee (I)
Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren
Formeln.
Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren
Formeln.
Hier: Induktionsschritt mit n + 1 = 4
Hier: Induktionsschritt mit n + 1 = 4
F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}}
F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}}
F0 = {{A1}, {¬A2}, {¬A1, A2}}
Barbara König
Logik
115
Barbara König
A4 wird mit 0 belegt
Logik
115
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beweisidee (I)
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beweisidee (II)
F0
Vollständigkeitsbeweis: Induktion über die Anzahl der atomaren
Formeln.
{¬A2}
F1
{¬A1, A2}
{A1}
{A3}
{¬A1, ¬A3}
Hier: Induktionsschritt mit n + 1 = 4
{¬A1}
F = {{A1}, {¬A2, A4}, {¬A1, A2, A4}, {A3, ¬A4}, {¬A1, ¬A3, ¬A4}}
F0 = {{A1}, {¬A2}, {¬A1, A2}}
A4 wird mit 0 belegt
F1 = {{A1}, {A3}, {¬A1, ¬A3}}
A4 wird mit 1 belegt
Barbara König
Aussagenlogik
Prädikatenlogik
115
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beweisidee (II)
116
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beweisidee (II)
F0
{¬A2, A4}
{¬A1}
F1
{¬A1, A2, A4}
{A1}
{¬A1, A4}
F0
{A3, ¬A4} {¬A1, ¬A3, ¬A4}
{¬A1, ¬A4}
{A4}
Barbara König
{¬A1, A2, A4}
{A1}
{¬A1, A4}
{¬A4}
Logik
{¬A2, A4}
F1
{¬A1, ¬A4}
{A4}
116
{A3, ¬A4} {¬A1, ¬A3, ¬A4}
Barbara König
{¬A4}
Logik
116
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Deduktion
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Resolutionskalkül
Mit dem Begriff Kalkül bezeichnet man eine Menge von
syntaktischen Umformungsregeln, mit denen man semantische
Eigenschaften herleiten kann.
Definition (Deduktion)
Eine Deduktion (oder Herleitung oder Beweis) der leeren Klausel
aus einer Klauselmenge F ist eine Folge von K1 , K2 , . . . , Km von
Klauseln mit folgenden Eigenschaften:
Syntaktische Umformungsregeln: Resolution, Stopp bei
Erreichen der leeren Klausel
Km ist die leere Klausel und für jedes i = 1, . . . , m gilt,
dass Ki entweder Element von F ist oder aus gewissen
Klauseln Ka ,Kb mit a, b < i resolviert werden kann.
Semantische Eigenschaft: Unerfüllbarkeit
Wünschenswerte Eigenschaften eines Kalküls:
Eine Klauselmenge ist unerfüllbar genau dann, wenn eine
Deduktion der leeren Klausel existiert.
Korrektheit: Wenn die leere Klausel aus F abgeleitet werden
kann, dann ist F unerfüllbar.
Es ist also nicht notwendig, ganz Res ∗ (F ) zu berechnen, sondern
es können geeignete Such-Heuristiken verwendet werden.
Vollständigkeit: Wenn F unerfüllbar ist, dann ist die leere
Klausel aus F ableitbar.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
117
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beispiel mit otter
Logik
118
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beispiel mit otter
Wir verwenden otter – einen Theorembeweiser basierend auf
Resolution.
Wir wollen zeigen, dass
otter – http://www.cs.unm.edu/~mccune/otter/
Mit Hilfe von otter kann man Resolutionsbeweise
durchführen.
((AK ∨BK )∧(AK → BK )∧(BK ∧RL → ¬AK )∧RL) → (¬AK ∧BK )
gültig ist. Das ist genau dann der Fall, wenn
otter ist eigentlich für die Prädikatenlogik gedacht, für die
Aussagenlogik ist im allgemeinen ein aussagenlogischer
SAT-Solver (wie limboole) angebracht.
(AK ∨BK )∧(¬AK ∨BK )∧(¬BK ∨¬RL∨¬AK )∧RL∧(AK ∨¬BK )
otter ist inzwischen zu prover9 weiterentwickelt worden, wir
verwenden in der Vorlesung jedoch trotzdem otter, weil man
in der Ausgabe sehr schön die Resolutionsbeweise
nachvollziehen kann.
unerfüllbar ist. (Wegen: F → G gültig gdw. F ∧ ¬G unerfüllbar.)
Barbara König
Logik
119
Barbara König
Logik
120
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beispiel mit otter
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beispiel mit otter
Eingabesyntax (Beispielformel)
Textuelle Ausgabe von otter
---------------- PROOF ---------------1 [] ak|bk.
2 [] -ak|bk.
3 [] -bk| -rl| -ak.
4 [] rl.
5 [] ak| -bk.
6 [binary,2.1,1.1] bk.
7 [binary,5.2,6.1] ak.
8 [binary,3.1,6.1] -rl| -ak.
11 [binary,8.1,4.1] -ak.
12 [binary,11.1,7.1] $F.
------------ end of proof -------------
set(prolog_style_variables).
set(binary_res).
clear(unit_deletion).
clear(factor).
list(sos).
ak | bk.
% (ak | bk) in limboole-Syntax
-ak | bk.
% (!ak | bk)
-bk | -rl | -ak. % (!bk | !rl | !ak)
rl.
% rl
ak | -bk.
% (ak | !bk)
end_of_list.
Die Optionen zu Beginn stellen sicher, dass die in der Vorlesung
eingeführte Art der Resolution verwendet wird.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
121
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiel mit otter
Logik
122
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beispiel: Pigeonhole-Prinzip
Ausgabe von otter – visuell mit GraphViz aufbereitet
Wir betrachten nun eine Formel, bei der viele Erfüllbarkeitstester
(SAT-Solver) ein schlechtes Verhalten zeigen.
Pigeonhole-Prinzip/Dirichletsches Schubfachprinzip
Wenn N + 1 Tauben in N Schlägen sitzen, dann gibt es in
mindestens einem Schlag zwei (oder mehr) Tauben.
Wir verwenden zur Formalisierung folgende atomare Formeln: Ti,j
mit i ∈ {1, . . . , N + 1}, j ∈ {1, . . . , N}.
A(Ti,j ) = 1 bedeutet dabei, dass die i-te Taube im j-ten
Schlag sitzt.
Barbara König
Logik
123
Barbara König
Logik
124
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beispiel: Pigeonhole-Prinzip
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beispiel: Pigeonhole-Prinzip
Wir formalisieren zunächst: “N + 1 Tauben sitzen in N Schlägen”.
Jede Taube sitzt in mindestens einem Schlag:
^
_
F1 =
Ti,j
Der gesamte aussagenlogische Ausdruck lautet:
Keine Taube sitzt in zwei Schlägen:
^
^
F2 =
Dabei ist F1 ∧ F2 ∧ ¬G schon “beinahe” in konjunktiver
Normalform.
F 1 ∧ F2 → G .
i∈{1,...,N+1} j∈{1,...,N}
i∈{1,...,N+1} j1 ,j2 ∈{1,...,N}, j1 6=j2
Er ist gültig genau dann, wenn F1 ∧ F2 ∧ ¬G unerfüllbar ist.
(¬Ti,j1 ∨ ¬Ti,j2 )
Mit Hilfe eines Programms kann man Formeln für jedes N
erzeugen und mit Hilfe von limboole überprüfen. Für diese Art
von Formeln zeigt limboole ein relativ schlechtes
Laufzeitverhalten, bereits ab N = 12 dauert der Test sehr lange.
In einem Schlag sitzen (mindestens) zwei Tauben:
_
_
G=
(Ti1 ,j ∧ Ti2 ,j )
i1 ,i2 ∈{1,...,N+1}, i1 6=i2
Barbara König
Aussagenlogik
Prädikatenlogik
j∈{1,...,N}
Logik
125
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Sudoku
126
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Sudoku
Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests
Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests
5
Sudoku-Regeln
Ein Sudoku-Feld ist ein Schachbrett mit 9 Zeilen und 9 Spalten.
Es ist außerdem unterteilt in 9
Regionen, bestehend aus 3 × 3
Feldern.
Sudoku-Regeln
Zu Beginn sind einige dieser Felder mit Zahlen aus der Menge
{1, . . . , 9} gefüllt.
3
7
6
1
9
9
8
6
8
6
4
8
7
3
3
6
6
2
1
8
Logik
127
Barbara König
Logik
1
2
4
Barbara König
5
8
9
5
7
9
127
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Sudoku
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Sudoku
Beispiel: ein Sudoku-Solver, basierend auf Erfüllbarkeitstests
Sudoku-Regeln
Die Aufgabe besteht nun darin,
das Feld vollständig auszufüllen,
so dass in jeder Zeile, in jeder
Spalte und in jeder Region jede
Zahl zwischen 1 und 9 genau einmal vorkommt.
Barbara König
Aussagenlogik
Prädikatenlogik
5
3
4
6
7
8
9
1
2
6
7
2
1
9
5
3
4
8
1
9
8
3
4
2
5
6
7
8
5
9
7
6
1
4
2
3
4
2
6
8
5
3
7
9
1
7
1
3
9
2
4
8
5
6
9
6
1
5
3
7
2
8
4
2
8
7
4
1
9
6
3
5
3
4
5
2
8
6
1
7
9
Logik
Wir verwenden folgende atomare Formeln, um ein Sudoku zu
beschreiben: Si,j,k mit i, j, k ∈ {1, . . . , 9}.
A(Si,j,k ) = 1 bedeutet dabei, dass sich auf Feld (i, j) die Zahl
k befindet.
Mit Hilfe dieser 9 · 9 · 9 = 729 atomaren Formeln lassen sich nun
die Sudoku-Spielregeln mit Hilfe der Aussagenlogik formalisieren.
127
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Sudoku
128
Logik
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Sudoku
Für die Erzeugung dieser Formel als limboole-Formel bietet es
sich an, ein Programm zu schreiben, das die (sehr große) Formel in
eine Datei schreibt. Die Datei besteht aus ca. 220.000 Zeichen.
Auf jedem Feld befindet sich eine Zahl:
^
_
Si,j,k
i,j∈{1,...,9} k∈{1,...,9}
Anschließend muss nur noch die Situation in einem bestimmten
Sudoku-Rätsel dargestellt werden, wie z.B. für das obige Beispiel:
Auf keinem Feld befinden sich zwei Zahlen:
^
^
(¬Si,j,k1 ∨ ¬Si,j,k2 )
S115
S329
S548
S772
S987
i,j∈{1,...,9} k1 ,k2 ∈{1,...,9}, k1 6=k2
In keiner Zeile, Spalte, Region kommt eine Zahl doppelt vor:
für Zeile 1 lautet die Formel wie folgt
^
^
(¬S1,j1 ,k ∨ ¬S1,j2 ,k )
(Für die restlichen Zeilen und für die Spalten und Regionen
ergeben sich analoge Formeln).
Logik
S123
S338
S563
S788
S999
&
&
&
&
S157
S386
S591
S844
&
&
&
&
S216
S418
S617
S851
&
&
&
&
S241
S456
S652
S869
&
&
&
&
S259
S493
S696
S895
&
&
&
&
S265
S514
S726
S958
&
&
&
&
Die entstehende Formel ist erfüllbar und limboole gibt (trotz der
Größe der Formel) ohne erkennbare Zeitverzögerung die Lösung
aus.
j1 ,j2 ∈{1,...,9}, j1 6=j2 k∈{1,...,9}
Barbara König
&
&
&
&
&
129
Barbara König
Logik
130
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Motivation: Prädikatenlogik
Syntax der Prädikatenlogik: Variablen, Terme
Wir beschäftigen uns nun im folgenden mit der Prädikatenlogik,
die gegenüber der Aussagenlogik folgendes erlaubt:
Definition (Syntax der Prädikatenlogik)
Eine Variable hat die Form xi mit i = 1, 2, 3 . . ..
Man kann über ein beliebiges Universum (= Grundmenge)
und dessen Elemente Aussagen machen.
Ein Prädikatensymbol hat die Form Pik und ein
Funktionssymbol hat die Form fi k mit i = 1, 2, 3 . . . und
k = 0, 1, 2 . . .. Hierbei heißt i jeweils der
Unterscheidungsindex und k die Stelligkeit (oder Stellenzahl).
Man kann quantifizieren: “für alle x gilt . . . ”; “es gibt ein x,
so dass . . . ”
Es gibt mehrstellige Prädikatsymbole (interpretiert als
Relationen) und mehrstellige Funktionssymbole (interpretiert
als Funktionen).
Wir definieren nun die Terme durch einen induktiven Prozess:
1 Jede Variable ist ein Term.
2 Falls f ein Funktionssymbol mit der Stelligkeit k ist, und
falls t1 , . . . , tk Terme sind, so ist auch f (t1 , . . . , tk ) ein
Term.
Der Aufbau dieses Kapitels ist ähnlich wie bei der Aussagenlogik:
wir beginnen mit Grundbegriffen (Syntax, Semantik, Gültigkeit,
Erfüllbarkeit), Äquivalenz und Normalformen, und beschäftigen uns
dann mit der Resolution.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
131
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Syntax der Prädikatenlogik: Variablen, Terme
132
Weitere Bemerkungen:
Es sind auch Funktionssymbole der Stelligkeit 0
eingeschlossen, und in diesem Fall fallen die Klammern weg,
d.h., statt c() schreiben wir nur c.
Nullstellige Funktionssymbole heißen auch
Konstanten(-symbole).
Für Variablen schreiben wir auch x, y , z, u, v , w , . . .
Für Prädikatsymbole schreiben wir auch P, Q, R, S, . . . (die
Stelligkeit ergibt sich dann aus dem Kontext).
Für Funktionssymbole schreiben wir auch f , g , h, . . . (die
Stelligkeit ergibt sich dann ebenfalls aus dem Kontext).
Genauso gibt es nullstellige Prädikatsymbole der Form P()
bzw. einfach nur P.
Logik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Syntax der Prädikatenlogik: Variablen, Terme
Bemerkungen zur Syntax der Prädikatenlogik:
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Für Konstanten(-symbole) schreiben wir auch a, b, c, d, . . .
133
Barbara König
Logik
134
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Syntax der Prädikatenlogik: Formeln
Syntax der Prädikatenlogik: Formeln
Nun können wir (wiederum induktiv) definieren, was Formeln (der
Prädikatenlogik) sind.
1
Falls P ein Prädikatsymbol der Stelligkeit k ist, und falls
t1 , . . . , tk Terme sind, dann ist P(t1 , . . . , tk ) eine Formel.
2
Für jede Formel F ist auch ¬F eine Formel.
3
4
Bemerkungen:
Atomare Formeln nennen wir genau diejenigen, die die Form
P(t1 , . . . , tn ) haben (gemäß (1)). Falls F eine Formel ist und
F als Teil einer Formel G auftritt, so heißt F Teilformel von G .
Quantoren binden stärker als alle anderen Operatoren, d.h.,
Formeln werden folgendermaßen geklammert:
Für alle Formeln F und G sind auch (F ∧ G ) und (F ∨ G )
Formeln.
∀xP(x) ∧ Q(y ) entspricht (∀xP(x)) ∧ Q(y )
Falls x eine Variable ist und F eine Formel, so sind auch ∃xF
und ∀xF Formeln. Das Symbol ∃ wird Existenzquantor und ∀
Allquantor genannt.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
P(x) ∨ ∃yQ(y ) ∨ R(z) entspricht P(x) ∨ (∃yQ(y )) ∨ R(z)
135
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Freie und gebundene Variablen
Logik
136
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Freie und gebundene Variablen
Beispiele für freie und gebundene Variable:
∀xP(x): in dieser Formel kommt x gebunden vor.
∀xQ(x, y ): in dieser Formel kommt x gebunden und y frei vor.
(∀xP(x)) ∧ R(x): in dieser Formel hat x sowohl ein
gebundenes als auch ein freies Vorkommen.
∀x((∀xP(x)) ∧ R(x)): in dieser Formel ist das erste
Vorkommen von x unter dem inneren und das zweite
Vorkommen unter dem äußeren Quantor gebunden.
Definition (Freie und gebundene Variable)
Alle Vorkommen von Variablen in einer Formel werden in freie und
gebundene Vorkommen unterteilt. Dabei heißt ein Vorkommen der
Variablen x in der Formel F gebunden, falls F eine Formel der
Form ∃xG oder ∀xG enthält und x in G vorkommt. Andernfalls
heißt dieses Vorkommen von x frei.
Eine Formel ohne Vorkommen einer freien Variablen heißt
geschlossen oder eine Aussage.
Barbara König
Logik
Definition (Matrix)
Die Matrix einer Formel F ist diejenige Formel, die man aus F
erhält, indem jedes Vorkommen von ∃ bzw. ∀, samt der
dahinterstehenden Variablen gestrichen wird. Symbolisch
bezeichnen wir die Matrix der Formel F mit F ∗ .
137
Barbara König
Logik
138
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aufgabe zur Prädikatenlogik
NF: Keine Formel
Aufgabe zur Prädikatenlogik
F: Formel, aber nicht Aussage
A: Aussage
NF: Keine Formel
NF
F
Aussagenlogik
Prädikatenlogik
F: Formel, aber nicht Aussage
A: Aussage
A
NF
∀∃P(x)
∀xP(a)
∀x∃y (Q(x, y ) ∨ R(x, y ))
∀xQ(x, x) → ∃xQ(x, y )
∀xP(x) ∨ ∀xQ(x, x)
∀P(x)
P(x) → ∃x
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
F
A
∀x¬∀yQ(x, y ) ∧ R(x, y )
∃z(Q(z, x) ∨ R(y , z)) → ∃y (R(x, y ) ∧ Q(x, z))
∃x(¬P(x) ∨ P(a))
P(x) → ∃xP(x)
∃x∀y ((P(y ) → Q(x, y )) ∨ ¬P(x))
139
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
Logik
140
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Semantik der Prädikatenlogik: Strukturen
Bemerkungen zu Strukturen:
Definition (Struktur)
Eine Struktur ist das analoge Konzept zu Belegungen in der
Aussagenlogik.
Die den Funktionssymbolen zugeordneten Funktionen können
folgendermaßen dargestellt werden: sei f ein n-stelliges
Funktionssymbol, dann schreiben wir f A = IA (f ) mit
Eine Struktur ist ein Paar A = (UA , IA ) wobei UA eine beliebige
aber nicht-leere Menge ist, die die Grundmenge von A (oder der
Grundbereich, der Individuenbereich, das Universum) genannt wird.
Ferner ist IA eine Abbildung, die
n
→ UA
f A : UA
jedem k-stelligen Prädikatensymbol P (im Definitionsbereich
von IA ) eine k-stellige Relation über UA zuordnet,
(a1 , . . . , an ) 7→ f A (a1 , . . . , an ),
jedem k-stelligen Funktionssymbol f (im Definitionsbereich
von IA ) eine k-stellige Funktion auf UA zuordnet,
beispielsweise die einstellige Nachfolgerfunktion auf den
natürlichen Zahlen (UA = N0 = {0, 1, 2, 3, 4, . . . }):
jeder Variablen x (im Definitionsbereich von IA ) ein Element
der Grundmenge UA zuordnet.
Barbara König
Logik
f A : N0 → N0
n 7→ n + 1
141
Barbara König
Logik
142
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
Semantik der Prädikatenlogik: Strukturen
Definition (Passende Struktur)
Die den Prädikatsymbolen zugeordneten Relationen können
folgendermaßen dargestellt werden: sei P ein n-stelliges
Prädikatsymbol, dann schreiben wir P A = IA (P) mit
Sei F eine Formel und A = (UA , IA ) eine Struktur. A heißt zu F
passend, falls IA für alle in F vorkommenden Prädikatsymbole,
Funktionssymbole und freien Variablen definiert ist.
n
P A ⊆ UA
= UA × · · · × UA
{z
}
|
n-mal
P
A
= {(a1 , . . . , an ) | a1 , . . . , an ∈ UA und . . . }
beispielsweise die zweistellige ≤-Relation auf den natürlichen
Zahlen:
P A ⊆ N0 × N0
P A = {(n, m) | n, m ∈ N0 und n ≤ m}
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
143
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
144
Definition (Wahrheitswert einer Formel)
Falls F die Form F = P(t1 , . . . , tk ) hat mit den Termen
t1 , . . . , tk und k-stelligem Prädikatsymbol P, so ist
1, falls (A(t1 ), . . . , A(tk )) ∈ P A
A(F ) =
0, sonst
Falls t eine Variable ist (also t = x), so ist A(t) = x A .
Falls t die Form t = f (t1 , . . . , tk ) hat, wobei t1 , . . . , tk Terme
und f ein k-stelliges Funktionssymbol ist, so ist
A(t) = f A (A(t1 ), . . . , A(tk )).
Falls F die Form F = ¬G hat, so ist
1, falls A(G ) = 0
A(F ) =
0, sonst
Fall (2) schließt auch die Möglichkeit ein, dass f nullstellig ist,
d.h., t = a für eine Konstante a. In diesem Fall gilt A(t) = aA .
Logik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert
der Formeln F unter der Struktur A, wobei wir ebenfalls die
Bezeichnung A(F ) verwenden. Es gilt A(F ) ∈ {0, 1}.
Sei F eine Formel und A eine zu F passende Struktur. Für jeden
Term t, den man aus den Bestandteilen von F bilden kann (also
aus den freien Variablen und Funktionssymbolen), definieren wir
nun den Wert von t in der Struktur A, den wir mit A(t)
bezeichnen. Es gilt A(t) ∈ UA . Die Definition ist wieder induktiv.
Barbara König
Barbara König
Semantik der Prädikatenlogik: Strukturen
Definition (Wert eines Terms)
2
Der Definitionsbereich von IA ist also eine Teilmenge von
{Pik , fi k , xi | i = 1, 2, 3, . . . und k = 0, 1, 2, . . .} (in der alle
Prädikatsymbole, Funktionssymbole und freien Variablen von
F enthalten sind) und
der Wertebereich (bzw. Bildbereich) von IA ist eine Teilmenge
aller Relationen und Funktionen auf UA , sowie der Elemente
von UA .
Wir schreiben abkürzend statt IA (P) einfach P A , statt IA (f )
einfach f A und statt IA (x) einfach x A .
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
1
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
145
Barbara König
Logik
146
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
Semantik der Prädikatenlogik: Strukturen
Falls F die Form F = ∀xG hat, so ist
1, falls für alle d ∈ UA gilt: A[x/d] (G ) = 1
A(F ) =
0, sonst
Falls F die Form F = (G ∧ H) hat, so ist
1, falls A(G ) = 1 und A(H) = 1
A(F ) =
0, sonst
Falls F die Form F = ∃xG hat, so ist
1, falls es ein d ∈ UA gibt mit: A[x/d] (G ) = 1
A(F ) =
0, sonst
Falls F die Form F = (G ∨ H) hat, so ist
1, falls A(G ) = 1 oder A(H) = 1
A(F ) =
0, sonst
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Für d ∈ UA steht A[x/d] für diejenige Struktur A0 , die überall mit
0
A identisch ist, bis auf die Definition von x A . Wir definieren
0
x A = d, unabhängig davon, ob IA auf x definiert ist oder nicht.
147
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Modell, Gültigkeit, Erfüllbarkeit
Logik
148
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe zu Erfüllbarkeit und Gültigkeit
Definition (Modell)
Falls für eine Formel F und eine zu F passende Struktur A gilt
A(F ) = 1, so schreiben wir wieder A |= F . Sprechweise: F gilt in
A oder A ist Modell für F .
Folgende Formeln sind erfüllbar, aber nicht gültig. Finden Sie
jeweils eine Struktur, die ein Modell für die Formel ist, und eine
Struktur, die kein Modell für die Formel ist.
Gültigkeit, Erfüllbarkeit, Unerfüllbarkeit
Falls jede zu F passende Struktur ein Modell für F ist, so schreiben
wir |= F , andernfalls 6|= F . Sprechweise: F ist (allgemein-)gültig.
1
2
F = ∀xP(x)
G = ∀x∃yQ(x, f (y ))
Falls es mindestens ein Modell für die Formel F gibt, so heißt F
erfüllbar, andernfalls unerfüllbar.
Barbara König
Logik
149
Barbara König
Logik
150
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aufgabe zu Erfüllbarkeit und Gültigkeit
Aufgabe zu Erfüllbarkeit und Gültigkeit
Modell A für G = ∀x∃yQ(x, f (y ))
Modell A für F = ∀xP(x):
Universum UA = N0
Q A = {(n, m) | n, m ∈ N0 , n < m}
Universum UA = N0
P A = N0
(das ist die einzige mögliche Interpretation von P, die zu
einem Modell führt)
f A : N0 → N0 mit f A (n) = n + 1
Struktur, die kein Modell für G = ∀x∃yQ(x, f (y )) ist:
Universum UB = N0
Struktur, die kein Modell für F = ∀xP(x) ist:
Q B = {(n, m) | n, m ∈ N0 , n < m}
Universum UB = N0
PB
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
f B : N0 → N0 mit f B (n) = 1
= {n | n ∈ N0 , n gerade}
Bemerkung: diese Strukturen sind natürlich keineswegs die einzigen
Beispiele für Modelle bzw. Nicht-Modelle von F , G .
Barbara König
Aussagenlogik
Prädikatenlogik
151
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aufgabe zu Erfüllbarkeit und Gültigkeit
G: Gültig
E: Erfüllbar
E
Logik
152
Bei Prädikatenlogik mit Gleichheit sind Formeln genauso
aufgebaut, wie bei herkömmlicher Prädikatenlogik, mit dem
Unterschied, dass es ein spezielles Prädikat = gibt, das in
Infix-Notation verwendet wird. Das heißt, zur Definition der Syntax
wird folgender Satz hinzugefügt:
U
∀xP(a)
∃x(¬P(x) ∨ P(a))
P(a) → ∃xP(x)
∀xP(x) → ∃xP(x)
∀xP(x) ∧ ¬∀yP(y )
∀xP(x) → ∀xP(f (x))
Barbara König
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prädikatenlogik mit Gleichheit
U: Unerfüllbar
G
Barbara König
Falls t1 , t2 Terme sind, dann ist (t1 = t2 ) eine Formel.
Außerdem steht (t1 6= t2 ) für ¬(t1 = t2 ).
Und die Definition des Wahrheitswert einer Formel wird
folgendermaßen ergänzt:
Falls F die Form F = (t1 = t2 ) hat mit den Termen t1 , t2 , so
ist
1, falls A(t1 ) = A(t2 )
A(F ) =
0, sonst
153
Barbara König
Logik
154
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aufgabe zu Erfüllbarkeit und Gültigkeit
G: Gültig
E: Erfüllbar
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Tarski’s World
Tarski’s World
Tarski’s World ist eine Lehrsoftware für Prädikatenlogik,
entworfen von Jon Barwise und John Etchemendy.
U: Unerfüllbar
G
E
Dabei werden die Formeln auf einem Schachbrett evaluiert,
auf dem sich Tetraeder, Würfel und Dodekaeder in drei
Größen (small, medium, large) befinden können.
U
∃x∃y ∃z(x 6= y ∧ y 6= z ∧ x 6= z)
∀x∀y (x = y → f (x) = f (y ))
∀x∀y (f (x) = f (y ) → x = y )
∃x∃y ∃z(f (x) = y ∧ f (x) = z ∧ y 6= z)
Gegenüber der allgemeinen Prädikatenlogik gibt es sowohl
Einschränkungen an die Syntax von Formeln als auch an die
zulässigen Strukturen.
Ob eine Formel für eine bestimmte Welt gilt (oder nicht),
kann in einem Spiel gegen den Rechner intuitiv
veranschaulicht werden.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
155
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Tarski’s World – Screenshot
Logik
156
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Tarski’s World
Einschränkungen an die Syntax – zulässige Konstanten und
Prädikatsymbole:
Zulässige Konstanten: a, b, c, d, e, f
Zulässige Prädikatsymbole (Auswahl):
Einstellig:
Tet, Cube, Dodec, Small, Medium, Large
Zweistellig:
Smaller , Larger , BackOf , FrontOf , LeftOf , RightOf
Dreistellig: Between
Neben den Konstanten kommen in den Formeln bei Tarski’s World
keine weiteren Funktionssymbole vor.
Variablen, aussagenlogische Operatoren und Quantoren können
beliebig benutzt werden. Außerdem ist das Prädikat Gleichheit (=)
erlaubt.
Barbara König
Logik
157
Barbara König
Logik
158
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Tarski’s World
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Tarski’s World
Einschränkungen an die Semantik – zulässige Strukturen:
Universen bestehen immer aus Mengen von Körpern auf dem
Schachbrett.
Die Interpretation der Prädikatsymbole ist durch die Größe
und Art der Körper und durch ihre Positionierung auf dem
Schachbrett festgelegt.
Daraus folgt: Nicht jede Formel, die in jeder Tarski’s World gilt, ist
eine im prädikatenlogischen Sinne gültige Formel.
Beispiel: ∀x(Small(x) ∨ Medium(x) ∨ Large(x))
Beispielsweise gilt:
Tet(a) bedeutet, dass a ein Tetraeder ist.
Smaller (a, b) bedeutet, dass a kleiner als b ist.
LeftOf (c, d) sagt aus, dass sich c links von d befindet.
Between(a, b, c) sagt aus, dass sich a zwischen b und c
befindet.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
159
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Folgerung und Äquivalenz
160
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe zu Folgerung und Äquivalenz
Definition (Folgerung)
Eine Formel G heißt eine Folgerung der Formeln F1 , . . . , Fk falls
für jede Struktur, die sowohl zu F1 , . . . , Fk als auch zu G passend
ist, gilt:
1
2
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
3
Logik
F3 = ∀xP(x) ∨ ∀yQ(y )
N
F1 |= F2
F2 |= F3
F3 |= F1
Definition (Äquivalenz)
Barbara König
F2 = ∀x(P(x) ∨ Q(x))
J
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
Zwei Formeln F , G heißen (semantisch) äquivalent, falls für alle
Strukturen A, die sowohl für F als auch für G passend sind, gilt
A(F ) = A(G ). Hierfür schreiben wir F ≡ G .
F1 = ∀xP(x) ∨ ∀xQ(x)
161
Barbara König
Logik
162
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aufgabe zu Folgerung und Äquivalenz
1
2
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe zu Folgerung und Äquivalenz
J
F1 = ∃y ∀xP(x, y )
∀x∀yF ≡ ∀y ∀xF
∀x∃yF ≡ ∃x∀yF
∀x∃yF ≡ ∃y ∀xF
∃x∃yF ≡ ∃y ∃xF
∀xF ∨ ∀xG ≡ ∀x(F
∀xF ∧ ∀xG ≡ ∀x(F
∃xF ∨ ∃xG ≡ ∃x(F
∃xF ∧ ∃xG ≡ ∃x(F
F2 = ∀x∃yP(x, y )
J
N
F1 |= F2
F2 |= F1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
163
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Äquivalenzen
N
∨ G)
∧ G)
∨ G)
∧ G)
Logik
164
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Äquivalenzen
Satz (Äquivalenz von prädikatenlogischen Formeln)
Seien F und G beliebige Formeln. Dann gilt:
1
2
3
4
¬∀xF ≡ ∃x¬F
¬∃xF ≡ ∀x¬F
Bemerkung: alle Äquivalenzgesetze der Aussagenlogik behalten
weiterhin ihre Gültigkeit.
Falls x in G nicht frei vorkommt, gilt:
∀xF ∧ G ≡ ∀x(F ∧ G )
∀xF ∨ G ≡ ∀x(F ∨ G )
∃xF ∧ G ≡ ∃x(F ∧ G )
∃xF ∨ G ≡ ∃x(F ∨ G )
Beispiel:
∀x¬(P(x) ∧ ¬P(x)) ≡ ∀x(¬P(x) ∨ P(x))
(nach deMorgan)
∀xF ∧ ∀xG ≡ ∀x(F ∧ G )
∃xF ∨ ∃xG ≡ ∃x(F ∨ G )
∀x∀yF ≡ ∀y ∀xF
∃x∃yF ≡ ∃y ∃xF
Barbara König
Logik
165
Barbara König
Logik
166
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Substitution
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Substitution
Unterscheidung zwischen F [x/t] und A[x/d] :
Definition (Substitution)
Sei F eine Formel, x eine Variable und t ein Term. Dann
bezeichnet F [x/t] diejenige Formel, die man aus F erhält, wenn
man jedes freie Vorkommen der Variablen x in F durch t ersetzt.
Durch [x/t] wird eine Substitution beschrieben.
Bei F [x/t] wird eine syntaktische Ersetzung innerhalb der
Formel F vorgenommen.
Bei A[x/d] wird eine Struktur verändert, d.h., diese Ersetzung
bezieht sich auf die Semantik.
Der Zusammenhang zwischen beiden Notationen ist wie folgt:
Dabei geht man davon aus, dass durch die Substitution keine
Variable in t gebunden wird.
Überführungslemma
Für jede Formel F , jede Variable x und jeden Term t, der keine in
F gebundene Variable enthält, gilt:
Beispiele für Substitutionen:
P(x) ∨ Q(f (x)) ∨ R(y ) [x/g (y )] =
P(g (y )) ∨ Q(f (g (y ))) ∨ R(y )
∀xP(x) ∨ Q(x) [x/g (y )] = ∀xP(x) ∨ Q(g (y ))
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
A(F [x/t]) = A[x/A(t)] (F ).
167
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Bereinigte Formeln
Logik
168
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Pränexform
Definition (Bereinigte Formel)
Definition (Pränexform)
Eine Formel heißt bereinigt, sofern es keine Variable gibt, die in der
Formel sowohl gebunden als auch frei vorkommt, und sofern hinter
allen vorkommenden Quantoren verschiedene Variablen stehen.
Eine Formel heißt pränex oder in Pränexform, falls sie folgende
Bauart hat
Q1 y1 Q2 y2 . . . Qn yn F ,
Lemma (Gebundene Umbenennung)
wobei Qi ∈ {∃, ∀}, n ≥ 0, und die yi (paarweise verschiedene)
Variablen sind. Es kommt ferner kein Quantor in F vor.
Sei y eine Variable, die in F nicht vorkommt. Dann gilt:
∃xF ≡ ∃y (F [x/y ])
∀xF
≡ ∀y (F [x/y ])
Satz
Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in
Pränexform.
Lemma
Zu jeder Formel F gibt es eine äquivalente Formel in bereinigter
Form.
Barbara König
Logik
169
Barbara König
Logik
170
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Pränexform
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Pränexform
Verfahren zur Bestimmung der Pränexform:
Gegeben: eine prädikatenlogische Formel F .
1
2
3
Erstelle durch gebundene Umbenennung eine bereinigte
Formel, die zu F äquivalent ist.
Schieben alle Negationen mit Hilfe der Gesetze ¬∀xF ≡ ∃x¬F
und ¬∃xF ≡ ∀x¬F hinter die Quantoren.
Ziehe alle Quantoren nach vorne unter Verwendung folgender
Gesetze (Annahme: x kommt nicht frei in G vor):
(∀xF ∧ G ) ≡ ∀x(F ∧ G )
Beispiel: Formen Sie die folgende Formel in Pränexform um.
F = (∀x∃y P(x, g (y , f (x))) ∨ ¬Q(z)) ∨ ¬∀x R(x, y )
(∀xF ∨ G ) ≡ ∀x(F ∨ G )
(∃xF ∧ G ) ≡ ∃x(F ∧ G )
(∃xF ∨ G ) ≡ ∃x(F ∨ G )
(Für diese Umformung ist es unbedingt notwendig, dass F
zuvor bereinigt wurde.)
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
171
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Skolemform
Logik
172
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Skolemform
Für jede Formel F in bereinigter Pränexform (BPF) definieren wir
ihre Skolemform(-el) als das Resultat der Anwendung des
folgenden Algorithmus auf F :
Wir definieren nun noch die Skolemform, in der keine
Existenzquantoren mehr enthalten sind.
while F enthält einen Existenzquantor do
begin
F habe die Form F = ∀y1 ∀y2 . . . ∀yn ∃z G für eine
Formel G in BPF und n ≥ 0 (der Allquantorblock kann
auch leer sein);
Sei f ein neues bisher in F nicht vorkommendes
n-stelliges Funktionssymbol;
F := ∀y1 ∀y2 . . . ∀yn G [z/f (y1 , y2 , . . . , yn )];
(der Existenzquantor in F wird entfernt und jedes
Vorkommen von z in G durch f (y1 , y2 , . . . , yn ) ersetzt)
end
Definition (Skolemform)
Eine Formel ist in Skolemform, falls sie folgende Bauart hat
∀y1 ∀y2 . . . ∀yn F ,
wobei n ≥ 0, und die yi (paarweise verschiedene) Variablen sind.
Es kommt ferner kein Quantor in F vor.
Barbara König
Logik
173
Barbara König
Logik
174
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Skolemform
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Skolemform
Satz
Für jede Formel F in bereinigter Pränexform gilt: F ist erfüllbar
genau dann, wenn die Skolemform von F erfüllbar ist.
Beispiel 1: Formen Sie folgende Formel in Skolemform um.
F = ∃x∀y ∃z∀u∃vP(x, y , z, u, v )
Bemerkung: die Umformung in die Skolemform erhält nur die
Erfüllbarkeit von Formeln, nicht jedoch deren Gültigkeit! Man sagt
daher, dass die Formel F und ihre Skolemform
erfüllbarkeitsäquivalent sind. Sie sind im allgemeinen jedoch nicht
äquivalent.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
175
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Skolemform
Logik
176
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Klauselform
Definition (Klauselform)
Eine Aussage heißt in Klauselform, falls sie die Bauart hat
Beispiel 2: Gegeben sei die Formel
∀y1 ∀y2 . . . ∀yn F ,
F = ∀x∃y P(x, y )
wobei F keine Quantoren enthält und in KNF (konjunktiver
Normalform) ist.
Bestimmen Sie zunächst die Skolemform F 0 von F .
Eine Aussage in Klauselform kann als Menge von Klauseln
dargestellt werden.
Geben Sie ein Modell von F an und erweitern Sie es zu einem
Modell von F 0 .
Beispiel: ∀x∀y ((P(x, y ) ∨ Q(x)) ∧ R(y )) ist in Klauselform und
wird dargestellt als:
{{P(x, y ), Q(x)}, {R(y )}}
Barbara König
Logik
177
Barbara König
Logik
178
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Klauselform
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Klauselform
Verfahren zur Bestimmung der Klauselform:
Gegeben: eine prädikatenlogische Formel F (mit eventuellen
Vorkommen von freien Variablen).
1
Bereinige F durch systematisches Umbenennen der
gebundenen Variablen. Es entsteht eine zu F äquivalente
Formel F1 .
2
Seien y1 , y2 , . . . , yn die in F bzw. F1 vorkommenden freien
Variablen. Ersetze F1 durch F2 = ∃y1 ∃y2 . . . ∃yn F1 . Dann ist
F2 erfüllbarkeitsäquivalent zu F1 und F und enthält keine
freien Variablen mehr.
3
Stelle eine zu F2 äquivalente (und damit zu F
erfüllbarkeitsäquivalente) Aussage F3 in Pränexform her.
Barbara König
Aussagenlogik
Prädikatenlogik
4
Eliminiere die vorkommenden Existenzquantoren durch
Übergang zur Skolemform von F3 . Diese sei F4 und ist dann
erfüllbarkeitsäquivalent zu F3 und damit auch zu F .
5
Forme die Matrix von F4 um in KNF, wodurch man die
Klauselform erhält (und schreibe diese Formel F5 dann als
Klauselmenge auf).
179
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Klauselform
Logik
180
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Klauselform
Welche dieser Formel sind bereinigt, in Pränexform, in Skolemform,
in Klauselform?
Beispiel: Formen Sie die folgenden Formeln in Klauselform um:
B
P
S
K
F1 = ∀xP(x) → ∀xP(f (x))
∀x(Tet(x) ∨ Cube(x) ∨ Dodec(x))
∃x∃y (Cube(y ) ∨ BackOf(x, y ))
∀x(¬FrontOf(x, x) ∧ ¬BackOf(x, x))
¬∃xCube(x) ↔ ∀x¬Cube(x)
∀x(Cube(x) → Small(x)) → ∀y (¬Cube(y ) → ¬Small(y ))
(Cube(a) ∧ ∀xSmall(x)) → Small(a)
∃x(Larger(a, x) ∧ Larger(x, b)) → Larger(a, b)
Barbara König
Logik
F2 = (∀x∃y P(x, g (y , f (x))) ∨ ∀z¬Q(z)) ∧ ¬∀x R(x, x)
181
Barbara König
Logik
182
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Universum
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Universum
Definition (Herbrand-Universum)
Motivation: Um die Erfüllbarkeit/Unerfüllbarkeit einer
prädikatenlogischen Formel zu testen, müsste man ungeheuer viele
Strukturen durchprobieren.
Das Herbrand-Universum D(F ) einer geschlossenen Formel F in
Skolemform ist die Menge aller variablenfreie Terme, die aus den
Bestandteilen von F gebildet werden können. Falls in F keine
Konstante vorkommt, wählen wir zunächst eine beliebige
Konstante, zum Beispiel a, und bilden dann die variablenfreien
Terme.
Wir zeigen im folgenden, dass es reicht nur ganz bestimmte
Strukturen, sogenannte Herbrand-Strukturen—benannt nach dem
Logiker Jacques Herbrand—zu testen.
Diese können immer noch ein unendlich großes Universum haben
und unendlich viele sein, sind aber dennoch wesentlich
überschaubarer.
D(F ) wird wie folgt induktiv definiert:
Darauf aufbauend kann dann ein automatisches Verfahren
entwickelt werden, das mit Hilfe von Resolution die Unerfüllbarkeit
einer prädikatenlogischen Formel überprüft.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
1
Alle in F vorkommenden Konstanten sind in D(F ). Falls F
keine Konstante enthält, so ist a in D(F ).
2
Für jedes in F vorkommende n-stellige Funktionssymbol f und
Terme t1 , . . . , tn in D(F ) ist der Term f (t1 , . . . , tn ) in D(F ).
183
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Universum
Logik
184
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Strukturen
Definition (Herbrand-Struktur)
Sei F eine Aussage in Skolemform. Dann heißt jede zu F passende
Struktur A = (UA , IA ) eine Herbrand-Struktur für F , falls
folgendes gilt:
Beispiel: Bestimmen Sie die Herbrand-Universen zu folgenden
Formeln
F1 = ∀x P(f (x), g (a))
1
F2 = ∀x∀y Q(h(x, y ))
2
F3 = ∀x P(x)
UA = D(F ),
für jedes in F vorkommende n-stellige Funktionssymbol f und
t1 , t2 , . . . , tn ∈ D(F ) ist f A (t1 , t2 , . . . , tn ) = f (t1 , t2 , . . . , tn ).
Idee: Jeder variablenfreie Term t wird “durch sich selbst”
interpretiert, d.h., A(t) = t. (Vermischung von Syntax und
Semantik.)
Barbara König
Logik
185
Barbara König
Logik
186
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Strukturen
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Der fundamentale Satz der Prädikatenlogik
Für eine Herbrand-Struktur A vereinfacht sich das
Überführungslemma:
Satz
Sei F eine Aussage in Skolemform. F ist genau dann erfüllbar,
wenn F ein Herbrand-Modell besitzt.
Lemma (Überführungslemma für Herbrand-Strukturen)
Sei A eine Herbrand-Struktur. Dann gilt für jede Formel F , jede
Variable x und jeden variablenfreien Term t:
A(F [x/t]) = A[x/t] (F ).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
187
Aussagenlogik
Prädikatenlogik
Der fundamentale Satz der Prädikatenlogik
188
Definition (Herbrand-Expansion)
Sei F = ∀y1 ∀y2 . . . ∀yn F ∗ eine Aussage in Skolemform. Dann ist
E (F ), die Herbrand-Expansion von F , definiert als
F = ∀x P(x, f (x))
Aufgaben:
E (F ) = {F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ] | t1 , t2 , . . . , tn ∈ D(F )}
Bestimmen Sie ein beliebiges Modell A von F .
Die Formeln in E (F ) entstehen also, indem die Terme in D(F ) in
jeder möglichen Weise für die Variablen in F ∗ substituiert werden.
Anschließend definieren Sie ein Herbrand-Modell B von F ,
dessen Relation P B analog zu P A definiert ist. (So wie im
Beweis zum vorherigen Satz beschrieben.)
Logik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Expansion
Beispiel zum vorherigen Satz: Gegeben sei die Formel
Barbara König
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Bemerkung: Da das Herbrand-Universum D(F ) abzählbar ist, ist
auch die Menge E (F ) abzählbar.
189
Barbara König
Logik
190
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Expansion
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Herbrand-Expansion
Wiederholung: Abzählbarkeit
Definition (Abzählbarkeit)
Eine Menge M heißt abzählbar, wenn es eine surjektive Abbildung
f : N0 → M gibt. Das heißt es gibt eine (nicht notwendigerweise
konstruktive) Aufzählung f (0), f (1), f (2), . . . aller Elemente von
M, in der jedes Element von M mindestens einmal vorkommt.
Beispiel: Bestimme die Herbrand-Expansion der Formel
∀x∀y ∀z P(x, f (y ), g (z, x)).
Bemerkungen:
Beispiele für abzählbare Mengen sind N0 , Q (die Menge der
rationalen Zahlen bzw. Brüche) und die Menge aller Terme,
die aus einer endlichen Menge von Funktionssymbolen
gebildet werden. (Daher: ein Herbrand-Universum D(F ) ist
immer abzählbar.)
Die Menge R der reellen Zahlen ist nicht abzählbar.
Barbara König
Aussagenlogik
Prädikatenlogik
191
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Herbrand-Expansion
Logik
192
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Satz von Gödel-Herbrand-Skolem
Idee: Behandle die Formeln in der Herbrand-Expansion wie
aussagenlogische Formeln. D.h., betrachte jedes auftauchende
Prädikat P(t1 , . . . , tn ) wie eine atomare Formel A.
Satz (Gödel-Herbrand-Skolem)
Beispiel:
Für jede Aussage F in Skolemform gilt: F ist erfüllbar genau dann,
wenn die Formelmenge E (F ) (im aussagenlogischen Sinn) erfüllbar
ist.
E (F ) = {F1 , F2 , . . . }.
Sei beispielsweise
F1 = (P(f (a), f (b)) ∨ Q(g (a, b)) ∨ P(a, b)) ∧ P(f (a), f (b)) .
{z
} | {z } | {z }
|
{z
}
|
A
Barbara König
B
C
Beweis: Es genügt zu zeigen, dass F ein Herbrand-Modell besitzt
genau dann, wenn E (F ) erfüllbar ist.
Die Formel F habe die Form ∀y1 ∀y2 . . . ∀yn F ∗ . Es gilt:
A
Dies entspricht (A ∨ B ∨ C ) ∧ A.
Eine Formel in der Herbrand-Expansion ist erfüllbar, genau dann,
wenn sie im aussagenlogischen Sinne erfüllbar ist.
Barbara König
Logik
193
Barbara König
Logik
194
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Satz von Gödel-Herbrand-Skolem
Satz von Herbrand
A ist ein Herbrand-Modell für F
gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt:
Satz (Herbrand)
A[y1 /t1 ][y2 /t2 ]...[yn /tn ] (F ∗ ) = 1
Eine Aussage F in Skolemform ist unerfüllbar genau dann, wenn es
eine endliche Teilmenge von E (F ) gibt, die (im aussagenlogischen
Sinn) unerfüllbar ist.
gdw. für alle t1 , t2 , . . . , tn ∈ D(F ) gilt:
A(F ∗ [y1 /t1 ][y2 /t2 ] . . . [yn /tn ]) = 1
Beweis: Ummittelbare Folge des Satzes von
Gödel-Herbrand-Skolem und des Endlichkeitssatzes.
gdw. für alle G ∈ E (F ) gilt A(G ) = 1
gdw. A ist ein Modell für E (F )
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
195
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Endlichkeitssatz
Logik
196
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Algorithmus von Gilmore
Bemerkungen zum Algorithmus von Gilmore:
Sei F eine prädikatenlogische Aussage in Skolemform und sei
{F1 , F2 , F3 , . . . } eine Aufzählung von E (F ).
Man wählt eine beliebige unendliche Aufzählung F1 , F2 , F3 , . . .
aller Formeln in E (F ).
Dabei muss nur darauf geachtet werden, dass jede Formel
irgendwann in dieser Aufzählung vorkommt. Das ist möglich,
da E (F ) abzählbar ist.
Algorithmus von Gilmore
Eingabe: F
n := 0;
repeat
n := n + 1;
until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar;
Gib “unerfüllbar” aus und stoppe.
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Es dürfen Formeln mehrfach vorkommen. Das ist insbesondere
immer dann so, wenn E (F ) endlich ist.
Wenn alle Formeln in einer endlichen Menge E (F )
abgearbeitet sind, dann kann der Algorithmus auch stoppen
und “erfüllbar” ausgeben.
197
Barbara König
Logik
198
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Algorithmus von Gilmore
Aus dem Satz von Herbrand folgt:
Falls die Formel F unerfüllbar ist, so stoppt der Algorithmus
von Gilmore nach endlicher Zeit und gibt unerfüllbar aus.
Beispiel: Zeigen Sie mit Hilfe des Algorithmus von Gilmore, dass
folgende Formeln
Falls der Algorithmus von Gilmore unerfüllbar ausgibt, so ist F
tatsächlich unerfüllbar.
F = ∀x∀y (¬P(f (f (x))) ∧ P(f (y )))
Wenn F jedoch erfüllbar ist, so gibt es keine Garantie dafür, dass
der Algorithmus jemals terminiert.
G = ∀x (P(f (x)) ∧ ¬P(x))
unerfüllbar sind.
Es kann auch gezeigt werden, dass es tatsächlich keinen
Algorithmus gibt, der das Unerfüllbarkeitsproblem der
Prädikatenlogik löst und immer mit der korrekten Antwort
(unerfüllbar bzw. erfüllbar) terminiert.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
199
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Logik
200
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Semi-Entscheidbarkeitssätze
Semi-Entscheidbarkeit (informell)
Sei M ⊆ X eine Menge (auch Sprache oder Problem genannt). Die
Menge M heißt semi-entscheidbar, wenn es einen Algorithmus A
gibt, der
Satz (Semi-Entscheidbarkeit)
Folgende Probleme sind semi-entscheidbar, jedoch nicht
entscheidbar:
ein Element x ∈ X als Eingabe nimmt und
genau dann, wenn x ∈ M gilt, terminiert und “x ist in M
enthalten” zurückgibt.
(a) Das Unerfüllbarkeitsproblem für prädikatenlogische Formeln.
(b) Das Gültigkeitsproblem für prädikatenlogische Formeln.
(c) Das Folgerungsproblem für prädikatenlogische Formeln.
Der Algorithmus A muss jedoch nicht terminieren, wenn x 6∈ M
gilt. Falls A auch in diesem Fall terminiert und “x ist nicht in M
enthalten” zurückgibt, so heißt M entscheidbar.
(d) Das Äquivalenzproblem für prädikatenlogische Formeln.
Bemerkung: die Begriffe Entscheidbarkeit und
Semi-Entscheidbarkeit werden detailliert in der Vorlesung
“Berechenbarkeit und Komplexität” besprochen.
Barbara König
Logik
201
Barbara König
Logik
202
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Semi-Entscheidbarkeitssätze
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Resolution in der Prädikatenlogik
Beweis:
(a) Das Problem ist nicht entscheidbar (ohne Beweis). Der
Algorithmus von Gilmore kann es jedoch “semi-entscheiden”.
Der Algorithmus von Gilmore funktioniert zwar, ist in der Praxis
aber unbrauchbar, weil er zuviele Formeln erzeugt und nicht
zielgerichtet arbeitet.
(b) F gültig gdw. ¬F unerfüllbar.
Daher ist unser Programm der nächsten Stunden:
(c) F |= G gdw. F → G gültig.
Wie sieht Resolution in der Prädikatenlogik aus?
(d) F ≡ G gdw. F ↔ G gültig.
Barbara König
Aussagenlogik
Prädikatenlogik
203
Logik
Aussagenlogik
Prädikatenlogik
Wiederholung: Resolution in der Aussagenlogik
204
Algorithmus von Gilmore:
Sei F eine prädikatenlogische Aussage in Skolemform und sei
{F1 , F2 , F3 , . . . , } eine Aufzählung von E (F ).
{L01 , . . . , L0m , ¬A}
{L1 , . . . , Ln , A}
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Anpassung des Algorithmus von Gilmore
Resolutionsschritt:
{L1 , . . . , Ln , L01 , . . . , L0m }
Eingabe: F
Mini-Beispiel:
{¬A, B}
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
{A}
n := 0;
repeat n := n + 1;
until (F1 ∧ F2 ∧ . . . ∧ Fn ) ist unerfüllbar;
(dies kann mit Mitteln der Aussagenlogik,
beispielsweise Wahrheitstafeln, getestet werden)
Gib “unerfüllbar” aus und stoppe.
{¬B}
{B}
Eine Klauselmenge ist unerfüllbar genau dann, wenn die leere
Klausel abgeleitet werden kann.
Barbara König
Logik
“Mittel der Aussagenlogik”
Unerfüllbarkeitstest
205
wir verwenden Resolution für den
Barbara König
Logik
206
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Definition von Res(M) (Wiederholung)
Grundresolutionsalgorithmus
Sei F1 , F2 , . . . weiterhin die Aufzählung der Herbrand-Expansion.
Definition
Sei M eine Klauselmenge. Dann ist Res(M) definiert als
Grundresolutionsalgorithmus
Eingabe: eine Aussage F in Skolemform
Res(M) = M ∪ {R | R ist Resolvent zweier Klauseln in M}.
i := 0;
M := ∅;
repeat
i := i + 1; M := M ∪ Fi ; M := Res∗ (M)
until ∈ M
Außerdem setzen wir:
Res 0 (M) = M
Res n+1 (M) = Res(Res n (M))
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
für n ≥ 0
Gib “unerfüllbar” aus und stoppe.
und schließlich sei
Res ∗ (M) =
[
Res n (M).
Warum der Name Grundresolution? Im Gegensatz zu späteren
Verfahren werden Terme ohne Variable (= Grundterme)
substituiert, um die Formeln der Herbrand-Expansion zu erhalten.
n≥0
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
207
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Grundresolutionssatz
Logik
208
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Grundresolutionsalgorithmus
Aus dem Grundresolutionsalgorithmus ergibt sich folgender Satz:
Grundresolutionssatz
Eine Aussage in Skolemform F = ∀y1 . . . ∀yk F ∗ mit der Matrix F ∗
in KNF ist unerfüllbar genau dann, wenn es eine Folge von
Klauseln K1 , . . . , Kn gibt mit der Eigenschaft:
Beispiel: Zeigen Sie mit Hilfe von Grundresolution, dass folgende
Formel in Klauselform unerfüllbar ist.
Kn ist die leere Klausel
Für i = 1, . . . , n gilt:
entweder ist Ki eine Grundinstanz einer Klausel K ∈ F ∗ ,
d.h. Ki = K [y1 /t1 ] . . . [yk /tk ] mit ti ∈ D(F )
oder Ki ist (aussagenlogischer) Resolvent zweier Klauseln
Ka , Kb mit a < i und b < i
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (f (a)))}}
Weglassen von Klauseln und Resolutionsschritten, die nicht zur
Herleitung der leeren Klausel beitragen.
Barbara König
Logik
209
Barbara König
Logik
210
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Verfeinerung der Grundresolution
Verfeinerung der Grundresolution
Bei der Grundresolution kann man unnötigerweise in Sackgassen
laufen.
Idee: Variablen nur noch so weit “wie nötig” durch Terme ersetzen.
Statt Grundtermen Terme mit Variablen verwenden.
Beispiel:
{¬P(f (g (y )))}
{P(f (x)), Q(x)}
{¬Q(g (f (a)))}
{P(f (x)), Q(x)}
[y /a]
[x/g (a)]
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
{¬P(f (g (y )))}
[]
[x/g (y )]
{Q(g (a))}
{¬Q(g (f (a)))}
{Q(g (y ))}
[]
[y /f (a)]
?
Besser wäre gewesen, die Variable x durch g (a) anstatt durch
g (f (a)) zu ersetzen. Aber woher kann man das vorher wissen?
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
211
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Wiederholung: Substitutionen
Logik
212
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Unifikator/Allgemeinster Unifikator
Eine Substitution sub ist eine Abbildung von Variablen auf Terme.
Definition (Unifikation)
F sub: Anwendung der Substitution sub auf die Formel F
t sub: Anwendung der Substitution sub auf den Term t
Gegeben sei eine Menge L = {L1 , . . . , Lk } von Literalen. Eine
Substitution sub heißt Unifikator von L, falls
Eine Substitution kann auch als Folge von Ersetzungen beschrieben
werden:
[x/f (z)] [y /g (a, z)] [z/h(w )]
L1 sub = L2 sub = · · · = Lk sub
Das ist gleichbedeutend mit |Lsub| = 1, wobei
Lsub = {L1 sub, . . . , Lk sub}.
entspricht folgender entflochtener Substitution:
[x/f (h(w )), y /g (a, h(w )), z/h(w )].
Ein Unifikator sub von L heißt allgemeinster Unifikator von L, falls
für jeden Unifikator sub 0 von L gilt, dass es eine Substitution s gibt
mit sub 0 = sub s.
Ersetzungen werden von links nach rechts durchgeführt!
Verknüpfung von Substitutionen: sub 1 sub 2 (zuerst wird sub 1
angewandt, anschließend sub 2 ).
Barbara König
Logik
213
Barbara König
Logik
214
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Unifikator/Allgemeinster Unifikator
Unifikator/Allgemeinster Unifikator
Bemerkungen:
Beispiele: Bestimmen Sie die allgemeinsten Unifikatoren folgender
Mengen (falls sie existieren):
Eine Menge von Literalen kann mehrere allgemeinste
Unifikatoren haben.
{P(x), P(f (y ))}
Beispielsweise sind sowohl [y /f (x)] als auch [x/z][y /f (z)]
allgemeinste Unifikatoren von {P(f (x)), P(y )}.
{P(x), Q(y )}
{Q(x, f (x)), Q(y , g (y ))}
Alle allgemeinsten Unifikatoren kann man jedoch durch
einfache Variablenumbenennung ineinander umformen.
{P(x), P(f (x))}
{Q(x, f (y )), Q(g (z), f (x))}
Eine Menge L von (mehr als zwei) Literalen kann unter
Umständen nicht unifizierbar sein, auch wenn alle Paare von
Literalen unifizierbar sind.
{Q(x, f (y )), Q(g (y ), f (x))}
{Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Beispiel: {Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
215
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Unifikationsalgorithmus
Logik
216
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Unifikationsalgorithmus
Unifikationsalgorithmus
Eingabe: eine Literalmenge L 6= ∅
sub := []; (leere Substitution)
while |Lsub| > 1 do
Suche die erste Position, an der sich zwei Literale L1 , L2
aus Lsub unterscheiden
if keines der beiden Zeichen ist eine Variable
then stoppe mit “nicht unifizierbar”
else Sei x die Variable und t der Term im anderen Literal
(möglicherweise auch eine Variable)
if x kommt in t vor
then stoppe mit “nicht unifizierbar”
else sub := sub [x/t]
Beispiel: Wende den Unifikationsalgorithmus auf folgende
Literalmenge an
L = {¬P(f (z, g (a, y )), h(z)), ¬P(f (f (u, v ), w ), h(f (a, b)))}
Bemerkung: hier sind a, b Konstanten und y , z, u, v , w Variablen
Ausgabe: sub
Barbara König
Logik
217
Barbara König
Logik
218
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Korrektheit des Unifikationsalgorithmus
Prädikatenlogische Resolution
Definition (Prädikatenlogischer Resolvent)
Satz (Korrektheit des Unifikationsalgorithmus)
Eine Klausel R heißt prädikatenlogischer Resolvent zweier Klauseln
K1 , K2 , wenn folgendes gilt:
Der Unifikationsalgorithmus terminiert immer und gibt bei
Eingabe einer nicht-unifizierbaren Literalmenge “nicht
unifizierbar” aus.
Es gibt Substitutionen s1 , s2 , die Variablenumbenennungen
sind, so dass K1 s1 und K2 s2 keine gemeinsamen Variablen
enthalten.
Wenn eine Menge L von Literalen unifizierbar ist, dann findet
der Unifikationsalgorithmus immer den allgemeinsten
Unifikator von L.
Es gibt Literale L1 , . . . , Lm aus K1 s1 und Literale L01 , . . . , L0n
aus K2 s2 , so dass L = {L1 , . . . , Ln , L01 , . . . , L0n } unifizierbar ist.
Sei sub der allgemeinste Unifikator von L.
(L bezeichnet das negierte Literal L.)
Das bedeutet unter anderem auch, dass jede unifizierbare Menge
von Literalen einen allgemeinsten Unifikator hat (Unifikationssatz
von Robinson).
Barbara König
Aussagenlogik
Prädikatenlogik
Es gilt
R = ((K1 s1 − {L1 , . . . , Lm }) ∪ (K2 s2 − {L01 , . . . , L0n }))sub.
219
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Prädikatenlogische Resolution
220
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe
Schreibweise:
Zu resolvierende Literale unterstreichen und
Substitutionen angeben
Sind diese Klauseln resolvierbar?
Wieviele mögliche Resolventen gibt es?
Beispiel:
{P(x), P(f (y )), Q(x, y )}
K1
{P(x), Q(x, y )}
{Q(g (x)), R(f (x))}
{P(x), P(f (x))}
{¬P(f (g (x)))}
s1 = []
sub = [x/f (g (z)), y /g (z)]
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
s2 =[x/z]
{Q(f (g (z)), g (z))}
K2
{¬P(f (x))}
{¬Q(f (x))}
{¬P(y ), Q(y , z)}
Möglichkeiten
Hinweis: Es gibt noch zwei weitere Möglichkeiten, einen
prädikatenlogischen Resolutionsschritt mit diesen Klauseln
auszuführen.
Barbara König
Logik
221
Barbara König
Logik
222
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Prädikatenlogische Resolution
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Korrektheit und Vollständigkeit
Zwei Fragen:
Wenn man mit prädikatenlogischer Resolution aus einer
Formel F die leere Klausel ableiten kann, ist F dann
unerfüllbar? (Korrektheit)
Beispiel: Leiten Sie aus folgender Klauselmenge die leere Klausel
her (diesmal mit prädikatenlogischer Resolution anstatt
Grundresolution).
Kann man für eine unerfüllbare Formel F immer durch
prädikatenlogische Resolution die leere Klausel herleiten?
(Vollständigkeit)
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (f (a)))}}
Obiges ist zwar bereits für die Grundresolution bekannt, aber noch
nicht für die prädikatenlogische Resolution.
Barbara König
Aussagenlogik
Prädikatenlogik
223
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Lifting-Lemma
224
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiel zum Lifting-Lemma
Lifting-Lemma
Seien K1 , K2 zwei
prädikatenlogische Klauseln und
seien K10 , K20 zwei Grundinstanzen
hiervon, die aussagenlogisch
resolvierbar sind und den
Resolventen R 0 ergeben.
Dann gibt es einen
prädikatenlogischen Resolventen R
von K1 , K2 , so dass R 0 eine
Grundinstanz von R ist.
Barbara König
Logik
K1
K2
{P(f (x)), Q(x)}
K10
R
{¬P(f (g (y )))}
[x/g (a)]
K20
[y /a]
{P(f (g (a))), Q(g (a))}
{Q(g (y ))}
{¬P(f (g (a)))}
[y /a]
R0
{Q(g (a))}
—: Resolution
→: Substitution
225
Barbara König
Logik
226
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Resolutionssatz
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Resolutionssatz
Für eine Formel H mit freien Variablen x1 , . . . , xn bezeichnen wir
mit
∀H = ∀x1 ∀x2 . . . ∀xn H
Resolutionssatz der Prädikatenlogik
Sei F eine Aussage in Skolemform mit einer Matrix F ∗ in KNF.
Dann gilt: F ist unerfüllbar genau dann, wenn ∈ Res ∗ (F ∗ ).
(Dabei bezeichnet Res die Bildung aller möglichen
prädikatenlogischen Resolventen.)
ihren Allabschluss.
Sei F eine Aussage in Skolemform und sei F ∗ deren Matrix in
KNF, so gilt:
^
F ≡ ∀F ∗ ≡
∀K
K ∈F ∗
Für den Beweis des Resolutionssatzes benötigen wir noch den
Begriff des Allabschlusses . . .
Beispiel:
F ∗ = P(x, y ) ∧ ¬Q(y , x)
F
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
≡ ∀x∀y (P(x, y ) ∧ ¬Q(y , x)) ≡ ∀x∀yP(x, y ) ∧ ∀x∀y (¬Q(y , x))
227
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Verfeinerung der Resolution (Ausblick)
Logik
228
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Probleme bei der prädikatenlogischen Resolution:
Zu viele Wahlmöglichkeiten
Ist die Klauselmenge
Immer noch zu viele Sackgassen
{{P(f (x))}, {¬P(f (x)), Q(f (x), x)}, {¬Q(f (a), f (f (a)))},
Kombinatorische Explosion des Suchraums
{¬P(x), Q(x, f (x))}}
Lösungsansätze:
unerfüllbar?
Strategien und Heuristiken: Verbieten bestimmter
Resolutionsschritte, Suchraum wird dadurch eingeschränkt
Vorsicht: Die Vollständigkeit darf dadurch nicht verloren gehen!
Barbara König
Logik
229
Barbara König
Logik
230
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Beispiele
Wir betrachten folgende prädikatenlogische Formel:
Wir betrachten folgende Klauselmenge (Beispiel aus dem
Schöning):
F
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
F = ∀x(P(x) → P(f (x)))
= {{¬P(x), Q(x), R(x, f (x))}, {¬P(x), Q(x), S(f (x))}, {T (a)},
{P(a)}, {¬R(a, x), T (x)}, {¬T (x), ¬Q(x)}, {¬T (x), ¬S(x)}}
und zeigen ihre Unerfüllbarkeit mit Hilfe des
Resolutionstheorembeweisers otter (siehe auch die Vorstellung
von otter im Kapitel “Aussagenlogik”).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Ist diese Formel gültig, erfüllbar oder unerfüllbar?
Was passiert, wenn sie als Eingabe für einen
Resolutionstheorembeweiser (wie beispielsweise otter)
verwendet wird?
Diese Formel ist erfüllbar: otter leitet immer neue Klauseln ab
und terminiert nicht.
231
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Logik
232
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Das Affe-Banane-Problem (Teil 1)
(A1) Ein Tier, das Arme hat und nahe bei einem Ding ist,
kann das Ding erreichen.
Das Affe-Banane-Problem (Teil 2)
(A6) Der Stuhl ist ein hoher Gegenstand.
(A2) Ein Tier auf einem hohen Gegenstand, der unter den
Bananen steht, ist nahe bei den Bananen.
(A7) Die Bananen sind ein Ding.
(A8) Der Affe, die Bananen und der Stuhl sind im Raum.
(A3) Wenn ein Tier in einem Raum einen Gegenstand zu
einem Ding schiebt, die beide im Raum sind, dann ist
das Ding nahe am Boden oder der Gegenstand ist
unter dem Ding.
(A9) Der Affe kann den Stuhl unter die Bananen schieben.
(A10) Die Bananen sind nicht nahe am Boden.
(A11) Der Affe kann den Stuhl ersteigen.
(A4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf
dem Gegenstand.
(S?) Kann der Affe die Bananen erreichen?
(A5) Der Affe ist ein Tier, das Arme hat.
Barbara König
Logik
233
Barbara König
Logik
234
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele
Anwendungen
Schema für die Lösung solcher Probleme:
Anwendungen der prädikatenlogischen Resolution
Theorembeweiser: Beweis von Sätzen aus der Mathematik
Seien A1 , . . . , An die Axiome oder Voraussetzungen und
S die Schlussfolgerung.
Verifikation: Beweis der Korrektheit von Programmen
Um zu zeigen, dass
Schlussfolgerung in Expertensystemen
Planungssysteme
A1 ∧ · · · ∧ An → S
Logik-Programmierung (PROLOG)
gültig ist, zeigen wir, dass
Bemerkung: Neben Resolution gibt es noch weitere Methoden, die
Unerfüllbarkeit prädikatenlogischer Formeln zu zeigen,
beispielsweise mit Hilfe von Tableau-Beweisen.
A1 ∧ · · · ∧ An ∧ ¬S
unerfüllbar ist.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
siehe nächstes Kapitel
235
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
236
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Beispiel: wir betrachten folgende Formalisierung der Addition
F
Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein
Literal positiv ist (analog zu den aussagenlogischen Hornformeln).
= ∀x A(x, null, x) ∧
∀x∀y ∀z (A(x, y , z) → A(x, s(y ), s(z)))
Dabei ist A ein dreistelliges Prädikatsymbol mit der Bedeutung:
A(x, y , z) genau dann, wenn x + y = z.
Das führt zu einfacheren Resolutionsbeweisen, die im wesentlichen
die Form von Ketten haben. Die dabei entstehenden
Substitutionen kann man aufsammeln und als Lösung präsentieren.
Außerdem ist s eine einstellige Funktion, die die
Nachfolgerfunktion (successor function) darstellen soll. Eine
natürlich Zahl n soll so dargestellt werden:
Auf dieser Idee basieren Logik-Programmiersprachen, wie
beispielsweise PROLOG.
s n (null) = s(s(. . . (s( null)) . . . ))
| {z }
n mal
Des weiteren soll die Konstante null die 0 repräsentieren.
Barbara König
Logik
237
Barbara König
Logik
238
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Wir wollen nun überprüfen, ob die Formel
G = ∃u A(s(s(s(null))), s(s(null)), u)
Bemerkungen:
Bei der Resolution dieser Klauseln reicht es aus, immer mit
mindestens einer Klausel zu resolvieren, die nur aus negativen
Literalen besteht. Wir beginnen die Resolution also mit der
Zielklausel.
aus dieser Formel ableitbar ist. D.h., gibt es ein u für das gilt
3 + 2 = u?
Wir negieren und skolemisieren die Formel F → G und erhalten
folgende Klauselmenge:
Dabei entstehen als Resolventen wiederum nur Klauseln, die
nur aus negativen Literalen bestehen.
{{A(x, null, x)}, {¬A(x, y , z), A(x, s(y ), s(z))},
{¬A(s(s(s(null))), s(s(null)), u)}}
Dabei heißt die aus G entstandene Klausel Zielklausel.
Barbara König
Aussagenlogik
Prädikatenlogik
239
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
{¬A(s(s(s(null))), s(s(null)), u)}
sub 1 =
[u/s(z), x/s(s(s(null))), y /s(null)]
240
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Wir sammeln alle Substitutionen auf, wenden sie auf u an und
erhalten:
u sub 1 sub 2 sub 3 = s(z) sub 2 sub 3
{¬A(x, y , z 0 ), A(x, s(y ), s(z 0 ))}
sub 2 =
[z/s(z 0 ), x/s(s(s(null))), y /null]
{¬A(s(s(s(null)))), null, z 0 }
Logik
Motivation: Logik-Programmierung
{¬A(x, y , z), A(x, s(y ), s(z))}
{¬A(s(s(s(null)))), s(null), z}
Barbara König
= s(s(z 0 )) sub 3
= s(s(s(s(s(null)))))
Das heißt, die leere Klausel kann abgeleitet werden, wenn man u
durch s 5 (null) ersetzt. Das ist aber genau das Ergebnis der
Addition 3 + 2.
{A(x, null, x)}
sub 3 =
[z 0 /s(s(s(null))), x/s(s(s(null)))]
Diesen Prozess nennt man auch Antwortgenerierung.
Barbara König
Logik
241
Barbara König
Logik
242
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Hornklauseln
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Hornklauseln
Definition (Hornklauselprogramm, Teil 1)
Ein Hornklauselprogramm oder Logikprogramm ist eine
Klauselmenge, in der jede Klausel höchstens ein positives Literal
enthält. Die Klauseln werden folgendermaßen klassifiziert:
Definition (Hornklauselprogramm, Teil 2)
Tatsachen- und Prozedurklauseln nennt man auch
Programmklauseln. Sie stellen das eigentliche Logikprogramm dar.
Tatsachenklauseln: Klauseln der Form {P} mit einem positiven
Literal P.
Logikprogramme werden aufgerufen durch sogenannte Zielklauseln:
Zielklausel: eine Klausel der Form {¬Q1 , . . . , ¬Qk }, entspricht
dem negierten Berechnungsziel
PROLOG-Schreibweise: P.
Prozedurklauseln: Klauseln der Form {P, ¬Q1 , . . . , ¬Qk }, die
Folgerungen darstellen.
PROLOG-Schreibweise: ?− Q1 , . . . , Qk
PROLOG-Schreibweise: P :− Q1 , . . . , Qk (:− steht
für ←)
Barbara König
Aussagenlogik
Prädikatenlogik
243
Logik
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
SLD-Resolution
Logik
244
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
SLD-Resolution
Folgende Form der Resolution funktioniert speziell für
Hornklauseln:
Definition (SLD-Resolution)
Eine SLD-Resolutionsherleitung
der leeren Klausel hat die rechts
abgebildete Form, wobei G die
Zielklausel ist, G1 , G2 , . . . nur aus
negativen Literalen bestehen und
K1 , . . . , Kn Programmklauseln
sind.
G
K1
G1
K2
Satz (Vollständigkeit der SLD-Resolution)
Sei F mit Zielklausel G ein unerfüllbares Hornklauselprogramm.
Dann gibt es für F eine SLD-Resolutionsherleitung der leeren
Klausel.
G2
..
.
Kn
Die Abkürzung SLD steht für “linear resolution with selection
function for definite clauses”
Barbara König
Logik
245
Barbara König
Logik
246
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Deklarative Programmiersprache PROLOG
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Die Idee der Ermittlung eines Rechenergebnisses führt zur
Definition einer Programmiersprache basierend auf
Hornklauselprogrammen: PROLOG (entwickelt Anfang der
siebziger Jahre).
Imperativ
Zustandsorientiert: Zustand eines Programms besteht aus
Programmzähler und Belegung der Variablen (+ Heap)
Programm besteht aus Befehlen, die diesen Zustand
transformieren.
Dabei beschreiben die Programmklauseln das eigentlich Programm
und die Zielklausel die zu bearbeitenden Anfrage.
Sprachen: FORTRAN, ALGOL, Pascal, Ada, C, Java
PROLOG ist, genau wie funktionale Programmiersprachen, eine
deklarative Programmiersprache. Das heißt, es wird nicht so sehr
beschrieben, wie etwas berechnet wird, sondern was berechnet
werden soll.
Deklarativ
Beschreibung einer Lösung durch Bedingungen, ohne genau zu
spezifizieren, wie diese Lösung berechnet werden soll.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Sprachen: Logik-Programmiersprachen: PROLOG;
funktionale Sprachen: ML, OCaml, Haskell, Scheme, Lisp
247
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Deklarative Programmiersprache PROLOG
Logik
248
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
Beispiel: Hausbau
Syntax von PROLOG:
Variablen werden mit Grossbuchstaben geschrieben:
X, Y, Z, . . .
Prädikat- und Funktionssymbole werden mit Kleinbuchstaben
dargestellt.
Hausbau (imperativ): Hebe zunächst den Keller aus. Baue dann
eine Süd-, Ost-, West- und Nordwand. Setze
anschließend ein Dach auf die Wände.
Außerdem werden Programm- und Zielklauseln wie oben
beschrieben notiert.
Hausbau (deklarativ): Ein Haus besteht aus einem Keller, der von
vier Wänden umgeben ist, auf denen sich das Dach
befindet.
Barbara König
Logik
249
Barbara König
Logik
250
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Deklarative Programmiersprache PROLOG
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Deklarative Programmiersprache PROLOG
PROLOG-Interpreter: wir verwenden GNU Prolog
(http://www.gprolog.org/)
Wichtige Kommandos:
Zielklausel eingeben
| ?- onkel(X,christine).
Aufruf
> gprolog
Datei laden (z.B. eltern.pl)
X = boris ?
| ?- [eltern].
compiling eltern.pl for byte code...
eltern.pl compiled, 36 lines read 3874 bytes written, 11 ms
Mit ; werden weitere Antwortsubstitutionen gesucht.
(1 ms) yes
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
251
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiele für PROLOG-Programme
Logik
252
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele für PROLOG-Programme
Verwandtschaftsbeziehungen
elter(X,Y) :- vater(X,Y).
elter(X,Y) :- mutter(X,Y).
Beispiel: Verwandtschaftsbeziehungen
Nehmen Sie an, dass Verwandtschaftsbeziehungen wie “x ist
Mutter von y ” und “x ist Vater von y ” definiert sind.
Außerdem ist von jeder Person bekannt, ob sie männlich oder
weiblich ist.
grossmutter(X,Y) :- mutter(X,Z),elter(Z,Y).
grossvater(X,Y) :- vater(X,Z),elter(Z,Y).
Geben Sie Programmklauseln an, die abgeleitete
Verwandtschaftsbeziehungen wie “Elter”, “Grossmutter”,
“Grossvater”, “Geschwister”, “Onkel” und “Tante” herleiten
können.
geschwister(X,Y) :- elter(Z,X),elter(Z,Y),X\==Y.
onkel(X,Y) :- elter(Z,Y),geschwister(Z,X),maennlich(X).
tante(X,Y) :- elter(Z,Y),geschwister(Z,X),weiblich(X).
Barbara König
Logik
253
Barbara König
Logik
254
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Beispiele für PROLOG-Programme
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Dadurch, dass PROLOG-Programme nicht aus konkreten
Handlungsanweisungen bestehen, können ganz verschiedene Arten
von Anfragen an das gleiche Programm gestellt werden.
Es gibt noch viele weitere Logiken, neben der Aussagenlogik und
der Prädikatenlogik 1. Stufe.
Beispiel Addition:
add(X,null,X).
add(X,s(Y),s(Z)) :- add(X,Y,Z).
Prädikatenlogik 2. Stufe
Quantifikation über Mengen (einstellige Prädikate) und Relationen
(mehrstellige Prädikate) wird erlaubt.
?- add(s(s(s(null))),s(s(null)),X).
X = s(s(s(s(s(null))))) ? ;
?- add(s(s(s(null))),Y,s(s(s(s(s(null)))))).
Y = s(s(null)) ?
Bei der zweiten Anfrage wird eine Subtraktion durchgeführt.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
255
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
256
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Weitere Bemerkungen zur Prädikatenlogik 2. Stufe:
Beispiel: Das Induktionsaxiom für die natürlichen Zahlen N0 ist nur
in Prädikatenlogik 2. Stufe ausdrückbar:
Das Unerfüllbarkeits- bzw. Gültigkeitsproblem für Logiken
höherer Stufe (insbesondere für die Prädikatenlogik 2. Stufe),
ist nicht mehr semi-entscheidbar.
Für jede Menge M von natürlichen Zahlen gilt: wenn M die 0
enthält und für jede in M enthaltene Zahl n auch deren Nachfolger
n + 1 in M enthalten ist, dann sind bereits alle natürlichen Zahlen
in M enthalten.
∀M 0 ∈ M ∧ ∀n(n ∈ M → n + 1 ∈ M) → ∀n(n ∈ M)
Barbara König
Logik
Daraus folgt auch, dass solche Logiken höherer Stufe keinen
Kalkül (wie den Resolutionskalkül) haben können. Denn aus
einem Kalkül, der es ermöglicht, alle wahren Formeln
abzuleiten, kann man immer ein Semi-Entscheidungsverfahren
gewinnen.
257
Barbara König
Logik
258
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Ausblick
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Die Nicht-Existenz eines solchen (vollständigen) Kalküls für
die Arithmetik ist die Aussage des (Ersten) Gödelschen
Unvollständigkeitssatzes (1931). Für die Mathematik bedeutet
das: “Es gibt wahre Aussagen, die nicht beweisbar sind.”
Modallogiken
Annahme, dass es mehrere mögliche Welten gibt. In manchen
dieser Welten können Aussagen wahr sein, in anderen nicht.
Unterhaltsame Lektüre zu diesem Thema:
Beispiele für Aussagen der Modallogik:
“Möglicherweise regnet es.”
Douglas R. Hofstadter: Gödel, Escher, Bach: An Eternal
Golden Braid
“Notwendigerweise sind alle Kreise rund.”
In deutscher Übersetzung: Douglas R. Hofstadter: Gödel,
Escher, Bach: Ein endloses geflochtenes Band
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
259
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
260
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Für die Informatik besonders wichtig ist eine bestimmte
Modallogik, die sogennante Temporallogik:
Dreiwertige Logiken
Enhalten neben den Wahrheitswerten 0, 1 auch den Wahrheitswert
1
2 (= vielleicht).
Temporallogik
Hier werden die möglichen Welten als Momente im Ablauf der Zeit
interpretiert. Das heißt, man kann Aussagen über zeitliche
Abfolgen machen.
Einsatz: in der Programmanalyse. Bei Approximation eines System
durch ein einfacheres System kann manchmal nicht mit Sicherheit
gesagt werden, ob bestimmte Systemübergänge möglich oder nicht
möglich sind. Diesen wird dann der Wahrheitswert 12 zugeordnet.
Beispiele für Aussagen der Temporallogik:
“Irgendwann geschieht A.”
“Das Ereignis B tritt unendlich oft ein.”
Auch für das Ergebnis einer Programmanalyse kann gelten:
geforderte Eigenschaft gilt (1), gilt nicht (0) oder gilt vielleicht ( 12 ).
Die am häufigsten benutzten Temporallogiken sind: CTL
(Computation Tree Logic), LTL (Linear Time Logic), modaler
µ-Kalkül
Barbara König
Logik
261
Barbara König
Logik
262
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Ausblick
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Nicht-monotone Logik
Bei nicht-monotone Logiken kann diese Bedingung verletzt sein,
d.h., durch zusätzliches Wissen kann eine Folgerung ungültig
werden.
Die klassische Logik ist in folgendem Sinne monoton: wenn zu
einer Menge von Axiomen ein weiteres hinzukommt, dann kann
man immer noch mindestens die gleichen Aussagen ableiten.
Beispiel:
Wir wissen, dass Tweety ein Vogel ist. Dann kann man daraus
folgern, dass Tweety fliegen kann.
Monotonie: Aus F |= H folgt immer auch F ∧ G |= H.
Zusätzlich erfahren wir nun, dass Tweety ein Pinguin ist.
Dann kann man diese Folgerung nicht mehr aufrechterhalten.
Einsatz: in Expertensystemen
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
263
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
264
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Intuitionistische Logik
Grob: nur das, was man konstruieren kann, existiert.
Widerspruchsbeweise sind nicht erlaubt.
Fuzzy Logic
Approximiertes Schließen, eine Aussage kann nur zu einem
gewissen Prozentsatz “wahr” sein.
Insbesondere: P ∨ ¬P (Satz vom ausgeschlossenen Dritten) ist
nicht automatisch eine gültige Formel.
Einsatz: Haushaltsgeräte, Fehlerkorrektur
Barbara König
Logik
Bemerkung: Dadurch wird die Logik zunächst schwächer und
weniger Aussagen sind beweisbar. Die Forderung der
Konstruierbarkeit kann aber für die Herleitung von
Berechnungsvorschriften verwendet werden.
265
Barbara König
Logik
266
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Zuletzt noch eine Zusammenfassung der weiteren Anwendungen
der Logik in der Informatik:
Modellierung und Spezifikation: Eindeutige Beschreibung von
komplexen Systemen
Verifikation: Beweisen, dass ein Programm das gewünschte
Verhalten zeigt
Schaltkreisentwurf: Schaltkreise lassen sich als logische
Formeln darstellen
Entwurf und Optimierung von Schaltungen
Datenbanken: Formulierung von Anfragen an Datenbanken
Abfragesprache SQL (Structured query language)
Künstliche Intelligenz: Schlussfolgerungen automatisieren,
insbesondere in Expertensystemen
Barbara König
Logik
267
Herunterladen