Vorlesung “Logik” Sommersemester 2012 Universität Duisburg

Werbung
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Vorlesung “Logik”
Sommersemester 2012
Universität Duisburg-Essen
Barbara König
Übungsleitung: Christoph Blume
Barbara König
Logik
1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
2
Aussagenlogik
Prädikatenlogik
Wer sind wir?
Das heutige Programm:
Dozentin: Prof. Barbara König
Raum LF 264
Organisatorisches
Vorstellung
Ablauf der Vorlesung und der Übungen
Prüfung & Klausur
Literatur & Folien
E-Mail: barbara [email protected]
Sprechstunde: nach Vereinbarung
Übungsleitung: Christoph Blume
Raum LF 263
Einführung und Motivation: Logik in der Informatik
Inhalt der Vorlesung
[email protected]
Grundbegriffe der Aussagenlogik
Sprechstunde: nach Vereinbarung
Web-Seite:
http://www.ti.inf.uni-due.de/teaching/ss2012/logik/
Barbara König
Logik
3
Barbara König
Logik
4
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Erreichbarkeit
Vorlesungstermine
Bitte verwenden Sie ab sofort nur noch Ihre offizielle Mail-Adresse
der Universität Duisburg-Essen ([email protected]), wenn
Sie mit uns kommunizieren. Andere Mails werden in Zukunft nicht
mehr beantwortet (Beschluss der Abteilungskonferenz).
Vorlesungstermin:
Gründe:
Mittwoch, 12:15 – 13:45 Uhr, im Raum LE 105
Keine Probleme mit Spam-Filtern.
Vertrauliche Auskünfte erreichen den richtigen Adressaten.
Am 30.5. findet die Vorlesung aufgrund des Schülerinfotags im
Raum LF 035 statt.
Ziel: alle Studierenden sollten Ihre Universitäts-Adresse
aktivieren und damit zuverlässig erreichbar sein.
Weitere Informationen unter:
http://www.uni-due.de/zim/services/e-mail/
Barbara König
Logik
5
Aussagenlogik
Prädikatenlogik
Uhrzeit
10:00-12:00
10:00-12:00
12:00-14:00
Die Übungen und Tutorien beginnen in der dritten
Vorlesungswoche am 26. April.
Raum
SG 158
LC 137
LC 137
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.
(Übungsgruppen sind nur einstündig und werden maximal 60
Minuten dauern.)
Barbara König
6
Hinweise zu den Übungen
Übungsgruppen (zur Besprechung der Übungsblätter):
Tag
Donnerstag
Freitag
Freitag
Logik
Aussagenlogik
Prädikatenlogik
Termine der Übungsgruppen/Tutorien
Gruppe
1
2
3
Barbara König
Logik
7
Barbara König
Logik
8
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Hinweise zu den Übungen
Prüfung
Die Übungsblätter werden jeweils am Mittwoch der Vorwoche
ins Netz gestellt. Das erste Übungsblatt wird am 18.4
bereitgestellt.
Für BAI- und Nebenfach-Studierende:
Klausur am Ende des Semesters: der Termin wird bekanntgegeben,
sobald er feststeht. Anmeldung über das Prüfungsamt.
Abgabe der gelösten Aufgaben bis Mittwoch der folgenden
Woche, 12:15 Uhr. Einwurf in den Briefkasten neben Raum
LF 259. (Bitte nicht früher als Dienstag 12:00 Uhr einwerfen.)
Wenn Sie 50% der Punkte erzielt haben, so erhalten Sie einen
Bonus für die Klausur.
Es sind keine Gruppenabgaben erlaubt, nur Einzelabgaben.
Auswirkung: Verbesserung um eine Notenstufe; z.B. von 2,3 auf 2,0
Bitte geben Sie auf Ihrer Lösung deutlich die Vorlesung, Ihren
Namen, Ihre Matrikelnummer und Ihre Gruppennummer an.
Barbara König
Logik
Barbara König
9
Aussagenlogik
Prädikatenlogik
Logik
10
Aussagenlogik
Prädikatenlogik
Literatur
Literatur
Die Vorlesung basiert im Wesentlichen auf folgendem Buch:
Einführende/unterhaltsame Literatur:
Uwe Schöning: Logik für Informatiker. Spektrum, 2000.
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.
Weitere relevante Bücher:
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.
Raymond M. Smullyan: “To Mock a Mockingbird” and Other
Logic Puzzles. Knopf, 1985.
Auf Deutsch: Spottdrosseln und Metavögel. W. Krüger Vlg.,
1986.
Kreuzer, Kühling: Logik für Informatiker, Pearson, 2006.
Barbara König
Logik
11
Barbara König
Logik
12
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Folien
Geschichte der Logik
Folien werden
im Web bereitgestellt,
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
regelmäßig aktualisiert,
im Wesentlichen den Folien des Vorjahres (SS ’11)
entsprechen
(gegenüber der Logik-Vorlesung aus dem DAI – zuletzt
gehalten im WS ’07/08 – gibt es jedoch
Stoffeinschränkungen)
Seither: Weiterentwicklung der Logik, Formalisierung,
Verwendung in der Mathematik und Informatik
Ein eigenes Skript gibt es – neben dem Buch von Schöning – nicht.
Barbara König
Logik
13
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
14
Aussagenlogik
Prädikatenlogik
Syllogismen (I)
Syllogismen (II)
Aristoteles entwickelte den Begriff des Syllogismus:
Alle Dackel sind Hunde
Alle Hunde sind Tiere
Dann sind alle Dackel Tiere
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.
Keine Blume ist ein Tier
Alle Hunde sind Tiere
Dann ist keine Blume ein Hund
Wenn alle Menschen sterblich sind und
Sokrates ein Mensch ist,
dann ist Sokrates sterblich.
Barbara König
Logik
Alle P sind M
Alle M sind S
Alle P sind S
Alle Delfine leben im Meer
Alle Delfine sind Säugetiere
Dann leben einige Säugetiere im Meer
15
Barbara König
Logik
(Barbara)
Kein P ist M
Alle S sind M
Kein P ist S
(Cesare)
Alle M sind P
Alle M sind S
Einige S sind P
(Darapti)
16
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Verschiedene Logiken
Aussagenlogik (I)
George Boole (1848)
Es gibt viele verschiedene Logiken:
Aussagenlogik
Prädikatenlogik höherer Stufe
Verknüpfung von Aussagen, die entweder wahr oder falsch sein
können, mit einfachen Operatoren
(und; oder; nicht; wenn . . . , dann . . . )
Modale und temporale Logiken
Beispiel:
Prädikatenlogik (1. Stufe)
Intuitionistische Logik
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.
Wir beschäftigen uns in dieser Vorlesung nur mit Aussagenlogik
und Prädikatenlogik 1. Stufe.
Barbara König
Logik
17
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
18
Aussagenlogik
Prädikatenlogik
Aussagenlogik (II)
Prädikatenlogik
Der Stoff im Bereich “Aussagenlogik” umfasst unter anderem:
Frege, Peano, Russell (Ende des 19. Jahrhunderts)
Syntax der Aussagenlogik:
Was sind Operatoren? Was ist eine Formel? Welche Formeln
sind syntaktisch korrekt?
Mit der Prädikatenlogik kann man zusätzlich
Beziehungen zwischen “Objekten” beschreiben
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?
existentielle Aussagen treffen: “es gibt ein x, so dass . . . ”
universelle Aussagen treffen: “für jedes x gilt, dass . . . ”
Beispiel: Für jede natürliche Zahl x gilt, dass es eine natürliche
Zahl y gibt, so dass x kleiner als y ist.
Verfahren und Methoden, die überprüfen, ob eine Formel
allgemeingültig oder unerfüllbar ist
Barbara König
Logik
19
Barbara König
Logik
20
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Anwendungen in der Informatik (I)
Anwendungen in der Informatik (II)
Theorembeweiser: Der Computer beweist mathematische
Sätze
automatischer Beweis von wichtigen Sätzen im Bereich der
Booleschen Algebren
Modellierung und Spezifikation: Eindeutige Beschreibung von
komplexen Systemen
Verifikation: Beweisen, dass ein Programm das gewünschte
Verhalten zeigt
Logische Programmiersprachen: Prolog
Schaltkreisentwurf: Schaltkreise lassen sich als logische
Formeln darstellen
Entwurf und Optimierung von Schaltungen
Außerdem: Logik ist ein Paradebeispiel für Syntax und formale
Semantik
Datenbanken: Formulierung von Anfragen an Datenbanken
Abfragesprache SQL (Structured query language)
Ein Zitat von Edsger W. Dijkstra:
Informatik = VLSAL (Very large scale application of logics)
Künstliche Intelligenz: Schlussfolgerungen automatisieren,
insbesondere in Expertensystemen
Barbara König
Logik
(In Anspielung auf VLSI = Very large scale integration, ein Begriff
aus dem Chipdesign)
21
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
22
Aussagenlogik
Prädikatenlogik
Formale Syntax und Semantik
Probleme mit natürlicher Sprache (I)
Auch wenn die Beispiele bisher mit natürlicher Sprache beschrieben
wurden, werden wir in der Vorlesung meist auf natürliche Sprache
verzichten.
Problem: Zuordnung von Wahrheitswerten zu natürlichsprachigen
Aussagen ist problematisch.
Beispiele:
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.
Beispiele:
Formalisierung
R ∧N
R→N
∀x∃y (x < y )
Jede gerade Zahl größer als 4 ist die Summe zweier
Primzahlen. (Goldbach’sche Vermutung, unbewiesen)
Dieser Satz hat zwei Vehler.
Frage: Warum nicht natürliche Sprache?
Barbara König
Logik
23
Barbara König
Logik
24
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Probleme mit natürlicher Sprache (II)
Probleme mit natürlicher Sprache (III)
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.
Barbara König
Logik
Problem: Natürliche Sprache ist mehrdeutig.
Beispiel:
Ich sah den Mann auf dem Berg mit dem Fernrohr.
25
Aussagenlogik
Prädikatenlogik
Barbara König
Logik
26
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)
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)
((Ich sah (den Mann auf dem
Berg)) mit dem Fernrohr)
((Ich sah den Mann) (auf dem
Berg mit dem Fernrohr))
5 mögliche
Interpretationen!
(Ich sah ((den Mann auf dem
Berg) mit dem Fernrohr))
(Ich sah (den Mann (auf dem
Berg mit dem Fernrohr)))
(Ich sah (den Mann (auf dem Berg mit dem Fernrohr)))
Barbara König
Logik
31
Barbara König
Logik
32
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Inhalt der Vorlesung
Logik-Tools
Aussagenlogik:
Aussagenlogik:
SAT-Solver: Überprüfen der Erfüllbarkeit von
aussagenlogischen Formeln
limboole (http://fmv.jku.at/limboole/)
Grundbegriffe, Normalformen und Äquivalenz
Resolution
Prädikatenlogik:
Prädikatenlogik:
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/)
Grundbegriffe, Normalformen und Äquivalenz
Herbrand-Theorie
Resolution
Grundlagen der Logikprogrammierung
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
33
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Syntax der Aussagenlogik
Logik
34
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 ∨ G ): “F oder G ”, “Disjunktion von F und G ”
¬F : “nicht F ”, “Negation von F ”
Barbara König
Logik
A3
A1
A4
35
Barbara König
Logik
36
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
∧
A3
A3
A1
¬
A4
¬
Die Elemente der Menge {0, 1} heißen Wahrheitswerte.
Eine Belegung ist eine Funktion A : D → {0, 1}, wobei D eine
Teilmenge der atomaren Formeln ist.
¬
∧
∨
A3
A1
A4
¬
¬A4
∨
∧
A3
A1
∨
(¬A4 ∨ A1 )
¬
A4
((¬A4 ∨ A1 ) ∧ A3 )
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
¬
¬
∧
∧
∨
¬
A3
A1
¬((¬A4 ∨ A1 ) ∧ A3 )
∨
¬
A3
A1
A4
A4
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Barbara König
37
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Semantik der Aussagenlogik (II)
Logik
38
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
39
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
40
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 )
statt
Tafeln für die Operatoren →, ↔:
A1 , A2 , A3 . . .
statt
statt
(¬F1 ∨ F2 )
((F1 ∧ F2 ) ∨ (¬F1 ∧ ¬F2 ))
statt
(. . . ((F1 ∨ F2 ) ∨ F3 ) ∨ . . . ∨ Fn )
statt
(. . . ((F1 ∧ F2 ) ∧ F3 ) ∧ . . . ∧ Fn )
A
0
0
1
1
i=1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
41
Grundbegriffe, Äquivalenz und Normalformen
Resolution
B
0
1
0
1
A
0
0
1
1
→
1
1
0
1
A
0
0
1
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
Logik
42
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Formalisierung natürlicher Sprache (I)
Präzedenz der Operatoren:
↔
→
∨
∧
¬
Die Formel
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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.
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
43
Barbara König
Logik
44
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 :
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
45
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Gültigkeit und Erfüllbarkeit
Logik
46
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
47
Barbara König
Logik
48
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
49
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ein Gültigkeitstest
¬F
unerfüllbare
Formeln
G
Logik
50
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Folgerung
Definition (Folgerung)
Wie kann man überprüfen, ob eine Formel F gültig ist?
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?
Anzahl Zeilen in der Wahrheitstafel:
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
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.
51
Barbara König
Logik
52
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
53
Aussagenlogik
Prädikatenlogik
3
Logik
Logik
54
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 .
55
Barbara König
Logik
56
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
57
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Reduktion von Problemen (I)
Logik
58
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Reduktion von Problemen (II)
Welche Probleme lassen sich auf welche reduzieren?
Unerfüllbarkeit =⇒ Folgerung:
Gültigkeit ⇐⇒ (Nicht)Erfü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
Folgerung =⇒ Unerfüllbarkeit:
Gültigkeit =⇒ Folgerung:
F gültig
gdw.
T |= F
F |= G
(T ist beliebige gültige Formel)
gdw.
F ∧ ¬G unerfüllbar
Folgerung =⇒ Gültigkeit:
F |= G
gdw.
Barbara König
F → G gültig
Logik
59
Barbara König
Logik
60
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
Logik
Aussagenlogik
Prädikatenlogik
Gültigkeits- und Erfüllbarkeitstests mit limboole
Aussagenlogik
↔
→
∨
∧
¬
62
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Um zu zeigen, dass
limboole
<->
->
|
&
!
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:
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.
Logik
Logik
Anwendung: Diagnose
Eingabeformat für limboole
Barbara König
Barbara König
61
Grundbegriffe, Äquivalenz und Normalformen
Resolution
((AK | BK) & (AK -> BK) & ((BK & RL) -> !AK) & RL)
-> (!AK & BK & RL)
63
Barbara König
Logik
64
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
∧
∨
Y2
Aussagenlogik
Prädikatenlogik
Nor
∧
F ≡ G gdw. F ↔ G gültig ist.
Barbara König
∧
Logik
65
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Nor
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendung: Vergleich von Schaltkreisen
Logik
66
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Anwendung: Vergleich von Schaltkreisen
Schaltkreis 2:
X1
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)
∨
X2
(X1 & Y2 & X2 & Y1) | (X2 & Y2 & !X1 & !Y1) |
(X1 & Y1 & !X2 & Y2) | (!X2 & !X1 & !Y1 & Y2)
∧
¬
∧
Y2
Barbara König
Logik
67
Barbara König
Logik
68
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
69
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Ersetzbarkeitstheorem
Logik
70
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Äquivalenzen (I)
Satz
Es gelten die folgenden Äquivalenzen:
Die Abgeschlossenheit lässt sich auch folgendermaßen formulieren:
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 (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
71
(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
72
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 )
Barbara König
73
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Normalformen (I)
Logik
74
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
75
Barbara König
Logik
76
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
¬(G ∧ H)
durch
(¬G ∨ ¬H)
¬(G ∨ H)
durch
(¬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.
bis keine derartige Teilformel mehr vorkommt.
2
Ersetze jedes Vorkommen einer Teilformel der Bauart
(F ∨ (G ∧ H))
durch
((F ∨ G ) ∧ (F ∨ H))
((F ∧ G ) ∨ H)
durch
((F ∨ H) ∧ (G ∨ H))
F
Aussagenlogik
Prädikatenlogik
Logik
≡ (A1 ∨ A2 ∨ · · · ∨ An )
∧ (B1 ∨ A2 ∨ · · · ∨ An )
∧ (A1 ∨ B2 ∨ · · · ∨ An )
bis keine derartige Teilformel mehr vorkommt.
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
∧ ...
77
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Mengendarstellung in KNF
Logik
78
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Ablesen aus Wahrheitstafel
Klausel: Menge von Literalen (Disjunktion).
A
0
0
0
0
1
1
1
1
{A, B} stellt (A ∨ B) dar.
Formel: Menge von Klauseln (Konjunktion).
{{A, B}, {¬A, B}} stellt ((A ∨ B) ∧ (¬A ∨ B)) dar.
Die leere Klausel ist äquivalent zu einer unerfüllbaren Formel.
Die leere Formel ist äquivalent zu einer gültigen Formel.
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
79
Barbara König
Logik
80
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
81
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Erfüllbarkeits-/Gültigkeitstests für DNF/KNF
82
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
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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).
83
Barbara König
Logik
84
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 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 eine 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
85
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Vollständigkeit von Operatormengen
Logik
86
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).
87
Barbara König
Logik
88
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: Die Formel ¬A kann nicht dargestellt werden.
Falls eine Formel nur aus Operatoren der Form ∧ und ∨
besteht und der Wahrheitswert 1 eingesetzt wird, so erhält
man wieder 1. Das ist aber bei ¬A nicht der Fall.
Definition (Erfüllbarkeit einer Menge) – Wiederholung
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.
Die Operatormenge {→} ist nicht vollständig.
Begründung: wie oben.
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.
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
Barbara König
89
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Endlichkeitssatz
Logik
90
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 eine erfüllende Belegung 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.
91
Barbara König
Logik
92
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 eine
erfüllende Belegung A gibt, nicht wie man sie 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
Barbara König
93
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Resolution (Idee)
Logik
94
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Resolution (Idee)
Wir betrachten im folgenden nur Formeln in KNF.
Es gilt:
Es gilt folgende Beziehung:
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.
95
Barbara König
Logik
96
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
97
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
Aussagenlogik
Prädikatenlogik
Resolvent (I)
98
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 @
@@
@@
@@
@
R = (K1 − {L}) ∪ (K2 − {L}).
Hierbei ist L definiert als
¬Ai
L=
Ai
Barbara König
R
K2
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
~
~~
~
~~
~~
99
Barbara König
Logik
100
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
K2
und schließlich sei
R
Res ∗ (F ) =
[
für n ≥ 0
Res n (F ).
n≥0
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
101
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anzahl der Resolventen
|Res ∗ (F )| ≤ 2n
Logik
102
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
Barbara König
B
Was passiert, wenn alle Klauseln maximal zweielementig sind?
Durch die Resolution von zweielementigen Klauseln können nur
wieder 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.
|Res ∗ (F )| ≤ 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
103
Barbara König
Logik
104
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:
Resolutionssatz (der Aussagenlogik)
Um die Aussage
Eine Klauselmenge F ist unerfüllbar genau dann, wenn
∈ Res ∗ (F ).
zu zeigen, gehen wir im allgemeinen folgendermaßen vor:
Für jedes n ∈ {0, 1, 2, 3, . . .} gilt P(n).
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
105
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beweisidee (I)
Logik
106
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
107
Barbara König
A4 wird mit 0 belegt
Logik
107
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}
{¬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
Logik
107
Aussagenlogik
Prädikatenlogik
Beweisidee (II)
Logik
108
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Beweisidee (II)
F0
{¬A2, A4}
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
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}
108
{A3, ¬A4} {¬A1, ¬A3, ¬A4}
Barbara König
{¬A4}
Logik
108
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
109
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Beispiel mit otter
Logik
110
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 )
otter ist eigentlich für die Prädikatenlogik gedacht, für die
Aussagenlogik ist im allgemeinen ein aussagenlogischer
SAT-Solver (wie limboole) angebracht.
gültig ist. Das ist genau dann der Fall, wenn
(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
111
Barbara König
Logik
112
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
113
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiel mit otter
Logik
114
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
115
Barbara König
Logik
116
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 daher
F 1 ∧ F2 → G .
i∈{1,...,N+1} j∈{1,...,N}
Keine Taube sitzt in zwei Schlägen:
^
^
F2 =
Er ist gültig genau dann, wenn F1 ∧ F2 ∧ ¬G unerfüllbar ist.
Dabei ist F1 ∧ F2 ∧ ¬G schon “beinahe” in konjunktiver
Normalform.
(¬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.
i∈{1,...,N+1} j1 ,j2 ∈{1,...,N}, j1 6=j2
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
117
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Aussagenlogik
Prädikatenlogik
Anwendung: Sudoku
Logik
118
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
119
Barbara König
Logik
1
2
4
Barbara König
5
8
9
5
7
9
119
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.
119
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Resolution
Logik
Aussagenlogik
Prädikatenlogik
Anwendung: Sudoku
120
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
&
&
&
&
&
121
Barbara König
Logik
122
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
123
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
124
Syntax der Prädikatenlogik: Variablen, Terme
Bemerkungen zur Syntax der Prädikatenlogik:
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
Barbara König
Aussagenlogik
Prädikatenlogik
Syntax der Prädikatenlogik: Variablen, Terme
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, . . .
125
Barbara König
Logik
126
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
2
3
4
Bemerkungen:
Atomare Formeln nennen wir genau 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 .
Falls P ein Prädikatsymbol der Stelligkeit k ist, und falls
t1 , . . . , tk Terme sind, dann ist P(t1 , . . . , tk ) eine Formel.
Quantoren binden stärker als alle anderen Operatoren, d.h.,
Formeln werden folgendermaßen geklammert:
Für jede Formel F ist auch ¬F eine Formel.
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
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)
127
Barbara König
Aussagenlogik
Prädikatenlogik
Freie und gebundene Variablen
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
128
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 ∗ .
129
Barbara König
Logik
130
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe zur Prädikatenlogik
NF: Keine Formel
Aufgabe zur Prädikatenlogik
F: Formel, aber nicht Aussage
NF
F
A: Aussage
NF: Keine Formel
A
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
F: Formel, aber nicht Aussage
A: Aussage
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
Aussagenlogik
Prädikatenlogik
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))
131
Barbara König
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
132
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
jedem k-stelligen Prädikatensymbol P (das im
Definitionsbereich von IA liegt) eine k-stellige Relation (bzw.
ein k-stelliges Prädikat) über UA zuordnet,
n
f A : UA
→ UA
(a1 , . . . , an ) 7→ f A (a1 , . . . , an ),
jedem k-stelligen Funktionssymbol f (das im
Definitionsbereich von IA liegt) eine k-stellige Funktion auf
UA zuordnet,
beispielsweise die einstellige Nachfolgerfunktion auf den
natürlichen Zahlen (UA = N):
f A: N → N
jeder Variablen x (sofern IA auf x definiert ist) ein Element
der Grundmenge UA zuordnet.
Barbara König
Logik
n 7→ n + 1
133
Barbara König
Logik
134
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
}
|
Der Definitionsbereich von IA ist also eine Teilmenge von
{Pik , fi k , xi | i = 1, 2, 3, . . . und k = 0, 1, 2, . . .} (wobei alle
Prädikatsymbole, Funktionssymbole und freien Variablen von
F vorkommen) und
der Wertebereich (bzw. Bildbereich) von IA ist eine Teilmenge
aller Relationen und Funktionen auf UA , sowie der Elemente
von UA .
n-mal
P
A
= {(a1 , . . . , an ) | a1 , . . . , an ∈ UA und . . . }
beispielsweise die zweistellige ≤-Relation auf den natürlichen
Zahlen:
PA ⊆ N × N
P A = {(n, m) | n, m ∈ N, n ≤ m}
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Wir schreiben abkürzend statt IA (P) einfach P A , statt IA (f )
einfach f A und statt IA (x) einfach x A .
135
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 die Form hat t = a. In diesem Fall ist also A(t) = aA .
Logik
136
Auf analoge Weise definieren wir (induktiv) den (Wahrheits-)Wert
der Formeln F unter der Struktur A, wobei wir ebenfalls die
Bezeichnung A(F ) verwenden.
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. Die Definition ist wieder induktiv.
Barbara König
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Semantik der Prädikatenlogik: Strukturen
Definition (Wert eines Terms)
2
Barbara König
Aussagenlogik
Prädikatenlogik
Semantik der Prädikatenlogik: Strukturen
1
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Hierbei steht A[x/d] für diejenige Struktur A0 , die überall mit A
0
identisch ist, bis auf die Definition von x A . Wir definieren
0
x A = d, wobei d ∈ UA = UA0 – unabhängig davon, ob IA auf x
definiert ist oder nicht.
Barbara König
139
Aussagenlogik
Prädikatenlogik
Modell, Gültigkeit, Erfüllbarkeit
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
140
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
F = ∀xP(x)
2
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
141
Barbara König
Logik
142
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
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 = N
Universum UA = N
Q A = {(n, m) | n < m}
PA = N
(das ist die einzige mögliche Interpretation von P, die zu
einem Modell führt)
f A : N → N mit f A (n) = n + 1
Struktur, die kein Modell für G = ∀x∃yQ(x, f (y )) ist:
Universum UB = N
Struktur, die kein Modell für F = ∀xP(x) ist:
Q B = {(n, m) | n < m}
Universum UB = N
PB
f B : N → N mit f B (n) = 1
= {n | 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
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
143
Aussagenlogik
Prädikatenlogik
Aufgabe zu Erfüllbarkeit und Gültigkeit
G: Gültig
E: Erfüllbar
E
Logik
144
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
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
147
Aussagenlogik
Prädikatenlogik
Tarski’s World – Screenshot
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
148
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
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
151
Barbara König
Aussagenlogik
Prädikatenlogik
Folgerung und Äquivalenz
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
152
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:
Wenn A Modell von {F1 , . . . , Fk } ist, dann ist A auch
Modell von G .
1
F1 = ∀xP(x) ∨ ∀xQ(x)
2
F2 = ∀x(P(x) ∨ Q(x))
3
F3 = ∀xP(x) ∨ ∀yQ(y )
J
Wir schreiben F1 , . . . , Fk |= G , falls G eine Folgerung von
F1 , . . . , Fk ist.
N
F1 |= F2
F2 |= F3
F3 |= F1
Definition (Äquivalenz)
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 .
Barbara König
Logik
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 Folgerung und Äquivalenz
1
F1 = ∃y ∀xP(x, y )
2
F2 = ∀x∃yP(x, y )
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aufgabe zu Folgerung und Äquivalenz
J
J
∀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
N
F1 |= F2
F2 |= F1
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
155
Barbara König
Aussagenlogik
Prädikatenlogik
Äquivalenzen
N
∨ G)
∧ G)
∨ G)
∧ G)
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
156
Ä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
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
A(F [x/t]) = A[x/A(t)] (F ).
Barbara König
159
Aussagenlogik
Prädikatenlogik
Bereinigte Formeln
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
160
Pränexform
Definition (Bereinigte Formel)
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.
Definition (Pränexform)
Lemma (Gebundene Umbenennung)
wobei Qi ∈ {∃, ∀}, n ≥ 0, und die yi (paarweise verschiedene)
Variablen sind. Es kommt ferner kein Quantor in F vor.
Eine Formel heißt pränex oder in Pränexform, falls sie folgende
Bauart hat
Q1 y1 Q2 y2 . . . Qn yn F ,
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
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
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 )
(∀xF ∨ G ) ≡ ∀x(F ∨ G )
(∃xF ∧ G ) ≡ ∃x(F ∧ G )
(∃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 )
(Für diese Umformung ist es unbedingt notwendig, dass F
zuvor bereinigt wurde.)
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
163
Barbara König
Aussagenlogik
Prädikatenlogik
Skolemform
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
164
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
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
167
Aussagenlogik
Prädikatenlogik
Skolemform
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
168
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
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
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
2
3
4
Bereinige F durch systematisches Umbenennen der
gebundenen Variablen. Es entsteht eine zu F äquivalente
Formel F1 .
5
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.
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 .
Forme die Matrix von F4 um in KNF, wodurch man die
Klauselform erhält (und schreibe diese Formel F5 dann als
Klauselmenge auf).
Stelle eine zu F2 äquivalente (und damit zu F
erfüllbarkeitsäquivalente) Aussage F3 in Pränexform her.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
171
Aussagenlogik
Prädikatenlogik
Klauselform
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
172
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)
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
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:
1
Darauf aufbauend kann dann ein automatisches Verfahren
entwickelt werden, dass mit Hilfe von Resolution die
Unerfüllbarkeit einer prädikatenlogischen Formel überprüft.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
2
Alle in F vorkommenden Konstanten sind in D(F ). Falls F
keine Konstante enthält, so ist a in D(F ).
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 ).
175
Barbara König
Aussagenlogik
Prädikatenlogik
Herbrand-Universum
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
176
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
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
179
Barbara König
Aussagenlogik
Prädikatenlogik
Der fundamentale Satz der Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
180
Herbrand-Expansion
Definition (Herbrand-Expansion)
Beispiel zum vorherigen Satz: Gegeben sei die Formel
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.)
Barbara König
Logik
Bemerkung: Da das Herbrand-Universum D(F ) abzählbar ist, ist
auch die Menge E (F ) abzählbar.
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-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 ∀zP(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
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
183
Aussagenlogik
Prädikatenlogik
Herbrand-Expansion
184
Satz (Gödel-Herbrand-Skolem)
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
Logik
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.
Beispiel:
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
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
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)
∗
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.
A[y1 /t1 ][y2 /t2 ]...[yn /tn ] (F ) = 1
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
187
Barbara König
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Endlichkeitssatz
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
188
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.
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
191
Barbara König
Aussagenlogik
Prädikatenlogik
Algorithmus von Gilmore
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
192
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
193
Barbara König
Logik
194
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
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
195
Aussagenlogik
Prädikatenlogik
Wiederholung: Resolution in der Aussagenlogik
{L0 , . . . , L0m , ¬A}
{L1 , . . . , Ln , L01 , . . . , L0m }
Eingabe: F
Mini-Beispiel:
{¬A, B}
II
II
II
II
I
{A}
z
zz
zz
z
zz
{B} QQ
QQQ
QQQ
QQQ
QQQ
QQ
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}
“Mittel der Aussagenlogik”
Unerfüllbarkeitstest
Eine Klauselmenge ist unerfüllbar genau dann, wenn die leere
Klausel abgeleitet werden kann.
Barbara König
Logik
196
Algorithmus von Gilmore:
Sei F eine prädikatenlogische Aussage in Skolemform und sei
{F1 , F2 , F3 , . . . , } eine Aufzählung von E (F ).
1
jj
jjjj
j
j
j
jjj
jjjj
TTTT
TTTT
TTTT
TTT
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Anpassung des Algorithmus von Gilmore
Resolutionsschritt:
{L1 , . . . , Ln , A}
Barbara König
197
wir verwenden Resolution für den
Barbara König
Logik
198
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
199
Barbara König
Aussagenlogik
Prädikatenlogik
Grundresolutionssatz
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
200
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
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (a))}}
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
Weglassen von Klauseln und Resolutionsschritten, die nicht zur
Herleitung der leeren Klausel beitragen.
Barbara König
Logik
201
Barbara König
Logik
202
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Grundresolutionssatz
Grundresolutionssatz
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 (x)), Q(x)}
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
{¬P(f (g (y )))}
RRR
RRR
RRR
R
[x/g (f (a))] RRRR
{¬Q(g (a))}
{P(f (x)), Q(x)}
{
{{
{
{{
{{
{
{Q(g (f (a)))} {{{
{{
{{
{
{{
{{
{¬P(f (g (y )))}
RRR
RRR
RRR
R
[x/g (y )] RRRR
[y /f (a)]
{¬Q(g (a))}
{
{{
{
{{
{{
{
{Q(g (y ))} {{{{[]
{
{{
{
[y /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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
203
Barbara König
Aussagenlogik
Prädikatenlogik
Wiederholung: Substitutionen
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
204
Vertauschen von Substitutionen
Eine Substitution sub ist eine Abbildung von Variablen auf Terme.
Vertauschen von Substitutionen
Regel für das Vertauschen von Substitutionen:
F sub: Anwendung der Substitution sub auf die Formel F
t sub: Anwendung der Substitution sub auf den Term t
[x/t]sub = sub[x/t sub],
Eine Substitution kann auch als Folge von Ersetzungen beschrieben
werden:
[x/f (z)] [y /g (a, z)] [z/h(w )]
falls x in sub nicht vorkommt, d.h. weder ersetzt noch eingesetzt
wird.
entspricht folgender entflochtener Substitution:
Beispiele:
[x/f (h(w )), y /g (a, h(w )), z/h(w )].
[x/f (y )] [y /g (z)] = [y /g (z)][x/f (g (z))]
| {z }
Ersetzungen werden von links nach rechts durchgeführt!
sub
aber: [x/f (y )] [x/g (z)] 6= [x/g (z)][x/f (y )]
| {z }
Verknüpfung von Substitutionen: sub 1 sub 2 (zuerst wird sub 1
angewandt, anschließend sub 2 ).
Barbara König
Logik
sub
205
Barbara König
Logik
206
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
Definition (Unifikation)
Beispiele: Bestimmen Sie die allgemeinsten Unifikatoren folgender
Mengen (falls sie existieren):
Gegeben sei eine Menge L = {L1 , . . . , Lk } von Literalen. Eine
Substitution sub heißt Unifikator von L, falls
{P(x), P(f (y ))}
{P(x), Q(y )}
L1 sub = L2 sub = · · · = Lk sub
{Q(x, f (x)), Q(y , g (y ))}
Das ist gleichbedeutend mit |Lsub| = 1, wobei
Lsub = {L1 sub, . . . , Lk sub}.
{P(x), P(f (x))}
{Q(x, f (y )), Q(g (z), f (x))}
{Q(x, f (y )), Q(g (y ), f (x))}
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.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
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
{Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
Barbara König
207
Aussagenlogik
Prädikatenlogik
Unifikator/Allgemeinster Unifikator
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
208
Unifikationsalgorithmus
Unifikationsalgorithmus
Bemerkungen:
Eingabe: eine Literalmenge L 6= ∅
Eine Menge von Literalen kann mehrere allgemeinste
Unifikatoren haben.
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]
Beispielsweise sind sowohl [y /f (x)] als auch [x/z][y /f (z)]
allgemeinste Unifikatoren von {P(f (x)), P(y )}.
Alle allgemeinsten Unifikatoren kann man jedoch durch
einfache Variablenumbenennung ineinander umformen.
Eine Menge L von (mehr als zwei) Literalen kann unter
Umständen nicht unifizierbar sein, auch wenn alle Paare von
Literalen unifizierbar sind.
Beispiel: {Q(x, f (y )), Q(f (y ), z), Q(z, f (x))}
Ausgabe: sub
Barbara König
Logik
209
Barbara König
Logik
210
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Unifikationsalgorithmus
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Korrektheit des Unifikationsalgorithmus
Satz (Korrektheit des Unifikationsalgorithmus)
Der Unifikationsalgorithmus terminiert immer und gibt bei
Eingabe einer nicht-unifizierbaren Literalmenge “nicht
unifizierbar” aus.
Beispiel: Wende den Unifikationsalgorithmus auf folgende
Literalmenge an
Wenn eine Menge L von Literalen unifizierbar ist, dann findet
der Unifikationsalgorithmus immer den allgemeinsten
Unifikator von L.
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
Das bedeutet unter anderem auch, dass jede unifizierbare Menge
von Literalen einen allgemeinsten Unifikator hat (Unifikationssatz
von Robinson).
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Prädikatenlogische Resolution
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
212
Prädikatenlogische Resolution
Schreibweise:
Zu resolvierende Literale unterstreichen und
Substitutionen angeben
Definition (Prädikatenlogischer Resolvent)
Eine Klausel R heißt prädikatenlogischer Resolvent zweier Klauseln
K1 , K2 , wenn folgendes gilt:
Beispiel:
Es gibt Substitutionen s1 , s2 , die Variablenumbenennungen
sind, so dass K1 s1 und K2 s2 keine gemeinsamen Variablen
enthalten.
{P(x), P(f (y )), Q(x, y )}
m
mmm
m
m
mmm
mmm s2 =[x/z]
{Q(f (g (z)), g (z))}
Es gilt
R = ((K1 s1 − {L1 , . . . , Lm }) ∪ (K2 s2 − {L01 , . . . , L0n }))sub.
Logik
{¬P(f (g (x)))}
TTTT
TTTT
TTTT
s1 = []
TTT
sub = [x/f (g (z)), y /g (z)]
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.)
Barbara König
Barbara König
211
Hinweis: Es gibt noch zwei weitere Möglichkeiten, einen
prädikatenlogischen Resolutionsschritt mit diesen Klauseln
auszuführen.
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
Aufgabe
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prädikatenlogische Resolution
Sind diese Klauseln resolvierbar?
Wieviele mögliche Resolventen gibt es?
K1
{P(x), Q(x, y )}
{Q(g (x)), R(f (x))}
{P(x), P(f (x))}
K2
{¬P(f (x))}
{¬Q(f (x))}
{¬P(y ), Q(y , z)}
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiel: Leiten Sie aus folgender Klauselmenge die leere Klausel
her (diesmal mit prädikatenlogischer Resolution anstatt
Grundresolution).
Möglichkeiten
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
{{P(f (x)), Q(x)}, {¬P(f (g (y )))}, {¬Q(g (a))}}
215
Barbara König
Aussagenlogik
Prädikatenlogik
Korrektheit und Vollständigkeit
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
216
Lifting-Lemma
Lifting-Lemma
Zwei Fragen:
Seien K1 , K2 zwei
prädikatenlogische Klauseln und
seien K10 , K20 zwei Grundinstanzen
hiervon, die aussagenlogisch
resolvierbar sind und den
Resolventen R 0 ergeben.
Wenn man mit prädikatenlogischer Resolution aus einer
Formel F die leere Klausel ableiten kann, ist F dann
unerfüllbar? (Korrektheit)
Kann man für eine unerfüllbare Formel F immer durch
prädikatenlogische Resolution die leere Klausel herleiten?
(Vollständigkeit)
Dann gibt es einen
prädikatenlogischen Resolventen R
von K1 , K2 , so dass R 0 eine
Grundinstanz von R ist.
Obiges ist zwar bereits für die Grundresolution bekannt, aber noch
nicht für die prädikatenlogische Resolution.
Barbara König
Logik
217
Barbara König
Logik
K1 @
K10
K2
@@
@@
@@
@
~
~~
~
~~
~~
0
K2
R
@@
~
@@
~
@@
~~
@ ~~~
R0
—: Resolution
→: Substitution
218
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Beispiel zum Lifting-Lemma
Resolutionssatz
{P(f (x)), Q(x)}
nn
nnn
n
n
nn
nnn
{Q(g (y ))}
SSS
SSS
SSS
SSS
SS
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.)
{¬P(f (g (y )))}
SSS
SSS
SSS
[x/g (a)]
SSS
SS
{P(f (g (a))), Q(g (a))}
[y /a]
{¬P(f (g (a)))}
nn
nnn
n
n
nn
nnn
[y /a]
Für den Beweis des Resolutionssatzes benötigen wir noch den
Begriff des Allabschlusses . . .
{Q(g (a))}
Barbara König
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Barbara König
219
Aussagenlogik
Prädikatenlogik
Resolutionssatz
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Verfeinerung der Resolution (Ausblick)
Für eine Formel H mit freien Variablen x1 , . . . , xn bezeichnen wir
mit
∀H = ∀x1 ∀x2 . . . ∀xn H
Probleme bei der prädikatenlogischen Resolution:
ihren Allabschluss.
Zu viele Wahlmöglichkeiten
Sei F eine Aussage in Skolemform und sei F ∗ deren Matrix in
KNF, so gilt:
^
F ≡ ∀F ∗ ≡
∀K
Immer noch zu viele Sackgassen
Kombinatorische Explosion des Suchraums
Lösungsansätze:
K ∈F ∗
Strategien und Heuristiken: Verbieten bestimmter
Resolutionsschritte, Suchraum wird dadurch eingeschränkt
Beispiel:
F ∗ = P(x, y ) ∧ ¬Q(y , x)
F
220
Vorsicht: Die Vollständigkeit darf dadurch nicht verloren gehen!
≡ ∀x∀y (P(x, y ) ∧ ¬Q(y , x)) ≡ ∀x∀yP(x, y ) ∧ ∀x∀y (¬Q(y , x))
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
Beispiele
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Wir betrachten folgende Klauselmenge (Beispiel aus dem
Schöning):
Ist die Klauselmenge
{{P(f (x))}, {¬P(f (x)), Q(f (x), x)}, {¬Q(f (a), f (f (a)))},
F
{¬P(x), Q(x, 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)}}
unerfüllbar?
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
223
Barbara König
Aussagenlogik
Prädikatenlogik
Beispiele
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
224
Beispiele
Das Affe-Banane-Problem (Teil 1)
Wir betrachten folgende prädikatenlogische Formel:
(A1) Ein Tier, das Arme hat und nahe bei einem Ding ist,
kann das Ding erreichen.
F = ∀x(P(x) → P(f (x)))
(A2) Ein Tier auf einem hohen Gegenstand, der unter den
Bananen steht, ist nahe bei den Bananen.
Ist diese Formel gültig, erfüllbar oder unerfüllbar?
(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.
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.
(A4) Wenn ein Tier einen Gegenstand ersteigt, ist es auf
dem Gegenstand.
(A5) Der Affe ist ein Tier, das Arme hat.
Barbara König
Logik
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
Beispiele
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Beispiele
Schema für die Lösung solcher Probleme:
Das Affe-Banane-Problem (Teil 2)
Seien A1 , . . . , An die Axiome oder Voraussetzungen und
(A6) Der Stuhl ist ein hoher Gegenstand.
S die Schlussfolgerung.
(A7) Die Bananen sind ein Ding.
Um zu zeigen, dass
(A8) Der Affe, die Bananen und der Stuhl sind im Raum.
A1 ∧ · · · ∧ An → S
(A9) Der Affe kann den Stuhl unter die Bananen schieben.
(A10) Die Bananen sind nicht nahe am Boden.
gültig ist, zeigen wir, dass
(A11) Der Affe kann den Stuhl ersteigen.
A1 ∧ · · · ∧ An ∧ ¬S
(S?) Kann der Affe die Bananen erreichen?
unerfüllbar ist.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
227
Barbara König
Aussagenlogik
Prädikatenlogik
Anwendungen
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
228
Motivation: Logik-Programmierung
Anwendungen der prädikatenlogischen Resolution
Theorembeweiser: Beweis von Sätzen aus der Mathematik
Wir betrachten sogenannte Hornklauseln, bei denen höchstens ein
Literal positiv ist (analog zu den aussagenlogischen Hornformeln).
Verifikation: Beweis der Korrektheit von Programmen
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.
Schlussfolgerung in Expertensystemen
Planungssysteme
Logik-Programmierung (PROLOG)
siehe nächstes Kapitel
Auf dieser Idee basieren Logik-Programmiersprachen, wie
beispielsweise PROLOG.
Bemerkung: Neben Resolution gibt es noch weitere Methoden, die
Unerfüllbarkeit prädikatenlogischer Formeln zu zeigen,
beispielsweise mit Hilfe von Tableau-Beweisen.
Barbara König
Logik
229
Barbara König
Logik
230
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
Motivation: Logik-Programmierung
Beispiel: wir betrachten folgende Formalisierung der Addition
F
Wir wollen nun überprüfen, ob die Formel
= ∀x A(x, null, x) ∧
G = ∃u A(s(s(s(null))), s(s(null)), u)
∀x∀y ∀z (A(x, y , z) → A(x, s(y ), s(z)))
aus dieser Formel ableitbar ist. D.h., gibt es ein u für das gilt
3 + 2 = u?
Dabei ist A ein dreistelliges Prädikatsymbol mit der Bedeutung:
A(x, y , z) genau dann, wenn x + y = z.
Wir negieren und skolemisieren die Formel F → G und erhalten
folgende Klauselmenge:
Außerdem ist s eine einstellige Funktion, die die
Nachfolgerfunktion (successor function) darstellen soll. Eine
natürlich Zahl n soll so dargestellt werden:
{{A(x, null, x)}, {¬A(x, y , z), A(x, s(y ), s(z))},
n
s (null) = s(s(. . . (s( null)) . . . ))
| {z }
{¬A(s(s(s(null))), s(s(null)), u)}}
n mal
Dabei heißt die aus G entstandene Klausel Zielklausel.
Des weiteren soll die Konstante null die 0 repräsentieren.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
231
Barbara König
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
232
{¬A(s(s(s(null))), s(s(null)), u)}
{¬A(x, y , z), A(x, s(y ), s(z))}
{¬A(s(s(s(null)))), s(null), z}
{¬A(x, y , z 0 ), A(x, s(y ), s(z 0 ))}
{¬A(s(s(s(null)))), null, z 0 }
{A(x, null, x)}
hhh
hhhh sub1 =
h
h
h
hhhh[u/s(z), x/s(s(s(null))), y /s(null)]
hhhh
h
h
h
hhhh
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.
hhh
hhhh sub2 =
h
h
h
hhhh [z/s(z 0 ), x/s(s(s(null))), y /null]
hhhh
h
h
h
hhhh
Dabei entstehen als Resolventen wiederum nur Klauseln, die
nur aus negativen Literalen bestehen.
Logik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Motivation: Logik-Programmierung
Bemerkungen:
Barbara König
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
233
hhhh
hhhh sub =
h
h
h
3
hhhh
hhhh [z 0 /s(s(s(null))), x/s(s(s(null)))]
h
h
h
hhhh
hhhh
Barbara König
Logik
234
Aussagenlogik
Prädikatenlogik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Aussagenlogik
Prädikatenlogik
Motivation: Logik-Programmierung
Hornklauseln
Definition (Hornklauselprogramm, Teil 1)
Wir sammeln alle Substitutionen auf, wenden sie auf u an und
erhalten:
Ein Hornklauselprogramm oder Logikprogramm ist eine
Klauselmenge, in der jede Klausel höchstens ein positives Literal
enthält. Die Klauseln werden folgendermaßen klassifiziert:
u sub 1 sub 2 sub 3 = s(z) sub 2 sub 3
= s(s(z 0 )) sub 3
Tatsachenklauseln: Klauseln der Form {P} mit einem positiven
Literal P.
= s(s(s(s(s(null)))))
PROLOG-Schreibweise: P.
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.
Prozedurklauseln: Klauseln der Form {P, ¬Q1 , . . . , ¬Qk }, die
Folgerungen darstellen.
PROLOG-Schreibweise: P :− Q1 , . . . , Qk (:− steht
für ←)
Diesen Prozess nennt man auch Antwortgenerierung.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
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
Barbara König
235
Aussagenlogik
Prädikatenlogik
Hornklauseln
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
236
SLD-Resolution
Folgende Form der Resolution funktioniert speziell für
Hornklauseln:
Definition (SLD-Resolution)
Definition (Hornklauselprogramm, Teil 2)
Tatsachen- und Prozedurklauseln nennt man auch
Programmklauseln. Sie stellen das eigentliche Logikprogramm dar.
K1
qqq
qqq
G1
K2
qq
q
q
qq
G
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.
Logikprogramme werden aufgerufen durch sogenannte Zielklauseln:
Zielklausel: eine Klausel der Form {¬Q1 , . . . , ¬Qk }, entspricht
dem negierten Berechnungsziel
PROLOG-Schreibweise: ?− Q1 , . . . , Qk
G2
..
.
Kn
ss
s
s
sss
Die Abkürzung SLD steht für “linear resolution with selection
function for definite clauses”
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
SLD-Resolution
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Ausblick
Es gibt noch viele weitere Logiken, neben der Aussagenlogik und
der Prädikatenlogik 1. Stufe.
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.
Barbara König
Aussagenlogik
Prädikatenlogik
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
Prädikatenlogik 2. Stufe
Quantifikation über Mengen (einstellige Prädikate) und Relationen
(mehrstellige Prädikate) wird erlaubt.
Barbara König
239
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
240
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.
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
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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
243
Barbara König
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
244
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 sind oder
nicht möglich sind. Diesen wird dann der Wahrheitswert 21
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, gilt nicht oder gilt vielleicht.
Die am häufigsten benutzten Temporallogiken sind: CTL
(Computation Tree Logic), LTL (Linear Time Logic), modaler
µ-Kalkül
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
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 der Gültigkeit von F → H folgt immer auch die
Gültigkeit von 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
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
247
Barbara König
Aussagenlogik
Prädikatenlogik
Ausblick
Logik
Grundbegriffe, Äquivalenz und Normalformen
Herbrandtheorie und Resolution
Grundlagen der Logik-Programmierung und Ausblick
248
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.
249
Barbara König
Logik
250
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
251
Herunterladen