Theoretische Informatik: Logik

Werbung
Theoretische Informatik: Logik
Vorlesung im Wintersemester 2010/11
Martin Lange, Bahareh Badban, Norbert Hundeshagen,
Marcel Vollweiler, Kadir Aytemür, Stephan Opfer
FG Formale Methoden und Verifikation (Arbeitstitel)
FB Elektrotechnik/Informatik
Universität Kassel
8. Februar 2011
Organisatorisches
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Inhalt
1
Motivation und Geschichte
Woher kommt die Logik, wofür ist sie gut und wozu braucht man
sie in der Informatik?
2
Aussagenlogik
3
Prädikatenlogik erster Stufe
4
Logikprogrammierung
3
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Termine
Vorlesung 3std., montags 9:00–9:45 (WA 0425) und 14:15–15:45
(WA 0446)
4 Übungsgruppen, jeweils 1std.
G1 Dienstag 10–11, WA -1319
G2 Dienstag 15–16, WA-Neubau -1607
G3 Mittwoch, 12–13, WA -1319
G4 Donnerstag, 10–11, WA 1114
Angebot: 1 Übungsgruppe in Englisch
Homepage der Vorlesung:
http://cms.uni-kassel.de/unicms/index.php?id=32756
4
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Literatur
• Vorlesungsfolien
• Skripten:
• Vorlesung “Logik für Informatiker”, LMU München, SS 2008,
Prof. Hofmann
• Vorlesung “Mathematische Logik”, RWTH Aachen, SS 2008,
Prof. Grädel
• Lehrbücher:
• Uwe Schöning, Logik für Informatiker, Spektrum Verlag
• Heinz-Dieter Ebbinghaus, Jörg Flum, Wolfgang Thomas,
Einführung in die mathematische Logik, Spektrum Verlag
• andere:
• Uli Furbach, Logic for Computer Scientists, Wikibook auf
http://en.wikibooks.org/wiki/Logic for Computer Scientists
5
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Übungsblätter
wöchentliches Übungsblatt; Ausgabe montags nachmittags online
Bearbeitung als Hausaufgabe
• Bearbeitung in Gruppen zulässig (und empfohlen)
• Aufschreiben der Lösungen einzeln!
Abgabe 1 Woche später über Postkasten oder in der Vorlesung
Korrektur: Feedback über Kommentare und Notensystem (1–5)
Besprechung des Übungsblatts und Rückgabe der Hausaufgaben
wiederum 1 Woche später in Übungsgruppen
6
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Prüfung
Modul wird durch Klausur am Ende des Semesters geprüft
Zulassungsvoraussetzung: 75% der Übungsaufgaben sinnvoll
bearbeitet (= 1–4)
Nachholklausur im nächsten Semester
Klausur wird so gestellt, dass Erreichen der hier definierten
Lernziele abgeprüft wird!
7
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Lernziele
Zielgruppe: Pflichtmodul im Bachelor-Studiengang Informatik
nach erfolgreicher Teilnahme an dieser Veranstaltung soll man
• wichtige logische Begriffe wie Beweis, Erfüllbarkeit und
Allgemeingültigkeit kennen und damit umgehen können,
• in der Lage sein, formal die Richtigkeit einer Aussage mit
Bezug auf die Informatik darlegen zu können,
• Aussagen- und Prädikatenlogik erster Stufe, etc. kennen und
verstehen,
• Entscheidungsverfahren und Beweiskalküle für solche Logiken
kennen und anwenden können,
• Logik-Tools (z.B. Theorembeweiser) kennengelernt haben.
8
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Logik Lernen
Vorlesung dient der Präsentation des zu erlernenden Stoffs
Übung dient zur Überprüfung der Aneigung des zu vermittelnden
Wissens
Aneignung des zu vermittelnden Wissens geschieht durch
• aufmerksame (mindestens passive, gerne auch aktive)
Teilnahme an der Vorlesung
• aktive Teilnahme an der Übung
• ganz wichtig: rigoroses Bearbeiten der Übungsblätter
• ergänzendes Tutorium: jeweils 1std. im Anschluss an
Übungsgruppen
9
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Richtlinien für die Übungsblätter
• Aneignung wichtiger Qualifikationen, die von einem
Informatiker mit Hochschulabschluss erwartet werden
• intensive und dauerhafte Auseinandersetzung mit dem
Lernstoff
• vollen Zeitraum einer Woche ausschöpfen
• Bearbeitung in Gruppenarbeit (Faustregel: 3–4), Aufschreiben
alleine
• Lösungen immer begründen (nicht in Romanform)
10
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
1.0 Organisatorisches
Schwarzbuch
• Übungsblatt runterladen, 30min anstarren, zu schwer, weg
damit
• nach Musterlösungen fragen
• nur passiv an Übungsgruppen teilnehmen
• Hausaufgaben während Vorlesungszeit abschreiben, dann vor
Klausur 1 Woche intensiv lernen
• anhand von Lösungen statt von Aufgaben lernen
• Vorlesungsfolien mit einem Skript verwechslen
11
Motivation und Geschichte
I Geschichte der Logik
I Logik und Informatik
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Aufgaben der Logik
Logik (aus Griechischem) = Lehre des vernünftigen Schließens,
Kunst des Denkens (ursprünglich)
Logik ist Teilgebiet von Philosophie, Mathematik und Informatik
• Philosophie: liefert Fundament für Argumentationen,
formalisiert Wahrheitsbegriff
• Mathematik: formalisiert Beweise
• Informatik: enge Beziehungen zum Begriff der Berechenbarkeit
13
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Ausprägungen
je nach Zuordnung in verschiedener Ausprägung
• Logik der natürlichen Sprache
beschäftigt sich vor allem mit der Gültigkeit von
Argumentationen
• formale Logik oder auch mathematische Logik
• basiert auf künstlicher Sprache (Formeln)
• studiert Auswirkungen verschiedener Schlussregeln, etc.
• Umgangsprache
beschreibt laterales Denken oder rationales Handeln
in dieser Vorlesung: mathematische Logik
14
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Ursprünge der Logik
entstanden in der griechischen Philosophie, insbesondere durch
Aristoteles und Euklid
Aristoteles untersuchte Syllogismen (natürlichsprachliche
Schlussregeln), mit deren Hilfe eine Aussage aus anderen folgt
Bsp.:
• Aussage 1: “Es regnet.”
• Aussage 2: “Wenn es regnet, dann wird die Straße nass.”
Daraus folgt, dass die Straße nass ist.
Die hier angewandte Schlussregel nennt man Modus Ponens.
15
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Euklids Beweisbegriff
Euklid hat den Begriff des Beweises formalisiert:
Beweis für eine Aussage A ist eine Sequenz A0 , . . . , An von
Aussagen, sodass
• A = Ai
• für alle
• Ai
• Ai
für ein i ∈ {0, . . . , n}, und
i = 0, . . . , n gilt entweder
ist Axiom (= unbewiesene Annahme), oder
folgt aus A0 , . . . , Ai−1 mithilfe von Schlussregeln
liefert relativen Wahrheitsbegriff: Aussage A kann mit gewissen
Axiomen und Regeln beweisbar sein, mit anderen jedoch nicht
16
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Euklids Geometrie
für Euklid war Formalisierung des Beweisbegriffs Mittel zum Zweck
interessant für ihn war Geometrie, die er mithilfe von
geometrischen und logischen Axiomen (Postulaten) fundiert hat
Bsp.:
• Zu gegebenem Mittelpunkt und Radius lässt sich ein Kreis
zeichnen.
• Ist x gleich z und y gleich z, so ist auch x gleich y .
• ...
Maßgabe für die Wahl der Axiome war, die Wirklichkeit
abzubilden, nicht jedoch “eine Geometrie” zu schaffen
17
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Euklids fünftes Postulat
Zu einer Gerade g und einem Punkt p außerhalb von g
gibt es genau eine Gerade g 0 , die durch p geht und zu g
parallel ist.
erscheint im Vergleich zu anderen Postulaten recht kompliziert
Versuche, dieses aus anderen Postulaten herzuleiten
alle Versuche misslangen über 2000 Jahre hinweg
erst ca. 1830 ersetzen Bolyai und Lobatschewski dies durch andere
Axiome und erhielten – sehr zur Überraschung – widerspruchsfreie
Geometrien
bei Lobatschweski z.B. lassen sich mindestens zwei verschiedene,
parallele Geraden durch den Punkt ziehen
18
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Logik in der Neuzeit
Kant betrachtete die Wissenschaft der Logik mit Aristoteles
Syllogismen als abgeschlossen
nicht jeder hielt sich jedoch an die Vorgabe, z.B. Boole und de
Morgan
Boole betrachtete Logik als mathematischen Kalkül mit Werten 0
und 1 (falsch und wahr) und entsprechenden Rechenregeln
sehr bedeutend war Frege, der versuchte, die gesamte Mathematik
auf ein logisches Fundament zu stellen – die Mengentheorie; dazu
entwickelte er Prädikatenlogik als formale Sprache und
entsprechende Beweissysteme
Russell und Zermelo fanden in Freges Mengentheorie jedoch einen
Widerspruch
19
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Die Russellsche Antinomie
Def.: Sei M die Menge aller Mengen, die sich selbst nicht
enthalten.
Frage: Enthält M sich selbst?
dasselbe Prinzip:
• Martin sagt “Martin lügt”. Spricht er die Wahrheit, oder lügt
er?
• In einem Dorf gibt es einen Barbier, der alle Dorfbewohner
rasiert, die sich nicht selbst rasieren. Rasiert er sich selbst?
Auswege für die Mathematik:
• Typtheorie von Russell und Whitehead
• Mengenlehre von Zermelo
20
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.1 Motivation und Geschichte – Geschichte der Logik
Weitere bedeutende Logiker und ihre Arbeiten
• Gentzen: System des natürlichen Schließens und
Sequenzenkalkül
• Löwenheim und Skolem: Semantik der Prädikatenlogik
• Gödel: Vollständigkeit der Prädikatenlogik erster Stufe und
Unvollständigkeit der Arithmetik
• Tarski: ebenfalls Prädikatenlogik
21
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.2 Motivation und Geschichte – Logik und Informatik
Logik für die Informatik
Entwicklungen in der Logik haben maßgeblich zur Entwicklung der
Informatik beigetragen
• Boolesche Algebra und Schaltkreise
• Hilberts Programm: wollte gesamte Mathematik logisch
fundieren und Konsistenz bewiesen sehen; Unmöglichkeit
dessen von Gödel gezeigt
• Unentscheidbarkeit des Entscheidungsproblems für
Prädikatenlogik erster Stufe durch Turing und Church gezeigt;
Entwicklung der Turing-Maschine (= abstrakter, universeller
Computer)
22
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.2 Motivation und Geschichte – Logik und Informatik
Logik in der Informatik
• Rechnerarchitektur: Schaltkreise und logische Formeln;
Aussagenlogik
• logische Programmiersprachen wie z.B. Prolog
• Programmverifikation: operationelle Semantik eines
Programms als mathematische Struktur, erwünschte
Eigenschaft des Programms als logische Formel; meist
spezialisierte Logiken
• Datenbanktheorie: Datenbank wiederum als mathematische
Struktur, Anfragen daran als Auswertung einer logischen
Formel darin; meist Prädikatenlogik
• Wissensrepräsentation: Wissen durch Formeln beschrieben,
Herleitung von neuem Wissen durch logische Herleitungen
darauf; meist spezialisierte Logiken
• ...
23
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.2 Motivation und Geschichte – Logik und Informatik
Informatik für die Logik
leistungsstarke Rechner und Software haben auch zu
entscheidenden Entwicklungen in der Logik beigetragen
• Theorembeweiser erlauben das Finden und Überprüfen sehr
großer Beweise
• Beweis des 4-Farben-Satzes: erst Reduktion von unendlich
vielen auf endlich viele Fälle, dann Überprüfung derer mit
einem Computer
• SAT-Solver: mittlerweile sehr leistungsstarke Tools zum Lösen
des Erfüllbarkeitsproblems der Aussagenlogik, dadurch auch
besonders interessant
• ...
24
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
2.2 Motivation und Geschichte – Logik und Informatik
Facetten der Logik
zwei Arten, den Begriff der Wahrheit in einer formalen Logik zu
erklären
• Modelltheorie: Wahrheitsbegriff erklärt durch Interpretation
von Formeln in Modellen
• Beweistheorie: Wahrheitsbegriff erklärt durch Axiome und
Beweisregeln
hier: beides
25
Aussagenlogik
I Syntax und Semantik
I Boolesche Algebra
I Erfüllbarkeit
I SAT-Solver
I Kompaktheit
I Beweiskalküle
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Einführendes Beispiel
Norbert sagt “Marcel sagt die Wahrheit”.
Marcel sagt “Bahareh lügt”.
Bahareh sagt “Norbert und Marcel sagen entweder beide die
Wahrheit oder lügen beide”.
Wer lügt, und wer sagt die Wahrheit?
27
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Syntax der Aussagenlogik
Wir setzen eine Menge V = {A, B, C , . . .} von Aussagenvariablen
voraus.
Formeln der Aussagenlogik (über V) sind induktiv definiert durch:
• Jeder Aussagenvariable A ist eine Formel.
• Die Konstanten tt und ff sind Formeln.
• Sind ϕ und ψ Formeln, so sind auch
• (ϕ ∧ ψ)
• (ϕ ∨ ψ)
• ¬ϕ
• (ϕ → ψ)
• (ϕ ↔ ψ)
Formeln.
(“und”)
(“oder”)
(“nicht”)
(“wenn-dann”)
(“genau-dann-wenn”)
28
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Präzedenzregeln
zur besseren Lesbarkeit lassen wir auch Klammern weg (z.B. ganz
außen)
Bindungskraft der Operatoren (auch Junktoren genannt) in
absteigender Reihenfolge:
¬, ∧, ∨, →, ↔
soll heissen:
((A ∨ (¬(B ∧ ¬C ))) ↔ (C → A))
schreiben wir auch als
A ∨ ¬(B ∧ ¬C ) ↔ C → A
29
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Interpretationen
Def.: Sei B = {0, 1} Menge der Booleschen Werte falsch und wahr.
Def.: Eine Interpretation (Variablenbelegung) ist eine Abbildung
I : V → B.
Interpretationen können Modelle einer Formel sein; diese
Beziehung ist induktiv definiert: I |= tt, I 6|= ff und
I |= A gdw. I(A) = 1
I |= ϕ ∧ ψ
gdw. I |= ϕ und I |= ψ
I |= ϕ ∨ ψ
gdw. I |= ϕ oder I |= ψ
I |= ¬ϕ
gdw. I 6|= ϕ
I |= ϕ → ψ
gdw.
wenn I |= ϕ dann I |= ψ
I |= ϕ ↔ ψ
gdw. I |= ϕ genau dann, wenn I |= ψ
Beachte Unterscheidung zwischen Formeln ff, tt (Syntax) und
zugeordneten Werten 0, 1 (Semantik)
30
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Beispiele
Bsp.: I = {A 7→ 1, B 7→ 0, C 7→ 1, D 7→ 0}
• I |= (A ∨ B) ∧ (C ∨ D)
• I 6|= (¬A ∨ B) ∨ (¬C ∧ D)
• I |= A → ¬B
• I |= ¬A → B
• I 6|= A → B
• I |= ¬A → ¬B
• I |= (A ↔ B) ↔ ¬(C ↔ ¬D)
• I |= ¬(¬D → ff)
31
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Beispiel
Logik über anonymen Aussagenvariablen für Theorie der Wahrheit
beliebiger Aussagen
Formeln lassen sich natürlich mit konkreten Aussagen instanziieren
Bsp. (weitergef.):
• Norbert sagt “Marcel sagt die Wahrheit”.
• Marcel sagt “Bahareh lügt”.
• Bahareh sagt “Norbert und Marcel sagen entweder beide die
Wahrheit oder lügen beide”.
Lösung erfordert Formalisierung; drei Variablen B, M, N mit
intendierter Bedeutung: Bahareh sagt die Wahrheit (B), . . .
obiger Sachverhalt wird beschrieben durch die Formel
(N ↔ M) ∧ (M ↔ ¬B) ∧ (B ↔ (M ↔ N))
jedes Modell dieser Formel beschreibt Lösung des Rätsels
32
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Alternative Definitionen der Semantik
zur Erinnerung:
• Interpretation einer Formel = Variablenbelegung I : V → B
• erfüllende Interpretation = Modell
alternative Repräsentationen für gleiche Semantik
• Interpretation ist Teilmenge der Variablenmenge W ⊆ V
Übung: definiere induktiv, was W |= ϕ bedeutet
beachte: Abbildung I definiert in natürlicher Weise Teilmenge
WI = {A ∈ V | I(A) = 1}
• Interpretation wird induktiv fortgesetzt zu I : AL → B
I(ϕ ∧ ψ) := min{I(ϕ), I(ψ)}
Übung: definiere die Fortsetzung für die anderen Junktoren
33
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Formeln und Boolesche Funktionen
eine Formel ϕ mit n vorkommenden Aussagenvariablen A1 , . . . , An
stellt eine Funktion vom Typ Bn → B dar
es gibt nur 2n viele Interpretationen, die sich in A1 , . . . , An
unterscheiden; also gibt es nur 2n viele verschiedene “Eingaben” an
ϕ
Funktionswert 1 besagt, dass die durch Argumente gegebene
Interpretation ein Modell ist
Funktionen mit endlichem Domain können durch Tabellierung aller
Argumente repräsentiert werden
34
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
35
Wahrheitstafeln
. . . für die Junktoren und Konstanten der Aussagenlogik
ϕ
0
0
1
1
ϕ
0
0
1
1
ψ
0
1
0
1
ψ
0
1
0
1
ϕ∧ψ
0
0
0
1
ϕ→ψ
1
1
0
1
ϕ
0
0
1
1
ϕ
0
0
1
1
ψ
0
1
0
1
ψ
0
1
0
1
ϕ∨ψ
0
1
1
1
ϕ↔ψ
1
0
0
1
ϕ
0
1
tt
1
¬ϕ
1
0
ff
0
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Wahrheitstafeln
. . . für komplexere Formeln
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
A∧B
0
0
0
0
0
0
1
1
A ∧ B → ff
1
1
1
1
1
1
0
0
¬B
1
1
0
0
1
1
0
0
¬B → C
0
1
1
1
0
1
1
1
(A ∧ B → ff) ∧ (¬B → C )
0
1
1
1
0
1
0
0
36
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Beispiel (weiterg.)
• Norbert sagt “Marcel sagt die Wahrheit”.
• Marcel sagt “Bahareh lügt”.
• Bahareh sagt “Norbert und Marcel sagen entweder beide die Wahrheit oder
lügen beide”.
formalisiert als (N ↔ M) ∧ (M ↔ ¬B) ∧ (B ↔ (M ↔ N))
M
0
0
0
0
1
1
1
1
N
0
0
1
1
0
0
1
1
B
0
1
0
1
0
1
0
1
ϕ
0
1
0
0
0
0
0
0
einzige mögliche Lösung: Norbert und Marcel lügen, Bahareh sagt
die Wahrheit
37
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Funktionale Vollständigkeit
Def.: eine Menge J von Junktoren heißt funktional vollständig,
wenn es für jedes n ∈ N und jede Funktion f : Bn → B eine Formel
ϕf über n Variablen gibt, die nur Junktoren aus J benutzt und f
repräsentiert
Theorem 1
{tt, ff, ∧, ∨, ¬} ist funktional vollständig
Bsp.:
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
f (A, B, C )
0
1
1
0
0
0
1
0
(¬A ∧ ¬B ∧ C ) ∨
realisiert durch (¬A ∧ B ∧ ¬C ) ∨
(A ∧ B ∧ ¬C )
38
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
39
Beweis von Thm. 1
Beweis: Durch Induktion über Anzahl n der Variablen
Induktionsanfang, n = 0. Es gibt nur 2 Funktionen vom Typ
B0 → B, nämlich die Konstanten 0 und 1. Diese werden durch ff
und tt repräsentiert.
Induktionsschritt, n > 0. Sei f : Bn → B. O.B.d.A. seien
A1 , . . . , An die Variablen in f . Benutze Shannon-Expansion:
(
f (A1 , . . . , An−1 , 0) , falls An = 0
f (A1 , . . . , An ) =
f (A1 , . . . , An−1 , 1) , falls An = 1
f (A1 , . . . , An−1 , c) ist Funktion vom Typ Bn−1 → B. Nach
Induktionvoraussetzung gibt es also Formeln ϕcf für c ∈ {0, 1}, die
diese repräsentieren. Aussagenlogik kann Shannon-Expansion leicht
ausdrücken: f wird repräsentiert durch
ϕf = (¬An ∧ ϕ0f ) ∨ (An ∧ ϕ1f )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Funktionale Vollständigkeit
somit müssen sich insbesondere die anderen Junktoren durch
ff, tt, ¬, ∨, ∧ ausdrücken lassen
• ϕ → ψ ist dasselbe wie ¬ϕ ∨ ψ
• ϕ ↔ ψ ist dasselbe wie (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ)
Theorem 2
Die folgenden Mengen von Junktoren sind funktional vollständig:
{tt, ¬, ∨} , {tt, ¬, ∧} , {ff, →} , . . .
Beweis: (Übung)
40
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Funktionale Unvollständigkeit
nicht jede Menge von Junktoren ist funktional vollständig, z.B. ∅
sicherlich nicht, {tt, ¬} auch nicht (Übung)
Theorem 3
{tt, ff, ∧, ∨} ist nicht funktional vollständig.
Def.: Definiere partielle Ordnung auf B durch 0 < 1. Ein
f : Bn → B heißt monoton im i-ten Argument, wenn für alle
x, y , x1 , . . . , xn ∈ B gilt: wenn x ≤ y , dann
f (x1 , . . . , xi−1 , x, xi+1 , . . . , xn ) ≤ f (x1 , . . . , xi−1 , y , xi+1 , . . . , xn )
41
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Monotone Funktionen
Bsp.: In welchen Argumenten ist
A
0
0
0
0
1
1
1
1
monoton?
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
f (A, B, C )
0
1
1
1
0
0
1
0
42
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Funktionale Unvollständigkeit von {tt, ff, ∨, ∧}
Lemma: Sei ϕ aufgebaut aus n Variablen und den Junktoren
tt, ff, ∨, ∧. Dann ist die durch ϕ definierte Funktion fϕ : Bn → B
monoton in allen Argumenten.
Beweis: durch Induktion über den Aufbau von ϕ
Beweis von Thm. 3:
Die Funktion f = {0 7→ 1, 1 7→ 0} ist nicht monoton im ersten
Argument, kann daher nicht durch ein solches ϕ über tt, ff, ∨, ∧
definiert werden.
43
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.1 Aussagenlogik – Syntax und Semantik
Äquivalenzen
Def.: ϕ und ψ heissen äquivalent, geschrieben ϕ ≡ ψ, gdw. für
alle Interpretationen I gilt: I |= ϕ gdw. I |= ψ
Äquivalenzen können z.B. ausgenutzt werden, um kleinere
Formeln, die dasselbe ausdrücken, zu erhalten
Bsp.: B ↔ (A → ¬B) ≡ A ↔ ¬B
Beweis z.B. durch Wahrheitstafeln
A
0
0
1
1
B
0
1
0
1
B ↔ (A → ¬B)
0
1
1
0
A ↔ ¬B
0
1
1
0
44
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.2 Aussagenlogik – Boolesche Algebra
Boolesche Algebra
Def.: eine Boolesche Algebra ist eine Menge M mit zwei
Konstanten >, ⊥ ∈ M und drei Funktionen u, t : M × M → M
und · : M → M, so dass für alle x, y , z ∈ M gilt:
• x u y = y u x und x t y = y t x
(Kommutativität)
• (x u y ) u z = x u (y u z) und (x t y ) t z = x t (y t z)
(Assoziativität)
• x u (y t z) = (x u y ) t (x u z) und
x t (y u z) = (x t y ) u (x t z)
• x t (x u y ) = x und x u (x t y ) = x
• x t x = > und x u x = ⊥
(Distributivität)
(Absorption)
(Komplemente)
• x t x = x und x u x = x
(Idempotenz)
• x t ⊥ = x und x u > = x
(Neutralität)
• x u ⊥ = ⊥ und x t > = >
(Extremalität)
45
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.2 Aussagenlogik – Boolesche Algebra
Boolesche Algebren
Lemma: (B, 1, 0, ∧, ∨, ¬) ist eine Boolesche Algebra
Gültigkeit der Gesetze lässt sich z.B. durch Wahrheitstafeln
ausrechnen
andere Beispiele für Boolesche Algebren:
• Potenzmengenverband einer endlichen Menge M:
(2M , M, ∅, ∩, ∪, ·)
• Singleton-Menge (wieso?)
• für festes n ∈ N: Menge aller Booleschen Funktionen Bn → B
(Übung: definiere >, ⊥, u, t,¯· darin)
• ...
Lemma: Ist (M, >, ⊥, u, t,¯·) Boolesche Algebra, so auch
(M, ⊥, >, t, u,¯·).
46
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.2 Aussagenlogik – Boolesche Algebra
Redundanz und Herleitung
Beachte: nicht alle Gesetze für Boolesche Algebren sind unabhängig
Z.B. folgt Neutralität aus Absorption und Komplementen
x t ⊥ = x t (x u x) = x
In ähnlicher Weise lassen sich auch weitere Gesetze finden, die in
jeder Booleschen Algebra gelten müssen; diese sind aus den obigen
Gesetzen herleitbar, z.B. die de Morgan-Gesetze:
• x ty =x uy
• x uy =x ty
47
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.2 Aussagenlogik – Boolesche Algebra
Boolesche Algebra und Aussagenlogik
beachte: Formeln der Aussagenlogik werden in Boolescher Algebra
(B, 1, 0, ∧, ∨, ¬) interpretiert
Gesetze der Booleschen Algebra lassen sich auf Aussagenlogik
übertragen
zur Erinnerung: Formeln, die dieselbe Funktion definieren, sind
äquivalent
Gesetze der Booleschen Algebra – angewandt auf Formeln –
resultieren also insbesondere in Äquivalenzen
daher: Klammern können aufgrund von Assoziativität weggelassen,
Unterformeln wegen Kommutativität vertauscht werden,
Mehrfachvorkommen wegen Idempotenz weggelassen werden, etc.
48
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.2 Aussagenlogik – Boolesche Algebra
49
Mehrstellige Junktoren
aufgrund der Kommutativ- und Assoziativgesetze können wir
mehrstellige Dis- und Konjunktionen einführen:
n
^
ϕi := ϕ1 ∧ . . . ∧ ϕn
i=1
n
_
genauso für endliche Indexmengen I :
beachte: falls n = 0, dann
ebenfalls für I = ∅
ϕi := ϕ1 ∨ . . . ∨ ϕn
i=1
Vn
i=1 ϕi
V
i∈I
ϕi bzw.
:= tt und
Wn
W
i∈I
i=1 ϕi
ϕi
:= ff;
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Erfüllbarkeit und Allgemeingültigkeit
Def.: eine Formel ϕ heißt erfüllbar, wenn es ein I gibt, so dass
I |= ϕ
Def.: eine Formel ϕ heißt allgemeingültig (oder Tautologie), wenn
für alle I gilt: I |= ϕ
Lemma: ϕ ist erfüllbar gdw. ¬ϕ nicht allgemeingültig ist
Beweis:
“⇒” Sei ϕ erfüllbar. Dann ex. I mit I |= ϕ und daher I 6|= ¬ϕ.
Somit ist ¬ϕ nicht allgemeingültig.
“⇐” Genauso.
50
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Zusammenhänge
Beachte: aus obigem Lemma folgt z.B. sofort, dass ϕ unerfüllbar
ist gdw. ¬ϕ allgemeingültig ist; dies liegt daran, dass die folgende
Formel der Aussagenlogik allgemeingültig ist
(A → ¬B) → (B → ¬A)
Theorem 4
a) ϕ ∧ ψ ist allgemeingültig gdw. ϕ und ψ allgemeingültig sind
b) ϕ ∨ ψ ist erfüllbar gdw. ϕ oder ψ erfüllbar ist
c) ϕ ≡ ψ gdw. ϕ ↔ ψ allgemeingültig
d) ϕ allgemeingültig gdw. ϕ ≡ tt
e) ϕ unerfüllbar gdw. ϕ ≡ ff
Beweis: (Übung)
51
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Beispiele
die folgenden Formeln sind erfüllbar
A , ¬A , A ∧ ¬B , (A ∨ B) ∧ (¬A ∨ B) ∧ (A ∨ ¬B)
die folgenden Formeln sind unerfüllbar
A ∧ ¬A , (A ∨ B) ∧ (¬A ∨ B) ∧ (A ∨ ¬B) ∧ (¬A ∨ ¬B)
die folgenden Formeln sind Tautologien
A ∨ ¬A , (A → B) → (B → C ) → (A → C ) , ¬¬A ↔ A
beachte: → ist nicht assoziativ; Konvention: rechts geklammert
52
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Fallstricke
Vorsicht! Folgendes gilt nicht:
• ϕ ∨ ψ allgemeingültig gdw. ϕ oder ψ allgemeingültig
• ϕ ∧ ψ erfüllbar gdw. ϕ und ψ erfüllbar
Gegenbeispiele?
aber es gelten jeweils eine der beiden Richtungen, welche?
53
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Anwendungen von Erfüllbarkeit
Def.: Das Erfüllbarkeitsproblem der Aussagenlogik (SAT) ist das
folgende: Geg. ϕ, entscheide, ob ϕ erfüllbar ist oder nicht.
• Lösung des Rätsels über das Lügen ist Erfüllbarkeitstest
• Zusammenhang zu Allgemeingültigkeit bedeutet: über
Erfüllbarkeit lässt sich herausfinden, welche aussagenlogischen
Zusammenhänge gelten
• allgemein: Erfüllbarkeitstest ist Auffinden von Lösungen
• ...
54
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Bsp.: Sudoko via Aussagenlogik
k mit 1 ≤ i, j ≤ 9 und 0 ≤ k ≤ 3 für binäre
verwende Variablen Xi,j
Kodierung der Lösung
intuitive Bedeutung “das k-te Bit der Zahl im Feld (i, j) ist
gesetzt”
betrachte Konjunktion über die folgenden Aussagen
• “an jeder Stelle steht eine Zahl zwischen 0 und 9”
V9 V9
3
2
1
i=1
j=1 Xi,j → (¬Xi,j ∧ ¬Xi,j )
• “in jeder Zeile (Spalte, Block) kommt keine Zahl doppelt vor”
V9
i=1
V
1≤j<j 0 ≤9
W3
k=0
k ↔ Xk )
¬(Xi,j
i,j 0
• Vorbelegungen, z.B. “in Feld (2, 7) steht die 5”
3 ∧ X 2 ∧ ¬X 1 ∧ X 0
¬X2,7
2,7
2,7
2,7
55
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Ein naiver Erfüllbarkeitstest
Theorem 5
SAT ist in Zeit O(|ϕ| · 2|Vars(ϕ)| ) entscheidbar. (|ϕ| = Länge von
ϕ, Vars(ϕ) = Menge der Variablen in ϕ)
Beweis: Beachte:
• in Zeit O(|ϕ|) lässt sich für gegebenes I entscheiden, ob
I |= ϕ gilt oder nicht (Übung).
• es reicht aus, nur Interpretationen vom Typ
I : Vars(ϕ) → {0, 1} zu betrachten; davon gibt es nur
2|Vars(ϕ)| viele
Aufzählung aller relevanten Interpretationen und sukzessives
Testen
56
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
57
Normalformen
Def.:
• Ein Literal ist eine Variable A oder ihre Negation ¬A.
• Eine Klausel ist eine Disjunktion von Literalen,
Wn
• Ein Minterm ist eine Konjunktion von Literalen,
i=1 li .
Vn
i=1 li .
• Eine Formel ist in konjunktiver Normalform (KNF), falls sie
eine Konjunktion von Klauseln ist,
Vn
i=1
Wmi
j=1 li,j .
• Eine Formel ist in disjunktiver Normalform (DNF), falls sie
eine Disjunktion von Mintermen ist,
Wn
i=1
Vmi
j=1 li,j .
Bsp. (A ∨ ¬B) ∧ (B ∨ ¬C ∨ ¬A) ist in KNF
wir schreiben Formeln in KNF (oder DNF) wegen Assoziativität,
Kommutativität und Idempotenz auch als Mengen von Mengen
von Literalen
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Substitutionen
Def.: ϕ[ψ/A] bezeichne die simultane Ersetzung von jedem
Vorkommen der Variablen A in ϕ durch ψ
Theorem 6
Aussagenlogische Äquivalenz ist eine Kongruenzrelation: Wenn
ψ ≡ θ dann ϕ[ψ/A] ≡ ϕ[θ/A].
Beweis (durch Induktion über den Aufbau von ϕ)
Frage: macht es einen Unterschied, wenn man nicht simultan
ersetzt?
58
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Existenz von Normalformen
Theorem 7
Für jedes ϕ existiert ein ψ in KNF / DNF, so dass ϕ ≡ ψ.
Beweis: Durch schrittweises Umbauen von ϕ:
1
Elimination von →, ↔ mittels
ϕ1 ↔ ϕ2 ≡ (ϕ1 → ϕ2 )∧(ϕ2 → ϕ1 ) ,
ϕ1 → ϕ2 ≡ ¬ϕ1 ∨ϕ2
2
Anwenden der de Morgan-Gesetze und ¬¬θ ≡ θ liefert
Formel, die nur aus Literalen mit ∧, ∨ gebaut ist.
3
Anwenden der Distributivgesetze liefert KNF oder DNF.
Alle Schritte sind äquivalenzerhaltend laut Thm. 6.
59
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Das Erfüllbarkeitsproblem für DNF
Theorem 8
DNF-SAT (SAT für Formeln in DNF) lässt sich in Zeit
O(|ϕ| log |ϕ|) entscheiden.
Beweis:
• Ein Minterm
Vn
i=1 li
ist erfüllbar gdw. es keine A, i, j gibt, so
dass li = A und lj = ¬A für 1 ≤ i, j ≤ n.
W
• Eine Disjunktion ni=1 ϕi ist erfüllbar gdw. es ein i gibt, so
dass ϕi erfüllbar ist.
Somit kann Erfüllbarkeit einer DNF in einem Durchlauf (nach
Sortierung) durch die Formel entschieden werden.
Warum dann nicht Erfüllbarkeitstest für allgemeine Formel ϕ so:
Wandle ϕ in äquivalente DNF ψ um. Teste Erfüllbarkeit von ψ.
60
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Erfüllbarkeitsäquivalenz
neben dem starken Äquivalenzbegriff ≡ führen wir noch einen
schwächeren ein
Def.: ϕ und ψ sind erfüllbarkeitsäquivalent, ϕ ≡sat ψ, falls gilt: ϕ
erfüllbar gdw. ψ erfüllbar
beachte: ≡sat ist Äquivalenzrelation mit nur zwei
Äquivalenzklassen; kanonische Vertreter sind tt, ff
Wofür kann das dann überhaupt gut sein?
Ist man (nur) an Erfüllbarkeit von ϕ interessiert, so reicht es aus,
Erfüllbarkeit von ψ zu testen, falls ϕ ≡sat ψ (aber evtl. nicht
ϕ ≡ ψ).
61
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Erfüllbarkeitsäquivalente KNF
Theorem 9
Für jedes ϕ gibt es ein ψ in KNF, so dass ϕ ≡sat ψ und
|ψ| = O(|ϕ|).
Beweis: Für jede nicht-atomare Subformel θ von ϕ führen wir
eine Variable Xθ ein. Dann wird ϕ sukzessive nach folgender
Vorschrift “von unten nach oben” umgebaut.
Solange es noch eine nicht-atomare Subformel θ gibt, ersetze diese
durch Xθ und definiere eine KNF ψθ je nach Junktor in θ, z.B.
Falls θ = Y ∧ Z , dann
ψθ := (¬Xθ ∨ Y ) ∧ (¬Xθ ∨ Z ) ∧ (Xθ ∨ ¬Y ∨ ¬Z )
V
Definiere schlussendlich ψ := Xϕ ∧ {ψθ | θ Subformel von ϕ}
62
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Erfüllbarkeitsäquivalente KNF
Beachte: Es gilt in obiger Konstruktion nicht nur ϕ ≡sat ψ,
sondern noch etwas stärkeres:
• Vars(ϕ) ⊆ Vars(ψ)
• Ist I |= ψ, so auch I |= ϕ (aber nicht unbedingt umgekehrt).
Soll heißen: ψ ist nicht nur erfüllbarkeitsäquivalent zu ϕ, sondern
jeder erfüllende Variablenbelegung für ψ ist auch eine für ϕ.
Beachte: Erfüllbarkeitstest in O(n log n) war für DNF, nicht KNF!
Umwandlung in erfüllbarkeitsäquivalente DNF ist wohl nicht mit
nur polynomiellem Aufwand möglich.
63
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Beispiel
Gesucht ist Formel über Variablen A1 , . . . , An die besagt “genau
eine der Aussagen A1 , . . . , An is wahr”.
Leicht möglich:
n
W
i=1
(Ai ∧
V
¬Aj ), hat aber Größe O(n2 )
j6=i
Geht es auch mit Formel der Größe O(n)? Ja, wenn man sich mehr
Variablen spendiert: ϕ1 ∧ ϕ2 , wobei
n
W
• ϕ1 :=
Ai , “Mindestens eine der A1 , . . . , An ist wahr”
i=1
• zusätzliche Variablen Bi , i = 1, . . . , n, mit intuitiver
Bedeutung: “eine der A1 , . . . , Ai ist wahr”
ϕ2 := (A1 ↔ B1 ) ∧
n
^
i=2
((¬Bi−1 ↔ Ai ) → Bi ) ∧ ¬(Bi−1 ∧ Ai )
64
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.3 Aussagenlogik – Erfüllbarkeit
Horn-Formeln
Def.: Eine Horn-Formel ist ein ϕ in KNF, so dass in jeder Klausel
höchstens ein positives Literal vorkommt.
Beachte:
¬A1 ∨ . . . ∨ ¬An ∨ B ≡ A1 ∧ . . . ∧ An → B
¬A1 ∨ . . . ∨ ¬An ≡ A1 ∧ . . . ∧ An → ff
Theorem 10
HORN-SAT (Erfüllbarkeitsproblem für Horn-Formeln) ist in Zeit
O(|ϕ|2 ) lösbar.
Beweis: (Übung)
Beachte: mit etwas Cleverness lässt es sich sogar in O(|ϕ|) lösen
65
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
SAT-Solver
Ein SAT-Solver ist eine Implementierung eines Algorithmus für das
SAT-Problem.
Obwohl dies i.A. exponentielle (in |Vars(ϕ)|) Laufzeit braucht, gibt
es mittlerweile einige SAT-Solver, die in der Praxis erstaunlich gut
funktionieren.
• Minisat
http://minisat.se/
• Picosat
http://fmv.jku.at/picosat/
• Berkmin
http://eigold.tripod.com/BerkMin.html
• RSat
• zChaff
http://reasoning.cs.ucla.edu/rsat/
http://www.princeton.edu/~chaff/zchaff.html
• ...
siehe auch SATLive-Webseite
http://www.satlive.org/
66
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
Das DIMACS-Format
SAT-Solver verlangen typischerweise eine Eingabe in KNF.
Standardisiertes Format: DIMACS
• Variablen sind natürliche Zahlen ≥ 1
• Literale werden durch Integer bezeichnet, z.B. A7 = 7, ¬A4 =
-4
• Klausel ist Liste von Integern, 0 markiert Klauselende
• KNF ist Liste von Klauseln
• Kommentare im Header (c ...)
• spezielle Headerzeile (p cnf ...) gibt Anzahl verwendeter
Klauseln und Variablen an
67
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
Beispiel
Die KNF
(¬A ∨ B ∨ C ) ∧ (B ∨ ¬C ) ∧ ¬D ∧ (A ∨ D) ∧ (¬B ∨ ¬C ∨ ¬D)
kann im DIMACS-Format so repräsentiert werden:
c Beispielformel aus der Vorlesung
c Autor: Martin Lange
p cnf 4 5
-1 2 3 0
2 -3 0
-4 0
1 4 0
-2 -3 -4 0
68
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
SAT-Solver im Einsatz
Clevere Heuristiken und jahrelanges Tuning haben dazu geführt,
dass moderne SAT-Solver typischerweise Instanzen der
Größenordnung
• ∼ 105 Variablen
• ∼ 106 Klauseln
lösen können.
Vorsicht! Es gibt natürlich auch (im Vergleich dazu) sehr kleine
Instanzen, an denen sie sich die Zähne ausbeissen.
typischer Einsatz von SAT-Solvern (nicht annähernd vollständig):
• Hardware-Verifikation
• Planungsprobleme in der KI
• Constraint-Solving
• ...
69
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
Ersetzung von Literalen
Def.: Sei C Klauselmenge (= Menge von Mengen von Literalen).
Mit C[A 7→ 1] bezeichnen wir die Menge von Klauseln, die dadurch
entsteht, dass man
1
jede Klausel, die das Literal A enthält, aus C entfernt, und
2
das Literal ¬A aus jeder Klausel in C entfernt.
Für C[A 7→ 0] gilt das entsprechend duale.
Bsp.:
C = {{A, ¬B}, {¬A, ¬B}, {¬A, B}}
C[A 7→ 1] = {{¬B}, {B}}
C[B 7→ 0] = {{¬A}}
Lemma: Sei C Klauselmenge (als KNF aufgefasst), A Variable.
C erfüllbar gdw. C[A 7→ 1] oder C[A 7→ 0] erfüllbar.
Beweis: (Übung)
70
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
Unit-Propagation
Lemma: Sei C Klauselmenge, A Variable, so dass {A} ∈ C. Dann
ist C erfüllbar gdw. C[A 7→ 1] erfüllbar ist.
Beweis: “⇐” folgt sofort aus Lemma davor.
“⇒” Sei C erfüllbar. Wegen Lemma davor müssen wir lediglich
zeigen, dass C[A 7→ 0] unerfüllbar ist. Dies ist der Fall, denn da
{A} ∈ C gilt ∅ ∈ C[A 7→ 0], und wegen KNF steht ∅ für ff, und
ff ∧ ϕ ≡ ff, was unerfüllbar ist.
entsprechendes Lemma für Fall {¬A} ∈ C
Algorithmus Unit-Propagation(C) führt sukzessive diese
Ersetzungsschritte durch, solange noch Singleton-Klauseln in C
vorhanden sind.
71
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.4 Aussagenlogik – SAT-Solver
Der DPLL-Algorithmus
Alle modernen SAT-Solver basieren auf dem DPLL-Algorithmus
(nach Davis, Putnam, Logemann, Loveland).
DPLL(C) =
Unit-Propagation(C)
if C = ∅ then return erfüllbar
if ∅ ∈ C then return unerfüllbar
wähle Variable A, die noch in C vorkommt
if DPLL(C[A 7→ 1]) = erfüllbar then return erfüllbar
return DPLL(C[A 7→ 0])
Bem.: Algorithmus DPLL terminiert immer, ist korrekt (wenn er
“erfüllbar” sagt, dann war die Eingabe auch erfüllbar) und
vollständig (wenn die Eingabe erfüllbar ist, dann sagt er auch
“erfüllbar”), aber wieso?
72
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Erfüllbarkeit und endliche Konsistenz
Def.: Eine Menge Φ von Formeln heißt erfüllbar, wenn es eine
Interpretation I gibt, so dass I |= ϕ für alle ϕ ∈ Φ gilt. Notation:
I |= Φ.
V
Für |Φ| < ∞ ist also Menge Φ erfüllbar gdw. Formel Φ erfüllbar
ist. Def. beinhaltet aber auch Fall unendlicher Mengen!
Bsp.: {Ai → Ai+1 | i ∈ N} ist erfüllbar
Im folgenden nehmen wir an, dass V nur abzählbar unendlich viele
Variablen enthält, also o.B.d.A. V = {A0 , A1 , . . .}.
Def.: Eine Menge Φ von Formeln heißt endlich konsistent, wenn
für alle Ψ ⊆ Φ mit |Ψ| < ∞ gilt: Ψ ist erfüllbar.
73
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Der Kompaktheitssatz
Theorem 11
Für alle Mengen Φ von Formeln gilt: Φ erfüllbar gdw. Φ endlich
konsistent.
Anders gesagt: Ist jede endliche Teilmenge einer Menge Φ
erfüllbar, so ist auch Φ erfüllbar.
Eigentlich nur für |Φ| = ∞ interessant. Wieso?
Notation: Ψ ⊆fin Φ gdw. Ψ ⊆ Φ und |Ψ| < ∞
Beweis von “⇒”: Sei I |= Φ, also gilt I |= ϕ für alle ϕ ∈ Φ.
Damit ist dann auch I |= Ψ für alle Ψ ⊆ Φ, insbesondere falls
Ψ ⊆fin Φ.
74
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
“⇐” ist schwieriger
Beachte: Bei endlich konsistentem Φ kann jedes Ψ ⊆fin Φ
verschiedenes Modell haben!
Bsp. Φ = {ϕn,m | 0 ≤ n ≤ m} mit ϕn,m =
m
W
Ai
i=n
Sei Ψ ⊆fin Φ und IΨ definiert durch
(
1 , falls min{n | ϕn,m ∈ Ψ} ≤ k ≤ max{m | ϕn,m ∈ Φ}
IΨ (Ak ) =
0 , sonst
Beachte:
• Für alle Ψ ⊆fin Φ gilt IΨ |= Ψ, aber IΨ 6|= Φ.
• Es gibt unendliche viele Ψ mit paarweise verschiedenen IΨ .
75
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
76
Lemma 1 für die Kompaktheit
Lemma 1: Sei ϕ Formel, I, I 0 Interpretationen, so dass
I(A) = I 0 (A) für alle A ∈ Var (ϕ). Dann gilt I |= ϕ gdw. I 0 |= ϕ.
Beweis Per Induktion über Aufbau von ϕ.
Induktionsanfang:
• Für ϕ = tt, ff gilt die Aussage sicherlich.
• Sei ϕ = A. Offensichtlich gilt dann A ∈ Vars(ϕ) und damit
dann auch die Aussage.
Induktionsschritt:
• Sei ϕ = ¬ψ und die Aussage für ψ bereits beweisen. Dann gilt
I |= ϕ
gdw. I 6|= ψ
gdw. I 0 6|= ψ
• Fälle ϕ = ψ1 ∧ ψ2 , ψ1 ∨ ψ2 genauso.
gdw. I 0 |= ϕ
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Lemma 2 für die Kompaktheit
Lemma 2: Ist Φ endlich konsistent, so ist Φ ∪ {A} oder Φ ∪ {¬A}
endlich konsistent.
Beweis: Durch Widerspruch. Angenommen,
• Φ ist endlich konsistent, aber
• sowohl Φ ∪ {A} als auch Φ ∪ {¬A} sind nicht endlich
konsistent.
Dann ex. unerfüllbare Ψ ⊆fin Φ ∪ {A} und Ψ0 ⊆fin Φ ∪ {¬A}.
Somit ist auch Θ := Ψ ∪ Ψ0 unerfüllbar, und damit auch Θ ∪ {A}
und Θ ∪ {¬A}.
Dann muss aber bereits Θ \ {{A}, {¬A}} unerfüllbar sein.
Da Θ \ {{A}, {¬A}} ⊆fin Φ, ist Φ also dann nicht endlich
konsistent.
77
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Beweis des Kompaktheitssatzes
Beweis von “⇐” (“Φ endlich konsistent ⇒ Φ erfüllbar”).
Seien A0 , A1 , A2 , . . . Variablen in Φ.
Def. simultan Φ0 := Φ, Φi+1 := Φi ∪ {`i } und
(
Ai
, falls Φi ∪ {Ai } endlich konsistent
`i :=
¬Ai , sonst
Mit Lemma 2 und Induktion sind alle Φi endlich konsistent.
Definiere I über
(
1 , falls `i = Ai
I(Ai ) :=
0 , falls `i = ¬Ai
Behauptung: I |= ϕ für alle ϕ ∈ Φ
78
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Beweis des Kompaktheitssatzes
Sei ϕ ∈ Φ.
Wähle k := max{i | Ai ∈ Var (ϕ)}.
Da Φ = Φ0 ⊆ Φ1 ⊆ . . . gilt also ϕ ∈ Φk+1 und somit
Ψ := {ϕ, `0 , . . . , `k } ⊆fin Φk+1
Wegen endlicher Konsistenz von Φk+1 ist Ψ erfüllbar. Also ex. I 0 ,
so dass I 0 |= Ψ.
Beachte: I(A) = I 0 (A) für alle A ∈ Var (ϕ) und außerdem I 0 |= ϕ.
Wegen Lemma 1 gilt dann I |= ϕ.
79
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Erste Anwendung des Kompaktheitssatzes
Theorem 12 (Königs Lemma)
Jeder endlich-verzweigende Baum, in dem Pfade beliebiger Länge
existieren, hat einen unendlichen Ast.
Beweis: Sei t Baum mit abzählbarer Knotenmenge N und Wurzel
0, so dass es Pfade beliebiger Länge gibt. Wir schreiben succ(i) für
die unmittelbaren Nachfolger von i. Betrachte
_
Φ := {X0 } ∪ {Xi →
Xj | i ∈ N}
j∈succ(i)
• all Ψ ⊆fin Φ sind erfüllbar wegen Pfaden beliebiger Länge
• nach Kompaktheit ist dann auch Φ erfüllbar
• Modell von Φ liefert unendlichen Pfad in t
80
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Zweite Anwendung des Kompaktheitssatzes
Kacheln sind Einheitsquadrate mit gefärbten Kanten:
Sei K eine endliche Menge von Kacheln. Dies induziert zwei
Relationen H und V , die besagen, ob zwei Kacheln horizontal bzw.
vertikal aneinanderpassen.
Eine K -Kachelung der n × n-Ebene ist eine Funktion
κ : {0, . . . , n − 1}2 → K , so dass für alle i = 0, . . . , n − 2,
j = 0, . . . , n − 1 gilt:
• (κ(i, j), κ(i + 1, j)) ∈ H
“horizontal passt alles”
• (κ(j, i), κ(j, i + 1)) ∈ V
“vertikal passt alles”
analog K -Kachelung der unendlichen N × N-Ebene definiert
81
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Beispiel
Bsp.: K =
K -Kachelung der 3 × 3-Ebene:
82
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Anwendung des Kompaktheitssatzes
Theorem 13
Sei K endliche Menge von Kacheln. Wenn jede n × n-Ebene
K -kachelbar ist, so ist auch die N × N-Ebene K -kachelbar.
Beweis: Benutze Aussagenvariablen Ati,j , i, j ∈ N, t ∈ K mit
Bedeutung “das Feld (i, j) ist mit Kachel t belegt”
drücke K -Kachelbarkeit der n × n-Ebene aus:
ϕn :=
n−1
^ n−1
^
(
_
Ati,j ∧
∧
^
0
¬Ati,j )
t 0 6=t
i=0 j=0 t∈K
n−2
^ n−1
^
^
0
¬(Ati,j ∧ Ati+1,j ) ∧
i=0 j=0 (t,t 0 )6∈H
^
0
¬(Atj,i ∧ Atj,i+1 )
(t,t 0 )6∈V
83
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.5 Aussagenlogik – Kompaktheit
Anwendung des Kompaktheitssatzes
Beachte:
• Erfüllende Belegung für ϕn liefert Kachelung der n × n-Ebene.
• Wenn m ≤ n, dann ist ϕn → ϕm allgemeingültig. Intuitiv:
n × n-Kachelung liefert auch immer eine m × m-Kachelung.
Sei Φ := {ϕn | n ∈ N}.
“Jede n × n-Ebene ist K -kachelbar” bedeutet: Für alle n ∈ N ist
ϕn erfüllbar.
Sei Ψ ⊆fin Φ. Dann ist Ψ = {ϕi1 , . . . , ϕik } für ein k ∈ N und
i1 < i2 < . . . < ik . Da ϕik erfüllbar ist, ist mit obiger Bemerkung
auch Ψ erfüllbar.
Aus dem Kompaktheitssatz folgt, dass auch Φ erfüllbar ist;
erfüllende Belegung induziert Kachelung der N × N-Ebene mit K .
84
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Beweiskalküle
DPLL-Algorithmus in gewisser Weise semantisches Verfahren zum
Erkennen von Erfüllbarkeit. (Konstruiert Modell für Formel)
Im folgenden zwei syntaktische Verfahren zum Erkennen von
(Un-)Erfüllbarkeit / Allgemeingültigkeit.
1
Resolution (für Unerfüllbarkeit)
2
Sequenzenkalkül (für Folgerungsbeziehung und damit
insbesondere Allgemeingültigkeit)
Beachte Zusammenhang zwischen Erfüllbarkeit und
Allgemeingültigkeit (und auch Folgerungsbeziehung, wie wir noch
sehen werden): diese Verfahren sind somit auch in der Lage, die
jeweils anderen Fragestellungen zu lösen.
85
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Resolventen
Wir erweitern den Begriff der Äquivalenz. Sei C Klausel, K, K0
Klauselmengen:
_
I |= C gdw. I |=
`
`∈C
I |= K
gdw.
für alle C ∈ K : I |= C
0
gdw.
für alle I : I |= K gdw. I |= K0
K≡K
(
¬A , falls ` = A,
Def.: Sei ` Literal. `¯ :=
A
, falls ` = ¬A
Def.: Seien C1 , C2 Klauseln, ` Literal, so dass ` ∈ C1 , `¯ ∈ C2 .
Dann heisst
¯
C := (C1 \ {`}) ∪ (C2 \ {`})
Resolvente von C1 und C2 .
86
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Das Resolutionslemma
Lemma: Sei K Klauselmenge, C1 , C2 ∈ K, C Resolvente von C1
und C2 . Dann gilt: K ≡ K ∪ {C }.
Beweis: “⇐=” Sei I |= K ∪ {C }. Da K ⊆ K ∪ {C }, gilt dann
auch I |= K.
“=⇒” Sei I |= K. Es reicht aus zu zeigen, dass I |= C gilt.
Da C1 , C2 ∈ K gilt also insbesondere I |= C1 und I |= C2 . D.h. es
gibt Literale `1 ∈ C1 , `2 ∈ C2 , so dass I |= `1 und I |= `2 . Somit
¯ für ein ` ∈ C1 muss
gilt `1 6= `¯2 . Da C = (C1 \ {`}) ∪ (C2 \ {`})
`1 ∈ C oder `2 ∈ C sein. Dann gilt aber I |= C .
Def. Sei K Klauselmenge, Res(K) ist Menge aller Resolventen von
Klauseln in K.
87
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Resolution
Def.: Ein Resolutionsbeweis für (Unerfüllbarkeit von) K ist ein
endlicher, binär verzweigender Baum, dessen Knoten mit Klauseln
beschriftet sind und für den gilt:
• Die Wurzel ist mit ∅ beschriftet.
• An den Blättern stehen nur Klauseln aus K.
• Die Beschriftung eines inneren Knoten ist Resolvente der
Beschriftungen seiner beiden Söhne.
Bsp.: K = {{A, B}, {A, ¬B}, {¬A, B}, {¬A, ¬B}}
A, B
¬A, B
A, ¬B
¬A, ¬B
¬B
B
∅
Bsp.: hat K = {{A, B}, {A, ¬B}, {¬A, B}} Resolutionsbeweis?
88
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Korrektheit der Resolution
Theorem 14
Sei K Klauselmenge. K ist unerfüllbar gdw. es einen
Resolutionsbeweis für K gibt.
Beweis: “⇐=” Angenommen, es existiert Resolutionsbeweis T
der Höhe h für K. Definiere Klauselmengen wie folgt.
K0 := {C | C Blatt in T }
Ki+1 := Ki ∪ Res(Ki )
Beachte:
• ∅ ∈ Kh+1 , also Kh+1 unerfüllbar.
• K0 ≡ . . . ≡ Kh+1 nach Resolutionenlemma, also K0
unerfüllbar.
• K0 ⊆ K, also K unerfüllbar.
89
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Vollständigkeit der Resolution
“=⇒” Angenommen K ist unerfüllbar. Nach dem
Kompaktheitssatz existiert K0 ⊆fin K, welches bereits unerfüllbar
ist. Offensichtlich gilt: Ein Resolutionsbeweis für K0 ist auch einer
für K. Sei Var (K0 ) = {A1 , . . . , An }. Wir zeigen die Existenz eines
Resolutionsbeweises für K0 durch Induktion über n.
Induktionsanfang, n = 0. Dann ist Var (K0 ) = ∅. Es gibt nur zwei
Klauselmengen über der leeren Variablenmenge: ∅ und {∅}. Da ∅
aber trivialerweise erfüllbar ist, muss K0 = {∅} gelten.
Offensichtlich lässt sich dafür ein Resolutionsbeweis bauen.
90
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Vollständigkeit der Resolution
Induktionsschritt, n > 0. Die Induktionshypothese besagt, dass es
für unerfüllbare Klauselmengen über den Variablen A1 , . . . , An−1
Resolutionsbeweise gibt. Konstruiere nun
K0+ := {C \ {¬An } | C ∈ K0 und An 6∈ C }
K0− := {C \ {An } | C ∈ K0 und ¬An 6∈ C }
Beachte: sowohl K0+ als auch K0− sind unerfüllbar (Übung) und
enthalten höchstens die Variablen A1 , . . . , An−1 .
Die Induktionshypothese liefert nun also zwei Resolutionsbeweise
T + und T − . Durch Einfügen von ¬An in jede Klausel in T + und
An in jede Klausel in T − entstehen Bäume mit Wurzeln in K0 ,
deren innere Knoten jeweils Resolventen ihrer Söhne sind. Durch
Resolution nach den Literalen ¬A und A entsteht aus diesen ein
Resolutionsbeweis für K0 .
91
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.6 Aussagenlogik – Resolution
Resolution verwenden
Unerfüllbarkeit ist eine universelle Eigenschaft: alle Interpretationen
sind kein Modell. Resolution charakterisiert dies existentiell: statt
alle Interpretationen für eine Formel zu testen, reicht es aus, einen
Resolutionsbeweis anzugeben.
Aber: Resolutionsbeweise können exponentielle Größe haben
(Übung). Im Vergleich: Zeugen für Erfüllbarkeit (Modelle) haben
höchstens lineare Größe.
Beweissuche im Resolutionskalkül für Klauselmenge K:
K0 := K
Kn+1 := Kn ∪ Res(Kn )
Iteration bis ∅ als Resolvente auftritt oder Kn+1 = Kn für ein n gilt.
92
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Sequenzen
Zum Abschluss des Kapitels über Aussagenlogik behandeln wir
noch Gentzens Sequenzenkalkül.
Charakterisiert logische Folgerungsbeziehung syntaktisch.
Def.: Seien ϕ, ψ Formeln. ψ folgt aus ϕ, geschrieben ϕ |= ψ, falls
für alle I gilt: wenn I |= ϕ dann I |= ψ.
Beachte: ϕ |= ψ gdw. ϕ → ψ allgemeingültig
Def.: Eine Sequenz ist ein Paar Γ =⇒ ∆ von
Formel(multi)mengen. Γ heißt Antezedens, ∆ Sukzedens.
Vereinfachte Schreibweise ohne Mengenklammern, etc.:
ϕ1 , . . . , ϕn =⇒ ψ1 , . . . , ψm
Def.: Γ =⇒ ∆ ist gültig, falls
V
Γ |=
W
∆.
93
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Beispiele
Bsp.: welche der folgenden Sequenzen sind gültig?
1
A, A → B =⇒ B
2
¬A, ¬B =⇒ A, B
3
A, A → B =⇒ ∅
4
A, ¬A =⇒ B
5
A → B, B → C , A =⇒ C
6
A ∧ B → C , A =⇒ B → C
94
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Folgerung und Allgemeingültigkeit
Bereits oben gesehen: Folgerung kann mithilfe von
Allgemeingültigkeit ausgedrückt werden:
^
_
Γ→
∆ allgemeingültig
Γ =⇒ ∆ gültig gdw.
Umkehrung gilt ebenfalls:
Lemma: ϕ ist allgemeingültig gdw. die Sequenz ∅ =⇒ ϕ gültig ist.
Beweis: “⇒” Angenommen,
∅ =⇒ ϕWist nicht gültig. W
Dann
V
existiert I, so dass I |= ∅ und I 6|= {ϕ}. Beachte: {ϕ} ≡ ϕ,
also ist ϕ nicht allgemeingültig.
V
“⇐” Angenommen,
∅V=⇒ ϕ ist gültig, d.h. für alle I gilt: I 6|= ∅
W
oder I |= {ϕ}. Da ∅ ≡ tt muss also I |= ϕ für alle I gelten.
Somit ist ϕ allgemeingültig.
Also auch: ϕ =⇒ ∅ gültig gdw. ϕ unerfüllbar.
95
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Beweise im Sequenzenkalkül
Ziel: Formalismus (“Sequenzenkalkül”), der genau die gültigen
Sequenzen charakterisiert
Def.: Ein Beweis im Sequenzenkalkül für eine Sequenz Γ =⇒ ∆ ist
ein endlicher Baum, dessen
• Wurzel mit Γ =⇒ ∆ beschriftet ist,
• Blätter mit Axiomen beschriftet sind,
• innere Knoten mit ihren Söhnen Instanzen von Beweisregeln
sind.
Beweisregeln haben die Form
Γ1 =⇒ ∆1
. . . Γn =⇒ ∆n
Γ =⇒ ∆
(Name)
Γi =⇒ ∆i heißen Prämissen, Γ =⇒ ∆ Konklusion
Axiom = Beweisregel ohne Prämissen
96
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
97
Axiome und Regeln des Sequenzenkalküls
Axiome:
Γ, ff =⇒ ∆
(ffL )
Γ =⇒ ∆, tt
(ttR )
Γ, ϕ =⇒ ∆, ϕ
(Ax)
Beweisregeln:
Γ, ϕ, ψ =⇒ ∆
Γ, ϕ ∧ ψ =⇒ ∆
(∧L )
Γ =⇒ ∆, ϕ
Γ =⇒ ∆, ψ
Γ =⇒ ∆, ϕ ∧ ψ
Γ, ϕ =⇒ ∆
Γ, ψ =⇒ ∆
Γ, ϕ ∨ ψ =⇒ ∆
(∨L )
Γ =⇒ ∆, ϕ, ψ
Γ =⇒ ∆, ϕ ∨ ψ
(∧R )
(∨R )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
98
Beweisregeln des Sequenzenkalküls
Γ =⇒ ∆, ϕ
Γ, ¬ϕ =⇒ ∆
Γ =⇒ ∆, ϕ
Γ, ψ =⇒ ∆
Γ, ϕ → ψ =⇒ ∆
Γ =⇒ ∆
Γ, tt =⇒ ∆
Γ, ϕ =⇒ ∆
Γ =⇒ ∆, ¬ϕ
(¬L )
(ttL )
(¬R )
Γ, ϕ =⇒ ∆, ψ
Γ =⇒ ∆, ϕ → ψ
(→L )
Γ =⇒ ∆
Γ =⇒ ∆, ff
Es fehlen noch 2 Regeln für ↔ (Übung)
(ffR )
(→R )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
99
Beispiel
(Ax)
ψ1 , ψ2 =⇒ ϕ, ψ1
ψ1 , ψ2 =⇒ ϕ ∨ ψ1
(Ax)
(∨R )
ψ1 , ψ2 =⇒ ϕ, ψ2
ψ1 , ψ2 =⇒ ϕ ∨ ψ2
ψ1 , ψ2 =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 )
ψ1 ∧ ψ2 =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 )
(∧L )
(∨R )
(∧R )
(Ax)
ϕ =⇒ ϕ, ψ1
ϕ =⇒ ϕ ∨ ψ1
(∨R )
(Ax)
ϕ =⇒ ϕ, ψ2
ϕ =⇒ ϕ ∨ ψ2
ϕ =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 )
ϕ ∨ (ψ1 ∧ ψ2 ) =⇒ (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 )
∅ =⇒ ϕ ∨ (ψ1 ∧ ψ2 ) → (ϕ ∨ ψ1 ) ∧ (ϕ ∨ ψ2 )
(→R )
(∨R )
(∧R )
(∨L )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Axiomen- und Ableitungslemma
Ziel: zeige, dass im Sequenzenkalkül genau die gültigen Sequenzen
beweisbar sind
dazu brauchen wir lediglich drei Lemmas
Lemma: (Axiomenlemma I) Jede Sequenz Γ =⇒ ∆, die ein Axiom
ist, ist gültig.
Beweis: Leicht zu sehen für Axiome (ffL ) und (ttR ). Betrachte
noch AxiomV(Ax) mit Γ, ϕ =⇒ ∆,Wϕ. Sei I Interpretation. Zu zg.:
Wenn I |= Γ ∪ {ϕ}
V dann I |= ∆ ∪ {ϕ}.
Angenommen, I |= WΓ ∪ {ϕ}. DannWgilt insbesondere I |= ϕ und
somit auch I |= ϕ ∨ ∆ bzw. I |= ∆ ∪ {ϕ}.
Lemma: (Ableitungslemma) Für alle Regeln des Sequenzenkalküls
gilt: Die Konklusion ist gültig gdw. alle Prämissen gültig sind.
100
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Beweis des Ableitungslemmas
Beweis Wir zeigen dies exemplarisch für die Regeln (∧L ) und
(∧R ).
V
V
Fall (∧L ). Dies ist trivial, da Γ ∪ {ϕ ∧ ψ} ≡ Γ ∪ {ϕ, ψ}.
Fall (∧R ). Zur Erinnerung: Konklusion K = Γ =⇒ ∆, ϕ ∧ ψ,
Prämissen sind P1 = Γ =⇒ ∆, ϕ und P2 = Γ =⇒ ∆, ψ.
“⇒” Angenommen, eine der beiden Prämissen ist ungültig.
V Sei dies
P1 . Der
Fall
mit
P
ist
analog.
Dann
ex.
I,
so
dass
I
|=
2
W
W Γ und
I 6|= ∆ ∪ {ϕ}. Daraus folgt insbesondere, dass I 6|= ∆ und
I 6|= ϕ.
V Somit gilt dann
W aber auch I 6|= ϕ ∧ ψ. Zusammengefasst:
I |= Γ und I 6|= ∆ ∪ {ϕ ∧ ψ}. Also ist K nicht gültig.
“⇐” Angenommen,
die W
Konklusion ist ungültig. Also gibt es I, so
V
dass I |= Γ und I 6|= ∆ ∪ {ϕ ∧ ψ}. Insbesondere gilt
I 6|= ϕ
W ∧ ψ, also I 6|= ϕ oder
W I 6|= ψ. Dann gilt auch
I 6|= ∆ ∪ {ϕ} oder I 6|= ∆ ∪ {ψ}. Also ist entweder P1
ungültig oder P2 ungültig.
101
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Korrektheit des Sequenzenkalküls
Theorem 15
Jede im Sequenzenkalkül beweisbare Sequenz ist gültig.
Beweis: Angenommen es ex. Beweis für Γ =⇒ ∆. Wir zeigen per
Induktion über die Höhe h des Beweisbaums, dass Γ =⇒ ∆ gültig
ist.
Induktionsanfang h = 0. Dann ist Γ =⇒ ∆ ein Axiom und laut
Axiomenlemma I gültig.
Induktionsschritt. Sei h > 0. Dann gibt es eine Beweisregel mit
Prämissen P1 , . . . , Pn , zu denen Γ =⇒ ∆ Konklusion ist. Beachte:
Jedes Pi ist beweisbar im Sequenzenkalkül mit einem Beweis der
Höhe < h. Nach Induktionsvoraussetzung sind alle Pi somit gültig.
Mit dem Ableitungslemma folgt dann, dass auch Γ =⇒ ∆ gültig
sein muss.
102
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Vorbereitung auf die Vollständigkeit
Lemma: (Axiomenlemma II) Angenommen Γ, ∆ ⊆ V. Dann ist
Γ =⇒ ∆ gültig gdw. Γ ∩ ∆ 6= ∅.
Beweis: “⇒” Angenommen, Γ ∩ ∆ = ∅. Wir zeigen, dass Γ =⇒ ∆
ungültig ist, indem wir eine falsifizierende Interpretation angeben.
(
1 , falls A ∈ Γ
I(A) :=
0 , sonst
Aufgrund der Voraussetzung gilt I(B) = 0 für alle B ∈ ∆. Also
gilt
^
_
I |=
Γ
und
I 6|=
∆
und somit ist Γ =⇒ ∆ nicht gültig.
103
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Maß einer Sequenz
Ziel: Umkehrung von Thm. 15 (gültige Sequenzen sind beweisbar)
schwierig, denn “für alle Interpretationen . . . ⇒ es gibt Beweis . . . ”
Intuition: auf gültige Sequenzen lassen sich Beweisregeln sinnvoll
anwenden, so dass am Ende ein Beweis entstanden ist
Was heißt “am Ende”? Wir müssen irgendwie zeigen, dass dieser
Prozess auch terminiert.
Def.: (Maß) ||Γ −→ ∆|| :=
P
ϕ∈Γ
||ϕ|| +
P
||ϕ||, wobei
ϕ∈∆
||tt|| = ||ff|| := 1
||A|| := 0
||¬ϕ|| := 1 + ||ϕ||
||ϕ ∧ ψ|| = ||ϕ ∨ ψ|| = ||ϕ → ψ|| = ||ϕ ↔ ψ|| := 1 + ||ϕ|| + ||ψ||
104
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Vollständigkeit des Sequenzenkalküls
Theorem 16
Jede gültige Sequenz ist im Sequenzenkalkül beweisbar.
Beweis: Sei Γ =⇒ ∆ gültig. Wir zeigen, dass es auch beweisbar
ist durch Induktion über j = ||Γ =⇒ ∆||.
Induktionsanfang, j = 0. Dann besteht Γ ∪ ∆ nur aus Variablen.
Nach dem Axiomenlemma II gilt Γ ∩ ∆ 6= ∅. Dann ist Γ =⇒ ∆
Instanz von (Ax) und somit beweisbar.
Induktionsschritt, j > 0. Also existiert noch mindestens ein Junktor
oder eine Konstante in Γ ∪ ∆. Wir unterscheiden zwei Fälle.
105
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Vollständigkeit des Sequenzenkalküls
1
ff ∈ Γ oder tt ∈ ∆. Dann ist Γ =⇒ ∆ Instanz von (ffL ) oder
(ttR ) und somit beweisbar.
2
Sonst. Da j > 0 muss mindestens eine Beweisregel anwendbar
sein. Nach dem Ableitungslemma sind alle entstehenden
Prämissen gültig. Außerdem ist deren Maß jeweils echt kleiner
als j. Nach Induktionshypothese sind diese beweisbar. Durch
Verknüpfung derer Beweisbäume erhält man einen Beweis für
Γ =⇒ ∆.
106
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Beweissuche
Der Sequenzenkalkül ermöglicht es, automatisch festzustellen, ob
eine gegebene Formel allgemeingültig ist. Systematisch wendet
man Regeln auf die Sequenz ∅ =⇒ ϕ an, um einen Beweisbaum zu
konstruieren.
Alle Pfade enden in Axiomen
Beweis gefunden. Ein Pfad endet
in Sequenz, die kein Axiom ist und auf die keine Regel angewandt
werden kann
kein Beweis möglich.
Beachte: Die Regel selbst verlangen zwar keine Auswahl seitens des
Benutzers; auf eine Sequenz können jedoch i.A. mehrere Regeln
angewandt werden. Reihenfolge der Regelanwendungen unerheblich
dafür, ob Beweis gefunden wird oder nicht.
Sie kann aber die Größe des gefundenen Beweises beeinflussen.
107
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
108
Beispiel
B =⇒ A, B, C
A =⇒ A, B, C
C =⇒ A, B, C
(∨L )
A ∨ (B ∨ C ) =⇒ A, B, C
A ∨ (B ∨ C ) =⇒ A ∨ B, C
(∨R )
A ∨ (B ∨ C ) =⇒ (A ∨ B) ∨ C
(∨R )
B =⇒ A, B, C
B =⇒ A ∨ B, C
A =⇒ A, B, C
A =⇒ A ∨ B, C
(∨R )
A =⇒ (A ∨ B) ∨ C
(∨R )
(∨L )
(B ∨ C ) =⇒ A, B, C
C =⇒ A, B, C
(∨R )
B =⇒ (A ∨ B) ∨ C
(∨R )
C =⇒ A ∨ B, C
C =⇒ (A ∨ B) ∨ C
(∨R )
(∨L )
B ∨ C =⇒ (A ∨ B) ∨ C
A ∨ (B ∨ C ) =⇒ (A ∨ B) ∨ C
(∨R )
(∨L )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
109
Herleitbarkeit
Def.: Eine Regel mit Prämissen P1 , . . . , Pn und Konklusion K
heißt herleitbar, wenn es einen Beweis für K gibt, der P1 , . . . , Pn
als Axiome benutzt.
Bsp.: Die folgenden Regeln sind z.B. im Sequenzenkalkül
herleitbar.
Γ =⇒ ∆, ϕ1 . . . Γ =⇒ ∆, ϕn
Γ =⇒ ∆, ϕ1 ∧ . . . ∧ ϕn
(∧∗R )
Γ, ϕ, ψ =⇒ ∆
Γ =⇒ ∆, ¬(ϕ ∧ ψ)
(NANDR )
Herleitbare Regeln können die Beweissuche vereinfachen.
Außerdem sollte folgendes offensichtlich sein.
Thm.: Sei S der Sequenzenkalkül mit zusätzlichen, herleitbaren
Regeln. Dann ist eine Sequenz in S beweisbar, gdw. sie gültig ist.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
Zulässigkeit
Def.: Eine Regel heißt zulässig, wenn sich im Sequenzenkalkül mit
dieser Regel dieselben Sequenzen beweisen lassen wie ohne diese
Regel.
Bsp.: Die folgenden Regeln sind z.B. zulässig aber nicht herleitbar!
Γ =⇒ ∆
Γ, ϕ =⇒ ∆
(WeakL )
Γ =⇒ ∆
Γ =⇒ ∆, ϕ
Γ =⇒ ∆, ϕ Γ, ϕ =⇒ ∆
Γ =⇒ ∆
(WeakR )
(Cut)
Beachte: Regel (Cut) zusammen mit (¬L ) drückt
Fallunterscheidung aus.
Bem.: Jede herleitbare Regel ist zulässig. Nicht jede zulässige
Regel ist herleitbar.
110
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
111
Cut-Elimination
Betrachte Verallgemeinerung von (Cut):
Γ =⇒ ∆, ϕ Γ, ϕ =⇒ ∆
Γ =⇒ ∆
(Cut)
Γ =⇒ ∆, ϕ Θ, ϕ =⇒ Ψ
Γ, Θ =⇒ ∆, Ψ
(Cut∗ )
Lemma: (Cut/Axiomen-Lemma) Sind die Prämissen der Regel
(Cut∗ ) Axiome, so ist die Konklusion auch bereits ein Axiom.
Beweis: Durch Analyse aller möglichen Fälle, z.B.
• Ist ff ∈ Γ, so ist auch ff ∈ Γ ∪ Θ.
• Ist ff ∈ Θ ∪ {ϕ}, dann gilt: Ist ff ∈ Θ, so auch ff ∈ Γ ∪ Θ.
Ist ϕ = ff, dann benutzen wir die Tatsache, dass Γ =⇒ ∆, ϕ
auch Axiom ist. Dann kann nur noch tt ∈ ∆ oder Γ ∩ ∆ 6= ∅
gelten. In beiden Fällen ist die Konklusion ebenfalls Axiom.
• ...
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
112
Cut-Elimination
Theorem 17
Die Regel (Cut) ist zulässig.
Beweis: Zeige stärkeres Resultat: (Cut∗ ) ist zulässig. (Beachte:
(Cut) ist Vereinfachung von (Cut∗ ).)
Angenommen, es gibt einen Beweis für eine Sequenz, der (Cut∗ )
benutzt. Dieser lässt sich zu einem Beweis umbauen, der (Cut∗ )
nur an den Blättern benutzt. Dazu vertauschen wir die Anwendung
von (Cut∗ ) mit der Anwendung einer Regel darüber, hier
exemplarisch gezeigt für (∨R ) und (∨L ).
..
.
..
.
Θ, ϕ =⇒ Ψ, ψ1 , ψ2
Γ =⇒ ∆, ϕ
Θ, ϕ =⇒ Ψ, ψ1 ∨ ψ2
Γ, Θ =⇒ ∆, Ψ, ψ1 ∨ ψ2
..
.
(∨R )
(Cut∗ )
..
.
..
.
Γ =⇒ ∆, ϕ
Θ, ϕ =⇒ Ψ, ψ1 , ψ2
Γ, Θ =⇒ ∆, Ψ, ψ1 , ψ2
Γ, Θ =⇒ ∆, Ψ, ψ1 ∨ ψ2
..
.
(Cut∗ )
(∨R )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
113
Beweis der Cut-Elimination
..
.
..
.
Γ, γ1 =⇒ ∆, ϕ
Γ, γ2 =⇒ ∆, ϕ
Γ, γ1 ∨ γ2 =⇒ ∆, ϕ
..
.
(∨L )
Θ, ϕ =⇒ Ψ
Γ, γ1 ∨ γ2 , Θ =⇒ ∆, Ψ
(Cut∗ )
..
.
..
.
..
.
Γ, γ1 =⇒ ∆, ϕ
Θ, ϕ =⇒ Ψ
(Cut∗ )
Γ, γ1 , Θ =⇒ ∆, Ψ
..
.
..
.
Γ, γ2 =⇒ ∆, ϕ
Θ, ϕ =⇒ Ψ
Γ, γ2 , Θ =⇒ ∆, Ψ
Γ, γ1 ∨ γ2 , Θ =⇒ ∆, Ψ
(Cut∗ )
(∨L )
..
.
So entsteht also ein Beweis, in dem Regel (Cut∗ ) nur unter
Axiomen (und wiederum darunter) vorkommt. Aus dem
Cut/Axiomen-Lemma folgt dann, dass diese auch alle weggelassen
werden können.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
3.7 Aussagenlogik – Der Sequenzen-Kalkül
PVS
PVS ist ein Theorembeweiser, in dem der Sequenzenkalkül
implementiert ist.
frei verhältlich von http://pvs.csl.sri.com/
Zum manuellen Beweisen von aussagenlogischen Sequenzen
reichen die Befehle
• (flatten), wendet Regeln mit einer Prämisse an, z.B.
(∨R ),(∧L ), etc.
• (split n ), wendet Regel mit zwei Prämissen auf n-te Formel
in der Sequenz an, z.B. (∨L ), (∧R ), etc.
114
Prädikatenlogik 1. Stufe
I Strukturen
I Syntax und Semantik
I Normalformen
I Sequenzenkalkül
I Fundamentale Sätze
I (Un-)Entscheidbarkeit
I Ausdrucksstärke
I Resolution
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.1 Prädikatenlogik – Strukturen
Schwäche der Aussagenlogik
Aussagenlogik hat zwar Vorteile (z.B. Entscheidbarkeit mittels
Sequenzenkalkül, Resolution, DPLL, etc.), ist jedoch für viele
Anwendungen nicht ausdrucksstark genug.
Wie z.B. formalisieren:
• “Jede Quadratzahl ist positiv” und “25 ist Quadratzahl”, also
“25 ist positiv”. Ist offensichtlich richtig, hat aber Struktur
A ∧ B → C . Abstraktion in reine Aussagen verdeckt hier den
Grund für die Wahrheit.
V
• “Partielle Ordnung (M, ≤) ist total”.
Ax,y ∨ Ay ,x
x,y ∈M
funktioniert nur für endliche Mengen M. Außerdem
wünschenswert: eine Formel, die dies für alle partiellen
Ordnungen besagt.
Interpretation, die lediglich Aussagenvariablen Wahrheitswerte
zuordnen, reichen dann nicht aus.
145
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.1 Prädikatenlogik – Strukturen
Signaturen
Def.: Signatur τ ist Menge/Liste von Relationssysmbolen R und
Funktionssymbolen f , jeweils mit Stelligkeit st(R), st(f ) ≥ 0.
Null-stellige Funktionssymbole heißen Konstanten, null-st.
Relationssymbole Propositionen.
Bsp.:
< = (<, +, ·, 0, 1) ist Signatur der geordneten Arithmetik mit
• τar
< 2-st. Relationssymbol, +, ∗ 2-st. Funktionssysmbole, 0, 1
Konstanten.
• τar = (+, ·, 0, 1) wie oben ist Signatur der Arithmetik.
• τGr = (E ) ist Signatur der Graphen.
• τVR = (+, 0̄, (·k )k∈K ) ist Signatur der Vektorräume über
Körper K .
• ...
146
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.1 Prädikatenlogik – Strukturen
τ -Strukturen
Def. Sei τ = (R1 , . . . , Rn , f1 , . . . , fm ). Eine τ -Struktur ist ein
A = (A, R1A , . . . , RnA , f1A , . . . , fmA ), wobei
• A nicht-leere Menge, genannt Universum von A
• RiA ⊆ A × . . . × A für i ∈ {1, . . . , n}
|
{z
}
st(Ri )
• fi A : A × . . . × A → A für i ∈ {1, . . . , m}
|
{z
st(fi )
}
Beachte Unterscheidung zwischen Relationssymbol R und
konkreter Relation R A in A.
Bsp.:
< -Struktur.
• (N, +, ·, 0, 1, <) ist τar
• ({•}, f , g , c, d, R) mit f (•, •) = g (•, •) = • = c = d und
< -Struktur.
R(•, •) oder R = ∅ ist jeweils ebenfalls τar
147
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.1 Prädikatenlogik – Strukturen
Beispiele
a
• τLTS = ((−→)a∈Act , P1 , . . . , Pn ), wobei Act endliche Menge
a
von Aktionennamen, −→ jeweils 2-st., Pi einstellige
Relationen (Prädikate)
τLTS -Struktur ist beschriftetes Transitionssystem; modelliert
a
operationale Semantik eines Programms: −→ ist
Übergangsrelation zwischen Zuständen (z.B. “Eintritt in
Methode f”), Pi beschreibt, was in einzelnen Zuständen gilt
(z.B. “Programmvariable x hat Wert im erlaubten Bereich”).
• relationale Datenbank mit Tabellen T1 , . . . , Tn als τ -Struktur
mit entsprechendem τ
148
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Terme
Ab sofort wird Signatur τ als festgelegt angenommen.
Sei V = {x, y , . . .} Vorrat an Variablen.
Def.: Terme sind induktiv definiert:
• Jede Variable ist ein Term.
• Sind t1 , . . . , tn Terme und f ein n-st. Funktionssymbol, so ist
auch f (t1 , . . . , tn ) Term.
Beachte: Mit n = 0 sind auch Konstanten Terme.
Bsp.: +(∗(x, +(1, y )), 0)
benutze auch Infix-Notation (x ∗ (1 + y )) + 0
149
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Formeln
Def.: Formeln der Prädikatenlogik 1. Stufe mit Gleichheit (FO)
sind induktiv aufgebaut:
.
• Sind t1 , t2 Terme, so ist t1 = t2 Formel.
• Sind t1 , . . . , tn Terme, so ist R(t1 , . . . , tn ) Formel, falls
st(R) = n.
• Sind ϕ, ψ Formeln, so auch ¬ϕ, ϕ ∨ ψ, ϕ ∧ ψ, ϕ → ψ,
• Ist ϕ Formel und x Variable, so sind auch ∃x ϕ und ∀x ϕ
Formeln.
verwende ϕ ↔ ψ als Abkürzung für (ϕ → ψ) ∧ (ψ → ϕ)
Bem.: “erststufig” bedeutet: Quantifizierung nur über Elemente
des Universums, nicht jedoch über Teilmengen, Funktionen,
Relationen, etc.
150
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Präzedenzen
Präzedenzregeln, um Mehrdeutigkeiten zu vermeiden:
1
¬
2
∧
3
∨
4
→
5
∃, ∀
Klammern, um Präzedenzen zu umgehen, z.B. (ϕ ∨ ψ) ∧ χ
Punktnotation für “öffende Klammer hier, schließende so weit
rechts wie möglich”, z.B.
.
∃x.∀y .R(f (x, y )) → ∀z.z = f (x, y )
151
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Freie Variablen
Def.: frei(ϕ) bezeichnet die in ϕ frei, d.h. nicht durch einen
Quantor ∃ oder ∀ gebundenen, vorkommenden Variablen.
.
Bsp.: frei (∀y R(x, f (c, y ))) ∨ ∃x.¬(y = f (d, x)) = {x, y }!
Übung: Definiere frei(ϕ) induktiv über den Term- und
Formelaufbau.
Def.: Ist frei(ϕ) = ∅, so heißt ϕ auch Satz.
Bsp.: (∃x ∀y R(x, y )) → ∀y ∃x R(x, y ) ist Satz
Wir schreiben auch ϕ(x1 , . . . , xn ) um auszudrücken, dass
frei(ϕ) ⊆ {x1 , . . . , xn }.
152
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Substitutionen
Def.: ϕ[t/x] bezeichnet simultanes Ersetzen aller freien
Vorkommen der Variable x in ϕ durch den Term t, wobei
quantifizierte Variablen, die auch in t vorkommen, in ϕ eindeutig
umbenannt werden.
Bsp.:
∀y .(∃x.R(x, z))∧Q(x, y ) [f (y )/x] = ∀v .(∃x.R(x, z))∧Q(f (y ), v )
153
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Interpretationen für Terme
Aussagenlogik: Interpretation = Belegung der Aussagenvariablen.
Hier offensichtlich nicht ausreichend, um einer Formel einen
Wahrheitswert zuzuordnen.
Def.: Eine Interpretation einer FO-Formel über der Signatur τ ist
ein I = (A, ϑ), wobei A τ -Struktur mit Universum A und
ϑ : V → A ist. Dies induziert gleich auch eine Interpretation aller
Terme.
[[x]]A
ϑ := ϑ(x)
A
A
A
[[f (t1 , . . . , tn )]]A
ϑ := f ([[t1 ]]ϑ , . . . , [[tn ]]ϑ )
Bsp.:
• A = (N, +, ·, 0, 1), ϑ(x) = 3, ϑ(y ) = 4. Dann ist
[[(x ∗ (1 + y )) + 0]]A
ϑ = 15.
• B = ({0, 1}, ∨, ∧, 0, 1). ϑ(x) = 1, ϑ(y ) = 0. Dann ist
[[(x ∗ (1 + y )) + 0]]B
ϑ = 1.
154
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
. . . und für Formeln
Def.: Sei I = (A, ϑ), A Universum von A, c ∈ A. Mit ϑ[x 7→ c]
bezeichnen wir den üblichen Update von ϑ an der Stelle x auf c.
I ist Modell von ϕ, wenn I |= ϕ gilt, wobei
.
A, ϑ |= t1 = t2
A
gdw. [[t1 ]]A
ϑ = [[t2 ]]ϑ
A
A
A, ϑ |= R(t1 , . . . , tn ) gdw. ([[t1 ]]A
ϑ , . . . , [[tn ]]ϑ ) ∈ R
A, ϑ |= ¬ϕ
gdw. A, ϑ 6|= ϕ
A, ϑ |= ϕ ∧ ψ
gdw. A, ϑ |= ϕ und A, ϑ |= ψ
A, ϑ |= ϕ ∨ ψ
gdw. A, ϑ |= ϕ oder A, ϑ |= ψ
A, ϑ |= ϕ → ψ
gdw. wenn A, ϑ 6|= ϕ dann A, ϑ |= ψ
A, ϑ |= ∃x ϕ
gdw. es gibt c ∈ A mit A, ϑ[x 7→ c] |= ϕ
A, ϑ |= ∀x ϕ
gdw. für alle c ∈ A gilt A, ϑ[x 7→ c] |= ϕ
155
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Erfüllbarkeit, Äquivalenz, etc.
Die Begriffe Erfüllbarkeit, Allgemeingültigkeit und Äquivalenz (≡),
Erfüllbarkeitsäquivalenz (≡sat ) sind wie bei der Aussagenlogik
definiert.
Beachte: Interpretation ist Paar aus Struktur und
Variablenbelegung. Also ist z.B. ∃x R(x, y ) erfüllbar trotz freier
Variablen.
Insbesondere ist ϕ erfüllbar gdw. ¬ϕ nicht allgemeingültig ist.
Bsp.: Neben den üblichen aussagenlogischen Äquivalenzen gelten
weitere, z.B.
• ∃x ϕ ≡ ¬∀x ¬ϕ
• ∃x ∃y ϕ ≡ ∃y ∃x ϕ
• ∃x ϕ ≡ ∃y ϕ[y /x]
• (∃x ϕ) ∨ ∃x ψ ≡ ∃x (ϕ ∨ ψ)
• ...
156
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Die Theorie einer Strukturklasse
Wir untersuchen kurz Beziehungen zwischen Klassen von
Strukturen und Klassen von Formeln.
Def.: Sei K eine Klasse von τ -Strukturen. Ihre (FO-)Theorie ist
Th(K) := {ϕ | ϕ ist FO-Satz und A |= ϕ für alle A ∈ K}.
Bsp.: Sei KGruppe die Klasse aller Gruppen. Dann ist
.
.
∀x.(∃y .x ◦ y = 1) → y = i(x) ∈ Th(KG )
denn inverse Elemente in Gruppen sind eindeutig.
157
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Definierbarkeit
Def.: Sei Φ eine Menge von Sätzen über einer Signatur τ . Ihre
Modellklasse ist Mod(Φ) := {A | A ist τ -Struktur und A |= ϕ für
alle ϕ ∈ Φ}.
Bsp.: τ = (◦, i, 1),
.
.
.
Φ = {∀x.∀y .∀z.(x◦y )◦z = x◦(y ◦z), ∀x.x◦i(x) = 1, ∀x.x◦1 = x}
Was ist Mod(Φ)?
Bsp.: τ = (R)
Φ = {∀x.∀y .R(x, y ) ↔ R(y , x), ∀x.¬R(x, x)}
Was ist Mod(Φ)?
158
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Definierbarkeit von Relationen
Def.: Eine n-stellige Relation R heißt definierbar in der
Strukturklasse K, wenn es eine Formel ϕ(x1 , . . . , xn ) gibt, so dass
für alle A ∈ K mit Universum A und alle a1 , . . . , an ∈ A gilt:
(a1 , . . . , an ) ∈ R A
gdw. A, [x1 7→ a1 , . . . , xn 7→ an ] |= ϕ
Bsp.: Sei K = {(R, +, ·, 0, 1)} mit üblicher Bedeutung. Dann ist
die übliche totale Ordnung < darin definierbar.
.
.
ϕ< (x, y ) := ∃z.¬(z = 0) ∧ y = x + z · z
Bsp.: τ = (ChildOf , SiblingOf , Male, Female). Dann ist z.B. die
2-stellige Relation des Onkel-Seins definierbar.
UncleOf (x, y ) = ∃z.ChildOf (y , z) ∧ Sibling (x, z) ∧ Male(x)
Bem.: Relation des Verwandt-Seins ist nicht definierbar. Aber wie
zeigt man das?
159
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.2 Prädikatenlogik – Syntax und Semantik
Die Sonderrolle der Gleichheit
Beachte: Gleichheit (=) ist zweistellige Relation auf Universum.
Warum wird diese dann gesondert behandelt, d.h. kommt nicht in
.
den Signaturen aber in Formeln (als =) vor?
.
Antwort: Dann könnte die Relation “=” irgendwie interpretiert
werden.
.
.
.
Bsp.: ∃x ∃y ∃z.x = y ∧ y = z ∧ ¬(x = z) wäre dann erfüllbar.
Dies widerspricht jedoch der Intuition von Gleichheit, die ja
modelliert werden soll.
.
Es reicht selbst nicht, wenn man verlangt, dass = immer reflexiv,
transitiv und symmetrisch sein soll, da es auch gröbere
Äquivalenzrelationen als die Gleichheit gibt.
Gleichheit ist auch nicht definierbar.
160
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Normalformen
Wie bei der Aussagenlogik lassen sich Formeln wieder in dazu
äquivalente umwandeln, die eine bestimmte Form haben.
Achtung: verschiedene Äquivalenzbegriffe möglich, z.B. starke
Äquivalenz ≡ oder Erfüllbarkeitsäquivalenz ≡sat
Normalformen vereinfachen häufig Beweise
hier:
• positive Normalform
• Pränex-Normalform
• Skolem-Normalform
161
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Positive Normalform
Def.: Eine Formel ϕ ist in positiver Normalform, wenn das
Negationssymbol in ihr nur unmittelbar vor atomaren Formeln der
.
Form t1 = t2 oder R(t1 , . . . , tn ) vorkommt. Als Operatoren sind
nur ∧, ∨, ∃, ∀ erlaubt.
Theorem 18
Für jedes ϕ ∈ FO existiert ψ in positiver Normalform, so dass
ϕ ≡ ψ und |ψ| = O(|ϕ|).
Beweis: Übung.
162
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Pränex-Normalform
Def.: ϕ ist in Pränex-Normalform, falls
ϕ = Q1 x1 Q2 x2 . . . Qn xn χ
wobei Q1 , . . . , Qn ∈ {∃, ∀} und χ quantorenfrei.
Theorem 19
Für jedes ϕ ∈ FO gibt es ψ in Pränex-Normalform, so dass ψ ≡ ϕ
und |ψ| = O(|ϕ|).
Beweis: O.B.d.A. sei ϕ in positiver Normalform. Konstruktion
von ψ per Induktion über den Aufbau von ϕ. Klar, falls ϕ atomar
oder von der Form ∃x ϕ0 oder ∀x ϕ0 .
Sei ϕ = ϕ1 ∨ ϕ2 . Nach Hypothese gibt es ψ1 , ψ2 in
Pränex-Normalform, mit ϕi ≡ ψi .
163
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Umwandlung in Pränex-Normalform
Seien
ψ1 = Q1 x1 . . . Qn xn ψ10
0
ψ2 = Q10 y1 . . . Qm
ym ψ20
Durch evtl. Umbenennen von gebundenen Variablen und
Eliminieren von Quantoren über unbenutzten Variablen kann man
erreichen, dass
• xi ∈ frei(ψ10 ) \ frei(ψ20 ) für alle i = 1, . . . , n,
• yi ∈ frei(ψ20 ) \ frei(ψ10 ) für alle i = 1, . . . , m.
Durch sukzessives Anwenden der Äquivalenzen
(Qx ϕ) ∨ ψ ≡ Qx (ϕ ∨ ψ) falls x 6∈ frei(ψ)
sieht man, dass z.B.
0
ψ1 ∨ ψ2 ≡ Q1 x1 . . . Qn xn Q10 y1 . . . Qm
ym .ψ10 ∨ ψ20
Der Fall ϕ = ψ1 ∧ ψ2 ist analog.
164
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Skolem-Normalform
Die obigen Normalformen beziehen sich auf echte Äquivalenz, die
Skolem-Normalform jedoch “nur” auf Erfüllbarkeitsäquivalenz.
Def.: ϕ ist in Skolem-Normalform, falls
ϕ = ∀x1 . . . ∀xn ψ
wobei ψ quantorenfrei ist.
Theorem 20
Zu jedem τ -Satz ϕ existiert eine τ 0 -Formel ψ in
Skolem-Normalform mit τ 0 ⊇ τ , so dass ϕ ≡sat ψ und
|ψ| = O(|ϕ|).
165
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Konstruktion der Skolem-Normalform
Beweis: O.B.d.A. sei ϕ in Pränex-Normalform. Falls kein ∃ im
Quantorenpräfix vorkommt, dann ist ϕ bereits in
Skolem-Normalform. Betrachte das äußerste ∃. Sei also
ϕ = ∀x1 . . . ∀xi−1 ∃xi ψ
Achtung: ψ ist nicht unbedingt quantoren-frei!
Sei f ein Funktionssymbol, welches nicht in τ vorkommt. Definiere
dieses als (i − 1)-stellig und
ϕ0 := ∀x1 . . . ∀xi−1 ψ[f (x1 , . . . , xi−1 )/xi ]
Behauptung: ϕ erfüllbar gdw. ϕ0 erfüllbar (Übung).
Dies wird solange iteriert, bis alle Existenzquantoren eliminiert
sind.
166
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.3 Prädikatenlogik – Normalformen
Redukte und die Skolem-Normalform
Def.: Seien τ, τ 0 Signaturen mit τ ⊆ τ 0 . Seien A τ -Struktur und B
τ 0 -Struktur. Dann ist A τ -Redukt von B, falls ihre Universen gleich
sind und die Interpretation aller Funktions- und Relationssymbole
aus τ in A mit denen in B übereinstimmt.
Bsp.: (N, +, 0) ist (+, 0)-Redukt von (N, +, ·, 0, 1).
leicht zu sehen:
Theorem 21
Sei ψ Skolem-Normalform von einer τ -Formel ϕ. Jedes τ -Redukt
eines Modells von ψ ist Modell von ϕ.
167
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Der Sequenzenkalkül
Wie bei der Aussagenlogik lernen wir eine Charakterisierung der
logischen Schlussfolgerung kennen: den Sequenzenkalkül für die
Prädikatenlogik.
Sequenzen sind wiederum von der Form Γ =⇒ ∆, wobei Γ als
Konjunktion und ∆ als Disjunktion angesehen wird.
V
W
Eine Sequenz ist wiederum gültig, falls ( Γ) → ∆
allgemeingültig ist.
Der Sequenzenkalkül für FO ist eine Erweiterung des
Sequenzenkalküls für die Aussagenlogik. D.h. alle Axiome und
Regeln dessen bleiben bestehen.
Die Frage ist insbesondere, wie mit Quantoren, Variablen und der
Gleichheit umzugehen ist.
168
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Kontraktion
Kontraktion bedeutet das Vervielfältigen von Formeln im
Antezedens oder Sukzedens, wenn man von der Konklusion zur
Prämisse übergeht.
Γ, ϕ, ϕ =⇒ ∆
Γ, ϕ =⇒ ∆
(KontrL )
Γ =⇒ ∆, ϕ, ϕ
Γ =⇒ ∆, ϕ
(KontrR )
Behauptung: Beide Regeln sind korrekt (Prämisse gültig ⇒
Konklusion gültig) und invertierbar (Konklusion gültig ⇒ Prämisse
gültig).
in Beweisen häufig notwendig, Voraussetzungen mehrfach zu
benutzen, z.B. in ∀x.P(x) ∧ Q(x) =⇒ ∃x.∃y .P(x) ∧ Q(y )
169
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
170
Regeln und Axiome für Gleichheit
.
Γ, t = t =⇒ ∆
Γ =⇒ ∆
(=L )
Γ, ϕ[t/x] =⇒ ∆
Γ, s + t, ϕ[s/x] =⇒ ∆
(SubstL )
.
Γ =⇒ ∆, t = t
(Refl)
Γ =⇒ ∆, ϕ[t/x]
Γ, s + t =⇒ ∆, ϕ[s/x]
.
.
wobei s + t Abkürzung für s = t oder t = s ist.
Achtung: auch Ersetzen von Subtermen möglich, z.B. in
.
f (c) = g (d), R(g (f (c)), f (d)) =⇒ . . .
(SubstR )
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Regeln für die Quantoren
Wie beweist man intuitiv eine existentielle Aussage ∃x.ϕ? Man
gibt explizit einen Zeugen (Instanziierung) von x an und beweist ϕ
für diesen.
Wie beweist man intuitiv eine universelle Aussage ∀x.ϕ? Man sagt,
dass x beliebig instanziiert ist und beweist ϕ dafür, ohne
irgendwelche weiteren Annahmen darüber zu machen.
Im Sequenzenkalkül in Sukzedentien:
• existentiell quantifizierte Variablen durch Terme ersetzen
• universell quantifizierte Variablen durch neue
Konstantensymbole ersetzen
Vorgehen in Antezedentien dann dual wegen ¬∃x.ϕ ≡ ∀x.¬ϕ.
171
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
172
Die Regeln für Quantoren
Γ =⇒ ∆, ϕ[t/x]
Γ =⇒ ∆, ∃x.ϕ
(∃R )
Γ, ϕ[t/x] =⇒ ∆
Γ, ∀x.ϕ =⇒ ∆
(∀L )
Γ =⇒ ∆, ϕ[c/x]
Γ =⇒ ∆, ∀x.ϕ
(∀R )
Γ, ϕ[c/x] =⇒ ∆
Γ, ∃x.ϕ =⇒ ∆
(∃L )
wobei c jeweils nirgendwo sonst im Beweis vorkommt und t
Grundterm ist!
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Beispiele
Sind die folgenden Sequenzen beweisbar? Wie sehen die Beweise /
Beweisversuche aus?
1
2
3
4
5
.
.
.
∅ =⇒ ∀x.∀y .∀z.x = y ∧ y = z → x = z
.
P(f (c)), ∀x.f (x) = x =⇒ P(f (f (c)))
∀x.P(x) → P(f (x)) =⇒ ∀x.P(x) → P(f (f (x)))
.
ΦGruppe =⇒ ∀x.i(x) ◦ x = 1
.
ΦGruppe =⇒ ∀x.∀y .x ◦ y = y ◦ x
173
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
PVS
PVS implementiert auch den Sequenzenkalkül für FO
zur Erinnerung: Befehle (flatten) und (split n) ausreichend,
um Regeln des Sequenzenkalküls für Aussagenlogik anzuwenden
weitere Regeln:
• (copy n) dupliziert Formel n (Kontraktionsregeln)
• (skolem n x) wendet (∀R ) oder (∃L ) auf Formel n an; c ist
neue Konstante
• (inst n t) wendet (∀L ) oder (∃R ) an mit Instanziierung von
Formel n durch Term t
174
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit und Vollständigkeit
Ziel ist es wieder zu zeigen, dass der Sequenzenkalkül korrekt (jede
beweisbare Sequenz ist gültig) und vollständig (jede gültige
Sequenz ist beweisbar) ist.
Üblicherweise ist Korrektheit einfacher zu zeigen, insbesondere hier.
Def.: Eine Regel heißt
• korrekt, wenn aus der Gültigkeit aller Prämissen die Gültigkeit
der Konklusion folgt,
• invertierbar, wenn aus der Gültigkeit der Konklusion die
Gültigkeit aller Prämissen folgt. Bei den Regeln (∃R ) und (∀L )
ist dies so zu verstehen, dass es einen Term t gibt, der die
Prämisse gültig macht.
175
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit der Regeln
Lemma 1: Alle Axiome sind gültig.
Beweis: Bei (Refl) trivial, bei allen anderen bereits gezeigt.
Lemma 2: Alle Beweisregeln sind korrekt.
Beweis: Exemplarisch für (∃R ) und (∀R ).
Fall (∃R ): Sei Γ =⇒ ∆, ∃x.ϕ nicht gültig. Dann gibt es
Interpretation I, so dass I |= γ für jedes γ ∈ Γ und I 6|= ψ für
jedes ψ ∈ ∆ ∪ {∃x.ϕ}. Sei I = (A, ϑ) und A = (A, τ ).
Insbesondere gibt es kein a ∈ A, so dass A, ϑ[x 7→ a] |= ϕ.
Beachte: Für jeden Term t ist [[t]]A
ϑ ∈ A. Also gibt es auch keinen
Term t, so dass A, ϑ[x 7→ [[t]]A
]
|=
ϕ. Somit widerlegt I die
ϑ
Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[t/x] für jeden Term t.
176
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit der Regeln
Fall (∀R ): Angenommen die Konklusion Γ =⇒ ∆, ∀x.ϕ ist
ungültig. Dann gibt es Interpretation I = (A, ϑ) mit A = (A, τ ),
so dass I |= γ für alle γ ∈ Γ und I 6|= ψ für alle ψ ∈ ∆ ∪ {∀x.ϕ}.
Insbesondere gibt es dann ein a ∈ A, so dass A, ϑ[x 7→ a] 6|= ϕ. Sei
nun c ein neues Konstantensymbol und
• τ 0 = (τ, c),
0
• A0 wie A, jedoch mit c A = a,
• I 0 = (A0 , ϑ).
Dann widerlegt I 0 die Gültigkeit der Prämisse Γ =⇒ ∆, ϕ[c/x].
Beachte: Der letzte Schritt wäre i.A. nicht richtig, falls c in Γ, ∆
oder ϕ vorkäme.
177
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Korrektheit des Sequenzenkalküls
Theorem 22
Ist Γ =⇒ ∆ beweisbar im Sequenzenkalkül, dann ist Γ =⇒ ∆
gültig.
Beweis: Per Induktion über die Höhe h eines Beweises für
Γ =⇒ ∆.
Induktionsanfang, h = 0. Dann ist Γ =⇒ ∆ Instanz eines Axioms
und nach Lemma 1 somit gültig.
Induktionsschritt, h > 0. Dann wird auf die Wurzel eine
Beweisregel angewandt, die Prämissen P1 und evtl. noch P2 hat.
Diese sind offensichtlich beweisbar mit Beweisen der Höhe
höchstens h − 1. Nach der Induktionshypothese sind diese dann
gültig. Nach Lemma 2 ist auch die Konklusion gültig.
178
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Abzählbarkeit von Termen
Def.: Eine Menge M heißt höchstens abzählbar unendlich, wenn es
eine surjektive Funktion N → M gibt.
Intuitiv: M lässt sich als Liste m0 , m1 , m2 , . . . schreiben, so dass
alle Elemente von M irgendwann in dieser Liste vorkommen.
Lemma: (Termabzählung) Sei τ Signatur mit höchstens abzählbar
unendlich vielen Funktionssymbolen. Die Menge aller Terme über τ
ist ebenfalls höchstens abzählbar unendlich.
Def.: Grundterm = Term ohne Variablen
Notation: u[t/s] entsteht aus u durch Ersetzen aller Subterme s
mit t.
179
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
180
Vollständigkeit des Sequenzenkalküls
Zuerst ersetzen wir die Regeln (∃R ), (∀L ) und (SubstL ) durch
Γ =⇒ ∆, ∃x.ϕ, ϕ[t/x]
Γ =⇒ ∆, ∃x.ϕ
(∃0R )
Γ, ∀x.ϕ, ϕ[t/x] =⇒ ∆
Γ, ∀x.ϕ =⇒ ∆
Γ, s + t, ϕ[s/x], ϕ[t/x] =⇒ ∆
Γ, s + t, ϕ[s/x] =⇒ ∆
(∀0L )
(Subst0L )
Diese sind herleitbar wegen (KontrR ) und (KontrL ). Also ist der
Kalkül mit diesen Regeln weiterhin korrekt. Außerdem gilt: Wenn
er mit diesen Regeln vollständig ist, dann auch mit den
herkömmlichen.
Vorteil: Jetzt lässt sich aus ungültiger Sequenz generisch ein
Beweisversuch konstruieren, aus dem eine widerlegende
Interpretation gebaut werden kann.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Sequenzen von Sätzen
Lemma: Seien Γ, ∆ Formelmengen mit x 6∈ frei(ϕ) für alle
ϕ ∈ Γ ∪ ∆.
a) Γ =⇒ ∆, ψ ist gültig gdw. Γ =⇒ ∆, ∀x.ψ gültig ist.
b) Γ, ψ =⇒ ∆ ist gültig gdw. Γ, ∃x.ψ =⇒ ∆ gültig ist.
Beweis: Nur (a), Teil (b) analog. Die Aussage gilt offensichtlich,
falls x 6∈ frei(ψ). Angenommen, Γ =⇒ ∆, ∀x.ψ ist ungültig V
und
x ∈ frei(ψ).
Dann
ex.
I
=
(A,
ϑ)
mit
A
=
(A,
τ
)
und
I
|=
Γ
W
und I 6|= ∆ ∪ {∀x.ψ}. Insbesondere gibt es ein a ∈ A, so dass
A, ϑ[x 7→ a] 6|= ψ. Sei I 0 := (A, ϑ[x 7→ a]). Dann widerlegt I 0 die
Gültigkeit von Γ =⇒ ∆, ψ.
Die Rückrichtung wird genauso bewiesen.
Aufgrund u.a. dieses Lemmas können wir uns im
Vollständigkeitsbeweis auf Sequenzen beschränken, die nur aus
Sätzen in positiver Normalform bestehen.
181
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Generischer Beweisversuch
Sei Γ =⇒ ∆ eine Sequenz. O.B.d.A. können wir annehmen:
• alle Formeln in Γ ∪ ∆ sind in positiver Normalform
• Γ und Delta bestehen nur aus Sätzen (wegen vorigem Lemma)
.
• ∀x.x = x ∈ Γ (da dies eine Tautologie ist)
Wir brauchen abzählbar unendlichen Vorrat K = (c1 , c2 , . . .) an
Konstantensymbolen, die nicht in τ vorkommen.
Bem.:
1
Es reicht, dass diese nicht in Γ ∪ ∆ vorkommen.
2
Wenn in ∆ keine universellen und in Γ keine existentiellen
Quantoren vorkommen, dann wird dieser Vorrat überhaupt
nicht gebraucht.
Im Folgenden: Grundterm = variablen-freier Terme über den
Konstantensymbolen in τ und den in K
182
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Generischer Beweisversuch
Konstruieren nun Beweisversuch wie folgt.
Schreibe alle Unterformeln von Γ ∪ ∆ in eine
FIFO-Prioritäts-Queue Q. Merke zu jeder Unterformel ∃x.ψ oder
∀x.ψ eine unendliche Liste aller Grundterme. Beginnend mit
Γ =⇒ ∆ macht man nun folgendes.
1
2
Wende (Subst0L ) an, solange dies noch zu neuen Formeln im
Antezedens führt.
Sei ϕ die Formel mit der höchsten Priorität in Γ ∪ ∆, auf die
noch eine Regel angewandt werden kann.
1
2
3
Dupliziere diese Formel mittels (KontrL ) oder (KontrR ).
Wende entsprechende Regel auf eine Kopie davon an. Ist
ϕ = ∃x.ψ ∈ ∆ oder ϕ = ∀x.ψ ∈ Γ, dann wähle als Term den
ersten aus der entsprechenden Liste. Streiche diesen. Ist
ϕ = ∃x.ψ ∈ Γ oder ϕ = ∀x.ψ ∈ ∆ dann setze nächste
Konstante aus K ein.
Schiebe ϕ an das Ende der Prioritäts-Queue.
183
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Pfade im Beweisversuch
Lemma: (Beweisversuch) Sei Γ =⇒ ∆ Sequenz, für die nach
obiger Anleitung ein Beweisversuch konstruiert wurde. Sei
S0 , S1 , . . . ein maximaler Pfad darin (endlich oder unendlich), so
dass Si = Γi =⇒ ∆i . Dann gilt für alle i, k: Falls . . .
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
∃x.ϕ ∈ ∆i / ∀x.ϕ ∈ Γi , so ex. für jedes t ein j mit ϕ[t/x] ∈ ∆j / Γj ,
ϕ ∨ ψ ∈ ∆i / ϕ ∧ ψ ∈ Γi , so ex. j mit ϕ, ψ ∈ ∆j / Γj ,
ϕ ∧ ψ ∈ ∆i / ϕ ∨ ψ ∈ Γi , so ex. j mit ϕ ∈ ∆j / Γj oder ψ ∈ ∆j / Γj ,
∀x.ϕ ∈ ∆i / ∃x.ϕ ∈ Γi , so ex. j und c mit ϕ[c/x] ∈ ∆j / Γj ,
.
.
.
s = t ∈ Γi , so ex. j mit s = s, t = s ∈ Γj ,
.
.
.
s = t ∈ Γi , t = u ∈ Γk , so ex. j mit s = u ∈ Γj ,
.
s = t ∈ Γi und ϕ[s/x] ∈ Γk , so ex. j mit ϕ[t/x] ∈ Γj ,
.
.
s = t ∈ Γi und u Grundterm, so ex. j mit u = u[t/s] ∈ Γj ,
i ≤ k, so Γi ⊆ Γk und ∆i ⊆ ∆k ,
Γi und ∆i enthalten nur Sätze.
Beweis: Übung.
184
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Herbrand-Modelle
Sei Π = S0 , S1 , . . . Pfad in obigem Beweisversuch für ungültiges
Γ =⇒ ∆. Konstruiere Herbrand-Modell HΠ = (G , τ ) wie folgt.
O.B.d.A. enthalte τ mindestens ein Konstantensymbol.
• τ besteht aus allen Relations- und Funktionssymbolen, die in
Π vorkommen.
• G = {t | t Grundterm über τ }
generische Interpretation der Funktions- und Relationssymbole:
Π
• f H (t1 , . . . , tn ) = f (t1 , . . . , tn ),
Π
(Insbesondere c H = c für Konstantensymbole c und
Π
allgemein [[t]]H = t für Grundterme t).
Π
• (t1 , . . . , tn ) ∈ R H gdw. es ein Si = Γi =⇒ ∆i gibt, so dass
R(t1 , . . . , tn ) ∈ Γi .
185
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Faktor-Strukturen modulo einer Kongruenz
Wdh.:
• Kongruenz bzgl. Menge von Operationen = Äquivalenz +
Verträglichkeit mit diesen Operationen
• Ist ∼ Äquivalenzrelation, so bezeichnet [x]∼ die
Äquivalenzklasse von x, d.h. [x]∼ := {y | x ∼ y }.
Def.: Sei A = (A, τ ) Struktur und ∼ Kongruenzrelation auf A
bzgl. den Operationen in τ . Definiere den Faktor von A bzgl. ∼ als
A/∼ = (A∼ , τ ), wobei
• A∼ = {[x]∼ | x ∈ A}
• f A/∼ ([x1 ]∼ , . . . , [xn ]∼ ) = [f A (t1 , . . . , tn )]∼
• ([x1 ]∼ , . . . , [xn ]∼ ) ∈ R A/∼ gdw. (x1 , . . . , xn ) ∈ R A
Faktorstruktur ist wohldefiniert: Definition der Funktionen und
Relationen unabhängig von Vertretern der Äquivalenzklasse [x]∼ .
186
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Das Termmodell
Def.: Sei Π = S0 , S1 , . . . Pfad im Beweisversuch für ungültiges
Γ =⇒ ∆. Für Grundterme s und t definiere
s∼t
gdw.
.
es gibt i mit s = t ∈ Γi
Lemma: Die Relation ∼ ist Kongruenzrelation auf dem
Herbrand-Modell HΠ .
Beweis: Reflexivität, Symmetrie und Transitivität folgen aus dem
Beweisversuchs-Lemma (e) und (f). Verträglichkeit mit den
Funktions- und Relationssymbolen folgt aus (g) und (h).
Im folgenden benutzen wir das Termmodell als Faktor des
Herbrand-Modells modulo obiger Kongruenzrelation: HΠ /∼.
187
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
188
Eigenschaften des Termmodells
Lemma: (Antezedentien) Sei Π = S0 , S1 , . . . Pfad aus
Beweisversuch nach obiger Konstruktion undSHΠ /∼ dazugehöriges
Termmodell. Seien Si = Γi =⇒ ∆i und Γ = i∈N Γi . Dann gilt
HΠ /∼ |= ϕ für alle ϕ ∈ Γ.
Beachte: Nach Beweisversuchs-Lemma (i) wird keine
Variablenbelegung gebraucht.
Beweis: Durch Induktion über den Formelaufbau.
.
Fall ϕ = (t1 = t2 ): Da ϕ ∈ Γ gilt t1 ∼ t2 und daher [t1 ]∼ = [t2 ]∼
.
und somit HΠ /∼ |= t1 = t2 .
Fall ϕ = R(t1 , . . . , tn ): Da ϕ ∈ Γ gilt ([t1 ]∼ , . . . , [tn ]∼ ) ∈ R H
und somit HΠ /∼ |= R(t1 , . . . , tn ).
Π /∼
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Eigenschaften des Termmodells
Fall ϕ = ψ1 ∧ ψ2 . Da ϕ ∈ Γ gilt nach dem Beweisversuchslemma
(b) auch ψ1 , ψ2 ∈ Γ. Zweimalige Anwendung der Hypothese liefert
HΠ /∼ |= ψ1 und HΠ /∼ |= ψ2 , somit auch HΠ /∼ |= ϕ.
Fall ϕ = ψ1 ∨ ψ2 ähnlich mit Beweisversuchslemma (c).
Fall ϕ = ∀x.ψ. Das Beweisversuchslemma (a) liefert ψ[t/x] ∈ Γ für
jeden Grundterm t. Nach der Hypothese gilt HΠ /∼ |= ϕ[t/x] für
jedes solche t. Also gilt auch HΠ /∼ |= ∀x.ψ, da es für jedes t ∈ G
offensichtich ein t 0 gibt, so dass [t 0 ]∼ = [t]∼ .
Fall ϕ = ∃x.ψ. Nach Beweisversuchslemma (d) gibt es c mit
ψ[c/x] ∈ Γ. Nach der Hyothese gilt HΠ /∼ |= ψ[c/x]. Da c
Grundterm ist, ist [c]∼ ∈ G∼ . Also gilt auch HΠ /∼ |= ∃x.ψ.
189
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Eigenschaften des Termmodells
Lemma: (Sukzedentien) Sei Π = S0 , S1 , . . . Pfad aus
Beweisversuch nach obiger Konstruktion undSHΠ /∼ dazugehöriges
S
Termmodell. Seien Si = Γi =⇒ ∆i und Γ = i∈N Γi , ∆ = i∈N ∆i .
Falls kein Si Axiom ist, dann gilt HΠ /∼ 6|= ϕ für alle ϕ ∈ ∆.
Beweis: Durch Induktion über den Formelaufbau.
.
.
Fall ϕ = (s = t). Angenommen, es gelte HΠ /∼ |= s = t. Dann
wäre [s]∼ = [t]∼ , bzw. s ∼ t. Dies ist aber nur der Fall, wenn es
n ∈ N und Terme s0 , . . . , sn gibt, so dass s0 = s, sn = t und
.
(si−1 = si ) ∈ Γ für i = 1, . . . , n. Nach dem Beweisversuchslemma
.
(f) wäre dann auch (s = t) ∈ Γ. Das widerspricht aber der
Tatsache, dass Π kein Axiom enthält.
Fall ϕ = R(t1 , . . . , tn ). Ähnlich wie im vorherigen Fall.
Fälle ϕ = ψ1 ∨ ψ2 , ϕ = ψ1 ∧ ψ2 , ϕ = ∃x.ψ und ϕ = ∀x.ψ: Wie die
entsprechenden Fälle im Antezedentien-Lemma mit
Beweisversuchslemma (a)–(d).
190
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.4 Prädikatenlogik – Der Sequenzenkalkül
Vollständigkeit des Sequenzenkalküls
Theorem 23
Ist Γ =⇒ ∆ gültig, so ist Γ =⇒ ∆ beweisbar.
Beweis: Angenommen, Γ =⇒ ∆ ist nicht beweisbar. Dann liefert
der obige Beweisversuch einen endlichen oder unendlichen Pfad Π
von Sequenzen, der kein Axiom enthält. Daraus lässt sich das
Termmodell HΠ /∼ als Faktor des Herbrand-Modells modulo der
.
durch = induzierten Kongruenzrelation generieren.
Nach dem Antezedentien-Lemma erfüllt dies alle Formeln
V in
Antezedentien des Pfades, also insbesondere HΠ /∼ |= Γ.
Nach dem Sukzedentien-Lemma erfüllt dies keine Formel
in einem
W
Sukzedens des Pfades, also insbesondere HΠ /∼ 6|= ∆.
Damit ist dann Γ =⇒ ∆ aber nicht gültig.
191
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Der Satz von Löwenheim-Skolem
Theorem 24
Jede erfüllbare FO-Formel hat ein Modell, welches höchstens
abzählbar unendlich groß ist.
Beweis: Sei ϕ erfüllbar, also ¬ϕ nicht allgemeingültig. Nach
Thm. 22 ist ϕ =⇒ ∅ nicht beweisbar. Nach Thm. 23 das von
einem unendlichen Pfad im generischen Beweisversuch induzierte
Termmodell ein Modell von ϕ. Dies hat aber höchstens abzählbar
unendlich viele Elemente.
Bem.: Der Beweis gilt sogar für höchstens abzählbar unendliche
Formelmengen Φ (und sogar für überabzählbare Signaturen).
Kor.: Es gibt keine höchstens abzählbar unendliche Formelmenge
Φ, so dass Mod(Φ) = {(R, τ )} für beliebiges τ .
192
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
193
Von FO zur Aussagenlogik (und zurück)
Def.: FO∀ = Menge aller FO-Sätze der Form ∀x1 . . . ∀xn .ϕ, wobei
ϕ quantorenfrei.
Def.: Sei Φ FO∀ -Menge. O.B.d.A. enthalte zugrundeliegendes τ
mindestens ein Konstantensymbol. Definiere aussagenlogische
Formelmenge
AL(Φ) := {al ϕ[t1 /x1 , . . . , tn /xn ] | ∀x̄.ϕ ∈ Φ, t1 , . . . , tn Grundterm,
ϕ quantorenfrei }
wobei
al(ϕ ∧ ψ) := al(ϕ) ∧ al(ψ)
.
.
al(s = t) := Xs =t
al(ϕ ∨ ψ) := al(ϕ) ∨ al(ψ)
al(¬(ϕ ∧ ψ)) := al(¬ϕ) ∨ al(¬ψ)
al(R(t1 , . . . , tn )) := XR(t1 ,...,tn )
.
.
al(¬(s = t)) := ¬Xs =t
al(¬(ϕ ∨ ψ)) := al(¬ϕ) ∧ al(¬ψ)
al(ϕ → ψ) := al(ϕ) → al(ψ)
al(¬R(t1 , . . . , tn )) := ¬XR(t1 ,...,tn )
al(¬¬ϕ) := al(ϕ)
al(¬(ϕ → ψ)) := ¬(al(ϕ) → al(ψ))
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
194
Beispiel
.
Bsp.: Φ = {R(c), c = f (c), ∀x R(x) → ¬R(f (x)) }
. (c) , XR(c) → ¬XR(f (c)) ,
AL(Φ) = {XR(c) , Xc =f
XR(f (c)) → ¬XR(f (f (c))) , XR(f (f (c))) → ¬XR(f (f (f (c)))) , . . .}
Beachte: hier ist Φ nicht erfüllbar, AL(Φ) jedoch!
Ziel ist Satz von Herbrand: Übertragung der Erfüllbarkeit der
Aussagenlogik auf FO.
Problem in diesem Beispiel: AL(Φ) “vergisst” die Beziehung
c = f (c) in jedem erfüllenden (FO-)Modell.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Abschluss
Def.: Sei AL(Φ) aussagenlogische Formelmenge wie oben. Im
folgenden identifizieren wir der Einfachheit halber eine atomare
Formel ψ mit der entsprechenden aussagenlogischen Variablen Xψ .
Eine Menge AL∗ (Φ) heißt Abschluss (oder auch
Herbrand-Expansion) von AL(Φ), wenn gilt:
• AL(Φ) ⊆ AL∗ (Φ).
.
• Für jeden Grundterm t ist t = t ∈ AL∗ (Φ).
.
• Ist ψ[t/x] ∈ AL∗ (Φ) und t = t 0 ∈ AL∗ (Φ), so ist auch
ψ[t 0 /x] ∈ AL∗ (Φ)
195
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Satz von Herbrand
Theorem 25
Eine Menge Φ von FO∀ -Sätzen ist erfüllbar gdw. die Menge
AL∗ (Φ) aussagenlogischer Formeln erfüllbar ist.
Beweis: “⇒” Angenommen, Φ ist erfüllbar. Also ex. A mit
A |= ϕ für alle ϕ ∈ Φ. Definiere nun Interpretation I der
Variablen:
.
I(s = t) = 1
gdw.
[[s]]A = [[t]]A
I(R(t1 , . . . , tn )) = 1
gdw.
([[t1 ]]A , . . . , [[tn ]]A ) ∈ R A
Induktion über Formelaufbau liefert I |= ϕ für alle ϕ ∈ AL∗ (Φ).
Die Rückrichtung erfordert ein kleines bisschen Vorarbeit.
196
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Herbrand-Strukturen
Um aus einem aussagenlogischen Modell ein prädikatenlogisches zu
.
bauen benutzen wir wieder Herbrand-Modelle modulo der von =
induzierten Kongruenz.
Def.: Sei Φ Menge von FO∀ -Sätzen und AL∗ (Φ) wie oben. Die
Herbrand-Struktur (bzgl. der Funktionssymbole) von Φ ist
H(Φ) = (G , τ ) mit G Menge der Grundterme über τ und
f H(Φ) (t1 , . . . , tn ) = f (t1 , . . . , tn )
für alle Funktionssysmbole f .
Lemma: Sei AL∗ (Φ) wie oben Abschluss von AL(Φ) und t1 ∼ t2
.
gdw. t1 = t2 ∈ AL∗ (Φ). Dann ist ∼ Kongruenzrelation auf der
Menge der Grundterme bzgl. aller Funktions- und
Relationssysmbole in AL∗ (Φ).
Beweis: Übung.
197
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Beweis des Satzes von Herbrand
(⇐) Angenommen, AL∗ (Φ) ist erfüllbar. Dies habe Modell I.
Definiere eine Erweiterung HI (Φ) der Faktor-Herbrand-Struktur
H(Φ)/∼ wie folgt.
• Universum und Interpretation der Funktionssymbole ist wie in
H(Φ)/∼ .
• Für alle Relationssymbole R gilt
([t1 ]∼ , . . . , [tn ]∼ ) ∈ R H
I (Φ)
gdw. I |= R(t1 , . . . , tn )
Beachte: Nach obigem Lemma ist ∼ Kongruenzrelation.
Sei nun ∀x̄.ϕ ∈ Φ, also al(ϕ[t̄/x̄]) ∈ AL(Φ) ⊆ AL∗ (Φ) für jedes
Tupel t̄ von Grundtermen. Durch Induktion über den Formelaufbau
zeigt man nun, dass HI (Φ) |= al(ϕ[t̄/x̄]) gilt. Da die Elemente des
Universums von HI Äquivalenzklassen von Grundtermen sind, gilt
somit dann auch HI |= ∀x̄.ϕ.
198
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Skolemisierung von Formelmengen
Lemma: Sei Ψ Formelmenge. Es gibt Skolem-Normalform sk(ψ)
von ψ für jedes ψ ∈ Ψ, so dass Ψ erfüllbar ist, gdw.
sk(Ψ) := {sk(ψ) | ψ ∈ Ψ} erfüllbar ist.
Beweis: Übung.
Beachte: Es gibt auch erfüllbare Mengen, die man durch sukzessive
(nicht-clevere) Skolemisierung ihrer Elemente in unerfüllbare
Mengen überführen kann.
Mithilfe des Satzes von Herbrand lässt sich z.B. der
Kompaktheitssatz der Aussagenlogik auf FO übertragen.
199
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Kompaktheit der Prädikatenlogik
Theorem 26
Menge Φ von FO-Formeln ist erfüllbar gdw. jede endliche
Teilmenge von Φ erfüllbar ist.
Beweis: “⇒” Trivial. “⇐” O.B.d.A. sei Φ unerfüllbare Menge
von FO∀ -Sätzen. Nach Thm. 25 ist AL∗ (Φ) unerfüllbar. Nach
Kompaktheit der Aussagenlogik gibt es unerfüllbares
Γ ⊆fin AL∗ (Φ). Betrachte
Ψ := {∀x̄.ϕ ∈ Φ | es gibt Grundterme t̄ mit al(ϕ[t̄/x̄]) ∈ Γ}
Offensichtlich ist Ψ ⊆fin Φ. Sei
Γ0 := {ϕ[t̄ 0 /x̄] | es gibt ϕ[t̄/x̄] ∈ Γ, t̄ 0 beliebig }
Da Γ0 ⊇ Γ, ist Γ0 auch unerfüllbar. Nach Thm. 25 ist Ψ
unerfüllbar.
200
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Aufsteigender Löwenheim-Skolem-Satz
Theorem 27
Sei ϕ Satz, der in einem unendlichen Modell erfüllt ist. Dann gibt
es zu jeder Menge M eine Struktur AM mit einem Universum M 0 ,
so dass AM |= ϕ und |M 0 | ≥ |M|.
Beweis: Sei M gegeben und sei {cm | m ∈ M} Menge von
paarweise verschiedenen Konstantensymblen, die nicht in ϕ
auftreten. Betrachte die Formelmenge
.
Φ := {ϕ} ∪ {¬(cn = cm ) | n, m ∈ M, m 6= n}
Beachte: Thm. 27 ist bewiesen, wenn gezeigt werden kann, dass Φ
erfüllbar ist. Wegen Kompaktheit reicht es aus zu zeigen, dass jede
endliche Teilmenge erfüllbar ist. Jede Teilmenge, die ϕ nicht
enthält, ist offensichtlich erfüllbar.
201
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Beweis des aufst. Löwenheim-Skolem-Satzes
Es reicht aus, sich auf solche Teilmengen ΦN zu beschränken, die
ϕ enthalten und für die es ein N ⊆fin M gibt, so dass
.
ΦN := {ϕ} ∪ {¬(cn = cm ) | n, m ∈ N, m 6= n}
Nach Voraussetzung hat ϕ ein unendliches Modell A. Wähle nun
in diesem |N| paarweise verschiedene Elemente bm für jedes
m ∈ N. Da |N| < ∞ ist dies möglich.
Sei AN nun definiert wie A, wobei zusätzlich die Konstante cm
durch das Element bm interpretiert wird. Offensichtlich ist AN
Modell von ΦN . Also ist jedes solche ΦN erfüllbar und mit der
Kompaktheit dann auch Φ. Sei nun B ein Modell von Φ. Beachte:
B muss alle cm , m ∈ M verschieden interpretieren. Also hat das
Universum mindestens die Kardinalität von M.
202
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Bijektivität und Isomorphie
Def.: Eine Abb. f : A → B ist bijektiv, wenn sie folgendes ist:
• surjektiv: für jedes b ∈ B ein a ∈ A gibt mit b = f (a),
• injektiv: für alle a 6= a0 ∈ A gilt f (a) 6= f (a0 ),
Def. A = (A, τ ) und B = (B, τ ) sind isomorph, A ' B, wenn es
eine bijektive Abbildung ι : A → B gibt, so dass für alle
a1 , . . . , an ∈ A und f , R ∈ τ :
• (a1 , . . . , an ) ∈ R A gdw. (ι(a1 ), . . . , ι(an )) ∈ R B ,
• ι(f A (a1 , . . . , an )) = f B (ι(a1 ), . . . , ι(an )).
intuitiv: isomorphe Strukturen sehen genau gleich aus,
unterscheiden sich nur in den Namen der Elemente
203
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Elementare Äquivalenz
Def.: Zwei Strukturen A, B sind elementar äquivalent, A ≡ B,
wenn für alle FO-Sätze ϕ gilt:
A |= ϕ
gdw. B |= ϕ
sprich: diese können nicht in FO voneinander unterschieden
werden, Th({A}) = Th({B}).
204
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Isomorphie und elementare Äquivalenz
Theorem 28
Wenn A ' B, dann A ≡ B.
Beweis: Übung.
Umkehrung gilt i.A. nicht. Das Gegenbeispiel braucht jedoch
unendliche Strukturen. Im Endlichen gilt die Umkehrung sogar.
Theorem 29
Seien A, B endlich. Wenn A ≡ B, dann A ' B.
Beweis: Übung.
205
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Potenzmengen und surjektive Abbildungen
Def.: Die Potenzmenge einer Menge M ist die Menge
2M := {N | N ⊆ M}.
Lemma: Für eine beliebige Menge A gibt es keine surjektive
Abbildung vom Typ A → 2A .
Beweis: Angenommen f : A → 2A ist surjektiv. Betrachte die
Menge B ⊆ A, definiert durch a ∈ B gdw. a 6∈ f (a). Es gibt kein
a ∈ A, so dass f (a) = B; denn sonst wäre a ∈ f (a) gdw. a ∈ B
gdw. a 6∈ f (a).
Kor.: Seien A = (A, τ ) und B = (B, τ ) Strukturen, so dass B
mindestens so groß ist wie 2A . Dann ist A 6' B.
206
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Nicht-Isomorphie und elementare Äquivalenz
Theorem 30
Für jedes A über einem unendlichen Universum gibt es B, so dass
A 6' B, aber A ≡ B.
Beweis: Sei A = (A, τ ) unendlich und Φ := Th({A}).
Offensichtlich ist Φ erfüllbar in einem unendlichen Modell. Sei nun
B := 2A . Nach dem aufsteigenden Satz von Löwenheim-Skolem
hat Φ auch ein Modell B mit Universum mindestens so groß wie
2A . Nach obigem Korollar gilt A 6' B.
Noch zu zeigen: A ≡ B. Angenommen, dies ist nicht der Fall.
Dann gibt es FO-Satz ϕ, so dass o.B.d.A. A |= ϕ und B 6|= ϕ gilt.
(Im umgekehrten Fall kann man auch ¬ϕ als trennenden FO-Satz
hernehmen.) Dann ist aber ϕ ∈ Th({A}) und somit ϕ ∈ Φ und
damit dann auch B |= ϕ.
207
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.5 Prädikatenlogik – Fundamentale Sätze
Modellerweiterungssatz ohne Gleichheit
Wenn Gleichheit nicht in den Formeln vorkommt, dann gilt sogar
eine stärkere Variante des aufsteigenden Satzes von
Löwenheim-Skolem.
Theorem 31
Sei ϕ Satz ohne Gleichheit und A Modell von ϕ mit Universum A.
Für jedes B ⊇ A gibt es eine Struktur B mit Universum B, so dass
B |= ϕ.
Beweis: Übung.
Daraus folgt z.B., dass Gleichheit nicht definierbar ist.
208
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Entscheidbarkeit mittels Sequenzenkalkül?
Zur Erinnerung: Das Erfüllbarkeitsproblem für die Aussagenlogik
(und damit auch das Allgemeingültigkeitsproblem) ist in
exponentieller Zeit entscheidbar. (Naı̈ve Aufzählung aller
Interpretationen, DPLL, Resolution, Sequenzenkalkül, etc.)
Es gibt auch Sequenzenkalkül für FO. Ist damit auch das
Erfüllbarkeitsproblem für FO entscheidbar? Nein, aber wieso?
Bei Aussagenlogik anzuwendende Regel fast kanonisch gegeben,
und Prämissen immer kleiner als Konklusionen.
Beweisversuch
muss irgendwann terminieren.
Nicht so bei FO: Wahl der Terme in (∃R ) und (∀L ) vollkommen
beliebig! Systematische und terminierende Exploration nicht
möglich. Auch kein Abstieg in Größe der Sequenzen gegeben.
209
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Unentscheidbarkeit der Prädikatenlogik
Sequenzenkalkül liefert also keinen Algorithmus, der zu jeder
Eingabeformel in FO in endlicher Zeit terminiert und ausgibt, ob
diese erfüllbar ist oder nicht. Theoretisch könnte es aber “bessere”
bzw. andere Verfahren geben, die dies leisten. Dem ist aber
beweisbar nicht so.
Theorem 32 (ohne Beweis)
Es gibt keinen Algorithmus für das Erfüllbarkeitsproblem der
Prädikatenlogik.
Beachte: Natürlich kann es solche Algorithmen in Spezialfällen
geben, z.B. für
• Fragmente von FO
• bestimmte Strukturklassen
210
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Ein entscheidbares Fragment von FO
Theorem 33
Sei τ eine Signatur, in der Funktionssymbole mit Stelligkeit ≥ 1
nicht vorkommen. Es gibt einen terminierenden Algorithmus, der
zu vorgelegter Formel ϕ über τ entscheidet, ob diese erfüllbar ist
oder nicht.
Beweis: Übung. (Hinweis: Satz von Herbrand)
Im folgenden wollen wir noch eine Eigenschaft kennenlernen, mit
deren Hilfe sich das Erfüllbarkeitsproblem für ein noch weiter
eingeschränktes Fragment ebenfalls zeigen lässt.
211
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Endliche Modelleigenschaft
Def.: Eine Logik L hat die endliche Modelleigenschaft (FMP), falls
es für jeder erfüllbare Satz ϕ ∈ L ein Modell A = (A, τ ) hat, so
dass |A| < ∞.
Bsp.: Betrachte zunächst FO nur über total geordneten
Strukturen:
.
ϕ := ¬∃x.∀y .x = y ∨ y < x
besagt, dass es kein größtes Element gibt, welches es in endlichen,
total geordneten Strukturen aber immer gibt. Dennoch ist ϕ
erfüllbar.
FO über allgemeinen Strukturen hat auch nicht die FMP, aber
wieso?
212
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Kleine Modelleigenschaft
Verschärfung der FMP:
Def.: Sei f : N → N. Eine Logik L hat die kleine Modelleigenschaft
bzgl. f (f -SMP), falls jeder erfüllbare Satz ϕ ∈ L eine endliches
Modell A = (A, τ ) hat, so dass |A| ≤ f (|ϕ|) hat.
Def.: Sei FO∃∀
Rel Menge aller Formeln der Form
∃x1 . . . ∃xn .∀y1 . . . ∀ym .ϕ, wobei ϕ quantoren-frei und relational,
d.h. ohne Funktionssymbole.
Theorem 34
n−1
FO∃∀
Rel hat die f -SMP, wobei f (n) = d 2 e
213
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Substrukturen
Def.: Seien A, B τ -Strukturen mit Universen A, bzw. B. Dann ist
B Substruktur von A, falls gilt:
• B ⊆ A,
• für alle Relationssymbole R ∈ τ :
R B = R A ∩ |B × .{z
. . × B}
st(R)
• für alle Funktionssymbole f ∈ τ :
f B (a1 , . . . , ak ) = f A (a1 , . . . , ak ) ∈ B
falls a1 , . . . , ak ∈ B
Bsp.: ({0, 2, 4, . . .}, +) ist Substruktur von (N, +),
({1, 3, 5, . . .}, +) jedoch nicht.
214
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Substrukturen und universelle Formeln
Def.: Eine Formel ist universell, wenn sie in positiver Normalform
ist und keine existentiellen Quantoren in ihr vorkommen.
Lemma 1: Sei ϕ universell, B = (B, τ ) Substruktur von A, ϑ
Variablenbelegung mit ϑ(x) ∈ B für alle x ∈ frei(ϕ). Dann gilt
wenn A, ϑ |= ϕ
dann B, ϑ |= ϕ
Beweis: Durch Induktion über den Aufbau von Termen und
Formeln. (Übung)
Lemma 2: Sei A = (A, τ ) relationale Struktur und B ⊆ A. Es gibt
eine (eindeutige) Substruktur B von A, deren Universum B ist.
Beweis: Übung.
215
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Beweis der kleinen Modelleigenschaft für FO∃∀
Rel
Beweis von Thm. 34: Sei ϕ = ∃x1 . . . ∃xn .ϕ0 erfüllbarer Satz
mit ϕ0 = ∀y1 . . . ∀ym .ψ. Dann ex. A = (A, τ ), so dass A |= ϕ. Also
gibt es a1 , . . . , an ∈ A, so dass
A, ϑ |= ϕ0
wobei ϑ(xi ) = ai für i = 1, . . . , n.
Sei B := {a1 , . . . , an }. Da ϕ relational ist, gibt es nach Lemma 2
Substruktur B von A mit Universum B. Da ϕ0 universell ist, gilt
nach Lemma 1: B, ϑ |= ϕ0 gdw. A, ϑ |= ϕ0 . Da alle a1 auch in B
vorhanden sind, gilt somit auch B |= ϕ.
O.B.d.A. gibt es höchstens d n−1
2 e ex. Quantoren in Formel der
Länge n.
216
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
Model Checking
Das Auswerteproblem (oder auch Model-Checking-Problem) für
FO ist das folgende: Gegeben FO-Formel ϕ und Interpretation I,
entscheide, ob I |= ϕ gilt oder nicht.
Beachte Unterschied zu Erfüllbarkeit!
Wir betrachten das Model-Checking-Problem nur für endliche
Strukturen. Für unendliche ergeben sich Fragen und Hindernisse
bzgl. endlicher Repräsentationen.
Theorem 35
Das Model-Checking-Problem für FO lässt sich in Zeit O(mn )
entscheiden, wobei n = Größe der Formel, m = Größe der Struktur.
217
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
218
Ein Algorithmus für das Model-Checking-Problem
Beweis: Sei I = (A, ϑ) und A = (A, τ ). Folgender rekursive
Algorithmus löst das Model-Checking-Problem.
MC(A,ϑ,ϕ) =
case ϕ of
R(t1 , . . . , tn ):
.
t1 = t2 :
ψ1 ∨ ψ2 :
∃x.ψ:
A
A
return ([[t1 ]]A
ϑ , . . . , [[tn ]]ϑ ) ∈ R
A
A
return [[t1 ]]ϑ = [[t2 ]]ϑ
return MC(A,ϑ,ψ1 ) ∨ MC(A,ϑ,ψ2 )
for each a ∈ A
if MC(A,ϑ[x 7→ a],ψ) = tt then return tt
return ff
...
Laufzeitabschätzung ergibt sich daraus, dass im schlimmsten Fall
in jeder Unterformel das gesamte Universum durchsucht werden
muss.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.6 Prädikatenlogik – (Un-)Entscheidbarkeit
SMP und Entscheidbarkeit
Theorem 36
Sei L Logik über endlicher Signatur mit f -SMP bzgl. einer
Funktion f . Dann ist das Erfüllbarkeitsproblem für L entscheidbar.
Beweis: Folgender Algorithmus löst das Erfüllbarkeitsproblem.
SAT(ϕ) =
eliminiere freie Variablen in ϕ durch äußere, existentielle Quantifizierung
for each τ -Struktur A mit |A| ≤ f (|ϕ|)
if MC(A,[],ϕ) = tt then return tt
return ff
Korrektheit ergibt sich daraus, dass jedes ϕ, welches kein Modell
der Größe ≤ f (|ϕ|) hat, unerfüllbar sein muss.
219
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
220
Ausdrucksstärke
Eindruck von Ausdrucksstärke von FO über elementare Äquivalenz
und Definierbarkeit
Unmöglichkeitsresultate mittels Löwenheim-Skolem z.B. jedoch nur
im Unendlichen
Wie zeigt man, dass im Endlichen etwas in FO nicht möglich ist?
Genauer: Nicht-Definierbarkeit einer Relation.
Beachte: universelle Aussage (“für alle Formeln gilt, dass diese
etwas bestimmtes nicht definieren”); i.A. schwerer zu beweisen als
existentielle
Vereinfachung in diesem Abschnitt: nur noch relationale
Strukturen (ohne Konstanten) Beachte: Funktionen können durch
Relationen modelliert und in FO definiert werden, z.B.
. ∀x.∀y . ∃z.R+ (x, y , z) ∧ ∀z.∀z 0 .R+ (x, y , z)∧R+ (x, y , z 0 ) → z = z 0
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Partielle Isomorphismen
Def.: Seien A = (A, τ ) und B = (B, τ ) Strukturen. Ein partieller
Isomorphismus ist eine partielle, injektive Abbildung κ : A → B, so
dass für alle R und a1 , . . . , an ∈ dom(κ):
(a1 , . . . , an ) ∈ R A
gdw.
(κ(a1 ), . . . , κ(an )) ∈ R B
Bsp.: Was sind partielle Isomorphismen zwischen den folgenden
Strukturen?
a
b
0
1
2
3
c
d
Hat part. Iso. endlichen Domain dom(κ) = {a1 , . . . , an }, dann
schreiben wir ihn auch als Liste (a1 , κ(a1 )), . . . , (an , κ(an )).
221
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Ehrenfeucht-Fraı̈ssé-Spiele für FO
Def.: Seien A = (A, τ ), B = (B, τ ) relationale Strukturen, mit
A ∩ B = ∅, k ∈ N. Das EF-Spiel GkA,B (einfach: Gk ) wird zwischen
Spielern S (Spoiler) und D (Duplicator) folgendermaßen gespielt.
Partie π besteht aus k Runden. In der i-ten Runde
• wählt S ein ai ∈ A, und danach wählt D ein bi ∈ B, oder es
• wählt S ein bi ∈ B, und danach wählt D ein ai ∈ A.
D gewinnt π, falls (a1 , b1 ), . . . , (ak , bk ) partieller Isomorphismus
zwischen A und B ist. Ansonsten gewinnt S die Partie π.
222
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Beispiele
Bsp.: Wer gewinnt welche Partien auf den folgenden Strukturen?
1
0
1
2
a
b
d
c
3
2
jeweils (N, <), (Z, <), (Q, <), (R, <)
3
totale Ordnungen mit n, bzw. n + 1 Elementen
4
balancierter und unbalancierter Baum
223
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Konfigurationen
Gewinnen einer Partie in GkA,B sagt nicht viel über Zusammenhang
zwischen A und B aus
Problem: Spieler können auch schlechte Wahl treffen; so dass sie
gewonnen hätten, wenn sie anders gewählt hätten.
“gewinnen können” durch Existenz von Strategien ausdrücken
Def.: Eine S-Konfiguration ist eine Liste
(a1 , b1 ), . . . , (an , bn ) ∈ (A × B)n für ein n ≥ 0. Eine
D-Konfiguration ist ein Element aus (A × B)n × (A ∪ B) für ein
n ≥ 0. (Beschreiben Situation, in der jeweiliger Spieler zieht.)
224
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Strategien
Def.: Eine Strategie für Spieler X ist eine Funktion σ, die einer
gegebenen X -Konfiguration ein Element aus A ∪ B zuordnet.
Sei σ Strategie für Spieler X . Partie (a1 , b1 ), . . . , (ak , bk ) ist
σ-konform, falls
• X = S und für alle i = 1, . . . , k − 1:
σ (a1 , b1 ), . . . , (ai , bi ) = ai+1 bzw.
σ (a1 , b1 ), . . . , (ai , bi ) = bi+1
• X = D und für alle i = 1, . . . , k − 1:
σ (a1 , b1 ), . . . , (ai , bi ), ai+1 = bi+1
σ (a1 , b1 ), . . . , (ai , bi ), bi+1 = ai+1
bzw.
Konformität intuitiv: wähle, wie die Strategie(funktion) es vorgibt
225
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Spiele gewinnen
Def.: Spieler X gewinnt das Spiel GkA,B , wenn es eine Strategie σ
für Spieler X gibt, so dass X jede σ-konforme Partie gewinnt.
bedeutet intutiv: immer gewinnen können, egal wie Gegner spielt
Theorem 37 (Determiniertheit)
Für alle Strukturen A, B und k ∈ N gilt: S gewinnt GkA,B gdw. D
gewinnt GkA,B nicht.
Beweis: Übung.
Bem.: “⇒” fast trivial, “⇐” keineswegs, wieso?
226
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Monotonität in der Rundenzahl
Lemma: Seien A, B relationale Strukturen, k ∈ N.
a) D gewinnt G0A,B
A,B
b) Falls S das Spiel GkA,B gewinnt, so auch Gk+1
.
A,B
c) Falls D das Spiel Gk+1
gewinnt, so auch GkA,B .
Beweis: (a) ∅ ist immer partieller Isomorphismus.
(b) Betrachte Strategie, die in Runde k + 1 den k-ten Zug
wiederholt.
(c) Übung.
227
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Ziel: Ausdrucksstärke
Ziel: zeige, dass gewisse Klassen K von Strukturen nicht
FO-definierbar sind, d.h. es gibt keinen FO-Satz ϕ, so dass
Mod(ϕ) = K.
Erster Ansatz: Finde A, B, so dass A ∈ K, B 6∈ K, aber A ≡ B.
Nach Sätzen 28 und 29 über Isomorphie und elementare
Äquivalenz kann dies aber nur sein, wenn entweder
• K nicht unter Isomorphie abgeschlossen ist, oder
• A und B beide unendlich sind.
schließt viele interessante aus, z.B. Klasse aller endlichen,
zusammenhängenden Graphen
228
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Quantorentiefe
Def.: Die Quantorentiefe einer Formel ϕ ist
.
qt(s = t) = qt(R(t1 , . . . , tn )) = 0
qt(¬ϕ) = qt(ϕ)
qt(ϕ ∧ ψ) = qt(ϕ ∨ ψ) = max{qt(ϕ), qt(ψ)}
qt(∃x.ϕ) = qt(∀x.ϕ) = 1 + qt(ϕ)
Def.: Seien A, B relational. A ≡k B gdw. für alle FO-Sätze ϕ mit
qt(ϕ) ≤ k gilt:
A |= ϕ gdw. B |= ϕ
A, B nicht durch Satz mit Quantorentiefe höchstens k
unterscheidbar
229
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Generalisierte Spiele
Def.: Seien A = (A, τ ), B = (B, τ ) relational Strukturen, k ∈ N,
n ≤ k und ā = (a1 , . . . , an ) ∈ An , b̄ = (b1 , . . . , bn ) ∈ B n . Schreibe
(ā, b̄) für (a1 , b1 ), . . . , (an , bn ).
A,B
Generalisiertes Spiel Gk−n
(ā, b̄) gespielt wie GkA,B , angefangen in
Runde (n + 1) mit Annahme, dass in Runden 1, . . . , n bereits
(a1 , b1 ), . . . , (an , bn ) gewählt wurden.
ermöglicht Beweise per Induktion über Rundenzahl
230
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Satz von Ehrenfeucht und Fraı̈ssé
Theorem 38
Für alle Strukturen A, B und alle k ∈ N gilt:
D gewinnt GkA,B
gdw. A ≡k B
Lässt sich nicht durch Induktion über k zeigen, wieso? Betrachte
folgende, stärkere Aussage.
Theorem 39
Für alle A = (A, τ ), B = (B, τ ) und alle k ∈ N, n ≤ k, ā ∈ An ,
b̄ ∈ B n und x̄ = (x1 , . . . , xn ) gilt:
A,B
D gewinnt Gk−n
(ā, b̄) gdw.
für alle ϕ(x̄) mit qt(ϕ) ≤ k − n :
A, ā |= ϕ(x̄) gdw. B, b̄ |= ϕ(x̄)
231
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Beweis des Satzes von Ehrenfeucht-Fraı̈ssé
“⇒” Angenommen, es gibt ϕ(x̄) mit qt(ϕ) ≤ k − n, so dass
A, ā |= ϕ(x̄) < B, b̄ |= ϕ(x̄). Konstruiere Gewinnstrategie für S in
Gk−n (ā, b̄) per Induktion über k − n.
k − n = 0: Dann ist ϕ(x̄) boolesche Kombination aus atomaren
.
Formeln der Form xi = xj oder R(xi1 , . . . , xim ). Nach Voraussetzung
ist (o.B.d.A.) A, ā |= ϕ(x̄) und B, b̄ 6|= ϕ(x̄). Man vergewissert sich
(z.B. durch Induktion über den Aufbau von ϕ), dass (ā, b̄) kein
part. Iso. zwischen A und B ist. Somit gewinnt S G0 (ā, b̄).
232
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Beweis des Satzes von Ehrenfeucht-Fraı̈ssé
k − n > 0: Nach Voraussetzung gilt A, ā |= ϕ(x̄) < B, b̄ |= ϕ(x̄).
Betrachte hier nur den Fall ϕ = ∃xn+1 .ψ(x1 , . . . , xn+1 ) und
A, ā |= ϕ und B, b̄ 6|= ϕ. (Andere Fälle analog oder darauf
reduzierbar.) D.h. es gibt a ∈ A, so dass
• A, (ā, a) |= ψ(x1 , . . . , xn+1 ) und
• für alle b ∈ B gilt: B, (b̄, b) 6|= ψ(x1 , . . . , xn+1 ).
Gewinnstrategie für S: wähle zuerst in A das Element a. Darauf
antwortet D mit einem b ∈ B. Nach der Induktionshypothese
gewinnt S das Spiel Gk−(n+1) ((ā, a), (b̄, b)), also somit auch
Gk−n (ā, b̄).
233
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Isomorphietypen
Die Umkehrung verlangt wieder etwas Vorarbeit.
Def.: Sei A = (A, τ ), k ∈ N, n ≤ k, x̄ = (x1 , . . . , xn ). Definiere für
A,ā
wie folgt.
jedes ā = (a1 , . . . , an ) ∈ An eine Formel ϕk−n
ϕA,ā
0 (x̄) :=
. xi = xj ∧
^
ai =aj
^
A,ā
ϕk−n
(x̄) :=
^
ai 6=aj
^
^
R(xi1 , . . . , xim ) ∧
R∈τ
(ai1 ,...,aim )∈R A
^
A,(ā,a)
a∈A
.
¬(xi = xj ) ∧
∃xn+1 .ϕk−n−1 ∧ ∀xn+1 .
¬R(xi1 , . . . , xim )
(ai1 ,...,aim )6∈R A
_
a∈A
A,(ā,a)
ϕk−n−1
234
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Wohldefiniertheit der Isomorphietypen
Zunächst erscheinen Dis- und Konjuntionen in ϕA,ā
m für m > 0
unendlich. Sind aber nur endlich.
Lemma: Sei A = (A, τ ) und x̄ gegeben. Für alle n, m ≥ 0 ist die
Menge
A,ā
{ ϕm
(x̄) | ā ∈ An }
endlich.
Beweis: Übung.
A,ā
nicht vorkommt und dass x̄
Hinweis: Beachte, dass ā selbst in ϕm
fest ist.
235
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Isomorphietypen und EF-Spiele
Lemma: Sei k ∈ N, n ≤ k, A = (A, τ ), ā ∈ An , B = (B, τ ),
b̄ ∈ B n . Dann gilt:
A,B
D gewinnt Gk−n
(ā, b̄) gdw. B, b̄ |= ϕA,ā
k−n
Beweis: Per Induktion über k − n. Sei k − n = 0. Dann ist
B, b̄ |= ϕA,ā
gdw.
0
• für alle 1 ≤ i, j ≤ n: bi = bj gdw. ai = aj , und
• für alle 1 ≤ i1 , . . . , im ≤ n: (bi1 , . . . , bim ) ∈ R B gdw.
(ai1 , . . . , aim ) ∈ R A .
Dies ist der Fall gdw. (ā, b̄) part. Iso. zwischen A und B ist, bzw.
gdw. D das Spiel G0A,B (ā, b̄) gewinnt.
236
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Isomorphietypen und EF-Spiele
A,ā
Sei k − n > 0. Angenommen B, b̄ |= ϕk−n
. Dann existiert
• für jedes a ∈ A ein b ∈ B und
• für jedes b ∈ B ein a ∈ A
A,(ā,a)
so dass B, (b̄, b) |= ϕk−n−1 . Eröffnet S nun mit a ∈ A, so kann D
mit entsprechendem b ∈ B und umgekehrt antworten. Nach
A,B
Hypothese gewinnt D das Restspiel Gk−n−1
((ā, a), (b̄, b)) und
A,B
somit auch Gk−n (ā, b̄).
Die Umkehrung gilt genauso.
237
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Beweis des Satzes von Ehrenfeucht-Fraı̈ssé
noch zu zeigen: wenn A, ā und B, b̄ nicht durch Formel der
Quantorentiefe ≤ k − n zu unterscheiden, dann gewinnt D
A,B
Gk−n
(ā, b̄).
A,B
Beweis: Angenommen, D gewinnt Gk−n
(ā, b̄) nicht. Nach obigem
A,ā
Lemma gilt dann B, b̄ 6|= ϕk−n . Man vergewissert sich leicht, dass
außerdem folgendes gilt:
• qt(ϕA,ā
k−n ) = k − n (einfach nachrechnen)
• A, ā |= ϕA,ā
k−n (folgt z.B. aus obigem Lemma und der
Tatsache, dass D per Copy-Cat-Strategie immer das Spiel
A,A
Gk−n
(ā, ā) gewinnen kann)
238
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Nicht-Definierbarkeit von Strukturklassen
wie benutzt man das um Nicht-Definierbarkeit einer Klasse zu
zeigen?
Theorem 40
Sei K so, dass es für jedes k ∈ N Strukturen Ak , Bk gibt mit
Ak ∈ K, Bk 6∈ K und D gewinnt GkA,B . Dann gibt es keinen
FO-Satz ϕ mit Mod(ϕ) = K.
Beweis: Angenommen, es gibt ϕ mit Mod(ϕ) = K. Dieses hätte
eine feste Quantorentiefe qt(ϕ) = k. Da Ak ∈ K gilt somit
Ak |= ϕ. Nach Voraussetzung gewinnt D das Spiel GkA,B , und nach
dem Satz von Ehrenfeucht-Fraı̈ssé gilt somit Ak ≡k Bk und damit
dann auch Bk |= ϕ. Somit wäre aber Bk ∈ K = Mod(ϕ), was der
Voraussetzung Bk 6∈ K widerspricht.
239
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Zusammenhängende Graphen
Ziel: Die Klasse aller zusammenhängender, ungerichteter Graphen
ist nicht FO-definierbar.
Da ungerichtete Graphen FO-definierbar sind, brauchen wir uns nur
noch auf den Zusammenhang zu konzentrieren. Kcon :=
{G = (V , E ) | G ist zusammenhängender Graph }
Def.: Für k ∈ N definiere:
• Ak = Zykel der Länge 2k
• Bk = zwei disjunkte Kopien von Ak
offensichtlich: Ak ∈ Kcon , Bk 6∈ Kcon für alle k ∈ N
Def.: δ(x, y ) = Distanz von x zu y (Länge des kürzesten Weges,
evtl. ∞)
240
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Zusammenhängende Graphen
Lemma: Für alle k ∈ N gewinnt D das Spiel GkAk ,Bk .
Beweis: Gewinnstrategie für D: Seien in i-ter Runde bereits
a1 , . . . , ai−1 und b1 , . . . , bi−1 gewählt. Wähle nun (eines von) ai
und bi so, dass für alle 1 ≤ j, h ≤ i gilt:
• δ(aj , ah ) = δ(bj , bh ) oder
• δ(aj , ah ), δ(bj , bh ) ≥ 2k−i+1
In Runde 1 problemlos möglich. Angenommen, bis in die i-te
Runde war dies möglich. Dann wählt S ein Element in der
(i + 1)-ten Runde. Sei dies ein ai ∈ Ak . (Anderer Fall ähnlich.) Sei
aj dasjenige Element in Ak , welches bereits ausgewählt wurde und
geringste Distanz zu ai hat.
241
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Zusammenhängende Graphen
Fall δ(ai , aj ) ≥ 2k−i . Nach Voraussetzung ist der Abstand zweier
bereits ausgewählter b, b 0 ∈ Bk entweder mindestens 2k−(i−1)+1
oder gleich dem Abstand der entsprechenden Elemente in Ak . So
lässt sich leicht ein bi finden, welches zu allen bereits gewählten
einen Abstand von mindestens 2k−(i−1)+1 /2 = 2k−i+1 hat.
Fall δ(ai , aj ) < 2k−i . Dann muss sich auch ein bi finden lassen, so
dass δ(bi , bj ) = δ(ai , aj ) und außerdem δ(bi , bh ) = δ(ai , ah ) oder
δ(bi , bh ), δ(ai , ah ) ≥ 2k−i+1 für alle h < i.
Nach k Zügen gilt also für alle 1 ≤ i, j ≤ k: δ(ai , aj ) = δ(bi , bj )
oder δ(ai , aj ), δ(bi , bj ) ≥ 2. Daraus folgt
• ai = aj gdw. bi = bj und
• (ai , aj ) ∈ E Ak gdw. (bi , bj ) ∈ E Bk
was bedeutet, dass (ā, b̄) part. Iso. ist.
242
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Undefinierbarkeitsresultate
Kor.: Es gibt keinen FO-Satz ϕ mit Mod(ϕ) = Kcon .
Kor.: Es gibt keine FO-Formel ϕ(x, y ) über der Signatur τ = (E ),
welche Erreichbarkeit in Graphen definiert, also
G , v , w |= ϕ(x, y ) gdw. w ist von v aus erreichbar in G
Beweis: Dann wäre Mod(∀x.∀y .ϕ(x, y )) = Kcon .
Kor.: Sei R zweistellige Relation. Ihre reflexiv-transitive, bzw.
transitive Hülle R ∗ bzw. R + ist nicht FO-definierbar.
Beweis: Angenommen, es gäbe ϕR ∗ (x, y ) mit A, a, b |= ϕR ∗ (x, y )
gdw. (a, b) ∈ (R A )∗ . Dann würde ϕE ∗ Erreichbarkeit in Graphen
definieren.
Nicht-Definierbarkeit für transitive Hülle folgt aus
.
ϕR ∗ (x, y ) ≡ (x = y ) ∨ ϕR + (x, y ).
243
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Weitere Undefinierbarkeitsresultate
Mithilfe des Satzes von Ehrenfeucht-Fraı̈ssé lassen sich viele
Klassen als nicht FO-definierbar identifizieren, z.B.
• alle Strukturen gerader Kardinalität
• alle Strukturen einer Größe n mit n ≡ 0 mod k für festes k
• alle endlichen Strukturen
• alle balancierten Bäume (Bäume sind FO-definierbar!)
• korrekte XML-Dokumente
• korrekt verzeigerte Strukturen in einem Java-Heap (z.B.
Listen)
• ...
244
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
XML-Dokumente modellieren
Sei T eine endliche Menge von Tag-Namen. Wir modellieren
XML-Dokumente als Strukturen über der relationalen Signatur
τXML = {<} ∪ {Opent , Close t | t ∈ T }
wobei < 2-stellig und die anderen Relationen 1-st. sind
abstrahiere von konkreten Inhalten; nur Struktur eines
XML-Dokuments interessant
XML-Dokument ist somit endliche Liste von öffnenden und
schließenden Tags
245
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
Beispiel
Das XML-Dokument
<library>
<books>
<book>
<id> 17 </id>
<title> Everything to Know About Bears </title>
<author> Michael Scott </author>
<year> 2009 </year>
</book>
</books>
<users>
<user>
<name> Dwight Schrute </name>
<possesses> 17 </possesses>
</user>
</users>
</library>
abstrahieren wir zu der 22-elementigen τXML Struktur,
• deren Elemente eine lineare Ordnung bzgl. < bilden
• deren 1. Element nur das Prädikat Openlibrary erfüllt,
• deren 2. Element nur das Prädikat Openbooks erfüllt,
• ...
• deren 5. Element nur das Prädikat Close id erfüllt,
• ...
246
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
XML-Dokumente
Def.: Die Klasse KXML aller gültig-(modelliert-)en
XML-Dokumente ist die kleinste Klasse K, bestehend aus
endlichen, linear geordneten τXML -Strukturen, für die gilt:
• Ist t Tag-Name, n ≥ 0 und d1 , . . . , dn ∈ K, so ist
Opent d1 . . . dn Close t ∈ K.
Beachte: KXML induktiv definiert. Induktionsanfang (n = 0) und
-schritt (n > 0) in einem abgehandelt.
247
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.7 Prädikatenlogik – Ausdrucksstärke
FO-Undefinierbarkeit von KXML
Thm.: Die Klasse KXML ist nicht FO-definierbar.
Beweis: Sei t ein fest gewählter Tag-Name. Für jedes k ∈ N
definiere Strukturen Ak , Bk wie folgt:
• Ak = Opent . . . Opent Close t . . . Close t
|
{z
2k mal
} |
{z
2 k mal
}
• Bk = Opent . . . Opent Close t . . . Close t
{z
}
|
{z
} |
2k mal
2 k +1 mal
Für alle k ∈ N gilt:
• Ak ∈ KXML
• Bk 6∈ KXML
• D gewinnt GkAk ,Bk
Nach Thm. 40 ist KXML somit nicht FO-definierbar.
248
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
249
Beispiel
Bsp.: Betrachte Schlussweise in:
R→N
1
Wenn es regnet, dann wird die Straße nass.
2
Es regnet.
R
3
Also wird die Straße nass.
N
(3) folgt aus (1) und (2), siehe z.B. Resolutionsregel
was ist mit folgender Schlußweise:
∀x.G (x) → P(x)
1
Alle Griechen sind Philosophen.
2
Sokrates ist eine Grieche.
G (s)
3
Also ist Sokrates ein Philosoph.
P(s)
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Resolution
zur Erinnerung: aussagenlogische Resolution Verfahren für
Unerfüllbarkeit
wegen Satz von Herbrand klar: Resolution auch für FO möglich
.
hier zunächst Resolutionskalkül für FO ohne Gleichheitssymbol =
Formeln immer gegeben als Klausel-Mengen Φ = {ϕ1 , . . .} in
Skolem-Normalform
ϕi = ∀x1 . . . ∀xn
m
_
`j
j=1
wobei `j Literale über atomaren Formeln R(t1 , . . . , tn ); nur
Variablen x1 , . . . , xn
250
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Beispiel
Notation: universelle Quantifizierung nur noch implizit
Bsp.: {∀x.P(x) → ∃y .R(x, y ), ∃v .∀z.P(v ) ∧ ¬R(v , z)}
in Skolem-Normalform:
{∀x.P(x) → R(x, f (x)), ∀z.P(c) ∧ ¬R(c, z)}
dann in Klauselform mit impliziter univ. Quantifizierung:
{¬P(x) ∨ R(x, f (x)), P(c), ¬R(c, z)}
ist intuitiv unerfüllbar: 1. und 2. Klausel sorgen dafür, dass
R(c, f (c)) gilt, dies widerspricht aber der 3. Klausel wegen
impliziter, univ. Quantifizierung über z
251
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Grundresolution
hier zunächst vereinfachter Fall der Grundresolution: variablen-freie
Klauseln
Def.: Resolutionsbeweis für Klauselmenge Φ ist endlicher Baum:
• Wurzel mit leerer Klausel ∅ beschriftet
• Blätter mit Klauseln ϕ ∈ Φ beschriftet
• Söhne nach Resolutionsregel konstruiert:
C , R(t1 , . . . , tn )
C 0 , ¬R(t1 , . . . , tn )
C, C0
beachte: dasselbe wie Resolution für Aussagenlogik
252
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Grundresolution ist korrekt und vollständig
Theorem 41
Sei Φ variablen-freie Klauselmenge. Dann ist ϕ unerfüllbar gdw. es
einen Grundresolutionsbeweis für Φ gibt.
Beweis: Folgt sofort aus Satz von Herbrand. Beachte: Φ = AL(Φ)
in diesem Fall.
Ziel: Einschränkung auf Variablenfreiheit aufheben
Lemma: Sei T Menge aller Grundterme über zugrundeliegender
Signatur. ∀x1 . . . xn .ϕ ist unerfüllbar gdw.
[
ϕ[t1 /x1 , . . . , tn /xn ]
(t1 ,...,tn )∈T n
unerfüllbar ist.
Beweis: Nach Satz von Löwenheim-Skolem hat jede erfüllbare
Formel ein Herbrand-Modell.
253
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Resolution für FO
Resolutionsbeweis definiert wie oben, jedoch angewendet auf
allgemeine Klauselmengen mit Variablen x1 , . . . , xn
zusätzliche Instanziierungsregel
C
C [t1 /x1 , . . . , tn /xn ]
Theorem 42
Φ unerfüllbar gdw. es Grundresolutionsbeweis mit
Instanziierungsregel für ϕ gibt.
Beweis: “⇒” Obiges Lemma überträgt Unerfüllbarkeit auf
Grundklauselmenge, also erst entsprechende Instanziierungen
durchführen, dann Resolventen bilden.
“⇐” Wie oben, zusätzlich mit folgendem Prinzip. Ist Φ ∧ ϕ[t/x]
unerfüllbar, so ist auch Φ ∧ ∀x.ϕ unerfüllbar.
254
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Beispiel
Bsp: ∀x.∀y .P(x) ∨ P(y ) ∧ ¬P(c) ∨ ¬P(d) ist unerfüllbar
1
in Klauselform: {P(x), P(y )}, {¬P(c), ¬P(d)}
2
Expansion mittels Herbrand-Universum in aussagenlogische
Klauselmenge liefert
{P(c)}, {P(c), P(d)}, {P(d)}, {¬P(c), ¬P(d)}
3
Herleitung der leeren Klausel per Resolution ist leicht
255
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Pragmatische Aspekte
Verfahren per Reduktion auf Grundresolution in Praxis ungeeignet;
verlangt, die Terme im Vorhinein ohne Rückgriff auf den
Resolutionsbeweis zu erraten
besseres Verfahren wünschenswert, welches Instanziierungen erst
dann vornimmt, wenn sie wirklich gebraucht werden
wie soll man dann Literale mit Variablen behandeln?
Bsp. sollte man zwei Klauseln mit folgenden Literalen resolvieren
können?
• R(f (x), c), ¬R(f (f (c)), y )
• R(f (x), c), ¬R(f (f (c)), x)
• R(x, y ), ¬R(y , y )
• P(g (f (x), a)), ¬P(g (z, f (y )))
256
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Substitutionen
Def.: Substitution ist Abbildung σ von Variablen auf Terme
Bsp.: σ = [x 7→ g (c, f (d)), y 7→ f (x), z 7→ z]
Konvention: Variablen, die nicht explizit in [. . .] aufgelistet werden,
werden auf sich selbst abgebildet
Def.: Substition σ kann in natürlicher Weise erweitert werden auf
• Terme: σ(f (t1 , . . . , tn )) := f (σ(t1 ), . . . , σ(tn ))
• Prädikate: σ(R(t1 , . . . , tn )) := R(σ(t1 ), . . . , σ(tn ))
• Literale: σ(¬`) := ¬σ(`)
• Klauseln: σ(Φ) := {σ(ϕ) | ϕ ∈ Φ}
257
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Syntaktische Unifikation
syntaktische Unifikation = finde Substitution für Variablen, die
zwei (oder mehrere) Prädikate gleich macht
Def.: Substitution σ heißt Unifikator von `1 , . . . , `n , falls
σ(`1 ) = σ(`2 ) = . . . = σ(`n )
Bsp.: Gibt es Unifikatoren für folgende Prädikate? Welche?
1 P(x) und P(c)
2 P(x) und Q(x)
3 R(f (x), c) und R(z, f (y ))
4 R(f (x), c) und R(f (f (c)), y )
5 R(f (x), c) und R(f (f (c)), x)
6 R(x, y ) und R(y , y )
7 P(x) und P(f (x))
8 P(x) und P(f (y ))
258
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Allgemeinste Unifikatoren
Def.: Seien σ, ρ zwei Substitutionen. Dann heißt σ allgemeiner als
ρ, geschrieben σ . ρ, falls es eine Substitution ζ gibt, so dass für
alle Prädikate ` gilt:
ρ(`) = ζ(σ(`))
Bsp.:
• [x 7→ f (y ), y 7→ c] . [x 7→ f (f (y )), y 7→ c]
• [x 7→ f (y ), y 7→ c] und [x 7→ f (f (y )), y 7→ z] sind
unvergleichlich bzgl. .
• [x 7→ y ] . [y 7→ x] und umgekehrt!
Def. σ heißt allgemeinster Unifikator (MGU) von `1 , . . . , `n , falls
σ . ρ für jeden Unifikator ρ von `1 , . . . , `n
259
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Allgemeinste Unifikatoren
ein paar Fakten über Unifikation
• Unifikatoren müssen nicht immer existieren: P(f (x)), P(g (y ))
• gibt es Unifikator, so gibt es auch MGU
• MGUs müssen nicht eindeutig sein: P(x), P(y ) hat MGUs
[x 7→ y ], [y 7→ x]
• MGUs lassen sich berechnen
260
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Faktoren
Def.: Sei C = `1 , . . . , `n , C 0 Klausel, σ MGU von `1 , . . . , `n . Dann
heißt σ(`1 ), C 0 Faktor von C
Resolution muss auf Faktoren ausgeführt werden:
Bsp: {P(x), P(y )}, {¬P(c), ¬P(d)} unerfüllbar, aber leere Klausel
nicht herleitbar durch Resolution auf einzelnen Literalen
im folgenden Faktorisierung gleich in Resolutionsschritt eingebaut
261
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Prädikatenlogische Resolution
Def.: Seien C und D Klauseln. Dann heißt E Resolvente von C
und D, falls
1
es C 0 , D 0 gibt, die aus C und D 0 durch evtl. Umbenennen von
Variablen entstehen und keine Variablen gemeinsam haben, so
dass
2
C 0 = α1 , . . . , αn , C 00 und D 0 = ¬β1 , . . . , ¬βm , D 00 ,
3
es MGU σ von α1 , . . . , αn , β1 , . . . , βm gibt und
4
E = σ(C 00 ∪ D 00 )
Def.: Resolutionsbeweis für Klauselmenge Φ mit dieser
Resolutionsregel wie üblich definiert
262
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Beispiel
Bsp.: Betrachte C = {C1 , C2 , C3 } mit
C1 = {¬P(y , c), ¬P(y , x), ¬P(x, y )}
C2 = {P(y , f (y )), P(y , c)}
C3 = {P(f (y ), y ), P(y , a)}
263
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Notwendigkeiten
Notwendigkeit zu Faktorisieren bereits gezeigt
Variablenumbenennung ebenfalls essentiell:
{P(c, y )}, {Q(x, d)}, {¬P(x, c), ¬Q(d, y )} ist
• unerfüllbar,
• ohne Variablenumbenennung nicht zu ∅ zu resolvieren
MGUs ebenfalls essentiell: {¬Q(y )}, {Q(x), P(x)}, {Q(x), ¬P(x)}
führt z.B. mit Unifikatoren [y 7→ c, x 7→ c] einerseits und
[y 7→ d, x 7→ d] andererseits nicht zum Ziel
264
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Korrektheit und Vollständigkeit
Theorem 43
Sei C Klauselmenge. Es gibt Resolutionsbeweis für C gdw. C
unerfüllbar ist.
Beweisskizze: “⇒” Wie bisher: Zeige, dass erfüllbare Menge
unter Hinzunahme von Resolventen erfüllbar bleibt.
“⇐” Sei C unerfüllbar. Nach Thm. 42 gibt es
Grundresolutionsbeweis mit Instanziierungen zu Grundtermen.
Dieser lässt sich in einen Resolutionsbeweis umbauen, welcher die
Instanziierungen mittels MGUs teilweise und nur an benötigter
Stelle macht.
265
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Beschränkung auf zwei Terme
noch zu tun: Berechnung von MGUs
Lemma: Seien t1 , . . . , tn , n > 1 Terme ohne Funktionssymbol f .
Jeder Unifikator für t1 , . . . , tn ist auch ein Unifikator für
f (t2 , . . . , tn ), f (t1 , . . . , t1 ) und umgekehrt.
Beweis: Übung.
Soll heißen: bei der Berechnung von MGUs können wir uns auf den
Fall zweier Terme t, t 0 beschränken. Beachte: Für Unifikation kein
Unterschied zwischen Funktions- und Prädikatsymbolen.
266
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Berechnung von MGUs
Algorithmus arbeitet auf Menge von Paaren von Termen
M = {(t1 , t10 ), . . . , (tn , tn0 )}
Aufruf mit zu unifizierendem Paar (t, t 0 )
iteriere, solange noch eine der folgenden Regeln die Menge M
ändert
• entferne Paare der Form (t, t) aus M
• ersetze jedes (t, x) in M durch (x, t), falls x Variable, t nicht
Variable
• gibt es (t, t 0 ) ∈ M mit t = f (s1 , . . . , sm ), t 0 = f (u1 , . . . , um ),
so ersetze M durch (M \ {(t, t 0 )}) ∪ {(s1 , u1 ), . . . , (sm , um )}
• ist M = {(x, t), (t1 , t10 ), . . . , (tn , tn0 )}, so dass x nicht in t
vorkommt, so ersetze M durch
0 ))}, wobei σ = [x 7→ t]
{(x, t), (σ(t1 ), σ(t10 )), . . . , (σ(tm ), σ(tm
267
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
4.8 Prädikatenlogik – Resolution
Berechnung von MGUs
Termination nicht trivial; aber Regeln nicht beliebig lange
anwendbar
zwei Fälle bei Termination:
1
M = {(x1 , t1 ), . . . , (xn , tn )}, wobei x1 , . . . , xn paarweise
verschieden und kommen nicht in t1 , . . . , tn vor
[x1 7→ t1 , . . . , xn 7→ tn ] ist MGU
2
keine Regel anwendbar, aber M nicht von obiger Form
Eingabe nicht unifizierbar
Theorem 44 (ohne Beweis)
Obiger Algorithmus terminiert immer und berechnet einen MGU
für die Eingabeterme.
268
Logikprogrammierung
I Berechnung durch Resolution
I Die Programmiersprache Prolog
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
Resolution als Berechnungsmodell
bisher Resolution nur als Verfahren zum Beweis der Unerfüllbarkeit
einer Klauselmenge
Resolution kann mehr: Erzeugung neuer Terme durch MGUs in
Iteration der Resolution ist auch eine Berechnung
Verallgemeinerung:
• gegeben Eingabe-Klauselmenge C, Ziel-Klausel ϕ
• berechne Substitution σ, so dass σ(ϕ) aus C per Resolution
herleitbar ist
366
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
Beispiel
Bsp. Konstante 0, einst. Funktion s zur symbolischen
Repräsentation natürlicher Zahlen
Axiomatisierung der Addition:
∀x.Add(x, 0, x)
∀x.∀y .∀z.Add(x, y , z) → Add(x, s(y ), s(z))
Axiomatisierung der Multiplikation:
∀x.Mult(x, 0, 0)
∀x.∀y .∀z.Mult(x, y , z) ∧ Add(y , z, u) → Mult(x, s(y ), u)
367
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
368
Beispiel
Was ist 3 + 2? Für welchen Term t ist Add(s(s(s(0))), s(s(0)), t)
Konsequenz aus obiger Klauselmenge?
Beachte: Φ |= ϕ gdw. Φ ∧ ¬ϕ unerfüllbar
benutze also Resolutionsverfahren für
{Add(x, 0, x)}, {¬Add(x, y , z), Add(x, s(y ), s(z))}, {¬Add(s 3 (0), s 2 (0), u)}
führe am Ende aufgesammelte Substitutionen aus, um u korrekt
zu instanziieren
Was ist 3 ∗ 2? Übung.
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
Beispiel
symbolische Differenzierung modellieren; Signatur
(+, ∗, 1, 0, x, y , . . .) (Achtung, x etc. ist Konstante in Signatur,
aber Variable in modelliertem Szenario!)
{D(x, x, 1)}
{D(y , x, 0) | y 6= x}
{D(f , x, f 0 ) ∧ D(g , x, g 0 ) → D(+(f , g ), x, +(f 0 , g 0 ))}
{D(f , x, f 0 ) ∧ D(g , x, g 0 ) → D(∗(f , g ), x, +(∗(f , g 0 ), ∗(f 0 , g )))}
Übungen:
• berechne die Ableitung von x 2 · (y + x) nach x
• erweitere dies um natürliche Zahlen und Operatoren pow (f , n)
für Polynome
369
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
Resolutionsstrategien
Ziel: Berechnungsmechanismus in Resolution in einer
Programmiersprache ausnutzen
pragmatisches Problem: obiger Resolutionskalkül nicht sehr
zielgerichtet; Resolutions-Baumstruktur vollkommen beliebig
effiziente Auswertung in Interpreter erfordert klarere Regeln
leicht zu machen, z.B. “wähle immer kleinste passende Klausel”
etc.
wirft Frage auf: gilt Korrektheit (Φ unerfüllbar gdw.
Resolutionsbeweis existiert) auch unter Einschränkung auf
bestimmte Resolutionsstrategien?
370
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
SLD-Resolution
Def.: SLD-Resolutionsbeweis für Φ ist Liste C1 , . . . , Cn , so dass
• C1 ∈ Φ
• für alle i = 2, . . . , n existiert C ∈ Φ, so dass Ci Resolvent von
Ci−1 und C
beachte: Liste = degenerierter Baum
Bsp.: (man stelle sich geeignete FO-Literale vor)
Φ = {{A, B}, {¬A, B, ¬C }, {¬B, ¬C }, {C }}
371
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.1 Logikprogrammierung – Berechnung durch Resolution
SLD-Resolution und Horn-Klauseln
zur Erinnerung: Horn-Klausel ist P(t̄) ∨ ¬Q1 (s̄1 ) ∨ . . . ∨ ¬Qn (s̄n )
mit n ≥ 0
Theorem 45 (ohne Beweis)
Sei Φ Menge von Horn-Klauseln. Φ ist unerfüllbar gdw. es
SLD-Resolutionsbeweis für Φ gibt.
SLD-Resolution ist nicht vollständig für allgemeine Klauselmengen
Bsp.: man versuche, einen SLD-Resolutionsbeweis für
Φ := {{A, B}, {¬A, B}, {A, ¬B}, {¬A, ¬B}}
zu konstruieren
372
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Programmiersprache Prolog
Prolog-Programm ist Liste von Fakten (einelementige Hornklausel)
und Regeln (mehrelementige Hornklauseln)
• Variablen beginnen mit Großbuchstaben oder Unterstrich
• Funktionen und Prädikate beginnen mit Kleinbuchstaben
Bsp.:
p(X,c,X).
p(X,f(Y),f(Z)) :- p(X,Y,Z).
373
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Syntax
Klauselform gemacht für Konjunktionen im Antezedent:
isWitch(X) :- female(X), burnable(X), sameWeight(X,duck).
Disjunktionen im Antezedent modellierbar:
A ∨ B → C ≡ (A → C ) ∧ (B → C )
isParent(X,Y) :- isFather(X,Y).
isParent(X,Y) :- isMother(X,Y).
oder
isParent(X,Y) :- isFather(X,Y); isMother(X,Y).
374
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Anfragen
Anfrage an ein Programm (besser: den Interpreter) stößt
Berechnung an
Anfrage = Liste von Prädikaten (Ziele, Goals)
Bsp.:
vert(point(X,Y1),point(X,Y2)).
hori(point(X1,Y),point(X2,Y)).
Anfrage P1 = point(3,4), P2 = point(2,5), vert(P1,Z),
horiz(P2,Z).
375
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Semantik
wie wird eine Anfrage unter einem Prolog-Programm ausgewertet?
intuitiv:
• arbeite der Reihe nach alle Ziele der Anfrage ab
• zu jedem Ziel suche passende linke Seite (Unifikation!) einer
Regel oder eines Fakts
• ersetze Ziel durch rechte Seite dieser Regel
• wende berechnete Substitution auf sämtliche Restziele an
formal: SLD-Resolution mit jeweils erster passender Klausel
376
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
377
SLD-Resolution in Prolog
Abweichungen von einfacher SLD-Resolution:
• Prolog berechnet mehr als eine Antwort
isAdvisor(euler,lagrange).
isAdvisor(lagrange,fourier).
isAdvisor(lagrange,poisson).
isAdvisor(poisson,dirichlet).
..
.
isDescendant(X,Y) :- isAdvisor(Y,X); isAdvisor(Y,Z), isDescendant(X,Z).
• Termination und Antworten abhängig von Klauselreihenfolge
term1(X).
term1(X) :- term1(f(X)).
term2(X) :- term2(f(X)).
term2(X).
• Termination und Antworten abhängig von Literalreihenfolge
(ähnlich)
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Gleichheit
beachte: Resolution lässt sich wie Sequenzenkalkül auf FO mit
Gleichheit erweitern
Prolog kennt auch Gleichheitsprädikat =
Behandlung von Gleichheit bei SLD-Resolution besonders einfach
• bisher unbenutzte Klauseln werden so belassen
• bisherige Berechnung steckt ganz in Substitutionen aktueller
Klausel
Gleichheit wie definiertes Prädikat, welches Gleichheit auf Termen
realisiert
Bsp.: Was bewirken folgende Anfragen? s = s, s = t, X = X,
X = Y?
378
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Unifikation in Prolog
Prolog benutzt anderen Mechanismus als kennengelernte
syntaktische Unifikation
zur Erinnerung: x und f (x) nicht unifizierbar
Grund: x kommt selbst in f (x) vor
Unifikation ist Kern des Berechnungsmechanismus in Prolog
• wird ständig ausgeführt
• muss deswegen möglichst schnell gehen
• aus Effizienzgründen Verzicht auf Test auf Auftreten
Bsp.: Anfrage X = f(X)
379
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Arithmetik
Additionsbeispiel leicht in Prolog zu implemetieren:
add(X,null,X).
add(X,s(Y),s(Z)) :- add(X,Y,Z).
Verwendung von abstrakten Termen jedoch unhandlich
Prolog kennt auch arithmetische Operatoren +,-,* etc., Ausdruck
3+2*4 ist aber nur Term!
was ist Antwort auf Anfrage 2+2 = 3+1?
Addition also z.B. folgendermaßen; funktioniert das?
add1(X,0,X).
add1(X,Y,Z) :- add1(X,Y-1,Z-1).
380
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Arithmetik
funktionierende Lösung:
add2(X,0,Z) :- Z is X.
add2(X,Y,Z) :- V is Y-1, W is X+1, add2(W,V,Z).
beachte: Prädikat is ist Gleichheit auf arithmetischen Termen,
nachdem rechte Seite ausgewertet wurde! Variablen darin müssen
instanziiert sein
was sollte bei folgenden Anfragen herauskommen?
• X is 3+1.
• 3+1 is X.
• X is X.
• 2+2 is 3+1.
beachte: add kann auch subtrahieren, add2 aber nicht
381
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Listen
brauchbare Programmiersprache muss Datenstrukturen zur
Verfügung stellen
einfachstes Beispiel: Listen
sind prinzipiell über Terme modellierbar; Benutzung jedoch
einfacher bei eingebautem Datentyp
• Listennotation: [0,2,4,[1,3],X,[3,Y]]
• leere Liste is []
• Separation in Kopfteil und Restliste: [X | Z], [X,Y | Z],
etc.
Bsp.: extrahiere Listenelement an bestimmter Position
atPosition(X,[X| ],P) :- 0 is P.
atPosition(X,[ |T],P) :- atPosition(X,T,P-1).
382
Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel:
5.2 Logikprogrammierung – Prolog
Beispiel
zum Abschluss größeres Beispiel
bekanntes Rätsel:
• Bauer muss Hund, Katze, Maus mit Boot über Fluss bringen
• jeweils höchstens 1 Tier pro Fahrt übersetzen
• niemals Hund und Katze oder Katze und Maus alleine lassen
Prolog kann dazu alle Lösungen berechnen
zeigt Vorteil logischer (allgemeiner: deklarativer) Programmierung:
Programmierer formuliert Anforderungen an Lösung, Interpreter
berechnet Lösung
383
Herunterladen