ältere Folien

Werbung
Logik
Prof. Dr. Madlener
TU Kaiserslautern
SS 2011
Prof. Dr. Madlener: Logik
1
Logik
Studiengang Informatik“, Ang. Informatik“und WiWi/Inf“
”
”
”
SS’11
Prof. Dr. Madlener TU - Kaiserslautern
Vorlesung:
Mi 11.45-13.15
52/207
◮
Informationen
http://www-madlener.informatik.unikl.de/teaching/ss2011/logik/logik.html
◮
Grundlage der Vorlesung: Skript
Einführung in die Logik und Korrektheit von Programmen.
Prof. Dr. Madlener: Logik
2
◮
Bewertungsverfahren:
Zulassungsvoraussetzungen zu Abschlussklausur:
Übungen: mind. 50 %
Aufsichtsarbeit: mind. 50 %
◮
Aufsichtsarbeit: Vor. Freitag 1/06/11
◮
Abschlussklausur: 2011 /17.08/ ?.10
◮
Übungen: Gruppen
Einschreiben, Sprechzeiten siehe Homepage
Prof. Dr. Madlener: Logik
3
Grundlagen der Aussagenlogik
Syntax
Semantik
Deduktiver Aufbau der Aussagenlogik
Natürliche Kalküle
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Normalformen
Davis-Putnam-Algorithmen
Resolutions-Verfahren
Prof. Dr. Madlener: Logik
4
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Semantik der P-Logik 2-Stufe – Interpretationen, Belegungen, Bewertu
Transformationen von Termen und Formeln
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Hauptsätze der Prädikatenlogik erster Stufe
Theorien erster Stufe
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Resolventenmethode – (Allg. Resolutionsverfahren)
Logisches Programmieren und Prolog
Prof. Dr. Madlener: Logik
5
Einleitung
Methoden zur Lösung von Problemen mit Hilfe von
Rechnern Formalisierung (≡ Festlegung)
◮
Logik:: Lehre vom folgenrichtigen Schließen“ bzw. Lehre
”
”
von formalen Beziehungen zwischen Denkinhalten“
Zentrale Fragen: Wahrheit und Beweisbarkeit von Aussagen
Mathematische Logik.
◮
Logik in der Informatik:
◮
◮
◮
Aussagenlogik: Boolsche Algebra. Logische Schaltkreise
(Kontrollsystemen), Schaltungen, Optimierung.
Prädikatenlogik: Spezifikation und Verifikation von
Softwaresystemen.
Modal- und Temporallogik: Spezifikation und Verifikation
reaktiver Systeme.
Prof. Dr. Madlener: Logik
6
Logik in der Informatik
1. Semantik von Programmiersprachen (Hoarscher Kalkül).
2. Spezifikation von funktionalen Eigenschaften.
3. Verifikationsprozess bei der SW-Entwicklung.
Beweise von Programmeigenschaften.
4. Spezielle Programmiersprachen (z.B. PROLOG)
◮
Automatisierung des logischen Schließens
1. Automatisches Beweisen (Verfahren,...)
2. Grundlagen von Informationsystemen (Verarbeitung von
Wissen, Reasoning,. . . )
Prof. Dr. Madlener: Logik
7
Voraussetzungen
1. Mathematische Grundlagen. Mengen, Relationen,
Funktionen. Übliche Formalisierungen: Mathematische
”
Beweise“, Mathematische Sprache, d.h. Gebrauch und
Bedeutung der üblichen Operatoren der naiven Logik. Also
Bedeutung von nicht, und, oder, impliziert, äquivalent, es
gibt, für alle.
2. Grundlagen zur Beschreibung formaler Sprachen.
Grammatiken oder allgemeiner Kalküle (Objektmenge und
Regeln zur Erzeugung neuer Objekte aus bereits konstruierter
Objekte), Erzeugung von Mengen, Relationen und Funktionen,
Hüllenoperatoren (Abschluss von Mengen bzgl. Relationen).
3. Vorstellung von Berechenbarkeit, d.h. entscheidbare und
rek.aufzählbare Mengen, Existenz nicht entscheidbarer
Mengen und nicht berechenbarer Funktionen.
Prof. Dr. Madlener: Logik
8
Berechnungsmodelle/Programmiersprachen
Algorithmische Unlösbarkeit?
prinzipielle Lösbarkeit
↓
effiziente Lösbarkeit
↓
algorithmischer Entwurf
↓
P: Programm in einer HPS
Prof. Dr. Madlener: Logik
x Problem
Spezifikation
(Formalisiert)
9
Syntaktische und semantische Verifikation von P.
◮
Syntaxanalyse
Sprachen Chomski-Hierarchie
Kontext freie Sprachen
Grammatiken/Erzeugungsprozess
◮
Programmverifikation
Tut P auch was erwartet wird.
Gilt P
Problem Spezifikation
Prof. Dr. Madlener: Logik
10
Typische Ausdrücke
◮
(x + 1)(y − 2)/5
Terme als Bezeichner von Objekten.
◮
3+2=5
◮
29 ist (k)eine Primzahl “
Aussagen.
”
3 + 2 = 5 und 29 ist keine Primzahl “
Aussage.
”
wenn 29 keine Primzahl ist, dann ist 0 = 1 “ Aussage.
”
jede gerade Zahl, die größer als 2 ist, ist die Summe zweier
”
Primzahlen “ Aussage.
◮
◮
◮
◮
Gleichungen als spezielle Formeln.
2 ≤ x und (∀y ∈ N)
((2 ≤ y und y + 1 ≤ x) → nicht(∃z ∈ N)y ∗ z = x)
Aussage.
Prof. Dr. Madlener: Logik
11
Typische Ausdrücke (Fort.)
◮
(∀X ⊆ N)(0 ∈ X ∧ (∀x ∈ N)(x ∈ X → x + 1 ∈ X ) → X = N)
Induktionsprinzip.
◮
(∀X ⊆ N)(X 6= ∅ → X hat ein kleinstes Element)
Jede nichtleere Menge natürlicher Zahlen enthält ein
minimales Element.
Zweiwertige Logik Jede Aussage ist entweder wahr oder falsch.
◮
Es gibt auch andere Möglichkeiten (Mehrwertige Logik).
◮
Prädikatenlogik erster Stufe (PL1): Nur Eigenschaften von
Elementen und Quantifizierung von Elementvariablen erlaubt.
Prof. Dr. Madlener: Logik
12
Grundlagen der Aussagenlogik
Kapitel I
Grundlagen der Aussagenlogik
Prof. Dr. Madlener: Logik
13
Grundlagen der Aussagenlogik
Aussagenlogik
◮
Aussagen
◮
Aufbau von Aussagen
◮
Bedeutung von Aussagen
Prof. Dr. Madlener: Logik
Bedeutung wahr(1), falsch (0)
Syntax.
Semantik.
14
Grundlagen der Aussagenlogik
Syntax
Syntax
Definition 1.1 (Syntax)
Die Sprache der Aussagenlogik
Sei Σ = V ∪ O ∪ K Alphabet mit V = {p1 , p2 , ...} abzählbare
Menge von Aussagevariablen, O = {¬, ∧, ∨, →, ↔, ...} Menge
von Verknüpfungen mit Stelligkeiten (Junktoren, Operatoren)
und K = {(, )} Klammern Hilfssymbole.
Die Menge der Aussageformen (Formeln der Aussagenlogik)
F ⊂ Σ∗ wird induktiv definiert durch:
1. V ⊂ F Menge der atomaren Aussagen
2. A, B ∈ F
so (¬A), (A ∧ B), (A ∨ B), (A → B), (A ↔ B) ∈ F
3. F ist die kleinste Menge die V enthält und 2. erfüllt
(Hüllenoperator)
Prof. Dr. Madlener: Logik
15
Grundlagen der Aussagenlogik
Syntax
Bemerkung 1.2
◮
Eigenschaften von Elementen in F werden durch strukturelle
Induktion, d.h. durch Induktion über den Aufbau der
Formeln, nachgewiesen.
◮
Beispiele für Eigenschaften sind:
1. Für A ∈ F gilt: A ist atomar (ein pi ) oder beginnt mit (“ und
”
endet mit )“.
”
2. Sei f (A, i) = ♯ (“− ♯ )“ in den ersten i Buchstaben von A,
”
”
dann gilt f (A, i) > 0 für 1 ≤ i < |A| und
f (A, i) = 0 für i = |A|.
◮
◮
F kann als Erzeugnis einer Relation R ⊂ U ∗ × U mit U = Σ∗
oder eines Kalküls dargestellt werden. Dabei wird F frei von
dieser Relation erzeugt, da für alle u, v ∈ U ∗ und A ∈ F gilt:
uRA und vRA so u = v .
F = L(G ) für eine eindeutige kontextfreie Grammatik G .
Prof. Dr. Madlener: Logik
16
Grundlagen der Aussagenlogik
Syntax
Satz 1.3 (Eindeutigkeitssatz)
Jede A-Form A ∈ F ist entweder atomar oder sie lässt sich
eindeutig darstellen als
A ≡ (¬A1 ) oder A ≡ (A1 ∗ A2 ) mit ∗ ∈ {∧, ∨, →, ↔} wobei
A1 , A2 ∈ F .
Beweis: Induktion über Aufbau von F .
Prof. Dr. Madlener: Logik
17
Grundlagen der Aussagenlogik
Syntax
Vereinbarungen
Schreibweisen, Abkürzungen, Prioritäten.
◮
Äußere Klammern weglassen.
◮
A-Formen sind z.B.: p1 , p101 ,
p1 ∨ p12 als Abkürzung für (p1 ∨ p12 ),
(((p1 → p2 ) ∧ (¬p2 )) → (¬p1 )), p1 ∨ (¬p1 )
◮
◮
Zur besseren Lesbarkeit: Prioritäten: ¬, ∧, ∨, →, ↔ d.h.
A ∧ B → C steht für ((A ∧ B) → C )
A ∨ B ∧ C steht für (A ∨ (B ∧ C ))
¬A ∨ B ∧ C steht für ((¬A) ∨ (B ∧ C ))
A ∨ B ∨ C steht für ((A ∨ B) ∨ C ) (Linksklammerung).
Andere Möglichkeiten. Präfix“- oder Suffix“- Notation
”
”
Für (A ∗ B) schreibe ∗AB und für (¬A) schreibe ¬A
Prof. Dr. Madlener: Logik
18
Grundlagen der Aussagenlogik
Semantik
Semantik
Definition 1.4 (Bewertung, Belegung)
Eine Bewertung der A-Formen ist eine Funktion
ϕ : F → {0, 1} = B mit
1. ϕ(¬A) = 1 − ϕ(A)
2. ϕ(A ∨ B) = max(ϕ(A), ϕ(B))
3. ϕ(A ∧ B) = min(ϕ(A), ϕ(B))
(
0 falls ϕ(A) = 1 und ϕ(B) = 0
4. ϕ(A → B) =
1 sonst
(
0 falls ϕ(A) 6= ϕ(B)
5. ϕ(A ↔ B) =
1 falls ϕ(A) = ϕ(B)
Prof. Dr. Madlener: Logik
19
Grundlagen der Aussagenlogik
Semantik
Belegungen und Bewertungen (Fort.)
◮
◮
Sprechweise: A ist falsch“ unter ϕ, falls ϕ(A) = 0
”
A ist wahr“ unter ϕ oder ϕ erfüllt“ A, falls ϕ(A) = 1.
”
”
Darstellung von Bewertungen durch Wahrheitstafeln:
A ¬A
1
0
1
0
A B A∨B A∧B A→B A↔B
0 0
0
0
1
1
0 1
1
0
1
0
1
0
0
0
1 0
1 1
1
1
1
1
Prof. Dr. Madlener: Logik
20
Grundlagen der Aussagenlogik
Semantik
Belegungen und Bewertungen (Fort.)
◮
◮
Eine Belegung der A-Variablen V ist eine Funktion
ψ : V → B.
Offenbar induziert jede Bewertung eine Eindeutige Belegung
durch ψ(pi ) := ϕ(pi ).
Lemma 1.5
Jede Belegung ψ : V → B lasst sich auf genau eine Weise zu einer
Bewertung ϕ : F → B fortsetzen. Insbesondere wird jede
Bewertung durch die Werte auf V eindeutig festgelegt.
Prof. Dr. Madlener: Logik
21
Grundlagen der Aussagenlogik
Semantik
Bewertungen
Folgerung 1.6
Die Bewertung einer Aussageform A ∈ F hängt nur von den
Werten der in ihr vorkommenden Aussagevariablen aus V ab. Das
heißt, will man ϕ(A) berechnen, genügt es, die Werte ϕ(p) zu
kennen für alle Aussagevariablen p, die in A vorkommen.
◮
Beispiel: Sei ϕ(p) = 1, ϕ(q) = 1, ϕ(r ) = 0. Dann kann ϕ(A)
iterativ berechnet werden:
A ≡ (( p → ( q → |{z}
r )) → (( p ∧ q ) → |{z}
r ))
|{z} |{z}
|{z}
|{z}
0
0
1
| 1 {z 1 }
}
| 1 {z
1
{z 0
}
{z
}
|
|
0
0
|
{z
}
1
Also gilt ϕ(A) = 1.
Prof. Dr. Madlener: Logik
22
Grundlagen der Aussagenlogik
Semantik
◮
Frage Welche Werte kann ϕ(A) annehmen, wenn ϕ alle
Belegungen durchläuft. Ist etwa ϕ(A) = 1 für alle Belegungen
ϕ? Um das nachzuprüfen, genügt“ es, die endlich vielen
”
unterschiedlichen Belegungen der Variablen, die in A
vorkommen, zu überprüfen. Kommen n Variablen in A vor, so
gibt es 2n verschiedene Belegungen.
A definiert eine Boolesche Funktion fA : Bn → B.
◮
Beispiel: Für die drei Variablen p, q und r aus A im obigen
Beispiel gibt es 8 Belegungen, die betrachtet werden müssen.
Prof. Dr. Madlener: Logik
23
Grundlagen der Aussagenlogik
Semantik
Bewertungen
p
0
0
0
0
1
1
1
1
q
0
0
1
1
0
0
1
1
r
0
1
0
1
0
1
0
1
q→r
1
1
0
1
1
1
0
1
p∧q
0
0
0
0
0
0
1
1
p → (q → r )
1
1
1
1
1
1
0
1
(p ∧ q) → r
1
1
1
1
1
1
0
1
A
1
1
1
1
1
1
1
1
A ist wahr“ unabhängig von den Werten von p, q, r , d.h. für jede
”
Bewertung ϕ. Weitere solche Formeln sind etwa:
(A → (B → A)), (A → (B → C )) → ((A → B) → (A → C )) oder
((¬A → ¬B) → (B → A)).
Prof. Dr. Madlener: Logik
24
Grundlagen der Aussagenlogik
Semantik
Wichtige Begriffe
Definition 1.7
Sei A ∈ F , Σ ⊆ F .
1.(a) A heißt Tautologie (allgemeingültig), falls ϕ(A) = 1 für
jede Bewertung ϕ gilt. (Schreibweise “|= A”)
(b) A ist erfüllbar, falls es eine Bewertung ϕ gibt, mit ϕ(A) = 1.
(c) A ist widerspruchsvoll, falls ϕ(A) = 0 für jede Bewertung ϕ.
(d) Schreibe
• Taut = {A | A ∈ F ist Tautologie}, die Menge der
Tautologien oder Theoreme“ der Aussagenlogik, bzw.
”
• Sat := {A | A ∈ F und A ist erfüllbar} die Menge der
erfüllbaren Formeln.
Prof. Dr. Madlener: Logik
25
Grundlagen der Aussagenlogik
Semantik
Definition (Fort.)
2.(a) Σ ist erfüllbar, falls es eine Bewertung ϕ gibt mit ϕ(A) = 1
für alle A ∈ Σ. (“ϕ erfüllt Σ”)
(b) Semantischer Folgerungsbegriff: A ist logische Folgerung
von Σ, falls ϕ(A) = 1 für jede Bewertung ϕ, die Σ erfüllt.
Man schreibt “Σ |= A”.
Ist Σ = {A1 , . . . , An }, ist die Kurzschreibweise
“A1 , . . . , An |= A” üblich.
(c) Die Menge Folg(Σ) der Folgerungen aus Σ ist definiert durch:
Folg(Σ) := {A | A ∈ F und Σ |= A}.
Prof. Dr. Madlener: Logik
26
Grundlagen der Aussagenlogik
Semantik
Einfache Folgerungen
Bemerkung 1.8
Beispiele
1. (p ∨ (¬p)), ((p → q) ∨ (q → r )), p → (q → p),
(p → p), (p → ¬¬p) und A aus Folgerung 1.6 sind
Tautologien.
(p ∧ (¬p)) ist widerspruchsvoll.
A ∈ Taut gdw ¬A widerspruchsvoll
(p ∧ q) ist erfüllbar jedoch keine Tautologie und nicht
widerspruchsvoll.
Die Mengen Taut, Sat sind entscheidbar.
Beachte Taut ⊂ Sat.
Prof. Dr. Madlener: Logik
27
Grundlagen der Aussagenlogik
Semantik
Bemerkung (Fort.)
2.(a) Sei Σ = {p} und A = p ∨ q. Dann gilt Σ |= A, denn falls
ϕ(p) = 1, dann auch ϕ(p ∨ q) = 1. Jede Bewertung, die Σ
erfüllt, erfüllt also auch A.
(b) Ist Σ = ∅, dann gilt Σ |= A genau dann, wenn A Tautologie
ist, d.h. Folg(∅) = Taut .
(c) Ist Σ nicht erfüllbar, dann gilt Σ |= A für alle A ∈ F ,
d.h. Folg(Σ) = F . Insbesondere Σ |= A, ¬A für ein A.
(d) Sei Σ ⊆ Σ′ . Ist Σ′ erfüllbar, dann ist auch Σ erfüllbar.
(e) Es gilt Σ ⊆ Folg(Σ) und Folg(Folg(Σ)) = Folg(Σ).
(f) Falls Σ ⊆ Σ′ , dann gilt Folg(Σ) ⊆ Folg(Σ′ ).
3.
Σ |= A gilt genau dann, wenn Σ ∪ {¬A} nicht erfüllbar.
Ist Σ endlich, dann ist es entscheidbar, ob Σ erfüllbar ist, und
die Menge Folg(Σ) ist entscheidbar.
Prof. Dr. Madlener: Logik
28
Grundlagen der Aussagenlogik
Semantik
Deduktionstheorem und Modus-Ponens Regel
Lemma 1.9
a) Deduktionstheorem:
Σ, A |= B
gdw
Σ |= (A → B).
(Σ, A ist Kurzschreibweise für Σ ∪ {A})
b) Modus-Ponens-Regel:
Es gilt
{A, A → B} |= B.
Insbesondere ist B eine Tautologie, falls A und (A → B)
Tautologien sind.
Prof. Dr. Madlener: Logik
29
Grundlagen der Aussagenlogik
Semantik
Übliche Notationen für Regeln der Form “A1 , . . . , An |= B” sind:
A1
..
.
An
B
und
A1 , . . . , An
B
Für die Modus Ponens Regel also:
A, (A → B)
(MP)
B
Prof. Dr. Madlener: Logik
30
Grundlagen der Aussagenlogik
Semantik
Kompaktheitssatz der Aussagenlogik
Satz 1.10 (Kompaktheitssatz)
Σ ⊆ F ist erfüllbar genau dann, wenn jede endliche Teilmenge von
Σ erfüllbar ist.
Σ ⊆ F ist unerfüllbar genau dann, wenn es eine unerfüllbare
endliche Teilmenge von Σ gibt.
Insbesondere gilt Σ |= A genau dann, wenn es eine endliche
Teilmenge Σ0 ⊆ Σ gibt mit Σ0 |= A.
Prof. Dr. Madlener: Logik
31
Grundlagen der Aussagenlogik
Semantik
Anwendungen Kompaktheitssatz
Beispiel 1.11
Sei Σ ⊆ F . Gibt es zu jeder Bewertung ϕ ein A ∈ Σ mit ϕ(A) = 1,
so gibt es A1 , ..., An ∈ Σ (n > 0) mit |= A1 ∨ ... ∨ An .
• Betrachte die Menge Σ′ = {¬A | A ∈ Σ}, nach Voraussetzung
ist sie unerfüllbar. Also gibt es eine endliche nichtleere
Teilmenge {¬A1 , ..., ¬An } von Σ′ die unerfüllbar ist. Also gilt
für jede Bewertung ϕ gibt es ein i mit ϕ(¬Ai ) = 0 oder
ϕ(Ai ) = 1 und somit ϕ(A1 ∨ ... ∨ An ) = 1.
◮ Der zweite Teil des Satzes ist die Grundlage für
Beweisverfahren für Σ |= A. Dies ist der Fall wenn Σ ∪ {¬A}
unerfüllbar ist.
Widerspruchbeweise versuchen systematisch eine endliche
Menge Σ0 ⊂ Σ zu finden, so dass Σ0 ∪ {¬A} unerfüllbar ist.
Prof. Dr. Madlener: Logik
32
Grundlagen der Aussagenlogik
Semantik
Logische Äquivalenz
Definition 1.12 (Logische Äquivalenz)
Seien A, B ∈ F heißen logisch äquivalent mit der Schreibweise
A |==| B, falls für jede Bewertung ϕ gilt: ϕ(A) = ϕ(B).
Insbesondere ist dann A |= B und B |= A.
◮ Einige Beispiele für logisch äquivalente Formeln:
1.
2.
3.
4.
A |==| ¬(¬A), A |==| A ∨ A, A |==| A ∧ A
A ∧ B |==| B ∧ A und A ∨ B |==| B ∨ A,
A ∧ (B ∧ C ) |==| (A ∧ B) ∧ C und A ∨ (B ∨ C ) |==| (A ∨ B) ∨ C ,
A ∧ (B ∨ C ) |==| (A ∧ B) ∨ (A ∧ C ) und
A ∨ (B ∧ C ) |==| (A ∨ B) ∧ (A ∨ C )
(Distributiv)
Prof. Dr. Madlener: Logik
33
Grundlagen der Aussagenlogik
Semantik
Logische Äquivalenz (Fort.)
5. ¬(A ∧ B) |==| (¬A) ∨ (¬B) und ¬(A ∨ B) |==| (¬A) ∧ (¬B)
(De Morgan)
6. A → B |==| (¬A) ∨ B,
A ∧ B |==| ¬(A → (¬B)) und
A ∨ B |==| (¬A) → B.
7. A ↔ B |==| (A → B) ∧ (B → A)
◮ Man beachte, dass |==| reflexiv, transitiv und symmetrisch,
d.h. eine Äquivalenzrelation ist.
◮
Ersetzt man in einer Formel eine Teilformel durch eine logisch
äquivalente Formel, so erhält man eine logisch äquivalente
Formel.
Prof. Dr. Madlener: Logik
34
Grundlagen der Aussagenlogik
Semantik
Logische Äquivalenz (Fort.)
◮
Folgende Aussagen sind äquivalent:
• |= (A ↔ B)
• A |= B und B |= A
• A |==| B
• Folg(A) = Folg(B)
Folgerung 1.13
Zu jedem A ∈ F gibt es B, C , D ∈ F mit
1. A |==| B, B enthält nur → und ¬ als log. Verknüpfungen
2. A |==| C , C enthält nur ∧ und ¬ als log. Verknüpfungen
3. A |==| D, D enthält nur ∨ und ¬ als log. Verknüpfungen
Prof. Dr. Madlener: Logik
35
Grundlagen der Aussagenlogik
Semantik
Logische Äquivalenz (Fort.)
Definition 1.14 (Vollständige Operatorenmengen)
Eine Menge OP ⊆ {¬, ∨, ∧, →, ↔, ..} heißt vollständig, falls es zu
jedem A ∈ F eine logisch äquivalente A-Form B ∈ F (OP) gibt.
◮
◮
◮
Vollständige Operatorenmengen für die Aussagenlogik sind
z.B.:
{¬, →}, {¬, ∨}, {¬, ∧}, {¬, ∨, ∧}, {false, →}
Dabei ist false eine Konstante, mit ϕ(false) = 0 für jede
Bewertung ϕ. Offenbar gilt ¬A |==| (A → false).
Normalformen:: DNF (Disjunktive Normalform), KNF
(Konjunktive Normalform), KDNF, KKNF (Kanonische
Formen).
Prof. Dr. Madlener: Logik
36
Grundlagen der Aussagenlogik
Semantik
Boolsche Funktionen
Jede Aussageform A(p1 , ..., pn ) stellt in natürlicher Form eine
Boolsche Funktion fA : Bn → B dar. Nämlich durch die Festlegung
fA (b1 , ..., bn ) = ϕ~b (A) mit der Bewertung ϕ~b (pi ) = bi
◮
Man kann leicht durch Induktion nach n zeigen, dass jede
Boolsche Funktion f : Bn → B (n > 0) sich in obiger Form
durch eine Aussageform in p1 , ..., pn und einer vollständigen
Operatorenmenge darstellen lässt.
◮ Die Boolsche Algebra über B hat als übliche Operatormenge
true, false, not, or, and mit der standard Interpretation.
◮ Für andere Operatormengen die etwa nand, nor enthalten,
siehe Digitale Logik
(Gatter: Ein- Ausgabesignale, Verzögerung. nand, nor
Gattern werden bevorzugt, da nur zwei Transistoren nötig).
Prof. Dr. Madlener: Logik
37
Grundlagen der Aussagenlogik
Semantik
Beispiel Patientenüberwachungssystem
Beispiel Patientenüberwachungssystem erhält gewisse Daten über
den Zustand eines Patienten. Z.B. Temperatur, Blutdruck,
Pulsrate. Die Schwellenwerte für die Daten seien etwa wie folgt
festgelegt:
Zustände
Ein/ Ausgaben
A
B
C
O
Prof. Dr. Madlener: Logik
Bedeutung
Temperatur außerhalb 36-39◦ C.
Blutdruck außerhalb 80-160 mm.
Pulsrate außerhalb 60-120 Schläge pro min.
Alarmaktivierung ist notwendig.
38
Grundlagen der Aussagenlogik
Semantik
Die Anforderungen, d.h. bei welchen Kombinationen der Werte der
Zustände eine Alarmaktivierung notwendig ist, werden durch den
Medizin-Experten festgelegt. Sie seien in folgender Tabelle fixiert.
I /O - Tabelle
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
Prof. Dr. Madlener: Logik
O
0
0
0
1
0
1
1
1
Logischer Entwurf: Betrachte
die Zeilen in denen O den Wert
1 hat und stelle eine KDNF
auf (Disjunktion von Konjunktionen von Literalen, wobei ein
Literal eine atomare Form oder
die Negation einer solchen ist).
(¬A ∧ B ∧ C ) ∨ (A ∧ ¬B ∧ C ) ∨
(A ∧ B ∧ ¬C ) ∨ (A ∧ B ∧ C )
39
Grundlagen der Aussagenlogik
Semantik
Als eine Realisierung könnte man das folgende Schaltnetz nehmen:
INPUTS
A
AND
1
B
AND
2
OR
4
OUTPUT
OR
5
C
AND
3
Prof. Dr. Madlener: Logik
40
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Dieser Abschnitt beschäftigt sich mit einem axiomatischen Aufbau
der Aussagenlogik mittels eines “Deduktiven Systems” oder
eines Kalküls“.
”
Eine syntaktisch korrekte Formel in einem Deduktiven System wird
“Theorem” genannt, wenn sie durch rein mechanische
Anwendungen der Regeln des Systems aus den Axiomen des
Systems “abgeleitet” werden kann.
Man kann mehrere deduktive Systeme angeben, in denen
aussagenlogische Formeln genau dann Theoreme sind, wenn sie
auch Tautologien sind.
Prof. Dr. Madlener: Logik
41
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Deduktive Systeme-Kalküle
Definition 1.15 (Deduktives System)
Ein Deduktives System F = F(Ax, R) besteht aus
◮
einem Alphabet ∆ (hier ∆ = V ∪ K ∪ {→, ¬}),
◮
F ⊆ ∆⋆ , einer Menge von (wohldefinierten) Formeln
(hier die Aussageformen),
◮
Ax ⊆ F , einer Menge von Axiomen und
R, einer Menge von Regeln der Form A1 , . . . , An (n ∈ N+ ).
A
(A1 , ..., An , A ∈ F )
◮
Die Mengen F , Ax und R sind im allgemeinen rekursiv
entscheidbar.
Prof. Dr. Madlener: Logik
42
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Deduktive Systeme-Kalküle
◮
Die Menge T = T (F) der Theoreme ist definiert durch:
1. Ax ⊆ T (d.h. alle Axiome sind Theoreme)
A ,...,A
2. Sind A1 , . . . , An ∈ T und ist die Regel 1 A n in R, dann
ist A ∈ T .
3. T ist die kleinste Menge von Formeln, die (1) und (2) erfüllt.
◮
◮
◮
Man schreibt für A ∈ T (F) auch ⊢F A oder einfach ⊢ A und
sagt “A ist in F herleitbar”.
Deduktiver Folgerungsbegriff: Sei Σ ⊆ F , A ∈ F , dann
bedeutet Σ ⊢F (Ax,R) A nichts anderes als ⊢F (Ax∪Σ,R) A.
Sprechweise: “A ist in F aus Σ herleitbar”.
Sind F1 und F2 deduktive Systeme über der Formelmenge F
und gilt T (F1 ) = T (F2 ) so nennt man sie äquivalent.
Prof. Dr. Madlener: Logik
43
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Bemerkung
Bemerkung 1.16
1. Eigenschaften der Elemente von T werden durch strukturelle
Induktion bewiesen.
T wird von einer Relation R ′ ⊆ F ⋆ × F erzeugt.
Eine Formel A ist ein Theorem oder ist in F herleitbar, falls es
eine endliche Folge von Formeln B0 , . . . , Bn gibt mit A ≡ Bn
und für 0 ≤ i ≤ n gilt:
Bi ∈ Ax oder es gibt l und i1 , . . . , il < i und eine Regel
B i1 . . . B il
∈ R.
Bi
◮
◮
Die Folge B0 , . . . , Bn heißt auch Beweis (Herleitung) für A in
F.
Das bedeutet ⊢ A gilt genau dann, wenn es einen Beweis
B0 , . . . , Bn mit A ≡ Bn gibt.
Prof. Dr. Madlener: Logik
44
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Bemerkung (Fort.)
2. Die Menge T der Theoreme ist rekursiv aufzählbar (denn Ax
und R sind rekursiv). Die Menge der Beweise
Bew := {B1 ⋆ B2 ⋆ . . . ⋆ Bn | B1 , . . . , Bn ist Beweis}
ist rekursiv. (Siehe Argumentation von L(G ) ist rekursiv
aufzählbar für Grammatiken G ).
◮
◮
Ist Σ rekursiv entscheidbar, so gelten obige Aussagen
entsprechend. Insbesondere ist FolgF (Σ) = {A | Σ ⊢F (Ax,R) A}
rekursiv aufzählbar.
Beachte: Beweise sind im allgemeinen nicht eindeutig. Es wird
im allgemeinen nicht verlangt, dass T von R frei erzeugt wird.
Prof. Dr. Madlener: Logik
45
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Bemerkung (Fort.)
3. Gibt es ein deduktives System F0 , so dass ⊢F0 A genau dann
gilt, wenn |= A gilt?
• Hierzu werden Ax und R häufig endlich beschrieben durch
Schemata.
Beispielsweise beschreibt das Schemata (A → (B → A)) die Menge
{A0 | es gibt A, B ∈ F mit A0 ≡ (A → (B → A))}
und das Schemata
n
A, A → B
beschreibt die Menge von Regeln
B
A0 , A1
| Es gibt A, B ∈ F mit
B0
o
A0 ≡ A, B0 ≡ B und A1 ≡ A → B .
Prof. Dr. Madlener: Logik
46
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Das deduktive System F0
Definition 1.17 (Das deduktive System F0 )
Das deduktive System F0 für die Aussagenlogik besteht aus der
Formelmenge F0 der Formeln in V , ¬, →, ( und ). Die
Axiomenmenge Ax wird durch folgende Axiomenschemata
beschrieben:
Ax1: A → (B → A)
Ax2: (A → (B → C )) → ((A → B) → (A → C ))
Ax3: ((¬A) → (¬B)) → (B → A)
Dabei beschreiben Ax1, Ax2 und Ax3 disjunkte Formelmengen.
Prof. Dr. Madlener: Logik
47
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Das deduktive System F0
Die Regelmenge R wird beschrieben durch das Regelschema
MP:
A, (A → B)
B
(modus ponens).
◮
Beachte: Ax und R sind rekursiv entscheidbar.
◮
Es genügt zunächst nur Axiome für Formeln in → und ¬ zu
betrachten, da alle anderen Formeln zu einer Formel in → und
¬ logisch äquivalent sind.
◮
Die Menge der Theoreme von F0 wird nicht frei erzeugt. Die
Modus-Ponens-Regel ist hochgradig nicht eindeutig.
A, A → B
A′ , A′ → B
und
sind beides Regeln mit gleicher
B
B
Folgerung. Das erschwert sehr das Finden von Beweisen.
Prof. Dr. Madlener: Logik
48
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Beispiel
Beispiel 1.18
Für jedes A ∈ F0 gilt ⊢ (A → A), d.h. (A → A) ∈ T (F0 )
Beweis:
B0 ≡ (A → ((A → A) → A)) →
((A → (A → A)) → (A → A))
B1 ≡ A → ((A → A) → A)
B2 ≡ (A → (A → A)) → (A → A)
B3 ≡ A → (A → A)
B4 ≡ A → A
Prof. Dr. Madlener: Logik
Ax2
Ax1
MP(B0 , B1 )
Ax1
MP(B2 , B3 )
49
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
◮
Wie findet man Beweise im System F0 ?
Einziger Hinweis: Die Zielformel B, sofern sie kein Axiom ist,
muss in der Form (A1 → (...(An → B)...)) vorkommen. Wähle
geeignete A´s.
◮
Beachte: Alle Axiome sind Tautologien der Aussagenlogik.
Da diese abgeschlossen gegenüber Modus Ponens sind, sind
alle Theoreme von F0 Tautologien. D.h. T (F0 ) ⊆ Taut(F0 ).
◮
Will man in ganz F Beweise führen, so muss man weitere
Axiome einführen.
Z.B.
Ax1∧ : (A ∧ B) → (¬(A → (¬B)))
Ax2∧ : (¬(A → (¬B))) → (A ∧ B)
Prof. Dr. Madlener: Logik
50
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Deduktiver Folgerungsbegriff
Definition 1.19 (Deduktiver Folgerungsbegriff)
Sei Σ ⊆ F0 , A ∈ F0 .
1. A ist aus Σ in F0 herleitbar, wenn A sich aus Ax ∪ Σ mit den
Regeln aus R herleiten lässt, d.h. A ist Theorem im
deduktiven System F mit Axiomenmenge Ax ∪ Σ und gleicher
Regelmenge wie F0 . Schreibweise Σ ⊢F0 A, einfacher Σ ⊢ A.
B0 , . . . , Bn ist ein Beweis für Σ ⊢ A, falls A ≡ Bn und für alle
0 ≤ i ≤ n gilt: Bi ∈ Ax ∪ Σ oder es gibt j, k < i mit
Bk ≡ (Bj → Bi ).
2. Σ heißt konsistent, falls für keine Formel A ∈ F0 gilt Σ ⊢ A
und Σ ⊢ ¬A.
Gibt es eine solche Formel, so heißt Σ inkonsistent.
Prof. Dr. Madlener: Logik
51
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Folgerung 1.20 (Beweishilfsmittel)
1. Gilt Σ ⊢ A, so folgt unmittelbar aus der Definition 1.19, dass
es eine endliche Teilmenge Σ0 ⊆ Σ gibt mit Σ0 ⊢ A.
Dies entspricht dem Kompaktheitssatz für ”|=“.
2. Ist Σ inkonsistent, dann gibt es eine endliche Teilmenge
Σ0 ⊆ Σ, die inkonsistent ist
(denn ist Σ ⊆ Γ und Σ ⊢ A, dann gilt auch Γ ⊢ A).
3. Ist Σ ⊆ Γ so FolgF0 (Σ) ⊆ FolgF0 (Γ).
4. Aus Σ ⊢ A und Γ ⊢ B für alle B ∈ Σ folgt Γ ⊢ A.
Ist also Σ ⊆ FolgF0 (Γ) so FolgF0 (Σ) ⊆ FolgF0 (Γ).
Beweise lassen sich also zusammensetzen.
5. Gilt Σ ⊢ A, so ist {Σ, ¬A} inkonsistent.
Gilt auch die Umkehrung?
6. Es gilt stets T (F0 ) ⊆ FolgF0 (Σ) für jede Menge Σ.
Prof. Dr. Madlener: Logik
52
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Satz 1.21 (Deduktionstheorem)
Sei Σ ⊆ F0 und seien A, B ∈ F0 .
Dann gilt:
Σ, A ⊢ B gdw Σ ⊢ (A → B)
Beweis:
⇐ “ Klar wegen MP-Regel.
”
⇒ “ Sei B0 , ..., Bm ein Beweis für Σ, A ⊢ B, d.h. B ≡ Bm .
”
Beh.: Für i = 0, ..., m gilt
Σ ⊢ (A → Bi )
Induktion nach i und Fallunterscheidung, je nachdem ob Bi gleich
A ist, in Ax ∪ Σ liegt oder mit MP-Regel aus Bj , Bk mit j, k < i
entsteht.
Prof. Dr. Madlener: Logik
53
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Anwendungen des Deduktionstheorems
Beispiel 1.22 (Beweistransformationen. Wiederverwendung von
Beweisen. )
◮
◮
Vereinbarungen zur Darstellung von Beweisen:
B1 , . . . , Bn heißt abgekürzter Beweis für Σ ⊢ Bn , falls für
jedes j mit 1 ≤ j ≤ n gilt: Σ ⊢ Bj oder es gibt j1 , . . . , jr < j
mit Bj1 , . . . , Bjr ⊢ Bj .
Gibt es einen abgekürzten Beweis für Σ ⊢ A, dann gibt es
auch einen Beweis für Σ ⊢ A.
1. ⊢ (A → A) folgt aus dem Deduktionstheorem, da A ⊢ A gilt.
2. Um A → B, B → C ⊢ A → C zu zeigen, zeige
A, A → B, B → C ⊢ C .
Prof. Dr. Madlener: Logik
54
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Anwendungen des Deduktionstheorems (Fort.)
3. ⊢ (¬¬A → A) dazu genügt es zu zeigen
¬¬A ⊢ A
Beweis:
B1
B2
B3
B4
B5
B6
B7
B8
𠪪A
≡ ¬¬A → (¬¬¬¬A → ¬¬A)
≡ ¬¬¬¬A → ¬¬A
≡ (¬¬¬¬A → ¬¬A) → (¬A → ¬¬¬A)
≡ ¬A → ¬¬¬A
≡ (¬A → ¬¬¬A) → (¬¬A → A)
≡ ¬¬A → A
≡A
Prof. Dr. Madlener: Logik
Ax1
MP
Ax3
MP
Ax3
MP
MP
55
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Anwendungen des Deduktionstheorems (Fort.)
4. ⊢ (A → B) → ((B → C ) → (A → C ))
(zeige: A → B, B → C ⊢ A → C )
5. ⊢ (B → ((B → A) → A))
6. ⊢ (¬B → (B → A)) (zu zeigen: ¬B, B ⊢ A)
Beweis:
B1
B2
B3
B4
B5
B6
B7
≡ ¬B
≡ ¬B → (¬A → ¬B)
≡ ¬A → ¬B
≡ (¬A → ¬B) → (B → A)
≡B →A
≡B
≡A
Prof. Dr. Madlener: Logik
Vor
Ax1
MP
Ax3
MP
Vor
MP
56
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
7. ⊢ B → ¬¬B
8. ⊢ ((A → B) → (¬B → ¬A)) und
⊢ ((¬B → ¬A) → (A → B))
9. ⊢ (B → (¬C → ¬(B → C )))
10. ⊢ ((B → A) → ((¬B → A) → A))
11. ⊢ (A → B) → ((A → ¬B) → ¬A)
Frage: Lassen sich alle Tautologien als Theoreme im System F0
herleiten ?
Prof. Dr. Madlener: Logik
57
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Vollständigkeit und Entscheidbarkeit von F0
Satz 1.23 (Korrektheit und Vollständigkeit von F0 )
Sei A ∈ F0 eine Formel der Aussagenlogik.
a) Korrektheit: Aus ⊢F0 A folgt |= A, d.h. nur Tautologien können
als Theoreme in F0 hergeleitet werden.
b) Vollständigkeit: Aus |= A folgt ⊢F0 A, d.h. alle Tautologien
lassen sich in F0 herleiten.
Prof. Dr. Madlener: Logik
58
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Vollständigkeit und Entscheidbarkeit von F0 (Fort.)
Als Hilfsmittel dient:
Lemma 1.24
Sei A ≡ A(p1 , . . . , pn ) ∈ F0 , n > 0, wobei p1 , . . . , pn die in A
vorkommenden Aussagevariablen sind. Sei ϕ eine Bewertung. Ist
pi , falls ϕ(pi ) = 1
A , falls ϕ(A) = 1
Pi :=
A′ :=
¬pi , falls ϕ(pi ) = 0
¬A, falls ϕ(A) = 0
(1 ≤ i ≤ n), dann gilt P1 , . . . , Pn ⊢ A′ .
Angenommen das Lemma gilt und sei |= A, d.h. ϕ(A) = 1 für alle
Bewertungen ϕ. Sei ϕ eine Bewertung mit ϕ(pn ) = 1. Es gilt
P1 , . . . , Pn ⊢ A und wegen Pn ≡ pn gilt P1 , . . . , Pn−1 , pn ⊢ A.
Betrachtet man eine Bewertung ϕ′ mit ϕ′ (pn ) = 0 und sonst gleich
ϕ , erhält man P1 , . . . , Pn−1 , ¬pn ⊢ A.
Prof. Dr. Madlener: Logik
59
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Vollständigkeit und Entscheidbarkeit von F0 (Fort.)
◮
◮
◮
◮
Durch Anwenden des Deduktionstheorems entstehen daraus
P1 , . . . , Pn−1 ⊢ pn → A und
P1 , . . . , Pn−1 ⊢ ¬pn → A.
Gleichzeitig gilt nach dem 10. Beispiel von 1.22 auch
P1 , . . . , Pn−1 ⊢ ((pn → A) → ((¬pn → A) → A)).
Durch zweimaliges Anwenden des Modus-Ponens entsteht
P1 , . . . , Pn−1 ⊢ A.
Dies gilt für jede Wahl der Pi , i = 1, ..., n − 1 und somit lässt
sich das Argument iterieren. D.h. in einer Herleitung von A
muss kein pi verwendet werden, also ⊢ A.
Das Lemma wird durch Induktion über den Aufbau von A
nachgewiesen. D.h. für A ≡ p1 , ¬C , B → C unter Verwendung
von Deduktionen aus Beispiel 1.22.
Prof. Dr. Madlener: Logik
60
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Folgerung
Folgerung 1.25
Sei Σ ⊆ F0 , A ∈ F0 .
1. Σ ⊢F0 A gilt genau dann, wenn Σ |= A gilt.
2. Σ ist genau dann konsistent, wenn Σ erfüllbar ist.
3. Σ ist genau dann inkonsistent, wenn Σ unerfüllbar ist.
4. Ist Σ endlich und A ∈ F0 , dann ist Σ ⊢F0 A entscheidbar.
Prof. Dr. Madlener: Logik
61
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Beweis der Folgerung
Beweis:
1.
Σ ⊢F0 A
1.20
⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit A1 , . . . , An ⊢F0 A
D.T.
⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit
⊢F0 (A1 → (A2 → . . . (An → A) . . .))
1.23
⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit
|= (A1 → (A2 → . . . (An → A) . . .))
D.T.
⇐⇒ Es gibt A1 , . . . , An ∈ Σ mit A1 , . . . , An |= A
K.S.
⇐⇒ Σ |= A
Prof. Dr. Madlener: Logik
62
Grundlagen der Aussagenlogik
Deduktiver Aufbau der Aussagenlogik
Beweis der Folgerung
2. Σ ist konsistent. ⇐⇒
Es gibt kein A mit Σ ⊢ A und Σ ⊢ ¬A. ⇐⇒
Es gibt kein A mit Σ |= A und Σ |= ¬A. ⇐⇒
Σ ist erfüllbar (Bemerkung 1.8 c)).
Prof. Dr. Madlener: Logik
63
Grundlagen der Aussagenlogik
Natürliche Kalküle
Natürliche Kalküle
Es gibt andere deduktive Systeme, für die Satz 1.23 gilt. Das
deduktive System F0 wurde von S.C. Kleene eingeführt. Das
folgende deduktive System geht auf G. Gentzen zurück.
Definition 1.26 (Gentzen-Sequenzenkalkül)
Eine Sequenz ist eine Zeichenreihe der Form Γ ⊢ ∆ mit zwei
endlichen Mengen von Formeln Γ und ∆.
Seien Γ, ∆ ⊆ F endliche Mengen von Formeln und A, B ∈ F .
Der Kalkül für Objekte der Form Γ ⊢G ∆ wird definiert durch
folgende Axiome und Regeln:
Prof. Dr. Madlener: Logik
64
Grundlagen der Aussagenlogik
Natürliche Kalküle
Gentzen-Sequenzenkalkül: Axiome und Regeln
Ax1: Γ, A ⊢G A, ∆
Ax2: Γ, A, ¬A ⊢G ∆
Ax3: Γ ⊢G A, ¬A, ∆
Γ, A, B ⊢G ∆
Γ ⊢G A, B, ∆
R∧,∨ :
Γ, A ∧ B ⊢G ∆
Γ ⊢G (A ∨ B), ∆
Γ, A ⊢G ∆, B
Γ ⊢G A, ∆ ; Γ, B ⊢G ∆
R→ :
Γ ⊢G (A → B), ∆
Γ, (A → B) ⊢G ∆
Γ ⊢G A, ∆
Γ, A ⊢G ∆
R¬ :
Γ ⊢G ¬A, ∆
Γ, ¬A ⊢G ∆
R∧′ : Γ ⊢G A, ∆ ; Γ ⊢G B, ∆
Γ ⊢G (A ∧ B), ∆
Γ,
A
⊢G ∆ ; Γ, B ⊢G ∆
R∨′ :
Γ, (A ∨ B) ⊢G ∆
Prof. Dr. Madlener: Logik
65
Grundlagen der Aussagenlogik
Natürliche Kalküle
Gentzen-Sequenzenkalkül
Γ ⊢G ∆ ist ableitbar bedeutet: Es gibt ein r ∈ N und eine Folge
von Sequenzen Γ1 ⊢G ∆1 , . . . , Γr ⊢G ∆r mit
1. Γr ≡ Γ und ∆r ≡ ∆
2. Jedes Γj ⊢G ∆j mit 1 ≤ j ≤ r ist Axiom oder geht aus
vorangehenden Folgegliedern aufgrund einer Regel hervor.
Bemerkung 1.27 (Semantische Interpretation)
Die Aussage Γ ⊢G ∆ kann wie folgt anschaulich interpretiert
werden: Für jede Bewertung ϕ gibt es eine Formel A ∈ Γ mit
ϕ(A) = 0 oder es gibt eine Formel B ∈ ∆ mit ϕ(B) = 1. Sind
Γ = {A1 , . . . , An } und ∆ = {B1 , . . . , Bm }, also endlich, entspricht
dies also der Formel (A1 ∧ · · · ∧ An ) → (B1 ∨ · · · ∨ Bm ).
Prof. Dr. Madlener: Logik
66
Grundlagen der Aussagenlogik
Natürliche Kalküle
◮
Der Semantische Folgerungsbegriff Σ |= A für eine Menge von
Formeln {Σ, A} kann wie folgt auf Mengenpaare Γ, ∆
erweitert werden:
Γ |= ∆
gdw
Γ |= A
wobei A die Disjunktion der Formeln in ∆ ist.
◮
Interpretiert man in einer Sequenz Γ ⊢G ∆ die Menge Γ als
Voraussetzungen, und die Menge ∆ als Konklusion, so lässt
sich die Korrektheit des Kalküls leicht nachweisen.
◮
Es gilt also:
Aus Γ ⊢G ∆ folgt Γ |= ∆. (Übung)
◮
Es gilt auch die Umkehrung dieser Aussage, d.h. der
Sequenzenkalkül von Gentzen ist korrekt und vollständig.
(Bew. siehe z.B. Kleine Büning/Lettmann: Aussagenlogik,
Deduktion und Algorithmen)
Prof. Dr. Madlener: Logik
67
Grundlagen der Aussagenlogik
Natürliche Kalküle
Beispiel
Beispiel 1.28
Es gilt
p ∨ q, (¬p) ∨ r ⊢G q ∨ r
Beweis:
B1
B2
B3
B4
B5
B6
B7
B8
≡ q, r ⊢ q, r
≡ q, ¬p ⊢ q, r
≡ q, (¬p) ∨ r ⊢ q, r
≡ p, r ⊢ q, r
≡ ¬p, p ⊢ q, r
≡ p, (¬p) ∨ r ⊢ q, r
≡ p ∨ q, (¬p) ∨ r ⊢ q, r
≡ p ∨ q, (¬p) ∨ r ⊢ q ∨ r
Prof. Dr. Madlener: Logik
Ax1
Ax1
R∨′ (1,2)
Ax1
Ax2
R∨′ (4,5)
R∨′ (3,6)
R∨ (7)
68
Grundlagen der Aussagenlogik
Natürliche Kalküle
Bemerkung 1.29 (Weitere Kalküle für die Aussagenlogik)
Man findet in der Literatur eine Vielzahl von natürlichen“
”
Kalkülen (deduktiven Systemen), die ebenfalls korrekt und
vollständig sind. Für diese werden auch Beweisstrategien für so
genannte Goals“ und Subgoals“ vorgestellt.
”
”
Als Beispiel Hilberts Kalkül, das z.B. für jeden Operator eine Regel
für die Einführung und eine für die Entfernung des Operators
enthält.
Prof. Dr. Madlener: Logik
69
Grundlagen der Aussagenlogik
Natürliche Kalküle
Hilberts Kalkül
•
Konjunktion
∧I :
p, q
p∧q
∧E :
p∧q
p
•
Disjunktion
∨I :
p
p∨q
∨E :
p ∨ q, ¬p
q
•
Implikation
p, p → q
→E :
q
Modus Ponens
¬q, p → q
→E :
¬p
Modus Tollens
•
Negation
p, ¬p
¬E :
q
Widerspruchsregel
¬¬p
¬E :
p
Doppelnegation
•
Äquivalenz
↔E :
Prof. Dr. Madlener: Logik
p↔q
p→q
↔E :
p↔q
q→p
70
Grundlagen der Aussagenlogik
Natürliche Kalküle
•
Transitivität
↔I :
p ↔ q, q ↔ r
p↔r
•
Deduktions - Theorem
→I :
p, ..., r , s ⊢ t
p, ..., r ⊢ s → t
•
Reductio ad absurdum
¬I :
p, ..., r , s ⊢ t, p, ..., r , s ⊢ ¬t
p, ..., r ⊢ ¬s
•
Hypothetischer Syllogismus
p → q, q → r
p→r
•
Konstruktives Dilemma
p → q, r → s, p ∨ r
q∨s
Hinzukommen die üblichen Assoziativitäts-, Kommutativitäts-,
Distributivitäts-, Negations-, Implikations- und de Morgan Regeln.
Prof. Dr. Madlener: Logik
71
Grundlagen der Aussagenlogik
Natürliche Kalküle
Beispiele in Hilberts Kalkül
Beispiel 1.30
Zeige
(p ∧ q) ∨ r ⊢ ¬p → r
Beweis:
◮
Transformationsbeweis
1. (p ∧ q) ∨ r
Prämisse
2. r ∨ (p ∧ q)
Kommutativität
3. (r ∨ p) ∧ (r ∨ q) Distributivität
4. (r ∨ p)
∧E
5. (p ∨ r )
Kommutativität
6. (¬¬p ∨ r )
Negations-Gesetz
7. ¬p → r
Implikations-Gesetz
Prof. Dr. Madlener: Logik
72
Grundlagen der Aussagenlogik
Natürliche Kalküle
Beispiele in Hilberts Kalkül
Zeige
(p ∧ q) ∨ r ⊢ ¬p → r
Beweis:
◮
Bedingter Beweis
1. (p ∧ q) ∨ r
2. ¬(¬p ∨ ¬q) ∨ r
3. (¬p ∨ ¬q) → r
4. ¬p
5. ¬p ∨ ¬q
6. r
7. ¬p → r
Prof. Dr. Madlener: Logik
Prämisse
Doppelnegation, de Morgan
Implikationsgesetz
Annahme
∨I
Modus Ponens →E aus 3. und 5.
Aus 4, 5, 6 mit Ded. Theo. →I
73
Grundlagen der Aussagenlogik
Natürliche Kalküle
Beispiele in Hilberts Kalkül
Zeige
(p ∧ q) ∨ r ⊢ ¬p → r
Beweis:
◮
Indirekter Beweis
1. (p ∧ q) ∨ r
2. (p ∨ r ) ∧ (q ∨ r )
3. (p ∨ r )
4. ¬(¬p → r )
5. ¬(p ∨ r )
6. ¬¬(¬p → r )
7. ¬p → r
Prof. Dr. Madlener: Logik
Prämisse
Distributivgesetz
∧E
Annahme
Implikations-und Negationsgesetz
Red. Abs. →I aus 3, 4, 5.
Doppelnegation
74
Algorithmischer Aufbau der Aussagenlogik
Algorithmischer Aufbau der Aussagenlogik
In diesem Abschnitt betrachten wir Verfahren die bei gegebener
endlichen Menge Σ und A-Form A entscheiden ob Σ |= A gilt. Die
bisher betrachteten Verfahren prüfen alle Belegungen der in den
Formeln vorkommenden Variablen oder zählen effektiv die
Theoreme eines geeigneten deduktiven Systems auf. Dies ist
sicherlich recht aufwendig. Obwohl die Komplexität dieses
Problems groß ist (Entscheidbarkeit von SAT ist bekanntlich
NP-vollständig), ist die Suche nach Verfahren, die oft“ schneller
”
als die brute force Methode“ sind, berechtigt.
”
Wir betrachten drei solcher Verfahren die alle
Erfüllbarkeitsverfahren sind, d.h. sie basieren auf:
Σ |= A gdw {Σ, ¬A} unerfüllbar:
Semantische Tableaux Davis-Putnam Resolution
Prof. Dr. Madlener: Logik
75
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beispiel
Beispiel 2.1 (Semantische Tableaux)
Um die Allgemeingültigkeit einer Formel A zu zeigen, konstruiere
einen binären Baum für ¬A , dessen Knoten jeweils die Klasse
möglicher Belegungen repräsentieren die diesen Knoten erfüllen.
Die Wurzel des Baumes repräsentiert alle möglichen Belegungen
und die Vereinigung der Klassen der Söhne eines inneren Knotens
des Baumes ist die Klasse der Belegungen, die der Knoten
repräsentiert. Gelingt es, einen solchen Baum derart zu
konstruieren, dass sämtliche Blätter des Baumes zu einem
Widerspruch führen, ist gezeigt, dass es keine Belegung gibt, die
¬A erfüllt. Somit gilt, dass A Tautologie ist.
Prof. Dr. Madlener: Logik
76
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
|= (p ∨ (q ∧ r ) → (p ∨ q) ∧ (p ∨ r )) gilt genau dann, wenn
¬((p ∨ (q ∧ r )) → ((p ∨ q) ∧ (p ∨ r ))) unerfüllbar ist.
¬((p ∨ (q ∧ r)) → ((p ∨ q) ∧ (p ∨ r)))
p ∨ (q ∧ r)
¬((p ∨ q) ∧ (p ∨ r))
p
q∧r
¬(p ∨ q)
¬(p ∨ r)
q
¬q
¬p
r
¬p
¬r
¬(p ∨ q)
¬(p ∨ r)
¬p
¬p
¬q
¬r
Da alle Äste zu Widersprüchen führen, gibt es keine Belegung, die
die Formel erfüllt!
Prof. Dr. Madlener: Logik
77
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Feststellungen
Zwei Arten von Formeln, solche, die zu Verzweigungen führen
(β-Formeln), und solche, die nicht zu Verzweigungen führen
(α-Formeln).
◮
α-Formeln mit Komponenten α1 und α2 , die zu Knoten mit
den Markierungen α1 und α2 führen:
α
α1
α2
◮
¬¬A
A
(A)
A1 ∧ A2
A1
A2
¬(A1 ∨ A2 )
¬A1
¬A2
¬(A1 → A2 )
A1
¬A2
β-Formeln mit Komponenten β1 und β2 , die zu
Verzweigungen führen mit Knotenmarkierungen β1 und β2 :
β
β1
Prof. Dr. Madlener: Logik
β2
¬(A1 ∧ A2 )
¬A1 ¬A2
A1 ∨ A2
A1 A2
A1 → A2
¬A1 A2
78
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Feststellungen (Fort.)
◮
Beachte: Jede Aussageform ist entweder atomar (d.h. eine
Variable) oder die Negation einer atomaren Formel (d.h. ein
Literal) oder eine α- oder eine β-Formel, und genau von
einem dieser drei Typen.
◮
Es gilt:
Eine α-Formel ist genau dann erfüllbar, wenn beide
Komponenten α1 und α2 erfüllbar sind.
Eine β-Formel ist genau dann erfüllbar, wenn eine der
Komponenten β1 oder β2 erfüllbar ist.
Prof. Dr. Madlener: Logik
79
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Feststellungen (Fort.)
◮
Insbesondere gilt für Γ ⊆ F und α-Formel α mit Komponenten
α1 und α2 und β-Formel β mit Komponenten β1 und β2 :
Γ ∪ {α} erfüllbar gdw Γ ∪ {α1 , α2 } erfüllbar und
Γ ∪ {β} erfüllbar gdw Γ ∪ {β1 } oder Γ ∪ {β2 } erfüllbar.
◮
Ein Literal ist eine Aussagevariable pi oder eine negierte
Aussagevariable ¬pi . Für eine A-Form A sind A und ¬A
komplementär oder konjugiert.
◮
Enthält Γ komplementäre Formeln (Literale) A und ¬A, so ist
Γ nicht erfüllbar.
Im Beispiel enthält jeder Ast komplementäre Literale, also ist
die Astformelmenge für kein Ast erfüllbar.
Prof. Dr. Madlener: Logik
80
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Formalisierung der Tableaux
Definition 2.2 (Tableaux)
Tableaux sind binäre Bäume mit Knoten, die mit Formeln aus F
markiert sind. Sei Σ ⊆ F .
1. Die Menge der Tableaux τΣ für Σ wird induktiv definiert
durch:
(a) τ{A} ist der Baum mit einem Knoten, der mit A ∈ Σ markiert
ist. In diesem Fall schreibt man auch τA statt τ{A} .
Graphisch:
A
(b) Ist τ Tableau für Σ und δ Marke eines Blattes von τ, so lässt
sich τ wie folgt zu einem Tableau τ ′ für Σ fortsetzen:
τ ′ entsteht aus τ indem man als Nachfolger von δ:
Prof. Dr. Madlener: Logik
81
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Formalisierung (Fort.)
1. (b) (Σ) einen Knoten hinzufügt, der mit einer Formel A ∈ Σ markiert
ist. (A soll nicht bereits als Marke im Ast von δ vorkommen.)
Graphisch:
δ
A
Prof. Dr. Madlener: Logik
82
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Formalisierung (Fort.)
1. (b) (α) einen Knoten hinzufügt, der mit α1 oder α2 markiert ist, falls
eine α-Formel α auf dem Ast zu δ vorkommt und α1 und α2
die Komponenten von α sind.
Graphisch:
α
α
δ
α1
δ
oder
α2
In der Praxis werden jedoch an δ nacheinander die Knoten für
beide Komponenten hinzugefügt:
α
δ
α1
α2
Prof. Dr. Madlener: Logik
83
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Formalisierung (Fort.)
1. (b) (β) zwei Knoten hinzufügt, die mit den Komponenten β1 bzw. β2
einer β-Formel β markiert sind, falls β auf dem Ast zu δ
vorkommt.
Graphisch:
β
δ
β1
β2
Entsteht τ ′ aus τ durch Anwendung einer der Regeln (Σ), (α)
oder (β), so heißt τ ′ direkte Fortsetzung von τ.
1. (c) τ ∈ τΣ genau dann, wenn τ = τA für ein A ∈ Σ oder es gibt
eine Folge τ0 , . . . , τn (= τ ), n ∈ N, so dass τj+1 eine direkte
Fortsetzung von τj ist für j = 0, . . . , n − 1 und τ0 = τA für ein
A ∈ Σ.
Prof. Dr. Madlener: Logik
84
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Formalisierung (Fort.)
2. Ein Ast eines Tableaus τ heißt abgeschlossen, falls er zwei
konjugierte Formeln enthält (d.h. für ein A ∈ F sowohl A als
auch (¬A) enthält), sonst heißt der Ast offen.
◮
◮
Ein Tableau τ heißt abgeschlossen, wenn jeder Ast von τ
abgeschlossen ist.
τ heißt erfüllbar, wenn τ einen erfüllbaren Ast (d.h. die
Marken entlang des Ast bilden eine erfüllbare Formelmenge)
enthält.
3. Sei Γ ⊆ F , A ∈ F . Dann ist A Tableau-Folgerung aus Γ
Schreibe: Γ ⊢τ A genau dann, wenn für Σ = Γ ∪ {¬A} jedes
Tableau aus τΣ sich zu einem abgeschlossenen Tableau aus τΣ
fortsetzen lässt.
Prof. Dr. Madlener: Logik
85
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Bemerkung 2.3
Ziel ist es zu zeigen: Γ ⊢τ A ⇐⇒ Γ |= A.
1. Abgeschlossene Äste und Tableaux sind nicht erfüllbar.
2. Ist Γ erfüllbar, so ist jedes Tableau aus τΓ erfüllbar (und
insbesondere nicht abgeschlossen).
3. Gilt Γ ⊢τ A, so ist Σ = Γ ∪ {¬A} nicht erfüllbar. Insbesondere
sind Tableau-Folgerungen korrekt (aus Γ ⊢τ A folgt Γ |= A).
4. Gibt es ein abgeschlossenes Tableau in τΓ , so lässt sich jedes
Tableau aus τΓ zu einem abgeschlossenen Tableau fortsetzen.
5. Tableaux sind endliche Bäume. Ist τ ∈ τΣ , so kommen als
Marken nur (negierte oder unnegierte) Teilformeln von
Formeln aus Σ vor. Insbesondere: Ist Σ endlich, so auch τΣ .
Unendliche Tableaux können als Grenzfälle (falls Σ unendlich)
betrachtet werden.
Prof. Dr. Madlener: Logik
86
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beispiel 2.4
⊢τ ¬(p ∧ q) → (¬p ∨ ¬q):
¬(¬(p ∧ q) → (¬p ∨ ¬q))
⊢τ A → (B → A):
¬(p ∧ q)
¬(A → (B → A))
¬(¬p ∨ ¬q)
A
¬¬p
¬(B → A)
¬¬q
B
p
¬A
q
¬p
Prof. Dr. Madlener: Logik
¬q
87
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beispiel 2.5
⊢τ (p ∨ q) → (p ∧ q) gilt nicht:
¬((p ∨ q) → (p ∧ q))
p∨q
¬(p ∧ q)
p
¬p
q
¬q
¬p
¬q
Es gibt Belegungen, die ¬((p ∨ q) → (p ∧ q)) erfüllen, nämlich ϕ
mit ϕ(p) = 1 und ϕ(q) = 0 und ϕ′ mit ϕ′ (p) = 0 und ϕ′ (q) = 1.
Also gilt nicht ⊢τ (p ∨ q) → (p ∧ q).
Prof. Dr. Madlener: Logik
88
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beispiele (Fort.)
Beispiel 2.6
⊢τ (¬A → A) → A
¬((¬A → A) → A)
(¬A → A)
¬A
¬¬A
A
A
Prof. Dr. Madlener: Logik
89
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beispiele (Fort.)
Beispiel 2.7
⊢τ (¬B → ¬A) → ((¬B → A) → B)
¬((¬B → ¬A) → ((¬B → A) → B))
¬B → ¬A
¬((¬B → A) → B)
¬B → A
¬B
¬¬B
¬A
¬¬B
Prof. Dr. Madlener: Logik
A
90
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Vollständige Tableaux
Definition 2.8
Sei τ ein Tableau, Θ ein Ast von τ .
◮
Θ heißt vollständig, falls für die Menge der Formeln in Θ gilt:
Mit jeder α-Formel α ∈ Θ ist stets {α1 , α2 } ⊆ Θ und mit
jeder β-Formel β ∈ Θ ist stets β1 ∈ Θ oder β2 ∈ Θ.
◮
τ heißt vollständig, falls jeder Ast in τ abgeschlossen oder
vollständig ist.
◮
Sei Σ ⊆ F , Σ endlich. τ ∈ τΣ heißt vollständig für Σ, falls τ
vollständig ist und jeder offene Ast Σ enthält.
◮
Sei Σ ⊆ F , Σ unendlich, so verallgemeinerte Tableaux erlaubt
(d.h. jeder offene Ast ist unendlich und enthält Σ).
Prof. Dr. Madlener: Logik
91
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Bemerkung 2.9
1. Ziel: Ist Σ endlich, so lässt sich jedes Tableau aus τΣ zu einem
vollständigen Tableau für Σ mit Hilfe von Σ-, α- und
β-Regeln erweitern.
Beachte, dass α- und β- Regeln nur (negierte) Teilformeln
einführen und dass eine Formel nur endlich viele Teilformeln
enthalten kann.
(Gilt entsprechend für Σ unendlich mit verallg. Tableaux).
2. Sei Γ die Menge der Formeln eines vollständigen offenen Astes
von τ. Dann gilt:
2.1 Es gibt kein p ∈ V mit {p, ¬p} ⊆ Γ.
2.2 Ist α ∈ Γ, so auch α1 , α2 ∈ Γ.
2.3 Ist β ∈ Γ, so ist β1 ∈ Γ oder β2 ∈ Γ.
Prof. Dr. Madlener: Logik
92
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Vollständige Tableaux (Fort.)
Lemma 2.10
Jede Menge Σ von Formeln, die 1, 2 und 3 aus der Bemerkung
2.9.2 genügt, ist erfüllbar. Insbesondere sind vollständige offene
Äste von Tableaux erfüllbar.
Gibt es offene vollständige Tableaux für Γ, so ist Γ erfüllbar.
Beweis:
Definiere:
ϕ(p) =
0
1
Offensichtlich ist ϕ wohldefiniert.
Beh.: Falls A ∈ Σ, dann ϕ(A) = 1.
Prof. Dr. Madlener: Logik
¬p ∈ Σ
sonst
(Induktion)
93
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Satz 2.11
Sei Γ ⊆ F . Dann gilt:
1. Γ ist nicht erfüllbar gdw
Tableau.
2. Äquivalent sind
◮
◮
τΓ enthält ein abgeschlossenes
Γ |= A (oder Γ ⊢ A)
τ{Γ,¬A} enthält ein abgeschlossenes Tableau.
3. Äquivalent sind
◮
◮
|= A (oder ⊢ A)
τ¬A enthält ein abgeschlossenes Tableau.
Beachte: Der Kompaktheitssatz (1.10) folgt aus 1., denn ist Γ
nicht erfüllbar, enthält τΓ ein abgeschlossenes Tableau und
abgeschlossene Tableaux sind stets endliche Bäume, d.h. eine
endliche Teilmenge von Γ ist nicht erfüllbar.
Prof. Dr. Madlener: Logik
94
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Systematische Tableaukonstruktion
◮
Sei Γ ⊆ F , dann ist Γ abzählbar. Sei also Γ = {A1 , A2 , . . .}.
Konstruktion einer Folge von Tableaux τn (n ∈ N) :
1. τ1 ≡ A1 . Ist A1 Literal, dann wird der Knoten markiert.
2. Sind alle Äste von τn abgeschlossen, dann Stopp!
τn+1 entsteht aus τn wie folgt:
3. Ist Y die erste unmarkierte α-Formel in τn , durch die ein
offener Ast geht, so markiere Y und erweitere jeden offenen
Ast, der durch Y geht, um die Teilformeln α1 und α2 von Y .
α1
α1 und α2 werden markiert, falls sie Literale
sind. Dadurch werden möglicherweise Äste abgeschlossen.
α2
Prof. Dr. Madlener: Logik
95
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
oder:
4. Ist Y die erste unmarkierte β-Formel in τn , durch die ein
offener Ast geht, so markiere Y und erweitere jeden offenen
Ast, der durch Y geht, um
Markiere β1 und/oder β2 , falls diese
Literale sind. Dadurch werden möglicherweise Äste abgeschlossen.
β1
β2
oder:
5. Gibt es eine Formel Aj ∈ Γ, die noch nicht in jedem offenen
Ast vorkommt, so erweitere alle diese Äste um:
Aj
Prof. Dr. Madlener: Logik
Falls möglich, Knoten markieren und Äste
abschließen.
96
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
◮
Verfahren: Beginne mit τ1 . Wiederhole 3. solange wie
möglich. Dann 4.. Sind weder 3. noch 4. möglich so 5. Geht
nichts mehr, so stopp.
• Aus τn (n ≥ 1) erhält man kein weiteres Tableau, falls τn
abgeschlossen ist oder alle Formeln von τn markiert sind und Γ
endlich und ausgeschöpft ist.
S
◮ Setze τ∞ :=
n∈N τn . Dann ist τ∞ ein binärer Baum.
Behauptung: τ∞ ist vollständig!
Prof. Dr. Madlener: Logik
97
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Beweis:
1. τ∞ = τk für ein k ∈ N.
◮
◮
2.
◮
◮
Ist τk abgeschlossen, gilt die Behauptung.
Ist τk nicht abgeschlossen, so ist τk vollständig: Alle Formeln
sind markiert und Γ muss endlich sein. Alle Formeln von Γ sind
in den offenen Ästen von τk . Somit ist Γ nach Lemma 2.10
erfüllbar.
Es gibt kein k ∈ N mit τ∞ = τk . Dann ist τ∞ ein unendlicher
Baum.
Es gibt eine Folge von Knoten {Yn }, n ∈ N, die unendlich viele
Nachfolger haben: Setze Y1 = A1 , die Wurzel mit unendlich
vielen Nachfolgerknoten. Ist Yn bereits gefunden, dann hat Yn
entweder einen oder zwei direkte Nachfolger, von denen einer
unendlich viele Nachfolger hat. Wähle als Yn+1 diesen Knoten.
Dann ist der Ast {Yn |n ∈ N} in τ∞ , offen, vollständig und
enthält Γ, d.h. Γ ist erfüllbar.
Prof. Dr. Madlener: Logik
98
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Bemerkung und Folgerung
Bemerkung 2.12
1. Ist Γ eine rekursiv aufzählbare Menge, so ist das Hinzufügen
einer Formel An ∈ Γ zu einem Tableau effektiv, d.h. falls Γ
rekursiv aufzählbar aber nicht erfüllbar ist, so stoppt die
systematische Tableau-Konstruktion. Insbesondere stoppt die
systematische Tableau-Konstruktion immer, wenn Γ endlich
ist. Sie liefert dann entweder:
◮
◮
Γ ist nicht erfüllbar, d.h. es gibt ein n ∈ N, so dass τn
abgeschlossen ist, oder:
Γ ist erfüllbar und die (offenen) Äste von τn liefern alle
Belegungen, die Γ erfüllen.
Die systematische Tableau-Konstruktion liefert also für
endliche Mengen in den offennen vollständigen Äste alle
Belegungen der wesentlichen Variablen, die Γ erfüllen.
Prof. Dr. Madlener: Logik
99
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Folgerungen (Fort.)
2. Zur Vereinfachung der systematischen Tableau-Konstruktion
für eine Menge Γ = {A1 , . . . , An } beginne mit
A1
A2
A3
An−1
An
als Anfangstableau.
Prof. Dr. Madlener: Logik
100
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Folgerungen (Fort.)
3.
Γ |= A ⇐⇒ Γ ∪ {¬A} unerfüllbar
⇐⇒ τ{Γ,¬A} enthält abgeschlossenes Tableau
⇐⇒ Γ ⊢τ A
Für Γ endlich beginne also mit Anfangstableau für
{¬A, A1 , . . . , An }
Prof. Dr. Madlener: Logik
101
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Folgerungen (Fort.)
4. •(a) |= ((p ∨ q) ∧ (¬p ∨ r )) → (q ∨ r ) oder
(p ∨ q) ∧ (¬p ∨ r ) |= (q ∨ r )
¬(((p ∨ q) ∧ (¬p ∨ r)) → (q ∨ r))
(p ∨ q) ∧ (¬p ∨ r)
¬(q ∨ r)
(p ∨ q)
¬p ∨ r
¬q
¬r
p
¬p
Prof. Dr. Madlener: Logik
q
r
102
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Folgerungen (Fort.)
•(b) Bestimme alle Belegungen, die A ≡ (p → q) ∨ (¬q → r )
erfüllen!
(p → q) ∨ (¬q → r)
p→q
¬p
¬q → r
q
¬¬q
r
q
Demnach ist {ϕ | ϕ ist Bewertung mit ϕ(p) = 0 oder
ϕ(q) = 1 oder ϕ(r ) = 1} die Menge aller Belegungen, die A
erfüllen. An den Blättern des Baumes lässt sich auch eine
äquivalente Disjunktive Normalform (DNF) zur Formel A
ablesen, nämlich ¬p ∨ q ∨ r .
Prof. Dr. Madlener: Logik
103
Algorithmischer Aufbau der Aussagenlogik
Semantische Tableaux
Normalformen
◮
Normalformen haben oft den Vorteil, dass man aus Formeln in
dieser Form gewisse Informationen leicht ablesbar sind. So
lassen sich z.B. aus einer KDNF (kanonische disjunktive
Normalform) alle erfüllende Belegungen aus den
Elementarkonjunktionen direkt ablesen. Aus minimalen DNF
lassen sich leicht die Schaltnetze (mit UND, ODER, NEG
Gattern) herleiten. Die systematische Tableux Konstruktion
erlaubt es diese Normalformen aus einem vollständigen
Tableau abzulesen.
Prof. Dr. Madlener: Logik
104
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Normalformen
Motivation: Oft will man eine beliebige A-Form in eine Form
transformieren die einfachere“ Gestalt hat und spezielle
”
Algorithmen zur Lösung einer bestimmten Fragestellung für
Formeln in dieser Gestalt verfügbar sind. Die Transformation sollte
nicht zu teuer sein, sonst würde sich der Aufwand dafür nicht
lohnen.
◮ Transformiert werden kann in einer
◮
◮
logisch äquivalenten Formel, d.h. A |==| T (A) oder
erfüllungs äquivalenten Formel, d.h.
A erfüllbar gdw. T (A) erfüllbar
◮ Wir behandeln drei dieser Normalformen:
◮
◮
◮
Negationsnormalform (NNF) Form in ¬, ∨, ∧
Konjunktive Normalform (KNF) Form in ¬, ∨, ∧
Disjunktive Normalform (DNF) Form in ¬, ∨, ∧
Prof. Dr. Madlener: Logik
105
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Normalformen
Definition 2.13 (NNF)
Eine Formel A ist in NNF gdw. jedes Negationszeichen direkt vor
einem Atom (A-Variable) steht und keine zwei Negationszeichen
direkt hintereinander stehen. Also:
1. Für p ∈ V sind p und ¬p in NNF
2. Sind A, B in NNF, so auch (A ∨ B) und (A ∧ B)
Beachte (A → B) wird durch (¬A ∨ B) und
¬(A → B) durch (A ∧ ¬B) ersetzt.
Lemma 2.14
Zu jeder Formel A ∈ F ({¬, ∧, ∨, →}) gibt es eine logisch
äquivalente Formel B ∈ F (¬, ∨, ∧) in NNF mit |B| ∈ O(|A|).
Beweis:
Übung. Verwende Doppelnegationsregel, de Morgan.
Prof. Dr. Madlener: Logik
106
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Klauseln
Definition 2.15 (Klausel)
Eine Formel A ≡ (L1 ∨ ... ∨ Ln ) mit Literalen Li für i = 1, ..., n wird
Klausel genannt.
• Sind alle Literale einer Klausel negativ, so ist es eine negative
Klausel. Sind alle Literale positiv, so ist es eine positive
Klausel. Klauseln die maximal ein positives Literal enthalten,
heißen Horn Klauseln.
• A wird k-Klausel genannt, falls A maximal k Literale enthält.
1-Klauseln werden auch Unit-Klauseln genannt.
• Eine Formel A ist in KNF gdw. A eine Konjunktion von
Klauseln ist. D.h.
A ≡ (A1 ∧ ... ∧ Am ) mit Klauseln Ai für i = 1, ..., m.
• Sind die Ai k-Klauseln, so ist A in k-KNF.
Prof. Dr. Madlener: Logik
107
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Normalformen (Fort.)
Beispiel 2.16
A ≡ (p ∨ q) ∧ (p ∨ ¬q) ∧ (¬p ∨ q) ∧ (¬p ∨ ¬q) ist in 2-KNF
(Beachte ist unerfüllbar). Betrachtet man Klauseln als Mengen von
Literalen, so lassen sich Formeln in KNF als Mengen von
Literalmengen darstellen, etwa
A ≡ {{p, q}, {p, ¬q}, {¬p, q}, {¬p, ¬q}}.
Lemma 2.17
Zu jeder Formel A ∈ F ({¬, ∧, ∨}) gibt es eine logisch äquivalente
Formel B in KNF mit |B| ∈ O(2|A| ).
◮ Beachte: Es gibt eine Folge von Formeln An mit |An | = 2n,
für die jede logisch äquivalente Formel Bn in KNF mindestens
die Länge 2n besitzt.
Prof. Dr. Madlener: Logik
108
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Definition 2.18 (DNF)
Eine A-Form A ist in DNF gdw. A eine Disjunktion von
Konjunktionen von Literalen ist, d.h. A ≡ (A1 ∨ ... ∨ Ai ) mit
Ai ≡ (Li 1 ∧ ... ∧ Limi ).
Definition 2.19 (Duale Formel)
Die duale Formel von A, d(A) (auch A∗ ) ist definiert durch:
◮
◮
◮
◮
d(p) ≡ p
für p ∈ V
d(¬A) ≡ ¬d(A)
d(B ∨ C ) ≡ (d(B) ∧ d(C ))
d(B ∧ C ) ≡ (d(B) ∨ d(C ))
Prof. Dr. Madlener: Logik
109
Algorithmischer Aufbau der Aussagenlogik
Normalformen
Lemma 2.20
Für jede A-Form A gilt:
1. Sei A in KNF, dann ist NNF(¬A) in DNF.
2. Ist A in KNF, so ist d (A) in DNF.
3. A ist Tautologie gdw. d(A) widerspruchsvoll.
4. A ist erfüllbar gdw. d(A) ist keine Tautologie.
Setzt man ϕ′ (p) = 1 − ϕ(p), so gilt ϕ′ (d(A)) = 1 − ϕ(A)
Prof. Dr. Madlener: Logik
110
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Davis-Putnam-Algorithmen
◮ Erfüllbarkeits-Algorithmen
◮ Formeln in NNF (¬, ∧, ∨)
◮ Bottom-Up Verfahren - Festlegung einer erfüllenden
Bewertung durch Auswahl der Werte der Atome
Prof. Dr. Madlener: Logik
111
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Definition 2.21
Sei A A-Form in NNF, p ∈ V definiere A[p/1] (bzw. A[p/0]) als
Ergebnis des folgenden Ersetzungsprozesses:
1. Ersetze in A jedes Vorkommen von p durch 1.
2.
• Tritt nun eine Teilform ¬1 auf, ersetze sie durch 0,
•
•
•
•
¬0 ersetze durch 1.
Teilformeln B ∧ 1, sowie B ∨ 0 werden durch B ersetzt,
Teilformeln B ∨ 1 durch 1 und
Teilformeln B ∧ 0 durch 0 ersetzt.
3. Schritt 2 wird so lange durchgeführt, bis keine weitere
Ersetzung möglich ist.
Analog für A[p/0] wobei p durch 0 ersetzt wird.
Prof. Dr. Madlener: Logik
112
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
◮ A[p/1] (bzw. A[p/0]) sind wohldefiniert. (Warum ?)
◮ Als Ergebnis des Ersetzungsprozesses A[p/i ] i = 1, 0 erhält
man:
◮
◮
◮
eine A-Form (in NNF bzw. KNF wenn A diese Form hatte)
1 die leere Formel“
”
0 die leere Klausel“ (⊔, )
”
Die leere Formel wird als wahr interpretiert.
Die leere Klausel als falsch (nicht erfüllbar),
d. h. A[p/i ] als A-Form behandelbar.
◮ Allgemeiner verwende A[l /1] bzw. A[l /0] für Literale l .
◮ Beachte: Für A in KNF und Literal l gilt:
A[l /1] entsteht aus A durch Streichen aller Klauseln, die das
Literal l enthalten und durch Streichen aller Vorkommen des
Literals ¬l in allen anderen Klauseln.
Prof. Dr. Madlener: Logik
113
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Eigenschaften
Für jedes Atom p ∈ V und A ∈ F in NNF gilt:
1. A[p/i ] i ∈ 1, 0 ist entweder die leere Formel oder die leere
Klausel oder eine A-Form in NNF in der p nicht vorkommt.
Ist ϕ eine Bewertung mit ϕ(p) = i , so gilt ϕ(A) = ϕ(A[p/i ]).
2. A ∧ p |==| A[p/1] ∧ p
A ∧ ¬p |==| A[p/0] ∧ ¬p
3. A ist erfüllbar gdw A[p/1] = 1 oder A[p/0] = 1 oder eine der
Formeln A[p/1], A[p/0] erfüllbar ist.
֒→ Durch Testen der Formeln A[p/1] und A[p/0], die nun p nicht
mehr enthalten, kann rekursiv die Erfüllbarkeit von A
entschieden werden.
Prof. Dr. Madlener: Logik
114
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Regelbasierter Aufbau von DP-Algorithmen
Definition 2.22 (Regeln für Formeln in NNF)
1. Pure-Literal Regel Kommt ein Atom p ∈ V in einer A-Form
A nur positiv oder nur negativ vor, so können wir p mit 1
bzw. 0 belegen und die Formel dementsprechend kürzen.
֒→ (Es gilt A[p/0] |= A[p/1] bzw. A[p/1] |= A[p/0]), genauer A
erfüllungsäquivalent A[p/1] bzw. A[p/0].
2. Splitting-Regel Kommt jedes Atom sowohl positiv als auch
negativ vor, so wähle ein solches Atom p in A aus und bilde
aus A die zwei A-Formen A[p/1] und A[p/0].
֒→ Die Ausgangsformel A ist genau dann erfüllbar, wenn bei einer
der Kürzungen der Wert 1 oder eine erfüllbare Formel als
Ergebnis auftritt.
Prof. Dr. Madlener: Logik
115
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Regelbasierter Aufbau von DP-Algorithmen
◮
Regeln reduzieren das Erfüllbarkeitsproblem für eine Formel
mit n Atomen auf EP für Formeln mit maximal (n − 1)
Atomen.
◮
Algorithmen, die mit Hilfe dieser beiden Regeln mit
verschiedenen Heuristiken (zur Auswahl des splitting Atoms)
und weiteren Verfeinerungen arbeiten, werden als
Davis-Putnam-Algorithmen bezeichnet.
Prof. Dr. Madlener: Logik
116
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Beispiel 2.23 (Darstellung der Abarbeitung als Baum)
A ≡ ¬p ∨ ((¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s ∧ (p ∨ q))
p=1
p=0
(¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s
q=1
r ∧ ¬r ∧ ¬s
¬s = 1
r ∧ ¬r
r=1
0
Prof. Dr. Madlener: Logik
1
q=0
s ∧ ¬r ∧ ¬s
¬r = 1
r = 0s = 1
0
0
s ∧ ¬s
s=0
0
117
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Weitere Verfeinerungen
Definition 2.24 (Regeln für Formeln in KNF)
3. Unit-Regel
Sei A in KNF und A enthält
eine Unit Klausel Ai ≡ l .
Bilde A[l /1] (A ist erfüllbar gdw A[l /1] erfüllbar),
da das Literal einer UnitKlausel durch eine erfüllende Bewertung auf wahr gesetzt werden muss.
Prof. Dr. Madlener: Logik
(¬q ∨ r) ∧ (q ∨ s) ∧ ¬r ∧ ¬s
¬r = 1
¬q ∧ (q ∨ s) ∧ ¬s
¬q = 1
s ∧ ¬s
s=1
0
118
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
◮
Seien A1 und A2 Klauseln. A1 subsumiert A2 (A1 ⊆ A2 ) gdw
jedes Literal aus A1 auch in A2 auftritt.
◮
Aus der Erfüllbarkeit einer Klausel folgt sofort die Erfüllbarkeit
aller Klauseln, die sie subsummiert.
4. Subsumption-Rule
Sei A in KNF. Streiche aus A alle Klauseln, die von anderen
subsumiert werden:: SR(A).
Streiche insbesondere tautologische Klauseln (solche die p und
¬p für ein p enthalten).
◮
Da in KNF alle Klauseln konjunktiv verknüpft sind, braucht
man nur diejenigen zu berücksichtigen, die von keiner anderen
subsumiert werden.
Prof. Dr. Madlener: Logik
119
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
procedure Davis/Putnam
//Eingabe: A in KNF//
//Ausgabe: Boolscher Wert für Erfüllbarkeit (1,0)//
begin
if A ∈ {0, 1} then return(A);
p:=pure(A,s);
//liefert Atom und Belegung, falls nur positiv oder nur negativ
vorkommt sonst null//
if p 6= null then return(DPA(A[p/s]));
p:=unit(A,s); //Unit Klausel mit Belegung sonst null//
if p 6= null then return(DPA(A[p/s]));
A:=Subsumption Reduce(A); //entfernt subs. Klauseln//
p:=split(A); //liefert Atom in A//
if DPA(A[p/1]) = 1 then return(1);
return(DPA(A[p/0]));
end
Prof. Dr. Madlener: Logik
120
Algorithmischer Aufbau der Aussagenlogik
Davis-Putnam-Algorithmen
Auswahlkriterien für die Splitting Regel
◮
Wähle das erste in der Formel vorkommende Atom,
◮
wähle das Atom, welches am häufigsten vorkommt,
◮
· · · das in den kürzesten Klauseln am häufigsten vorkommt,
X
wähle Atom mit
|Ai | minimal,
◮
p in Ai
◮
berechne die Anzahl der positiven und negativen Vorkommen
in den kürzesten Klauseln und wähle das Atom mit der
größten Differenz.
◮
Weitere Heuristiken in Implementierung vorhanden.
Prof. Dr. Madlener: Logik
121
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Resolutions-Verfahren
◮ Das Resolutionskalkül als Deduktionssystem operiert auf
Klauselmengen, d. h. Formeln in KNF mit nur einer
Schlussregel:
Aus Klauseln (A ∨ l ) und (B ∨ ¬l ) kann eine neue Klausel
(A ∨ B) erzeugt werden.
◮ Ziel: Leere Klausel zu erzeugen.
◮ Klauseln als Mengen (p ∨ ¬q ∨ p) ↔ {p, ¬q}
l ≡ p so ¬l ≡ ¬p
l ≡ ¬p so ¬l ≡ p
Prof. Dr. Madlener: Logik
122
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Resolutions-Verfahren
Definition 2.25 (Resolutionsregel (Resolventenregel))
Seien A, B Klauseln, l ein Literal. l kommt in A und ¬l kommt in
B vor. Dann können A und B über l (bzw. ¬l ) resolviert werden.
◮ Die Resolvente der Klauseln A und B ist die Klausel
(A\{l }) ∪ (B\{¬l }).
A und B sind die Elternklauseln der Resolvente
Schema
A
,
B
Resl (A, B) ≡ (A\{l }) ∪ (B\{¬l })
Prof. Dr. Madlener: Logik
(Resolutionsregel)
123
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Eigenschaften der Resolvente
Beachte:
◮
◮
Enthält die Resolvente ein Literal l ′ , so muss dieses bereits in
A oder B enthalten sein.
Schreibe auch A ∨ l , B ∨ ¬l ⊢ A ∨ B.
Res
◮
◮
◮
A ∧ B erfüllbar
gdw
gdw
A ∧ B |= Res(A, B).
A ∧ B ∧ Resl (A, B) erfüllbar.
Resl (A, B) erfüllbar.
Resolvente kann leere Klausel ⊔ sein.
Prof. Dr. Madlener: Logik
124
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Darstellung - Beispiele
Beispiel 2.26
Darstellung für Klauseln A, B, die über l resolvieren
A
B
(A \ {l}) ∪ (B \ {¬l})
a) Formel F ≡ {(p ∨ q ∨ r ∨ s), (¬p ∨ q ∨ r ∨ s)}
p∨q∨r∨s
¬p ∨ q ∨ r ∨ s
q∨r∨s
Prof. Dr. Madlener: Logik
125
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Beispiele
b) F ≡ {(p ∨ q), (¬q ∨ r ), (¬r ∨ s)}
p∨q
¬q ∨ r
¬r ∨ s
p∨r
p∨s
c) F ≡ {(p ∨ q), (¬p ∨ q), (p ∨ ¬q), (¬p ∨ ¬q)}
¬p ∨ q
p∨q
¬p ∨ ¬q
p ∨ ¬q
¬q
q
0
Prof. Dr. Madlener: Logik
126
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Beispiele
d) F ≡ {(¬p ∨ ¬q ∨ ¬r ), (p ∨ ¬s), (q ∨ ¬r ), (r ∨ ¬t), t}
(Horn-Klauseln)
¬p ∨ ¬q ∨ ¬r
p ∨ ¬s
q ∨ ¬r
¬q ∨ ¬r ∨ ¬s
r ∨ ¬t
¬r ∨ ¬s
t
¬s ∨ ¬t
¬s
Prof. Dr. Madlener: Logik
127
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Ableitungen im Resolutionskalkül
Definition 2.27 (Herleitungen (Ableitungen))
Sei A ≡ {C1 , . . . , Cn } eine Formel in KNF und C ein Klausel. Eine
Folge D1 , . . . , Dk von Klauseln ist eine Herleitung der Klausel C
aus A. Wenn C ≡ Dk und für alle j mit 1 ≤ j ≤ k Klauseln
E , F ∈ A ∪ {D1 , . . . , Dj−1 } existieren mit E , F ⊢ Dj .
Res
◮ C ist (mit der Resolventenregel oder im Resolutionskalkül)
herleitbar aus A
+
Schreibweise: A ⊢ C
Res
◮
(A Ausgangs-Klauseln)
k ist die Länge der Herleitung.
Prof. Dr. Madlener: Logik
128
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
◮ Minimale Herleitungen sind solche für die kein Schritt
weggelassen werden kann. D.h. es werden keine unnötigen
Klauseln hergeleitet.
+
+
+
Res
Res
Res
֒→ Gilt A ⊢ C1 und A ⊢ C2 , so schreibe A ⊢ C1 , C2 .
◮ Darstellung von Herleitungen mit Hilfe von DAG’s.
{p, q}
{p}
{p, ¬q}
{¬p, q}
{¬p, ¬q}
{q}
{¬p}
⊔
Prof. Dr. Madlener: Logik
129
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Korrektheit und Widerlegungsvollständigkeit
Satz 2.28
1. Der Resolutionskalkül ist korrekt.
A in KNF, C Klausel dann
+
A ⊢ C , so A |= C
Res
2. Der Resolutionskalkül ist nicht vollständig.
+
Es gibt A in KNF, C Klausel mit A |= C aber nicht A ⊢ C
Res
3. Der Resolutionskalkül ist widerlegungsvollständig.
+
A in KNF, A widerspruchsvoll (unerfüllbar), so A ⊢ ⊔
Res
Prof. Dr. Madlener: Logik
130
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Korrektheit und Widerlegungsvollständigkeit (Forts.)
Beweis:
√
1. , 2. A ≡ p, C ≡ p ∨ q
Behauptung.
3. Induktion nach Länge der Formel:
Kürzeste Formel:{{p}, {¬p}}, dann p, ¬p ⊢ ⊔.
Res
Verwende dabei: A widerspruchsvoll, so auch A[p/1] und A[p/0]
widerspruchsvoll.
• Sei A mit Länge n + 1, A widerspruchsvoll. Es gibt ein Atom p
in A das sowohl positiv als auch negativ vorkommt. Betrachte
A[p/1] und A[¬p/1], beide nicht erfüllbar. Angenommen nicht
Wert 0.
• Nach Ind.Vor.:
Prof. Dr. Madlener: Logik
+
A[p/1] ⊢ ⊔,
Res
+
A[¬p/1] ⊢ ⊔.
Res
131
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Korrektheit und Widerlegungsvollständigkeit (Forts.)
◮
A in KNF. A[p/1] entsteht durch Streichen der Klauseln, die p
enthalten und durch Streichen von ¬p aus Klauseln, die ¬p
enthalten.
֒→ Fügt man in A[p/1] die eliminierten Literale ¬p und zu
A[¬p/1] die Atome p wieder hinzu, so sind diese Formeln
A[p/1](¬p) und A[p/0](p) Teilformen von A.
+
◮
Man kann somit die gleichen Resolutionen von A[p/1] ⊢ ⊔,
Res
+
A[¬p/1] ⊢ ⊔ für die entsprechenden Klauseln von A
Res
durchführen.
Prof. Dr. Madlener: Logik
132
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Korrektheit und Widerlegungsvollständigkeit (Forts.)
◮
+
+
Res
Res
Dann aber entweder A[p/1](¬p) ⊢ ⊔ bzw. A[¬p/1](p) ⊢ ⊔
auch aus A herleitbar oder
+
+
Res
Res
+
A[p/1](¬p) ⊢ ¬p und A[¬p/1](p) ⊢ p.
Dann aber ¬p, p ⊢ ⊔ und somit A ⊢ ⊔.
Res
◮
Res
Ergibt A[p/1] oder A[¬p/1] den Wert 0, so enthält A eine
Klausel p (falls A[¬p/1] = 0) oder eine Klausel ¬p (falls
A[p/1] = 0). Dann analoger Schluss.
Prof. Dr. Madlener: Logik
133
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Lemma 2.29
Sei A in KNF, C eine Klausel, dann gilt A |= C gdw es gibt eine
Teilklausel C ′ ⊆ C :
+
A ⊢ C′
Res
+
◮ Ist A erfüllbar und C Primimplikant von A, dann gilt A ⊢ C .
Res
Prof. Dr. Madlener: Logik
134
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Resolventenmethode: Strategien/Heuristiken
◮ Verfeinerungen der Methode
Starke Herleitungen: A in KNF, widerspruchsvoll.
Dann gibt es eine Herleitung C1 , . . . Cn ≡ ⊔ mit
1. in der Herleitung tritt keine Klausel mehrfach auf,
2. in der Herleitung tritt keine Tautologie auf,
3. in der Herleitung tritt keine schon subsumierte Klausel auf:
Es gibt kein Ci , Cj , j < i , Cj ⊆ Ci .
Prof. Dr. Madlener: Logik
135
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
◮ Strategien, Heuristiken
◮
Stufenstrategie (Resolutionsabschluss)
( Alle erfüllende Bewertungen)
◮
Stützmengenrestriktion
(Set of Support, Unit-Klauseln bevorzugen)
◮
P-(N-) Resolution
◮
Lineare Resolution (SL-Resolution)
(PROLOG-Inferenzmaschine)
Prof. Dr. Madlener: Logik
136
Algorithmischer Aufbau der Aussagenlogik
Resolutions-Verfahren
Beispiel:A ≡ {{¬p, ¬q, ¬r }, {p, ¬s}, {q, ¬r }, {r , ¬t}, {t}}
Stufen:
0
1. {¬p, ¬q, ¬r }
2. {p, ¬s}
1
6. {¬q, ¬r , ¬s} (1,2)
7. {¬p, ¬r }
(1,3)
2
11. {¬r , ¬s}
(6,3)
12. {¬q, ¬s, ¬t} (6,4)
3. {q, ¬r }
4. {r , ¬t}
5. {t}
8. {¬p, ¬q, ¬t}(1,4)
9. {q, ¬t}
(3,4)
10. {r }
(4,5)
13.
14.
15.
16.
17.
18.
19.
20.
{¬p, ¬t}
(7,4)
{¬p, ¬r , ¬t} (8,3)
{¬p, ¬q}
(8,5)
{q}
(10,3)
{¬r , ¬s, ¬t} (6,9)
{¬q, ¬s}
(6,10)
{¬p}
(7,10)
{¬p, ¬t}
(8,9)
3
21. {¬s, ¬t} (11,4)
22. {¬s}
(11,10)
..
.
ϕ(q) = 1, p(p) = 0, ϕ(s) = 0, ϕ(r ) = 1, ϕ(t) = 1
Prof. Dr. Madlener: Logik
137
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Funktionen, Prädikate
Funktionen, Prädikate
◮
Beschreibung von Strukturen (Datentypen, Algebren,. . . )
◮
Beschreibung von Integritätsbedingungen (Relationen,. . . )
◮
Lösbarkeit von Anfragen (Gleichungen,. . . )
Prof. Dr. Madlener: Logik
138
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Beispiel 3.1
Bereich Z, Operationen, Prädikate,. . .
◮
Zahlen: Konstanten: · · · , −2, −1, 0, 1, 2, · · ·
◮
Individuenvariablen (Abzählb.): x, y , z, . . .
◮
Funktionszeichen (Operatoren): +, ·, −
◮
Prädikatszeichen (Relationen): <, >
◮
Logische Zeichen: =, ∧, ∨, ¬, →, . . .
◮
◮
(Stelligkeit 2)
(Stelligkeit 2)
Quantoren: ∀ (für alle), ∃ (es gibt)
Trennzeichen: (, ), · · ·
Prof. Dr. Madlener: Logik
139
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Hilberts-10-Problem: Gibt es ein Verfahren, um zu entscheiden, ob
eine beliebige diophantische Gleichung eine Lösung hat?
◮
Hat ein Polynom in mehreren Veränderlichen mit
Koeffizienten in Z eine Lösung in Z ?
∃x, y , z.3x 2 − 2xy 3 + 5z 3 + 6 = 0
• Entscheide effektiv, ob eine Aussage in Z gilt.
◮
Beschreibung von Eigenschaften:
U(x) ≡ ∃z.x = 2 · z + 1, G (x) ≡ ∃z.x = 2 · z
∀x(U(x) ∨ G (x))
Prof. Dr. Madlener: Logik
140
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Aufbau von Formeln:
Aus Konstanten, Funktionen, Individuenvariablen können Terme
definiert werden. Terme dienen als Bezeichner für Elemente.
◮ Jede Variable ist Term, jede ganze Zahl ist Term
t1 , t2 Terme, so auch (t1 + t2 ), (t1 − t2 ), (t1 · t2 )
◮ Atomare Formeln:
◮ t1 , t2 Terme: So sind t1 = t2 , t1 < t2 , t1 > t2 Atomare
Formeln.
◮ A, B Formeln: So sind (A ∧ B), (A ∨ B), (A → B), (¬A), und
für
◮ x Variable, A Formel: ∀x.A
Prof. Dr. Madlener: Logik
,
∃x.A Formeln.
141
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Interpretationen
• Bedeutung von Termen und Formeln. Interpretation:
Hier in Z: Terme klar +, −, · durch die Operatoren auf Z.
Bedeutung von: (x + 5) = y , ∀x.(x + 5) = 0, ∃x.(x + 5) = 0,
∀x.∃y .(x + 5) = y
• Interpretation: Bereich, Funktionen, Prädikate.
Belegung der Individuen-Variablen.
◮ x →3
y → 8, dann (x + 5) = y wahr.
• Allgemeinere Formeln: Quantifizierung über Funktionen,
Prädikaten.
• A ≡ ∃F .((F (a) = b) ∧ ∀x.[p(x) → F (x) = g (x, F (f (x)))])
wobei F Funktionsvariable, a, b Individuenkonstanten, p
Prädikatskonstante und f , g Funktionskonstanten sind.
Prof. Dr. Madlener: Logik
142
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Interpretationen
A ≡ ∃F .((F (a) = b) ∧ ∀x.[p(x) → F (x) = g (x, F (f (x)))])
D=N
a = 0, b = 1
◮
f (x) = x − 1
g (x, y ) = x · y p(x) ≡ x > 0
Gibt es eine Funktion F : N → N :
.
F (0) = 1
F (x) = x · F (x − 1) (x > 0)
2.
D=N
a = 0, b = 1
1.
◮
.
f (x) = x
g (x, y ) = y + 1 p(x) ≡ x > 0
Gibt es eine Funktion F : N → N :
F (0) = 1
F (x) = F (x) + 1 (x > 0)
Prof. Dr. Madlener: Logik
143
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Allgemeine Sprache der Prädikatenlogik zweiter Stufe
Definition 3.2 (Syntax)
(a) Alphabet:
1 Wahrheitswerte: W , F (Log-Konstanten)
2 Logische Symbole:
2.1 Junktoren: ¬, →, ∧, ∨, ↔, · · · , If Then Else
2.2 Operatoren:
=, if then else
2.3 Quantoren:
∀ (Allquantor), ∃ (Existenzquantor)
3 Variablensymbole:
3.1 n-stellige Funktionsvariablen: Fjn (j ≥ 1, n ≥ 0)
n = 0 Individuenvariablen: Bezeichnung
xj
3.2 n-stellige Prädikatenvariablen: Pjn (j ≥ 1, n ≥ 0)
n = 0 aussagenlogische Variablen
Prof. Dr. Madlener: Logik
144
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
4 Konstantensymbole:
4.1 n-stellige
fj0
4.2 n-stellige
pj0
Funktionskonstanten: fjn (j ≥ 1, n ≥ 0)
Individuenkonstanten: Bezeichnung aj
Prädikatskonstanten: pjn (j ≥ 1, n ≥ 0)
A-log-Konstanten Bezeichnung
pj
5 Hilfssymbole (Klammern).
! Alle Zeichen verschieden, kein Buchstabe Teilwort eines
anderen.
! Entscheidbare Teilalphabete. Stelligkeiten eindeutig festgelegt.
! Spezielle Sprachen werden durch Festlegung der Konstanten
(oft nur endlich viele) definiert.
Prof. Dr. Madlener: Logik
145
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Allgemeine Sprache der Prädikatenlogik zweiter Stufe
(Forts.)
(b) Ausdrücke: Terme - Formeln
1. Die Menge Term der Terme (Bezeichner):
i. Jede Individuenvariable xj und Individuenkonstante aj (j ≥ 1)
ist ein (atomarer) Term
ii. Sind t1 , . . . , tn (n ≥ 1) Terme, so auch fj n (t1 , . . . , tn ) und
Fjn (t1 , . . . , tn ) (j ≥ 1)
iii. Ist A Formel, t1 , t2 Terme, so auch (if A then t1 else t2 )
iv. Term ist kleinste Menge mit i die Abg. bzg. ii. und iii ist.
Prof. Dr. Madlener: Logik
146
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
2. Die Menge der Formeln Form:
• Atomare Formeln: AForm
i. W , F ∈ AForm
ii. pj0 , Pj0 ∈ AForm (j ≥ 1)
iii. Sind t1 , . . . , tn (n ≥ 1) Terme, so
pjn (t1 , . . . , tn ), Pjn (t1 , . . . , tn ) ∈ AForm (j ≥ 1)
iv. Sind t1 , t2 Terme, dann ist (t1 = t2 ) ∈ AForm
• Formeln: Form
i. AForm ⊆ Form
ii. A, B, C ∈ Form, so auch
(¬A), (A → B), (A ∨ B), (A ∧ B), (A ↔ B)
(If A Then B Else C ) ∈ Form
iii. Ist v Variable, A Formel
((∀v )A), ((∃v )A) ∈ Form (gelegentlich mit Einschränkung)
Prof. Dr. Madlener: Logik
147
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
(c) freie (gebundene) Variable. Geltungsbereich eines Quantors:
◮ Ist B ≡ ((∀v )A) oder B ≡ ((∃v )A), so ist A der
Geltungsbereich von ∀v bzw. ∃v .
◮ Ein Vorkommen von v in A heißt gebunden.
◮ Ein Vorkommen einer Variablen v in einer Formel heißt
gebunden, falls es im Geltungsbereich eines Quantors Qv
vorkommt. Sonstige Vorkommen einer Variablen heißen frei.
◮ Eine Variable v heißt freie Variable einer Formel A, wenn es
in A freie Vorkommen von v gibt. Formeln ohne freie
Variablen heißen abgeschlossen oder Aussagen.
(d) Teilterme und Teilformeln werden wie üblich definiert.
Beachte: Jeder Term, Formel wird eindeutig aus den Teiltermen
bzw. Teilformeln aufgebaut.
Prof. Dr. Madlener: Logik
148
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Bemerkung 3.3
a) Term, Form sind rekursiv entscheidbar, zusammengesetzte
Terme und Formeln lassen sich eindeutig zerlegen. Freie und
gebundene Vorkommen lassen sich effektiv bestimmen.
b) Vereinbarungen: Stelligkeit aus Kontext
a, b, c Individuenkonstanten, f , g , h, . . . Funktionskonstanten
p, q, r . . . Prädikatskonstanten, x, y , z . . . Individuenvariablen
F , G , H, . . . Funktionsvariablen P, Q, R, . . .
Prädikatsvariablen, A, B, C , . . . Formeln, t, s Terme.
Die Mengen Var (t), Var (A) seien die Variablen, die in t bzw.
in A vorkommen.
Prof. Dr. Madlener: Logik
149
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Beispiel
∃F {(F (a) = b ) ∧ ∀x[p(x) → (F (x) = g (x, F (f (x))))]}
|{z} |{z}
Term Term
Term Term
Term
....
at-F
at.F
at.F
Formel
Formel
Formel
i) A ≡
Formel
Var (A) = {F , x}
F kommt 3× vor, gebunden
x kommt 4× vor, gebunden
A abgeschlossene Formel
Prof. Dr. Madlener: Logik
150
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
ii) A ≡ ∀P{ P (a) ∧ ∀x[[ x 6= a ∧ P (f ( x ))] → P ( x )]]
↑
↑
↑
↑
geb.
geb.
geb.
geb.
↑
↑
geb. geb.
→ P ( x )}
↑
↑
geb. frei
A ist nicht abgeschlossen, x hat freies Vorkommen d.h.
FVar (A) = {x}.
Prof. Dr. Madlener: Logik
151
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
Eingeschränkte Teilsprachen
Konstanten, Variablen einschränken
1. Allgemeine Sprache der Prädikatenlogik erster stufe: PL1
◮
Nur Individuenvariablen xi
(keine Funktion- und Prädikatsvariablen)
x1 6= x2 ∧ ∀x2 (∃x3 p(x, f (x2 , x3 )) → (p(x2 , x1 ) ∨ p(x2 , a)))
2.
◮
◮
Sprache der Gleichheitslogik
Nur Individuenvariablen xj (j ≥ 1), Funktionskonstanten.
Keine Prädikatskonstanten und Variablen, keine
Funktionsvariablen.
Oft noch eingeschränkt, nur Individuenkonstanten
reine Gleichheitslogik
Term : xi , ai , if A then t1 else t2
AForm : W , F , t1 = t2
∀x1 ∀x2 ∀x3 (((x1 = x2 ) ∧ (x2 = a)) → (x1 = a))
Prof. Dr. Madlener: Logik
152
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
3. Sprache der quantifizierten Aussagenlogik
Nur aussagenlogische Konstanten pj0 (j ≥ 1) und
aussagenlogische Variablen Pj0 (j ≥ 1) sind zugelassen.
Keine Terme.
Atomare Formeln: aussagenlogische Konstanten und
Variablen, W , F , p, Pi .
(∀P1 (P1 → p) → ∃P2 (P2 → W ))
Prof. Dr. Madlener: Logik
153
Grundlagen der Prädikatenlogik
Beziehungen zwischen Eigenschaften von Elementen
4. Sprache der Aussagenlogik
Nur aussagenlogische Konstanten pj0 (j ≥ 1) sind zugelassen.
(If p1 Then p2 Else p3 ) ↔ ((p1 → p2 ) ∨ (¬p1 → p3 ))
5. Sprache der monadischen Logik (2-Stufe)
Individuenvariablen xi , keine Funktionssymbole.
Monadische Prädikatsvariablen + Konstanten: pj1 , Pj1
∀P∀x∀y ((P(x) → p(y )) → p(x))
Prof. Dr. Madlener: Logik
154
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Semantik der P-Logik 2-Stufe
Interpretationen, Belegungen, Bewertungen
!
!
D 6= ∅,
0-stellige
Prof. Dr. Madlener: Logik
Funktionen
Prädikate
f : D n → D (totale Funktion),
P ⊆ D n (als Relationen)
oder P : D n → {0, 1}
Funktionen (Element aus D),
Prädikate (Element aus {0, 1}).
155
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Definition 3.4 (Interpretationen, Belegungen)
Sei L Sprache der P-Logik 2-Stufe
(festgelegt durch die Menge der Konstantensymbole i. R. endlich).
a) Eine Interpretation I für L ist ein Tripel I = (D, Ic , Iv ) mit
◮
◮
◮
D 6= ∅ Individuenbereich (Definitionsbereich).
Ic ist eine Interpretation (Belegung) der Konstanten
f n ∈ L, so Ic (f n ) : D n → D
p m ∈ L, so Ic (p m ) ⊆ D m (oder : D m → {0, 1})
Iv ist eine Belegung der Variablen (auch Zustand genannt):
F n Funktionsvariablen Iv (F n ) : D n → D (n ≥ 0)
P m Prädikatsvariablen Iv (P m ) ⊆ D m (D m → {0, 1})
(D, Ic ) heißt auch Relationalstruktur.
Kommen keine Prädikatskonstanten vor, so Algebra.
Prof. Dr. Madlener: Logik
156
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Interpretationen, Belegungen (Forts.)
b) Fortsetzung von I auf Term, bzw. Form:
I : Term → D
I : Form → B
i) Bewertung der Terme:
◮
◮
◮
◮
I (ai ) = Ic (ai )
I (xi ) = Iv (xi )
I (f (t1 , . . . , tn )) = Ic (f )(I (t1 ), . . . , I (tn ))
I (F (t1 , . . . , tn )) = Iv (F )(I(
(t1 ), . . . , I (tn ))
I (t1 ) falls I (A) = 1 (W )
I (if A then t1 else t2 ) =
I (t2 ) falls I (A) = 0 (F )
ii) Bewertung der Formeln:
◮
◮
◮
◮
Prof. Dr. Madlener: Logik
I (W ) = 1
I (F ) = 0
I (p 0 ) = Ic (p 0 )
I (p(t1 , . . . , tn )) = Ic (p)(I (t1 ), . . . , I (tn ))
I (P(t1 , . . . , tn(
)) = Iv (P)(I (t1 ), . . . , I (tn ))
1 falls I (t1 ) =D I (t2 )
I (t1 = t2 ) =
0 sonst
I (P 0 ) = Iv (P 0 )
157
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Interpretationen, Belegungen (Forts.)
b)
ii)
◮
◮
◮
◮
Prof. Dr. Madlener: Logik
I (¬A), I (A ∧ B), I (A ∨ B), I (A → B), I (A ↔ B),
I (If A Then B Else C )
Wie in A-Logik.
(
1 falls für alle d ∈ D gilt I x,d (A) = 1
I ((∀x)A) =
0 sonst
(
1 falls es d ∈ D gibt mit I x,d (A) = 1
I ((∃x)A) =
0 sonst
(
d
y ≡x
x,d
′
′
I
= (D, Ic , Iv ),
Iv (y ) =
Iv (y ) sonst
Entsprechend für Quantifizierungen mit den anderen
Funktions- und Prädikatsvariablen.
158
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Interpretationen, Belegungen (Forts.)
Jede Interpretation I = (D, Ic , Iv ) induziert durch 3 (i) und ii)) eine
Bewertung aller Terme und Formeln, die die bewerteten
Konstanten und Variablen als freie Variablen enthalten.
Umgekehrt wird jede Bewertung I , die i) und ii) genügt eindeutig
durch eine solche Interpretation induziert.
Beachte: 3-Parameter: D, Ic , Iv : Relationalstruktur D, Ic und
Zustand Iv .
Prof. Dr. Madlener: Logik
159
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Interpretationen, Belegungen (Forts.)
c) Gilt I (A) = 1, so ist A wahr in der Interpretation I oder I
erfüllt A.
Schreibweise |=I A oder I |= A
(Beachte A ist hier eine beliebige Formel, kann also freie
Variablen enthalten).
Prof. Dr. Madlener: Logik
160
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Folgerungen
Bemerkung 3.5
◮
Um die Bewertung einer Formel A zu bestimmen, genügt es
die Bewertung der in ihr vorkommenden Konstanten und frei
vorkommenden Variablen zu kennen!!
I = (D, Ic , Iv )
◮
Insbesondere: Ist A abgeschlossen, so genügt es
Interpretationen der Form (D, Ic ), d. h. Definitionsbereich und
Belegung der Konstanten zu betrachten.
◮
Seien I1 , I2 Interpretationen mit D1 = D2 und A eine Formel.
Stimmen I1 und I2 auf allen Konstanten und freien Variablen,
die in A vorkommen, überein, so gilt I1 (A) = I2 (A).
Prof. Dr. Madlener: Logik
161
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Beispiel
Beispiel 3.6
i) ∃x∀y (p(y ) → x = y )
Stimmt in allen Interpretationen für die I (p) höchstens ein
Element enthält. Es gibt höchstens ein x, so dass p(x) wahr
”
ist“.
ii) Es gibt genau ein x, so dass p(x) wahr ist“.
”
∃x[p(x) ∧ ∀y [p(y ) → x = y ]]
iii) ∀z∃u∃v ((z = u ∨ z = v ) ∧ u 6= v )
∧∀x∀y ∀P[x 6= y ∨ P(x, x) ∨ ¬P(y , y )]
◮
◮
Wahr in jeder Interpretation mit |D| ≥ 2
Falsch in jeder Interpretation mit |D| = 1
Prof. Dr. Madlener: Logik
162
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Beispiel (Fort.)
iv) Eigenschaften von Relationen: Reflex., Sym., Tra.
◮ ∀x p(x, x)
◮ ∀x∀y (p(x, y ) → p(y , x))
◮ ∀x∀y ∀z[(p(x, y ) ∧ p(y , z)) → p(x, z)]
v) Relationen, Funktionen
◮ A ≡ ∀x p(x, f (x)), A1 ≡ p(x, f (x))
I = (N, Ic , Iv ), Ic (p) ≡ ≤ -Prädikat, Ic (f ) : n → n2 ,
I x,n (A1 )(≡ n ≤ n2 ) = 1
Prof. Dr. Madlener: Logik
163
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Definition
Definition 3.7
Sei L Sprache der P-Logik 2-Stufe
a) A ∈ Form heißt allgemeingültig, falls I (A) = 1 für jede
Interpretation I für L.
Schreibweise: |= A
b) A ∈ Form heißt erfüllbar, falls es eine Interpretation I für L
gibt mit I (A) = 1. I heißt auch Modell für A (nur für abg. A).
Gibt es keine solche Interpretation, so heißt A unerfüllbar.
c) Σ ⊆ Form heißt erfüllbar, falls es eine Interpretation I für L
gibt, die alle Formeln A ∈ Σ erfüllt.
Prof. Dr. Madlener: Logik
164
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Einfache Folgerungen
Bemerkung 3.8
A allgemeingültig gdw ¬A unerfüllbar.
Es genügt Interpretationen zu betrachten, die die Konstanten und
freien Variablen der Formel A belegen.
- unendlich viele, da D 6= ∅ beliebig.
Bemerkung 3.9
Es gibt allgemeingültige Formeln: Tautologie-Theorem:
Sei A(p1 , . . . , pn ) eine Formel der Aussagenlogik in A-Variablen
p1 , . . . , pn . A′ entstehe aus A durch simultane Ersetzung von pi
durch Bi ∈ Form. Dann A′ ∈ Form.
Ist A Tautologie, so ist A′ allgemeingültig.
(z. B. A1 ∨ ¬A1 , A1 → (A2 → A1 ) . . . )
Prof. Dr. Madlener: Logik
165
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Einfache Folgerungen
Bemerkung 3.10
i) ∀x∀y ∀P(x 6= y ∨ (P(x, x) ∨ ¬P(y , y ))) ist allgemeingültig.
Es genügt Interpretationen mit I = (D) D 6= ∅ zu
betrachten.
|D| = 1 ok, |D| > 1
Iv (x, y , P), x → d1 , y → d2
(
1
d1 6= d2 ok, d1 = d2
Iv (P)(d1 , d2 ) =
0
ii) A ≡ ∃P∀x∃y (P(x, x) ∧ ¬P(x, y ))
Weder allgemeingültig noch unerfüllbar.
|D| = 1
I (A) = 0, |D| ≥ 2
I (A) = 1
iii) Allgemeingültig sind:
t = t, ∀xA ↔ ¬∃x(¬A), ∃xA ↔ ¬∀x(¬A)
Prof. Dr. Madlener: Logik
166
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Ordnungsrelationen
Bemerkung 3.11 (Eigenschaften von Ordnungsrelationen:)
p 2-stellige P-Konstante
A1 ≡ ∀x∀y ∀z((p(x, y ) ∧ p(y , z)) → p(x, z)) Tra.
A2 ≡ ∀x∀y (p(x, y ) ∨ p(y , x) ∨ x = y )
Trichot.
A3 ≡ ∀x¬p(x, x)
Antireflex.
A4 ≡ ∀x∀y (p(x, y ) → ∃z(p(x, z) ∧ p(z, y ))) dicht
A5 ≡ ∀x∃y p(x, y )
ohne letztes Elem.
A6 ≡ ∀x∃y p(y , x)
ohne erstes Elem.
Keine der Formeln ist allgemeingültig! (Überzeugen Sie
Sie sind erfüllbar: I1 = ({0, 1, 2}, <)
<
I2 = (N, <)
0
I3 = ([0, 1], <)
1
I4 = (Q, <)
2
Prof. Dr. Madlener: Logik
sich)
0 1
F W
F F
F F
2
W
W
F
167
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Einige typische Formeln
Beispiele
Allgemeingültige Formeln
∀xp(x) → ∃xp(x)
p(x) → p(x)
∀xq(x) → q(a)
p(a) → ∃xp(x)
∀x∀y (p1 (x, y ) → p1 (x, y ))
∃y ∀xp1 (x, y ) → ∀x∃yp1 (x, y )
(∀xp(x) ∨ ∀xq(x)) →
∀x(p(x) ∨ q(x))
Zeige ¬A unerfüllbar
Prof. Dr. Madlener: Logik
Nicht-Allgemeingültige Formeln
∃xp(x) → ∀xp(x)
p(x) → p(a)
q(a) → ∀xq(x)
∃xp(x) → p(a)
∀x∀y (p1 (x, y ) → p1 (y , x))
∀x∃yp1 (x, y ) → ∃y ∀xp1 (x, y )
∀x(p(x) ∨ q(x)) →
∀xp(x) ∨ ∀xq(x)
Zeige ¬A erfüllbar
I = (Z, p(x) ⇔ x > 0,
q(x) : x ≤ 0, p1 (x, y ) : x > y
a ← 0, x ← 1)
168
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Arithmetik
Beispiel 3.12
Die Sprache der Arithmetik N
◮ Konstanten: 0, S, +, ·,
◮ Stelligkeiten 0, 1, 2, 2
1.
2.
3.
4.
5.
6.
7.
◮
I = (N, 0,′ , +, ·)(n′ = n + 1)
∀x∀y (S(x) = S(y ) → x = y )
∀x S(x) 6= 0
∀x x + 0 = x
∀x∀y (x + S(y )) = S(x + y )
∀x x · 0 = 0
∀x∀y x · S(y ) = (x · y ) + x
∀P[(P(0) ∧ ∀x(P(x) → P(S(x)))) → ∀xP(x)]
Sind gültig in I .
Man beachte 7. ist Induktionsprinzip für Teilmengen von N.
Es ist eine Formel der P-Logik 2-Stufe.
Prof. Dr. Madlener: Logik
169
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Arithmetik Beispiel (Forts.)
Frage nach der Axiomatisierbarkeit der Arithmetik:
◮
Ist die Allgemeingültigkeit für Formeln einer Sprache L
entscheidbar?
◮
Rekursiv aufzählbar?
◮
Welche effektiven Methoden gibt es?
Prof. Dr. Madlener: Logik
170
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Allgemeingültigkeit: Entscheidbare Fälle
Lemma 3.13
Die Allgemeingültigkeit für Formeln der quantifizierten A-Logik ist
entscheidbar.
Beweis:
Methode der Quantorenelimination: Finde zu Formel der
Q-A-Logik eine logisch äquivalente der A-Logik.
(Problemreduktion!)
(Pi0 ← W , Pi0 ← F )
(∀Pi0 )B ↔ BP 0 [W ] ∧ BP 0 [F ]
i
i
(∃Pi0 )B ↔ BP 0 [W ] ∨ BP 0 [F ]
i
i
I(
) = I(
)
◮
Nach Transformation bleibt eine Formel der A-Logik:
Entscheide, ob diese eine Tautologie ist.
Prof. Dr. Madlener: Logik
171
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Allgemeingültigkeit: Entscheidbare Fälle (Forts.)
Beispiel 3.14
∀P∃Q((P ↔ ¬Q) ∨ (p → Q))
ist Allgemeingültig
∃Q((W ↔ ¬Q) ∨ (p → Q)) ∧ ∃Q((F ↔ ¬Q) ∨ (p → Q))
[((W ↔ ¬W ) ∨ (p → W )) ∨ ((W ↔ ¬F ) ∨ (p → F ))]∧
[(F ↔ ¬W ) ∨ (p → W ) ∨ ((F ↔ ¬F )∨ (p → F ))]
W ∧W
W
Prof. Dr. Madlener: Logik
172
Grundlagen der Prädikatenlogik
Semantik der P-Logik 2-Stufe
Allgemeingültigkeit: Entscheidbare Fälle (Forts.)
Ausblick
Andere:
◮
Gleicheitslogik
◮
Monadische P-Logik 1-Stufe mit =
◮
Monadische P-Logik 2-Stufe mit =
◮
Pressburgerarithmetik: Gültige PL1-Formeln in (N, 0,′ , +, <)
◮
Syntaktisch eingeschränkte Formelnklassen
∀( ), ∀∃, ∃∀, . . . ?
Prof. Dr. Madlener: Logik
173
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Transformationen von Termen und Formeln
Einschränkung auf PL1
Definition 3.15 (Substitution)
A ∈ Form, t, t̂ ∈ Term, x Individuen-Variable.
◮ Substitution von x durch t in A bzw. (in t̂):
• Ax [t] (t̂x [t]) ist die Formel (der Term), die aus A (bzw. t̂)
entsteht, wenn man jedes freie Vorkommen von x in A (bzw.
t̂) durch t ersetzt.
◮ Analog simultane Substitutionen
• Ax1 ,...,xn [t1 , . . . , tn ] bzw. tx1 ,...,xn [t1′ , . . . , tn′ ]
Prof. Dr. Madlener: Logik
174
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Transformationen von Termen und Formeln (Forts.)
◮
Allgemeiner ist eine Substitution durch
σ : {xi : i ∈ N} → Term gegeben.
σ(A), σ(t) können entsprechend durch Induktion über den
Aufbau der Formeln bzw. Terme definiert werden.
◮ Die Substitution heißt erlaubt, falls kein Vorkommen einer
Variablen in t bzw. ti nach der Substitution in A gebunden
vorkommt.
• Dies ist der Fall z. B. wenn die Variablen von t nicht in A
vorkommen.
(Kann durch Umbenennung der gebundenen Variablen erreicht
werden).
Prof. Dr. Madlener: Logik
175
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Beispiel 3.16 (Substitutionen)
A ≡ ∃y x = 2 · y
◮
◮
Ax [t] ≡ ∃y
Ay [t] ≡ ∃y
t ≡y +1
y +1=2·y
x ≡2·y
keine erlaubte Substitution
da keine freie Vorkommen
◮
ty [t] ≡ (y + 1) + 1
◮
Wie Ändert sich die Bedeutung einer Formel bei
Substitutionen?
• I = (N, +, ·) x ← 3 y ← 2 t ← 3
I (x) = I (t)
◮ Ersetzt man x durch t, sollte sich die Bedeutung einer Formel
nicht verändern.
• I (A) = I (∃y x = 2 · y ) = 0
• I (Ax [t]) = I (∃y y + 1 = 2y ) = 1 (keine erlaubte Substitution)
Betrachte die Formel:
• B ≡ ∀x(P(x, y ) → Q(x)) t ≡ f (y , z)
֒→ By [t] ≡ ∀x(P(x, f (y , z)) → Q(x)) erlaubte Substitution.
Prof. Dr. Madlener: Logik
176
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Lemma 3.17 (Substitutionslemma)
Sei A Term oder Formel, x Individuenvariable, t ∈ Term und Ax [t]
eine erlaubte Substitution. Dann gilt für jede Interpretation
I = (D, Ic , Iv )
•
I (Ax [t]) = I x,I (t) (A)
◮
Insbesondere: Sind I , I ′ Interpretationen, die sich höchstens für
x unterscheiden und gilt I ′ (x) = I (t), so gilt I ′ (A) = I (Ax [t]).
• Beweis:
Induktion über Aufbau von Formeln bzw. Terme.
Prof. Dr. Madlener: Logik
177
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Folgerungen aus Substitutionslemma
Folgerung 3.18
Sei Ax [t] erlaubt.
a) Ist A allgemeingültig, so auch Ax [t].
b) ∀xA → Ax [t] ist allgemeingültig.
c) Spezialfälle: allgemeingültig sind:
∀xA → A,
A → ∃xA
d) Falls Substitution nicht erlaubt, so gilt das Lemma nicht:
A ≡ ∃y (S(x) = y ), Ax [y ] ≡ ∃y (S(y ) = y )
I = (N, · · · ) I (A) = 1 I (Ax [y ]) = 0
∀x∃y (S(x) = y ) allgemeingültig.
∀x∃y (S(x) = y ) → ∃y (S(y ) = y ) nicht allgemeingültig.
Prof. Dr. Madlener: Logik
178
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Universeller und Existentieller Abschluss
◮ Beachte: Sei A(x1 , . . . , xn ) Formel in der x1 , . . . , xn frei
vorkommen, dann gilt
•
•
•
∀x1 · · · ∀xn A allgemeingültig
(universeller Abschluss)
A erfüllbar gdw
∃x1 · · · ∃xn A erfüllbar
(existentieller Abschluss)
Sind A, A → B allgemeingültig, so ist auch B allgemeingültig.
A allgemeingültig gdw
Prof. Dr. Madlener: Logik
179
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Semantischer Folgerungsbefriff
Definition 3.19
Sei L eine (Teil-)Sprache der PL2
Γ ⊆ Form, A, B ∈ Form
a) A ist logische Folgerung aus Γ : Γ |= A. Wenn jede
Interpretation, die Γ erfüllt auch A erfüllt
(I (Γ) = 1
I (A) = 1).
◮
Sei Folg(Γ) = {A ∈ Form : Γ |= A}.
b) A und B sind logisch äquivalent A |==| B, falls
A |= B und B |= A.
(Lässt sich auf Mengen verallgemeinern!)
Prof. Dr. Madlener: Logik
180
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Bemerkung 3.20
1. Γ |= A gdw {Γ, ¬A} nicht erfüllbar.
2. ∅ |= A gdw |= A (d.h. A ist allgemeingültig).
3. Γ nicht erfüllbar gdw Γ |= A für alle A ∈ Form.
4. Γ ⊂ Σ, Γ |= A, so Σ |= A.
(Monotonieeigenschaft)
5. Γ |==| Σ, d. h. Γ |= B für B ∈ Σ und Σ |= C für C ∈ Γ.
Insbesondere Γ erfüllbar gdw Σ erfüllbar und
Γ |= A gdw Σ |= A.
Also Folg(Γ) = Folg(Σ).
6. A |==| B gdw |= A ↔ B gdw I (A) = I (B) für jede
Interpretation I .
A |==| B dann Γ |= A gdw Γ |= B.
Prof. Dr. Madlener: Logik
181
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Beispiel 3.21
i) ∀xQ(x) |= Q(x)
(Spezialfall von ∀xA → Ax [t] allgemeingültig erl. Subs.)
ii) A(y ) 6|= ∀yA(y ) (y kommt frei in A vor)
A(y ) ≡ p(y ), I = ({0, 1}, I (p)(x) ≡ (x = 0), y ← 0)
I (A(y )) = 1, jedoch I (∀yA(y )) = 0 I (p)(1) = 0
iii) |= ∃x(p(x) → ∀xp(x))
Sei I = (D, I (p)) eine Interpretation, d. h. I (p) ⊆ D
I (∃x(p(x) → ∀xp(x)) = 1 gdw es gibt d ∈ D, so dass
I ′ = (D, I (p), x ← d), I ′ (p(x) → ∀xp(x)) = 1
gdw d 6∈ I (p) oder I ′ (∀xp(x)) = 1 für ein d ∈ D
gdw es gibt ein d ∈ D mit d 6∈ I (p) oder I (p) = D
Prof. Dr. Madlener: Logik
182
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
iv) Beispiele für äquivalente Formeln
• ¬¬A |==| A
• W ∨ A |==| A ∨ W |==| W
F ∧ A |==| A ∧ F |==| F
A ∨ A |==| A
A ∧ A |==| A
• B ◦ QvA |==| Qv (B ◦ A)
Q Quantor, v nicht frei in B
• Z.B. B ∨ QvA |==| Qv (B ∨ A)
• ∀vA |==| ¬∃v (¬A), ∃vA |==| ¬∀v (¬A)
• ∀xA(x) → B |==| ∃y (A(y ) → B)
falls y weder in A(x) noch in B frei vorkommt
• ∀x(A → B) |= ∀xA → ∀xB
• ∀vA |==| ∀yAv [y ]
∃vA |==| ∃yAv [y ]
Falls Sub. erlaubt und y nicht frei in A
• Beachte: ∀vB |==| B
∃vB |==| B
Falls v nicht frei in B vorkommt.
Prof. Dr. Madlener: Logik
183
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Satz 3.22 (Wichtige Sätze)
Sei Γ ⊆ Form, A, B ∈ Form.
1. Deduktionstheorem
2. Modus-Ponens-Regel
3. Kontrapositionsregel
• Γ, A |= B gdw Γ |= A → B
• Γ |= A, Γ |= A → B so Γ |= B
• Γ, A |= ¬B gdw Γ, B |= ¬A
4. Generalisierungs-Theorem
Kommt v ∈ Var in keiner Formel von Γ frei vor, so
• Γ |= A gdw Γ |= ∀v A
Insbesondere: A |= ∀v A bzw. |= A → ∀v A,
falls v nicht frei in A vorkommt.
5. Ersetzungstheorem
Sei A′ ∈ Form, A Teilformel von A′ . Entsteht B ′ aus A′ indem
man einige Vorkommen der Teilformel A durch B ersetzt und
gilt A |==| B, so auch A′ |==| B ′ .
Prof. Dr. Madlener: Logik
184
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Beispiel 3.23 (Anwendung der Sätze)
a) |= ∃x∀yA → ∀y ∃xA
gdw ∃x∀yA |= ∀y ∃xA
Deduktionstheorem
| {z }
gdw ∃x∀yA |= ∃xA
Generalisierungstheorem
gdw ¬∀x¬∀yA |= ¬∀x¬A Ersetzungstheorem
gdw ∀x¬A |= ∀x¬∀yA
Kontrapositionsregel
gdw ∀x¬A |= ¬∀yA
Generalisierungstheorem
gdw {∀x¬A, ∀yA}
nicht erfüllbar
b) Variante des Ersetzungstheorems
A′ entstehe aus A durch Substitution (erlaubte) einiger
Vorkommen von x in A durch y . Dann gilt
|= ∀x∀y (x = y → (A ↔ A′ ))
(z. B. A ≡ f (x, y ) = g (x)
A′ ≡ f (y , y ) = g (x))
Prof. Dr. Madlener: Logik
185
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Normalformen
Definition 3.24 (Normalformen (Präfix Normalformen))
Eine Formel ist in PKNF (Pränex Konjunktiver NF), falls sie die
Gestalt
(∆v ) · · · (∆vn ) {[A11 ∨ · · · ∨ A1l1 ] ∧ · · · ∧ [Am1 ∨ · · · ∨ Amlm ]}
} |
| 1 {z
{z
}
Präfix
Matrix
∆ ∈ {∃, ∀}, vj Variablen, die in mindestens einem Akl vorkommen
und paarweise verschieden sind.
Akl Literale, d. h. atomare oder negierte atomare Formeln.
Beispiel 3.25
∀x∃Q∀y {[¬p ∨ x 6= a ∨ x = b] ∧ [Q(y ) ∨ y = b]}
Prof. Dr. Madlener: Logik
186
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Normalformen
Satz 3.26 (Verfahren PKNF)
Jede Formel A ∈ Form lässt sich effektiv in eine logisch
äquivalente Formel in PKNF (PDNF) transformieren.
(Beachte die Länge der Formel kann exponentiell in der Länge der
ursprünglichen Formel wachsen.
Dies kann man vermeiden, wenn man nur erfüllungsäquivalente
Formeln benötigt!).
Prof. Dr. Madlener: Logik
187
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Verfahren PKNF, PDNF
Schritte:
1. Eliminiere überflüssige Quantoren.
2. Umbenennung gebundener Variablen. (Vermeide freie und
gebundene Vorkommen einer Variablen)
3. Eliminiere logische Verknüpfungen und Operatoren.
→, ↔, If . . . , if . . .
4. NNF: Negation vor Atome.
5. Quantoren nach außen.
6. Matrix in KNF (DNF).
Prof. Dr. Madlener: Logik
188
Grundlagen der Prädikatenlogik
Transformationen von Termen und Formeln
Verfahren PKNF, PDNF - Beispiele
Beispiel 3.27
∀x[(∀yp(x) ∨ ∀zq(z, y )) → ¬∀yr (x, y )]
1. ∀x[(p(x) ∨ ∀zq(z, y )) → ¬∀yr (x, y )]
2. ∀x[(p(x) ∨ ∀zq(z, y )) → ¬∀y ′ r (x, y ′ )]
3. ∀x[¬(p(x) ∨ ∀zq(z, y )) ∨ ¬∀y ′ r (x, y ′ )]
4. ∀x[(¬p(x) ∧ ∃z¬q(z, y )) ∨ ∃y ′ ¬r (x, y ′ )]
5. ∀x∃z∃y ′[(¬p(x) ∧ ¬q(z, y )) ∨ ¬r (x, y ′ )]
6. ∀x∃z∃y ′[(¬p(x) ∨ ¬r (x, y ′ )) ∧ (¬q(z, y ) ∨ ¬r (x, y ′ ))]
(Ist PKNF)
7. PDNF ∀x∃z∃y ′ [(¬p(x) ∧ ¬q(z, y )) ∨ ¬r (x, y ′ )]
Prof. Dr. Madlener: Logik
189
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Unentscheidbarkeit der Allgemeingültigkeit
Satz 4.1
Es gibt eine Menge von Formeln in den Konstanten a (0-stellig),
f0 , f1 (1-stellig) und der Prädikatskonstanten p (2-stellig), für die
die Allgemeingültigkeit unentscheidbar ist.
•(In den Formeln kommt keine =“ vor).
”
Beweis:
Reduziere effektiv unentscheidbares Problem (z.B. PCP) auf die
Entscheidung der Allgemeingültigkeit bestimmter Formeln.
Prof. Dr. Madlener: Logik
190
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Unentscheidbarkeit der Allgemeingültigkeit (Forts.)
• PCP: Σ = {0, 1} S = {(α1 , β1 ), . . . , (αn , βn )} n ≥ 1
mit αi , βi ∈ Σ∗
S hat eine Lösung gdw es gibt j1 , . . . , jl ∈ [1 . . . n], l > 0 mit
αj1 αj2 · · · αjl ≡ βj1 βj2 · · · βjl
◮ z. B.
S = ((0, 000), (0100, 01), (001, 1)) hat die Lösung
j1 = 1, j2 = 3, 0001 ≡ 0001.
◮ Problem PCP: Eingabe S. Entscheide, ob S Lösung hat.
Ist nicht rekursiv entscheidbar (aber rekursiv aufzählbar).
֒→ Reduktion: Zu S berechne eine Formel AS mit
S hat Lösung gdw AS ist allgemeingültig.
Prof. Dr. Madlener: Logik
191
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Unentscheidbarkeit der Allgemeingültigkeit (Forts.)
Sprache PL1 mit:
◮ a F-Konstante, f0 , f1 1-st. F-Konstanten, p 2-stellige
P-Konstante.
◮ σi ∈ {0, 1} (1 ≤ i ≤ m) , so
fσm (· · · (fσ2 (fσ1 (x))) · · · ) Term, als Kodierung von Wörter:
fσ1 σ2 . . . σm (x). Beachte die Reihenfolge!, d.h. fw (x) ist Term
| {z }
∈Σ∗
für w ∈ Σ∗ .
◮ S = {(α1 , β1 ), (α2 , β2 ), · · · , (αn , βn )} n ≥ 1 Σ = {0, 1}
n
^
֒→ AS ≡ [ p(fαj (a), fβj (a))∧
j=1
∀x∀y [p(x, y ) →
Prof. Dr. Madlener: Logik
→ ∃zp(z, z)
n
^
p(fαj (x), fβj (y ))]]
j=1
192
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Beispielreduktion
Beispiel 4.2
◮
Die zugeordnete Formel AS zu
S = ((0, 000), (0100, 01), (001, 1)) ist:
f000 (a)) ∧ p(f0100 (a), f01 (a)) ∧ p(f001 (a), f1 (a)) ∧
[p(f0 (a),^
∀x∀y [
p(x, y ) → p(fαj (x), fβj (y ))]] → ∃zp(z, z)
1≤j≤3
◮ Behauptung:
S hat Lösung gdw AS allgemeingültig.
Prof. Dr. Madlener: Logik
193
Entscheidbarkeit in der Prädikatenlogik
Unentscheidbarkeit der Allgemeingültigkeit
Beweis der Behauptung
[
n
^
j=1
p(fαj (a), fβj (a)) ∧ ∀x∀y [p(x, y ) →
n
^
j=1
p(fαj (x), fβj (y ))]] → ∃zp(z, z)
x“: Angenommen AS allgemeingültig, I Interpretation mit
”
D = {0, 1}∗ , a ← ε, f0 : x → x0, f1 : x → x1
p(x, y ) gdw x ≡ αj1 · · · αjm , y ≡ βj1 . . . βjm für j1 , . . . , jm
(ji ∈ [1 . . . n] m > 0).
y“: Angenommen PCP S habe Lösung j1 . . . jm , d. h.
”
αj1 αj2 · · · αjm ≡ βj1 βj2 . . . βjm
p(fαj1 αj2 ···αjm (a), fβj1 βj2 ...βjm (a)) wahr,
also ist AS allgemeingültig.
! Es gibt weitere Unentscheidbarkeitsresultate die wir später
noch behandeln werden. Es sei jedoch erwähnt, dass die
Grenzen zwischen den entscheidbaren und unentscheidbaren
Fälle der Allgemeingültigkeit sehr genau bekannt sind.
(Siehe etwa Börger).
Prof. Dr. Madlener: Logik
194
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Hauptsätze der Prädikatenlogik erster Stufe
Sei L Sprache der PL1
Satz 4.3
a) Die Menge der allgemeingültigen Formeln
{A ∈ Form(L) : |= A} ist rekursiv aufzählbar
(i. Allg. nicht rekursiv entscheidbar).
Es gibt ein rekursives deduktives System F für L mit
⊢ A gdw |= A (A ∈ Form(L))
F
Prof. Dr. Madlener: Logik
195
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Hauptsätze der Prädikatenlogik erster Stufe (Forts.)
b) Kompaktheitssatz für PL1: Sei Σ ⊆ Form(L).
Σ erfüllbar gdw jede endliche Teilmenge von Σ ist erfüllbar.
c) Insbesondere: Σ ⊆ Form(L), A ∈ Form(L):
Σ |= A gdw es gibt Σ0 ⊆ Σ, Σ0 endlich : Σ0 |= A
Prof. Dr. Madlener: Logik
196
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Hauptsätze der Prädikatenlogik erster Stufe (Forts.)
d) Satz von Löwenheim-Skolem:
Σ ⊆ Form(L) erfüllbar gdw es gibt eine Interpretation
I = (D, Ic , Iv ), wobei D abzählbar oder endlich ist, die Σ
erfüllt.
( D kann als eine Termmenge über die konstanten Symbole
gewählt werden).
Beachte jedoch: nicht gültig für PL2
Prof. Dr. Madlener: Logik
197
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Negative Ergebnisse für die Prädikatenlogik zweiter Stufe
Satz 4.4 (von Gödel)
Für Sprachen von PL2- und PL2 Formeln:
a) Die Menge der allgemeingültigen Formeln 2-Stufe für
PL2-Sprachen ist nicht rekursiv aufzählbar.
b) Es gibt kein rekursives deduktives System“, dessen Theoreme
”
die Menge der allgemeingültigen Formeln zweiter Stufe sind.
c) Es gibt erfüllbare Mengen von Formeln 2-Stufe, die keine
abzählbaren Modelle haben.
Prof. Dr. Madlener: Logik
198
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Deduktive Systeme für PL1
Definition 4.5 (Deduktive Systeme für PL1)
Sei L Sprache 1-Stufe mit Formeln in ¬, →, ∀, =. F = (Ax, R)
bestimmt durch Axiomenmenge Ax (Axiomenschema) und Menge
R von Regeln (Regelschema).
◮ Ax enthält alle Generalisierungen von folgenden durch
Schemata beschriebenen Formelmengen:
Ax1: A → (B → A)
Ax2: (A → (B → C )) → ((A → B) → (A → C ))
Ax3: (¬B → ¬A) → (A → B)
falls Ax [t] erlaubt
Ax4: ∀x A → Ax [t],
Prof. Dr. Madlener: Logik
199
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Deduktive Systeme für PL1 (Forts.)
∀x (A → B) → (∀x A → ∀x B)
∀x(A → B) → (A → ∀xB) x nicht frei in A)
A → ∀x A, falls x nicht frei in A vorkommt
x =x
x = y → (A → A′ ), wobei A′ aus A durch Ersetzen
einiger freier Vorkommen von x durch y (erlaubt)
R enthält alle Regeln, die vom Regelschema Modus Ponens
A, A → B
Modus Ponens beschrieben werden.
MP
B
Ax5:
(Ax5’:
Ax6:
Ax7:
Ax8:
◮
Prof. Dr. Madlener: Logik
200
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Deduktive Systeme für PL1 (Forts.)
• Alternatives Deduktionssystem F ′ = (Ax, R′ )
R ′ enthält MP-Regel und Generalisierungsregel.
A
Generalisierung (ohne Einschränkungen)
GR
∀xA
! Beachte: Ax enthält nur allgemeingültige Formeln. MP und
GR-Regel führen nicht aus der Menge der allgemeingültigen
Formeln hinaus.
◮
Prof. Dr. Madlener: Logik
201
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Ziel
F
•
Σ⊢A
gdw Σ |= A
•
Σ⊢A
, so Σ ⊢′ A
•
⊢A
gdw |= A
•
gdw ⊢′ A
F
F
F
Σ ⊢′ A
F
Korrektheit
F
6
Σ⊢A
F
Korrektheit
Umkehrung i. Allg. nicht
(gilt nur für Σ Abg. Formeln).
z. B. p(x) ⊢′ ∀xp(x) aber p(x) 6|= ∀xp(x)
F
◮
Bemerkung: Alle Tautologien (taut. Theorem) sind herleitbar
in F, d. h. Theoreme von F.
Prof. Dr. Madlener: Logik
202
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beispiele
Beispiel 4.6
Verwende ∃y A als Abkürzung für ¬∀y ¬A
1. ⊢ ∀x (p(x) → ∃y p(y ))
F
B1 ≡
B2 ≡
B3 ≡
B4 ≡
B5 ≡
Prof. Dr. Madlener: Logik
∀x [(∀y ¬p(y ) → ¬p(x))
→ (p(x) → ¬∀y ¬p(y ))]
∀x ((∀y ¬p(y ) → ¬p(x)) →
(p(x) → ¬∀y ¬p(y ))) → [∀x (∀y ¬p(y )
→ ¬p(x)) → ∀x (p(x) → ¬∀y ¬p(y ))]
∀x (∀y ¬p(y ) → ¬p(x)) →
∀x (p(x) → ¬∀y ¬p(y ))
∀x (∀y ¬p(y ) → ¬p(x))
∀x (p(x) → ∃y p(y ))
(Ax3,Gen)
(Ax5)
(MP)
(Ax4,Gen)
(MP)
203
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beispiele (Forts.)
2. ⊢ ∀x A → ∃x A
F
Beweis:
⊢ ∀x ¬A → ¬A
⊢ (∀x ¬A → ¬A) → (A → ¬∀x ¬A)
⊢ A → ¬∀x ¬A
⊢ ∀x A → A
⊢ (∀x A → A) →
((A → ¬∀x ¬A) → (∀x A → ¬∀x ¬A))
⊢ (A → ¬∀x ¬A) → (∀x A → ¬∀x ¬A)
⊢ ∀x A → ∃x A
Prof. Dr. Madlener: Logik
(Ax4)
(Ax3)
(MP)
(Ax4)
(Taut)
(MP)
(MP)
204
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beispiele (Forts.)
3. ⊢ t = t
⊢ (x = y ) → (y = x)
⊢ ((x = y ) → ((y = z) → (x = z))
Folgen aus Ax, ∀x(x = x), (x = y ) → A(x) ↔ A(y )) für A
(erlaubt).
⊢ ((t1 = t1′ ) ∧ · · · ∧ (tn = tn′ )) → (A(t1 , . . . , tn ) ↔
A(t1′ , . . . , tn′ )), wobei A(x1 , . . . , xn ) eine Formel mit
mindestens n-freien Variablen und Substitutionen erlaubt
(xi ← ti bzw. xi ← ti′ ).
Spezialfall:
⊢ ((t1 = t1′ ) ∧ · · · ∧ (tn = tn′ )) → (f (t1 , . . . , tn ) = f (t1′ , . . . , tn′ ))
Prof. Dr. Madlener: Logik
205
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beweisidee
• ∀x[(x = y ) → (A(x) ↔ A(y ))]
• ∀x[(x = y ) → (A(x) ↔ A(y ))] → ((t = y ) → (A(t) ↔ A(y ))
• (t = y ) → (A(t) ↔ A(y ))
• ∀y (t = y ) → (A(t) ↔ A(y ))
• (t = t ′ ) → (A(t) ↔ A(t ′ ))
Prof. Dr. Madlener: Logik
206
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Deduktionstheorem - Generalisierungstheorem
Satz 4.7 (Hauptsätze für F und F ′ )
Seien Γ ⊆ Form, A, B ∈ Form.
a) Deduktionstheorem
1) Γ ⊢ A → B gdw Γ, A ⊢ B
F
F
2) Γ ⊢′ A → B gdw Γ, A ⊢′ B, falls die Generalisierung nicht auf
F
F
eine in A frei vorkommende Variable angewandt wurde.
3) Γ, A ⊢′ B gdw Γ ⊢′ Ã → B,
F
F
wobei à ein universeller Abschluss von A ist.
b) Generalisierungstheorem:
1) Falls Γ ⊢ A und x nicht frei in Γ vorkommt, so Γ ⊢ ∀x A
F
F
2) Γ ⊢′ A gdw Γ ⊢′ ∀x A
F
F
c) Kontrapositionstheorem: Für F und F ′
◮
Γ, A ⊢ ¬B gdw Γ, B ⊢ ¬A
Prof. Dr. Madlener: Logik
207
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Deduktionstheorem - Generalisierungstheorem (Forts.)
֒→ Es gelten somit für die hier vorgestellten prädikatenlogischen
Systeme die für das deduktive System der Aussagenlogik
entsprechenden Sätze. Vorsicht muss man beim System F ′
mit dem Deduktionstheorem haben, da wir dafür eine
allgemeinere Generalisierungsregel zugelassen haben die
semantisch nicht immer korrekt ist.
◮
Hinzu kommt das Generalisierungstheorem in den zwei
Varianten.
Prof. Dr. Madlener: Logik
208
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beweis Deduktionstheorem
1. y“ Aus Γ ⊢ A → B folgt auch Γ, A ⊢ A → B. Da auch
”
Γ, A ⊢ A gilt, folgt Γ, A ⊢ B, wegen MP (F und F ′ ).
x“ Ang. Γ, A ⊢ B. Behauptung: Γ ⊢ A → B
”
F
F
• Induktion über Beweislänge: Axiom oder Hypothese
Γ⊢B
(Ax)
Γ ⊢ B → (A → B) (Ax)
Γ⊢A→B
(MP)
◮ Schritt ist MP-Schritt
Schritt j : Γ, A ⊢ C
IV:Γ ⊢ A → C
..
..
.
.
Schritt k : Γ, A ⊢ C → B
..
..
.
.
Schritt n + 1 : Γ, A ⊢ B
Prof. Dr. Madlener: Logik
IV : Γ ⊢ A → (C → B)
Ax2+MP
Γ⊢A→B
209
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Beweis Deduktionstheorem in F ′
2. In F ′ x“ Generalisierungsregel
”
Γ, A ⊢ C
..
.
Γ, A ⊢ ∀xC
x nicht frei in A
Dann IV:
Γ⊢A→C
Γ ⊢ ∀x(A → C )
(Gen)
Γ ⊢ ∀x(A → C ) → (A → ∀xC ) (Ax5)
x nicht frei in A
Γ ⊢ A → ∀xC
Definition 4.8
Sei Γ ⊆ Form, Γ heißt konsistent, falls es kein A ∈ Form gibt, mit
Γ ⊢ A und Γ ⊢ ¬A.
F
Prof. Dr. Madlener: Logik
F
210
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Konsistenz im deduktiven System
Bemerkung 4.9
◮
Γ ist konsistent gdw jede endliche Teilmenge von Γ ist
konsistent.
◮
Ist Γ inkonsistent, dann gilt Γ ⊢ A für jede Formel A.
◮
Γ ∪ {¬A} inkonsistent gdw Γ ⊢ A.
F
◮
◮
Γ ∪ {A} inkonsistent gdw Γ ⊢ ¬A.
Ist Γ inkonsistent, so ist Γ nicht erfüllbar: Sei nämlich A mit
Γ ⊢ A und Γ ⊢ ¬A. I Interpretation, die Γ erfüllt (wegen
Γ |= A und Γ |= ¬A) folgt aber I erfüllt {A, ¬A}
◮
Die Menge der allgemeingültigen Formeln ist konsistent.
◮
Die Menge der Theoreme von F (F ′ ) ist konsistent.
Prof. Dr. Madlener: Logik
211
Entscheidbarkeit in der Prädikatenlogik
Hauptsätze der Prädikatenlogik erster Stufe
Vollständigkeit der Axiomatisierung
Satz 4.10 (Gödel)
Vollständigkeit der Axiomatisierung
Seien A ∈ Form, Σ ⊆ Form, dann gilt:
a) |= A gdw ⊢ A gdw
F
⊢ A.
F′
b) Σ konsistent gdw Σ erfüllbar.
c) Σ ⊢ A gdw Σ |= A.
F
Beweis:
Siehe Yashuhara oder Enderton.
Prof. Dr. Madlener: Logik
212
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Theorien erster Stufe
Definition 4.11
Sei L eine Sprache erster Stufe (fixiert durch die Funktions- und
-Prädikatskonstanten). Γ ⊆ Formabg (L) heißt logische Theorie
erster Stufe, falls Γ abgeschlossen ist gegenüber logischer
Folgerung, d. h. A ∈ Formabg Γ |= A, so A ∈ Γ.
◮ Beachte: Alternative Definitionen in Literatur:
• Γ Theorie, falls Γ abgeschlossen gegen MP und Generalisierung.
• Γ Menge Formeln, abgeschlossen gegen logische Folgerung.
◮ T als generische Bezeichnung für Theorien.
Prof. Dr. Madlener: Logik
213
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Theorien erster Stufe (Forts.)
Bemerkung 4.12
Sei L Sprache 1-Stufe.
a) TL = {A | A ∈ Formabg (L), allgemeingültig} ist Theorie. Sie
ist in jeder Theorie über L enthalten.
b) TΣ = {A | A ∈ Formabg (L), Σ |= A} für Σ ⊆ Formabg (L)
ist eine Theorie, die von Σ erzeugte Theorie oder durch die
Axiome Σ definierte Theorie.
c) Ist T eine Theorie, A ∈ Formabg , so T ⊢ A gdw A ∈ T .
F
T inkonsistent gdw es gibt A mit T ⊢ A, ¬A, d. h. T ⊢ A für
F
alle A ∈ Formabg und T = Formabg .
Prof. Dr. Madlener: Logik
F
214
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Theorien erster Stufe (Forts.)
d) Sei R Relationalsystem (Struktur) für L I = (D, Ic ). Dann ist
TR = {A | A ∈ Formabg (L), R |= A} eine Theorie:
Die Theorie von R Schreibe auch: Th(R).
◮ (TR |= A zeige R |= A klar, da R |= TR )
֒→ Insbesondere:
•TR ist konsistent für jede Struktur R.
e) T ⊆ Formabg (L) ist Theorie gdw
{A | A ∈ Formabg (L), |= A} ⊆ T und T ist abgeschlossen
gegenüber MP.
Prof. Dr. Madlener: Logik
215
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Theorien erster Stufe (Forts.)
Definition 4.13
Sei T eine Theorie erster Stufe über L
a) T heißt vollständig, falls für jede abgeschlossene Formel A
gilt: A ∈ T oder ¬A ∈ T .
b) T heißt (endlich) rekursiv axiomatisierbar, falls es eine
(endliche) rekursive Teilmenge Σ ⊆ Formabg gibt mit
TΣ = {A ∈ Formabg (L) | Σ |= A} = T .
c) T heißt entscheidbar, falls T eine rekursiv entscheidbare
Teilmenge von Form ist.
Fragen: Finde (endliche) Axiomatisierungen wichtiger Theorien.
Insbesondere wann gilt TR = TΣ für Σ rekursiv.
Prof. Dr. Madlener: Logik
216
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Folgerungen
Bemerkung 4.14
a) TR ist vollständig für jede Struktur R.
TR ist somit konsistent und vollständig.
b) T erfüllbar (T hat ein Modell) gdw T konsistent.
c) T ist rekursiv axiomatisierbar, so T rekursiv aufzählbar.
d) Ist T vollständig, konsistent und rekursiv axiomatisierbar.
Dann ist T rekursiv entscheidbar.
•A abgeschlossen, so A oder ¬A in T .
Da T rekursiv aufzählbar, findet man A oder ¬A in dieser
Aufzählung effektiv.
Prof. Dr. Madlener: Logik
217
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Folgerungen (Forts.)
e) Ist T vollständig und konsistent, dann gilt T = TR für eine
Struktur R.
•R |= T existiert, da T erfüllbar, d. h. T ⊆ TR .
Angenommen T ( TR . Dann gibt es abgeschlossene Formel
A ∈ TR mit A 6∈ T . Da T vollständig ist, muss ¬A ∈ T
gelten, d. h. A, ¬A ∈ ΓR
Frage: Wann ist TΣ vollständig für rekursive Σ?
Entscheidbarkeit!
Prof. Dr. Madlener: Logik
218
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele
Beispiel 4.15
Th(N) Theorie der natürlichen Zahlen.
R = hN; 0, S, +, ∗, =i natürliche Interpretation der Sprache der
Arithmetik Konst. 0, S, +, ∗ Funktionskonstante n ∈ N,
ñ ≡ S(S · · · (S(0) · · · ) Schreibe auch: (S n 0).
Die Sätze von Gödel:
a) Th(N) ist nicht rekursiv entscheidbar.
b) Th(N) ist nicht rekursiv axiomatisierbar.
Oder
c) jede rekursive Axiomenmenge ist nicht vollständig für Th(N).
Prof. Dr. Madlener: Logik
219
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
֒→ Insbesondere: Peano Axiome
P1
P2
P3
P4
P5
P6
P7
∀x∀y (S(x) = S(y ) → x = y )
∀x S(x) 6= 0
∀x x + 0 = x
∀x∀y x + S(y ) = S(x + y )
∀x x ∗ 0 = 0
∀x∀y x ∗ S(y ) = x ∗ y + x
Ax [0] → (∀x (A → Ax [S(x)]) → ∀x A),
(A Formel mit x als einzige frei vorkommende Variable in A)
Sind keine Axiomatisierung von Th(N).
Prof. Dr. Madlener: Logik
220
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
Beispiel 4.16 (Elementare Arithmetik (Arith. 1-Stufe))
Basis der Sprache: ({0, 1, +, ∗}, {<}) Interpretation: IA = (N, Ic )
natürliche Interpretation Ic
֒→ Th(IA ) vollständig nicht rekursiv axiomatisierbar.
Prof. Dr. Madlener: Logik
221
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
Beispiel 4.17
Pressburger Arithmetik: Sprache ({0, 1, +}, {<})
Interpretation IPA = (N, Ic ), Ic wie gehabt.
◮
Th(IPA ) ist vollständig, entscheidbar und endlich
axiomatisierbar.


∀x¬(x < 0)
Ax < ∀x∀y x < Sy ↔ x < y ∨ x = y


∀x∀y x < y ∨ x = y ∨ y < x
Prof. Dr. Madlener: Logik
222
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
Beispiel 4.18
R reelle Zahlen, Sprache ({0, 1, +, ∗, · · · }, {<})
Sprache der Körpertheorie.
Th(R) ist rekursiv entscheidbar (Quantorenelimination).
Th(R) ist rekursiv axiomatisierbar.
Prof. Dr. Madlener: Logik
223
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
Axiomatisierung:
◮ Axiome für Körper
◮ Nullstellen für Polynome mit ungeradem Grad +
Ordnungsaxiome:
∀x ¬(x < x)
∀x∀y ∀z((x < y ∧ y < z) → x < z)
∀x∀y x < y ∨ y = x ∨ y < x
∀x∀y ∀z x < y → x + z < y + z
∀x∀y 0 < x ∧ 0 < y → 0 < x ∗ y
∀x 0 < x → ∃y (y ∗ y = x)
Prof. Dr. Madlener: Logik
224
Entscheidbarkeit in der Prädikatenlogik
Theorien erster Stufe
Beispiele (Forts.)
Reell abgeschlossene Körper
R ist Beispiel“ dafür, Tarski
”
֒→ Wichtige Folgerungen: Entscheidbarkeit der Ebenen
euklidische Geometrie!
Beispiel 4.19
Theorie der Ordnung mit Gleichheit (<, =) ist weiteres Beispiel
einer entscheidbaren Theorie.
Prof. Dr. Madlener: Logik
225
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Aufzählungsverfahren für PL-1
◮ Σ rekursiv, Σ ⊆ Form, TΣ = {A | Σ |= A} r.a.
◮ R Struktur, TR = {A | R |= A} i. Allg. nicht r.a. (vollst.)
1. Deduktive Beweismethoden (TΣ )
2. Induktive Beweismethoden (TR )
! Hier nur 1. Grundlage: Σ |= A gdw {Σ, ¬A} nicht erfüllbar.
Prof. Dr. Madlener: Logik
226
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1
Definition 5.1
Sprache: ¬, ∧, ∨, →, ∀, ∃ (zunächst ohne =)
Formeln der Sprache in Klassen einteilen:
◮
Atomare und negierte atomare Formeln.
◮
α-Formeln (wie in A-Logik)
A ∧ B, ¬(A ∨ B), ¬(A → B), ¬¬A, α1 , α2 wie gehabt.
◮
β-Formeln (wie A-Logik)
◮
γ-Formeln
◮
δ-Formeln
Prof. Dr. Madlener: Logik
¬(A ∧ B), (A ∨ B), (A → B)
∀xA, ¬∃xA (A ∈ Form)
∃xA, ¬∀xA (A ∈ Form)
227
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1 (Forts.)
◮ Regeln zur Tableau-Konstruktion:
α, β Regeln zur Verarbeitung α, β Formeln.
• γ-Regeln:
γ
∀x A ¬∃x A
γ[t] Ax [t] ¬Ax [t]
t beliebiger Term, Substitution erlaubt.
• δ-Regeln:
δ
∃x A ¬∀x A
δ[y ] Ax [y ] ¬Ax [y ]
! y Variable (oder c Konstante 0-stellig) y neu“:
”
y kommt noch nicht in Formeln im Ast zu Ax [y ] frei vor und
die Substitution ist erlaubt.
Prof. Dr. Madlener: Logik
228
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1 (Forts.)
◮ Systematische Konstruktion eines Modells:
Falls die Sprache keine F -Symbole enthält reichen die
Bezeichner“ für Elemente des Definitionsbereichs aus.
”
Sonst wähle als Definitionsbereich für die Interpretation eine
geeignete abgeschlossene Termmenge.
• Führe soviele Terme“ ein wie notwendig.
”
Existentielle Formeln benötigen Lösungen“, solche dürfen
”
nicht eingeschränkt sein (anderswie verwendet worden sein).
◮ δ-Formeln brauchen nur einmal erfüllt“ zu werden.
”
γ-Formeln hingegen müssen für alle Objekte die eingeführt
wurden garantiert werden, müssen somit immer weiterhin
beachtet werden.
Prof. Dr. Madlener: Logik
229
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1 (Forts.)
Lemma 5.2
Sei Γ eine Menge von Formeln über einer abgeschlossenen
Termmenge (Universum) U mit
1. Für keine Formel A gilt A ∈ Γ und ¬A ∈ Γ.
2. Für jede α-Formel in Γ gilt α1 , α2 ∈ Γ.
3. Für jede β-Formel in Γ gilt β1 ∈ Γ oder β2 ∈ Γ.
4. Für jede γ-Formel in Γ gilt γ[t] ∈ Γ für alle t ∈ U.
5. Für jede δ-Formel in Γ gibt es ein t ∈ U mit δ[t] ∈ Γ.
֒→ Dann ist Γ erfüllbar.
Prof. Dr. Madlener: Logik
230
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1 (Forts.)
! Problem: U kann unendlich sein. Erst recht wenn F -Symbole
vorhanden!
◮ Sprachen mit =“ dann Funktionskonstanten und Terme.
”
• ǫ-Regel
t1 = t2
A[t1 ← t2 ]
֒→ In einer Formel A kann ein Term t1 durch einen gleichen“
”
Term t2 ersetzt werden, wenn im Ast zu A der Knoten mit der
Markierung t1 = t2 vorkommt. ∀x x = x als Wurzel der =
Tableaux zulassen. ◭
◮ Problematische Regel, da sie zu einer Formelexplosion führt.
Prof. Dr. Madlener: Logik
231
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Tableaux-Methode für Pl-1 (Forts.)
Satz 5.3
Sei A ∈ Form(L), Σ ⊆ Form(L)
a) |= A gdw es gibt ein abgeschlossenes Tableau für ¬A.
b) Σ |= A gdw es gibt ein abgeschlossenes Tableau für Σ ∪ {¬A}.
◮ Systematische Tableaux-Konstruktion:
Σ,
α, δ, γ, β
Reihenfolge der Regelanwendungen:
t Ax [t] muss erlaubt sein.
y neu bei δ-Regel beachten (frei).
◮ Falls keine Funktionskonstanten in L Interpretation mit
{c1 , c2 , . . . } als Konstanten.
!
Beachte:
Prof. Dr. Madlener: Logik
232
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiele
Beispiel 5.4 (|= (∀xA → B) → ∃x(A → B), x nicht frei in B)
¬((∀x A → B) → ∃x (A → B))
∀x A → B
¬∃x (A → B)
¬∀x A
B
¬Ax [a]
¬(A → B)x [a]
¬(A → B)x [a]
Ax [a]
Ax [a]
¬B
¬B
Prof. Dr. Madlener: Logik
233
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiel 5.5 (Γ = {∀xA ∨ ∀xB}, C ≡ ∀x(A ∨ B). Gilt Γ |= C ?)
∀x A ∨ ∀x B
¬∀x (A ∨ B)
¬(Ax [a] ∨ Bx [a])
¬Ax [a]
¬Bx [a]
∀x A
∀x B
Ax [a]
Bx [a]
! γ-Formeln dürfen nicht abgehakt werden, da man immer
wieder neue Terme einführen kann und γ[t] erfüllt werden
muss!
Prof. Dr. Madlener: Logik
234
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiele (Forts.)
Beispiel 5.6 (∃x ¬p(x, x) |= ¬∀x∃yp(x, y ))
Gibt es Modelle für {∃x ¬p(x, x), ∀x∃y p(x, y )}
∃x ¬p(x, x)
∀x∃y p(x, y)
¬p(a, a)
∃y p(a, y)
p(a, b)
∃y p(b, y)
p(b, c)
Prof. Dr. Madlener: Logik
235
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
֒→ Interpretation:
p(x, y ) a b c d e · · ·
a
0 1
1
b
1
c
d
1
1
e
..
.
◮ Es gibt Interpretation mit nur 2 Elementen
¬p(a, a), p(a, b), p(b, a), p(b, b), die Modell sind.
֒→ Vorschrift neu“ kann aufgeweicht werden.
”
! Erst alle Konstanten verwenden, falls diese Wahl zu führt
müssen neue Konstanten einführt werden, sonst Modell
gefunden.
Prof. Dr. Madlener: Logik
236
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiele (Forts.)
∃x ¬p(x, x)
∀x∃y p(x, y)
¬p(a, a)
∃y p(a, y)
p(a, b)
∃y p(b, y)
p(b, a)
Interpretation z.B.:
a b
a 0 1
b 1 ∗
Prof. Dr. Madlener: Logik
237
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiel 5.7 (Gilt |= ∀x(p(x) ∨ q(x)) → (∀xp(x) ∨ ∀xq(x)) ?)
¬(∀x (p(x) ∨ q(x)) → (∀x p(x) ∨ ∀x q(x)))
∀x (p(x) ∨ q(x))
¬(∀x p(x) ∨ ∀x q(x))
¬∀x p(x)
¬∀x q(x)
¬p(a)
¬q(b)
p(a) ∨ q(a)
p(b) ∨ q(b)
q(a)
p(a)
p(b)
I = ({a, b} :
Prof. Dr. Madlener: Logik
q(b)
I (p)(a) = I (q)(b) = F ,
I (p)(b) = I (q)(a) = W )
238
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiel 5.8
∀x∃y p(x, y ), ∀x ¬p(x, x) |= ∃x∃y ∃z (p(x, y ) ∧ p(y , z) ∧ ¬p(x, z))
∀x∃y p(x, y)
∀x ¬p(x, x)
¬∃x∃y∃z (p(x, y) ∧ p(y, z) ∧ ¬p(x, z))
¬p(c1 , c1 )
∃y p(c1 , y)
p(c1 , c2 )
¬p(c2 , c2 )
∃y p(c2 , y)
¬(p(c1 , c2 ) ∧ p(c2 , c1 ) ∧ ¬p(c1 , c1 ))
¬p(c1 , c2 )
¬p(c2 , c1 )
p(c1 , c1 )
p(c2 , c3 )
Prof. Dr. Madlener: Logik
239
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiele (Forts.)
Interpretation:
p(c1 , c1 ) = F p(c1 , c2 ) = W
p(c2 , c1 ) = F p(c2 , c3 ) = W
c1
c2
c3
c4
..
.
Prof. Dr. Madlener: Logik
p(c2 , c2 ) = F
p(c3 , c3 ) = F . . .
c1 c2 c3 c4 c5
0 1
0 0 1
0 1
0 1
240
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiele Formeln mit = : Monoide und Gruppen
Beispiel 5.9
{∀x∀y ∀z (x · y ) · z = x · (y · z)
∀x x · 1 = x
∀x x · x̄ = 1}
Gruppenaxiome
Behauptung: Es gilt: Aus Gruppenaxiome
|= ∀x 1 · x = x
und
|= ∀x x̄ · x = 1
Prof. Dr. Madlener: Logik
241
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
∀x x = x
Axiome
¬∀x 1 ◦ x = x
¬∀x x ◦ x = 1
¬b ◦ b = 1
b◦b=1
(b ◦ b) ◦ 1 = b ◦ b)
b◦b=1
(b ◦ b) ◦ (b ◦ b) = b ◦ b
(b ◦ b) ◦ (b ◦ b) = ((b ◦ b) ◦ b) ◦ b
(b ◦ b) ◦ b = b ◦ (b ◦ b)
(b ◦ b) ◦ b = b ◦ 1
b◦1=b
b ◦ (b ◦ b) = b
(b ◦ b) ◦ b = b
(b ◦ b) ◦ (b ◦ b) = b ◦ b
(b ◦ b) ◦ (b ◦ b) = 1
b◦b=1
Prof. Dr. Madlener: Logik
242
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Entscheidbare Fälle (Präfixe) Allgemeingültigkeit
L Sprache ohne Funktionskonstanten
abgeschlossene Formeln
1. ∀x1 · · · ∀xm A
2. ∀x1 · · · ∀xm ∃y1 · · · ∃ym A
A quantorenfrei
A quantorenfrei
3. ∀x1 · · · ∀xm ∃y ∀z1 · · · ∀zn A
4. ∀x1 · · · ∀xm ∃y1 ∃y2 ∀z1 · · · ∀zn A
5. ∃y1 · · · ∃yn ∀x1 · · · ∀xm ∃zA
6. ∀x1 · · · ∀xm ∃y1 ∃y2 ∃y3 ∀z1 · · · ∀zn A
Prof. Dr. Madlener: Logik
n, m ≥ 1 n. entsch.
m, n ≥ 0 n. entsch.
243
Algorithmen der Prädikatenlogik
Aufzählungsverfahren für PL-1
Beispiel 5.10 (Typ 3. Formel)
¬∀x1 ∀x2 ∃y∀z A
¬∀x2 ∃y∀z Ax1 [a]
¬∃y∀z Ax1 ,x2 [a, b]
¬∀z Ax1 ,x2 ,y [a, b, a]
¬∀z Ax1 ,x2 ,y [a, b, b]
Ax1 ,x2 ,y,z [a, b, a, a1 ]
Ax1 ,x2 ,y,z [a, b, b, a2 ]
Prof. Dr. Madlener: Logik
244
Algorithmen der Prädikatenlogik
Resolventenmethode
Resolventenmethode (PL1 - Resolutionsverfahren)
◮ Formeln in Klauselnormalform auf Erfüllbarkeit testen.
Definition 5.11
Eine Formel A ∈ Form(L) ist in Klauselform (KLF), wenn sie die
Gestalt
A ≡ ∀x1 ∀x2 · · · ∀xn [C1 ∧ C2 ∧ · · · ∧ Ck ]
hat. Dabei sind die Cj Klauseln (d. h. Disjunktionen von Literalen
ohne Wiederholungen) und die Variablen x1 , . . . , xn sind alle
Variablen, die in den Cj vorkommen.
◮ ∀x1 , . . . , ∀xn Präfix
[C1 ∧ · · · ∧ Ck ] Mantisse (Matrix).
֒→ PKNF und Präfix enthält kein ∃ Quantor.
Prof. Dr. Madlener: Logik
245
Algorithmen der Prädikatenlogik
Resolventenmethode
! Beachte: In Literalen kommen nun Variablen vor.
L und M sind konjugierte (komplementäre) Literale, wenn
L = M̄
(A Atom, ¬A ≡ Ā, Ā ≡ A).
◮ p(x), ¬p(y ) sind nicht konjugiert oder komplementär.
Nach Substitution z. B. x ← a, y ← a, p(a), ¬p(a) sind
konjugiert. Aber auch x ← x, y ← x, p(x), ¬p(x).
◮ Ziel: Resolventenmethode verallgemeinern auf Formeln mit
Variablen und Funktionen (d.h. Terme).
Prof. Dr. Madlener: Logik
246
Algorithmen der Prädikatenlogik
Resolventenmethode
Skolemisierung
Lemma 5.12 (Skolem)
Jede Formel A der P-Logik erster Stufe kann effektiv in eine
erfüllbarkeitsäquivalente Formel A′ in Klauselform transformiert
werden.
◮ A ist erfüllbar gdw A′ ist erfüllbar.
◮ Anwendung: Nachweis der Allgemeingültigkeit
|= B gdw {¬B} unerfüllbar gdw (¬B)′ unerfülllbar.
Prof. Dr. Madlener: Logik
247
Algorithmen der Prädikatenlogik
Resolventenmethode
Skolemisierung: Verfahren
Beweis:
A gegeben. Transformiere A wie folgt:
Schritt
Schritt
Schritt
Schritt
1:
2:
3:
4:
Schritt 5:
Prof. Dr. Madlener: Logik
Bilde den existentiellen Abschluss von A.
Eliminiere alle überflüssigen Quantoren.
Umbenennung mehrfach quantifizierter Variablen.
Ersetze Operatoren, die von ∧, ∨, ¬
verschieden sind. z. B. →, If . . . , ↔ . . .
Schiebe ¬ nach innen, bis sie vor den Atomen stehen.
Insbesondere ¬¬A durch A ersetzen.
¬∀xA
∃x¬A, ¬(A ∨ B)
(¬A ∧ ¬B)
¬(A ∧ B)
(¬A ∨ ¬B)
248
Algorithmen der Prädikatenlogik
Resolventenmethode
Skolemisierung: Verfahren (Fort.)
Schritt 6:
Schritt 7:
Schritt 8:
Schritt 9:
Prof. Dr. Madlener: Logik
Schränke Quantoren auf ihren Wirkungsbereich ein:
Qx(A ∗ B)
A ∗ QxB x nicht frei in A
QxA ∗ B x nicht frei in B
Eliminiere existentielle Quantoren durch Einführung
von Skolem Funktionen. Wähle dabei die erste Teilformel
(von links) der Form ∃yB(y ) und ersetze sie durch
By [f (x1 , . . . , xn )], n ≥ 0, wobei
a) x1 . . . xn alle unterschiedlichen freien Variablen in
∃yB(y ) sind, die links von ∃yB(y )
universell quantifiziert sind.
b) f eine frische“ n-stellige Funktionskonstante.
”
Schiebe ∀ Quantoren nach links.
Bringe Matrix in KNF und simplifiziere.
249
Algorithmen der Prädikatenlogik
Resolventenmethode
Skolemisierung
◮
◮
Korrektheit Aj ≡ · · · ∃yB(y )
Aj+1 ≡ · · · By [f (x1 , . . . , xn )]
Behauptung: Aj ist erfüllbar gdw Aj+1 ist erfüllbar.
Sei I Modell für Aj : Für jede mögliche Belegung der Variablen
x1 , . . . , xn muss es ein oder mehrere Werte für y geben, mit
denen Aj wahr wird.
I ′ wie I zusätzlich eine n-stellige Funktionskonstante
f : f (x1 , . . . , xn ) gibt für Wertetupel für x1 . . . xn ein (den) y
Wert als Funktionsergebnis.
Prof. Dr. Madlener: Logik
250
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiele
Beispiel 5.13
∀x {p(x) → ∃z {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀y [q(x, y ) → p(x)]}}
1. Existentieller Abschluss und Elimination von überf. Quantoren:
∃x1 ∀x {p(x) → {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀y [q(x, y )
→ p(x)]}}
2. Umbenennung von y :
∃x1 ∀x {p(x) → {¬∀y [q(x, y ) → p(f (x1 ))] ∧ ∀z [q(x, z)
→ p(x)]}}
3. Elimination von →:
∃x1 ∀x {¬p(x) ∨ {¬∀y [¬q(x, y ) ∨ p(f (x1 ))] ∧ ∀z [¬q(x, z)
∨p(x)]}}
Prof. Dr. Madlener: Logik
251
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiele (Forts.)
4. ¬ nach innen:
∃x1 ∀x {¬p(x) ∨ {∃y [q(x, y ) ∧ ¬p(f (x1 ))] ∧ ∀z [¬q(x, z)
∨p(x)]}}
5. Quantoren auf Geltungsbereich einschränken:
∃x1 ∀x {¬p(x) ∨ {[∃y q(x, y ) ∧ ¬p(f (x1 ))] ∧ [∀z ¬q(x, z)
∨p(x)]}}
6. Eliminieren der Ex.-Quantoren ∃x1 und ∃y (0 - stellige bzw.
1-stellige Funktionseinführung):
∀x {¬p(x) ∨ {[q(x, g (x)) ∧ ¬p(f (a))] ∧ [∀z ¬q(x, z) ∨ p(x)]}}
Prof. Dr. Madlener: Logik
252
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiele (Forts.)
7. Quantoren nach links:
∀x∀z {¬p(x) ∨ {[q(x, g (x)) ∧ ¬p(f (a))] ∧ [¬q(x, z) ∨ p(x)]}}
8. KNF + Simplifikation:
∀x∀z {[¬p(x) ∨ q(x, g (x))] ∧ [¬p(x) ∨ ¬p(f (a))] ∧ [¬p(x)
∨¬q(x, z) ∨ p(x)]}
A′ ≡ ∀x {[¬p(x) ∨ q(x, g (x))] ∧ ¬p(f (a))}
◮
A′ ≡ ∀x[[¬p(x) ∨ q(x, g (x))] ∧ [¬p(f (a))]] Erfüllbar?
Prof. Dr. Madlener: Logik
253
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiele (Forts.) - Tableaux:
∀x {[¬p(x) ∨ q(x, g(x))] ∧ [¬p(f (a))]}
[¬p(a) ∨ q(a, g(a))] ∧ ¬p(f (a))
¬p(a) ∨ q(a, g(a))
¬p(f (a))
¬p(a)
[¬p(f (a)) ∨ q(f (a), g(f (a)))] ∧¬p(f (a))
¬p(f (a)) ∨ q(f (a), g(f (a)))
¬p(f (a))
¬p(f (a))
Prof. Dr. Madlener: Logik
q(a, g(a))
[¬p(f (a)) ∨ q(f (a), g(f (a)))] ∧¬p(f (a))
¬p(f (a)) ∨ q(f (a), g(f (a)))
¬p(f (a))
q(f (a), g(f (a)))
254
Algorithmen der Prädikatenlogik
Resolventenmethode
Terme: a, f (a), g (a), g (f (a)), g (g (a)), g (g (f (a))), g (g (g (a))).
T = {a, g n (a), g n (f (a)) n ≥ 0} Definitionsbereich
◮ Erfüllbar:
I = ({a}, f (a) := a, g (a) := a, p(a) = 0, q(a, a) = 1)
! Bei nicht Erfüllbarkeit: im endlich abgeschlossenen Tableau
kommen nur endlich viele Grundterme (Terme ohne Variablen)
vor, d. h. eine endliche Menge von Grundinstanzen der Matrix
ist unerfüllbar.
Herbrand-Interpretationen.
Prof. Dr. Madlener: Logik
255
Algorithmen der Prädikatenlogik
Resolventenmethode
Herbrand-Universum
Definition 5.14 (Herbrand-Universum)
Sei A ∈ Form. Das Herbrand-Universum HA ist die Menge aller
Terme, die aus den Individuenkonstanten (0-stellige
Funktionskonstanten) und den Funktionskonstanten, die A
vorkommen, gebildet werden können.
Enthält A keine Individuenkonstante, so wird eine hinzugenommen.
Prof. Dr. Madlener: Logik
256
Algorithmen der Prädikatenlogik
Resolventenmethode
Herbrand-Universum (Forts.)
Beispiel 5.15
•
A ≡ ∀x{[¬p(x) ∨ q(x, g (x))] ∧ ¬p(f (a))}
֒→ HA = {a, f (a), g (a), f (f (a)), f (g (a)), g (g (a)), g (f (a)), · · · }
Die Menge der Grundterme in a, f 1-stellig, g 1-stellig.
•
B ≡ ∀x∃y [p(f (x), y , g (x, y ))]
֒→ HB ≡ {a, f (a), g (a, a), f (g (a, a)), g (a, f (a)), . . . }
Prof. Dr. Madlener: Logik
257
Algorithmen der Prädikatenlogik
Resolventenmethode
Das Herbrand-Universum (Forts.)
Definition 5.16 (Herbrand-Interpretation)
Eine Herbrand-Interpretation für eine (abgeschlossene) Formel A
ist eine Interpretation I = (HA , . . . ), die
a) jeder Individuenkonstante a in A den Term a ∈ HA zuordnet.
b) jeder n-stelligen Funktionskonstante f , die in A vorkommt,
eine Funktion I (f ) : HAn → HA zuordnet, die die Terme
t1 , . . . , tn ∈ HA auf den Term f (t1 , . . . , tn ) ∈ HA abbildet.
Prof. Dr. Madlener: Logik
258
Algorithmen der Prädikatenlogik
Resolventenmethode
Der Satz von Herbrand
Satz 5.17
• Eine Formel A in Klauselform ist erfüllbar gdw A ist in einer
Herbrand-Interpretation erfüllbar.
• A ist unerfüllbar gdw A unerfüllbar in allen
Herbrand-Interpretationen.
◮
Festlegung der Definitionsbereiche der Interpretationen.
Sei A ≡ ∀x1 · · · ∀xn [C1 ∧ · · · ∧ Ck ].
Eine Grundinstanz einer Klausel Cj (1 ≤ j ≤ k) von A ist eine
Klausel, die man erhält, wenn man alle Individuenvariablen in
Cj durch Terme aus HA ersetzt, d. h. eine Grundsubstitution
xi ← ti auf Cj anwendet. Solche Klauseln, die keine
Individuenvariablen enthalten heißen Grundklauseln.
Prof. Dr. Madlener: Logik
259
Algorithmen der Prädikatenlogik
Resolventenmethode
Herbrand-Prozeduren
Satz 5.18 (von Herbrand)
Eine Formel A in Klauselform ist genau dann unerfüllbar, wenn es
eine endliche Konjunktion von Grundinstanzen ihrer Klauseln gibt,
die unerfüllbar ist.
! Konjunktionen von Grundklauseln sind wie aussagenlogische
Formeln in KNF zu behandeln.
Tableaux-Davis-Putnam-(Grund)-Resolution anwendbar.
Prof. Dr. Madlener: Logik
260
Algorithmen der Prädikatenlogik
Resolventenmethode
Herbrand-Prozeduren (Forts.)
֒→ Herbrand-Prozeduren
A Formel in KLF mit n-Klauseln und Herbrand Universum HA .
• Erzeuge systematisch alle Grundklauseln Gj aus den Klauseln
Cj (1 ≤ j ≤ n) von A.
• Prüfe, ob eine Konjunktion von Grundklauseln unerfüllbar ist.
◮ Probleme:
• Systematische Erzeugung der Grundklauseln.
• Auswahl von Grundklauseln, die man auf Erfüllbarkeit testet.
• Welches Verfahren wählt man.
Prof. Dr. Madlener: Logik
261
Algorithmen der Prädikatenlogik
Resolventenmethode
Grundresolventenmethode
◮ A ≡ [∀x∃y p(x, y ) ∧ ∀y ∃z q(y , z)] → ∀x∃y ∃z
(p(x, y ) ∧ q(y , z))
gilt |= A? Transformiere ¬A in KLF
◮ B ≡ ∀x∀y ∀y1 ∀z[p(x, f (x)) ∧ q(y , g (y ))∧
(¬p(a, y1 ) ∨ ¬q(y1 , z))]
◮ HB = {a, f (a), g (a), f (f (a)), f (g (a)), . . .
◮ Bilde Grundinstanzen:
[p(a, f (a)) ∧ q(a, g (a)) ∧ [¬p(a, a) ∨ ¬q(a, a)]]
∧
..
.
∧[p(a, f (a)) ∧ q(f (a), g (f (a))) ∧ [¬p(a, f (a)) ∨ ¬q(f (a),
g (f (a)))]
Prof. Dr. Madlener: Logik
262
Algorithmen der Prädikatenlogik
Resolventenmethode
Grundresolventenmethode (Forts.)
◮ Teste, ob erfüllbar:
Grundresolventenmethode
1.
2.
3.
4.
5.
p(a, f (a))
q(f (a), g (f (a)))
¬p(a, f (a)) ∨ ¬q(f (a), g (f (a)))
¬q(f (a), g (f (a)))
1R3
2R4
? Wie wählt man die Klauseln und Substitutionen geschickt!
Prof. Dr. Madlener: Logik
263
Algorithmen der Prädikatenlogik
Resolventenmethode
Substitutionen
1.
2.
3.
p(x, f (x))
q(y , g (y ))
¬p(a, y1 ) ∨ ¬q(y1 , z)
4.
5.
¬q(f (a), z)
Prof. Dr. Madlener: Logik
x ← a p(a, f (a))
Substitutionen
y1 ← f (a)
¬p(a, f (a)) ∨ ¬q(f (a), z)
1R3 x ← a y1 ← f (a)
2R4 y ← f (a) z ← g (f (a))
264
Algorithmen der Prädikatenlogik
Resolventenmethode
Definition 5.19 (Erinnerung)
Eine Substitution θ ist eine endliche Menge der Form
{hv1 , t1 i, . . . , hvn , tn i}, vi ist Individuenvariable vi 6= vj , ti Terme
(Term(V, F), F Funktionskonstanten ti 6≡ vi , i = 1, . . . , n.
{v1 , . . . , vn } ist der Definitionsbereich der Substitution hvi , ti i
◮ Bindung“ für vi .
”
◮
θ induziert Abbildungen
bzw.
Wie üblich:
◮
◮
◮
◮
◮
θ : Term(V, F) → Term(V, F)
θ : AForm → AForm
θ(vi ) ≡ ti i = 1, . . . , n
θ(v ) ≡ v sonst
θ(f (t1 , . . . , tn )) ≡ f (θ(t1 ), . . . , θ(tn ))
θ(p(t1 , . . . , tn )) ≡ p(θ(t1 ), . . . , θ(tn ))
θ(t = t ′ ) ≡ θ(t) = θ(t ′ )
Prof. Dr. Madlener: Logik
265
Algorithmen der Prädikatenlogik
Resolventenmethode
Substitutionen (Forts.)
◮
Komposition von Substitutionen: wie üblich.
θσ erst θ, dann σ.
Identität als Substitution erlaubt.
◮ Betrachte t1 ≡ f (g (x), y ), t2 ≡ f (z, g (a))
Frage: Gibt es Substitution θ mit t1 θ = t2 θ d.h.
θ(f (g (x), y )) ≡ θ(f (z, g (a)))
◮ θ heißt dann Unifikator von t1 und t2 .
{x ← a y ← g (a) z ← g (a)} sind
{y ← g (a) z ← g (x)} Unifikatoren
Unifikationsalgorithmen
Allgemeinster Unifikator: σ (MGU) (Most General Unifier).
Eigenschaft: Ist θ Unifikator, so gibt es τ mit θ = στ .
Prof. Dr. Madlener: Logik
266
Algorithmen der Prädikatenlogik
Resolventenmethode
Unifikation
Definition 5.20 (Unifikator)
Sei S = A1 ∨ · · · ∨ An {A1 , . . . , An } eine Disjunktion (Menge)
atomarer Formeln Aj (1 ≤ j ≤ n). Eine Substitution θ heißt
Unifikator für S, falls A1 θ ≡ A2 θ ≡ · · · ≡ An θ (insbesondere
müssen die Prädikatskonstanten der Ai alle identisch sein).
◮ Gibt es für S einen solchen Unifikator, dann heißt S
unifizierbar.
◮ Ein Unifikator θ heißt allgemeinster Unifikator oder MGU
für S, wenn es für jeden Unifikator σ von S eine Substitution
τ gibt, so dass σ = θτ .
Prof. Dr. Madlener: Logik
267
Algorithmen der Prädikatenlogik
Resolventenmethode
Unifikationsalgorithmen
Satz 5.21
Sei S = {A1 , . . . , An } Menge von atomaren Formeln, dann ist es
entscheidbar ob S unifizierbar ist und ein MGU σ lässt sich
berechnen.
Beweis:
Unifikationsalgorithmen für atomare Formeln in Präfix Notation.
Idee: Bestimme Disagreement set“ durch Tiefensuche.
”
Prof. Dr. Madlener: Logik
268
Algorithmen der Prädikatenlogik
Resolventenmethode
Unifikationsalgorithmen (Forts.)
Darstellung atomarer Formeln
Prädikatskonstante
t1
tn
p(x, g (f (y, z), x), y)
p(x, g (a, b), b)
p(x, g (g (h(x), a), y), h(x))
֒→ DS: {f (y , z), a, g (h(x), a)} nicht unifizierbar.
◮ DS: {. . . , v , . . . , t, . . . }, v kommt nicht in t vor.
Ändere: σ : v ← t.
◮
Berechne DSσ dann weiter bis entweder ein Unifikator
bestimmt wurde oder nicht-unifizierbar als Ergebnis vorliegt.
! Es gibt sehr effiziente Unifikationsverfahren (lineare Zeit).
Siehe hierfür Literatur.
Prof. Dr. Madlener: Logik
269
Algorithmen der Prädikatenlogik
Resolventenmethode
PL1-Resolutionsverfahren
Definition 5.22 (Allgemeine Resolventenregel)
Seien C1 und C2 Klauseln ohne gemeinsame Variablen.
Seien A1 ∨ · · · ∨ Ak und ¬B1 ∨ ¬B2 ∨ · · · ∨ ¬Bl Teildisjunktionen
von C1 bzw. C2 , so dass A1 , . . . , Ak , B1 , . . . , Bl unifizierbar sind,
mit allgemeinsten Unifikator θ und sei
Ai θ ≡ Bj θ ≡ p(r1 , . . . , rn ) (bzw. t1 = t2 ) [Faktor]
Die Resolvente von C1 und C2 ist dann die Klausel
C1 θ\p(r1 , . . . , rn ) ∪ C2 θ\¬p(r1 , . . . , rn )
(bzw. C1 θ\t1 = t2 ∪ C2 θ\¬(t1 = t2 )) als Menge von Literalen.
Prof. Dr. Madlener: Logik
270
Algorithmen der Prädikatenlogik
Resolventenmethode
Resolutionsverfahren (Forts.)
Satz 5.23 (Robinson)
Eine Formel A in Klauselform ist genau dann unerfüllbar, wenn die
leere Klausel aus A mit der Resolventenregel hergeleitet werden
kann.
◮ [Annahme: Klauseln in A sind variablendisjunkt] Immer
erreichbar da
∀x̄[C1 (x̄) ∧ · · · ∧ Ck (x̄)] |==| ∀x̄1 ∀x̄2 · · · ∀x̄k
[C1 (x̄1 ) ∧ · · · ∧ Ck (x̄k )]
◮ Beachte allgemeine Resolventenregel k, l ≥ 1
◮ Viele Varianten: Unit-Resolution, lineare Resolventenregel....
! Ziel ist es, so schnell wie möglich die leere Klausel herzuleiten,
d. h. soviel Literale wie möglich zu faktorisieren“.
”
Prof. Dr. Madlener: Logik
271
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiel
Beispiel 5.24
A ≡ ¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]]
• Frage gilt |= A?
¬A ≡ ¬¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]]
֒→ KLF(¬A)
∀z∀x [ [¬p(z, a) ∨ ¬p(z, x) ∨ ¬p(x, z)]∧
[p(z, f (z)) ∨ p(z, a)]∧
[p(f (z), z) ∨ p(z, a)]]
Prof. Dr. Madlener: Logik
272
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiel (Forts.)
◮
Klauseln (nach Umbenennen der Variablen, variablendisjunkt)
1. ¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 )
2. p(z2 , f (z2 )), p(z2 , a)
3. p(f (z3 ), z3 ), p(z3 , a)
• Resolvente von 2. und 1. mit Teildisjunktionen
¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 ) in 1. und p(z2 , a) in 2.
Der Unifikator hx1 , ai, hz2 , ai, hz1 , ai MGU.
•
Prof. Dr. Madlener: Logik
4.
p(a, f (a))
273
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiel (Forts.)
• Resolvente 3. und 1. mit Teildisjunktionen
¬p(z1 , a), ¬p(z1 , x1 ), ¬p(x1 , z1 ), p(z3 , a)
◮ DS:
{z1 , z1 , x1 , z3 }
{a, z1 }
x1 ← z 1 z 3 ← z 1
z1 ← a
•
5.
x1 ← a z 1 ← a
z3 ← a
p(f (a), a)
• Resolvente 4., 1. mit Teildisjunktionen
p(a, f (a)), ¬p(x1 , z1 )
x1 ← a, z1 ← f (a)
•
Prof. Dr. Madlener: Logik
6. ¬p(f (a), a)
274
Algorithmen der Prädikatenlogik
Resolventenmethode
Beispiel (Forts.)
• Resolvente 5., 6.
•
7.
֒→ Also gilt
|= A ≡ ¬∃y ∀z [p(z, y ) ↔ ¬∃x [p(z, x) ∧ p(x, z)]]
Prof. Dr. Madlener: Logik
275
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Logisches Programmieren und Prolog
◮ Sprache der Logik zur Darstellung von Wissen (deklarativ)
über Strukturen. Wissensherleitung durch logische Folgerung
(deduktiv, Resolution usw.)
◮
•
•
•
•
•
•
•
0
1
2
3
4
5
6
Prozedurale Sicht von Resolution
Z = ((Y · 2) + X ) − Y
Funktion von X , Y
2 ≡ succ(succ(0))
goal(X , Y , Z ) : − mult(Y , 2, A), add(A, X , B), subt(B, Y , Z ).
add(R, succ(S), succ(T )) : − add(R, S, T ).
add(T , 0, T ).
subt(succ(R), succ(S), T ) : − subt(R, S, T ).
subt(T , 0, T ).
mult(R, succ(S), T ) : − mult(R, S, U), add(R, U, T ).
mult(R, 0, 0).
Prof. Dr. Madlener: Logik
276
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Logisches Programmieren und Prolog
◮
goal, add, subt, mult sind 3-stellige P-Konstanten zur
Darstellung der Funktionen, die den ersten beiden
Argumenten als Wert 3-Argumente zuordnen.
◮ Wie berechnet“ sich ((Y · 2) + X ) − Y , wenn
”
X ← succ(succ(0)) und Y ← succ(0)
? −goal(succ(succ(0)), succ(0), Z )
?
. With Z = succ(succ(succ(0)))
Prof. Dr. Madlener: Logik
277
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik
Erinnerung: Klauseln {L1 , L2 , . . . , Ln } Menge von Literalen
= {A1 , . . . , An } ∪ {¬B1 , . . . , ¬Bm }, Aj , Bj Atome.
◮ Hornlogik: Klauseln mit höchstens einem positiven Literal,
d. h. n ≤ 1. Einteilung:
{A, ¬B1 , . . . , ¬Bm } m > 0
{A}
{¬B1 , . . . , ¬Bm } m > 0
∅
Prof. Dr. Madlener: Logik
Regel Klausel
Fakt Klausel
Goal Klausel
leeres Goal
◭
◭
◭
◭
278
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik
◮
֒→
•
•
•
Formeln in KLF: Endliche Mengen von Literalen.
Hornklausel
Formel von PL-1
• {A, ¬B1 , . . . , ¬Bm }
∀ (A ∨ ¬B1 ∨ · · · ∨ ¬Bm )
bzw. (∀ ((B1 ∧ · · · ∧ Bm ) → A))
•
{A}
∀ (A)
•
{¬B1 , . . . , ¬Bm }
∀ (¬B1 ∨ · · · ∨ ¬Bm )
bzw. ¬∃ (B1 ∧ · · · ∧ Bm )
false
Notationen:
Formel
logisches Programm Prolog
∀ ((B1 ∧ · · · ∧ Bm ) A ← B1 , . . . , Bm
A : − B1 , . . . , Bm .
→ A)
∀ (A)
A←
A.
¬∃ (B1 ∧ · · · ∧ Bm ) ← B1 , . . . , Bm
? −B1 , . . . , Bm .
Prof. Dr. Madlener: Logik
279
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik (Forts.)
◮ Eine Menge von Regeln und Fakten ist ein logisches
Programm P
d. h. die Programmformeln sind entweder Regeln oder Fakten.
• Eine Struktur R ist Modell von P, falls R Modell der
entsprechenden Formeln in P ist.
• P |= ϕ hat die übliche Bedeutung.
! Beachte: Sei P logisches Programm und ? −B1 , . . . , Bm ein
nichtleeres Ziel. Dann sind äquivalent
1. P ∪ {? − B1 , . . . , Bm } hat kein Modell (unerfüllbar)
2. P |= ∃(B1 ∧ · · · ∧ Bm )
֒→ Herbrand Interpretationen reichen aus: d. h. Termmengen und
Funktionen sind fest durch die Formeln (Programm) definiert.
Prof. Dr. Madlener: Logik
280
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik (Forts.)
◮
Offen ist nur noch die Interpretation der P-Konstanten.
R ↔ I (R) = {r (t1 , . . . , tn ) | r P-Konstante, n-stellig
t1 , . . . , tn ∈ HP Grundterme
(t1 , . . . , tn ) ∈ rR }
Semantik logischer Programme (deklarative Semantik).
Sei P ein logisches Programm. Unter den Herbrand
Interpretationen die Modelle von P sind, gibt es ein minimales
Herbrand Modell MP :
MP = {r (t1 , . . . , tn ) | t1 , . . . , tn Grundterme und
•
P |= r (t1 , . . . , tn )}
◮ MP lässt sich rekursiv definieren.
Prof. Dr. Madlener: Logik
281
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik (Forts.)
Satz 5.25
Sei ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm ) eine abgeschlossene existentielle
Formel und P logisches Programm. Dann sind äquivalent:
1. P |= ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm )
2. P |= (B1 ∧ · · · ∧ Bm )[X1 /t1 , . . . , Xk /tk ] für Grundterme
t1 , . . . , tk
3. Mp ist Modell von ∃X1 · · · ∃Xk (B1 ∧ · · · ∧ Bm )
4. Mp |= (B1 ∧ · · · ∧ Bm )[X1 /t1 , . . . , Xk /tk ] für Grundterme
t1 , . . . , tk
! Grundlage für Mp ist die Semantik (Bedeutung) von P.
(Beachte der Satz gilt nicht für universelle Formeln!)
Prof. Dr. Madlener: Logik
282
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Horn-Logik (Forts.)
Beispiel 5.26
P über Signatur 0, succ (Fkt. Symbole), add ( 3 St. Pr.-Konstante)
P : add(X , 0, X ).
add(X , succ(Y ), succ(Z )) : −add(X , Y , Z ).
֒→ Offenbar ist
Mp = {add(succn (0), succm (0), succn+m (0)) n, m ∈ N}
Prof. Dr. Madlener: Logik
283
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Wie werden existentielle Anfragen beanwortet?
◮
◮
(Frage 1) ? −add(succ3 (0), succ8 (0), Z )
JA mit Z = succ11 (0)
(Frage 2) ? −add(X , succ8 (0), Z )
?
(P |= ∃X ∃Z add(X , succ8 (0), Z ))
JA mit X = 0, Z = succ8 (0)
Z = succ8 (X )
mit X = succ(0), Z = succ9 (0) . . .
ist allgemeinste Lösung.
Prof. Dr. Madlener: Logik
284
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Wie werden existentielle Anfragen beanwortet? (Forts.)
◮
(Frage 3) ? −add(succ3 (0), Y , Z )
?
(P |= ∃Y ∃Z add(succ3 (0), Y , Z ))
JA mit Y = 0, Z = succ3 (0)
mit Y = succ(0), Z = succ4 (0)
mit Y = succ2 (0), Z = succ5 (0) . . .
• Z = succ3 (Y ) ist jedoch keine allgemeinste Lösung:
◮ Da ∀Y add(succ3 (0), Y , succ3 (Y )) nicht logische Folgerung
von P ist (Übung!)
(Sie ist jedoch in Mp gültig!! Induktives Theorem)
Prof. Dr. Madlener: Logik
285
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Wie werden existentielle Anfragen beanwortet? (Forts.)
◮
(Frage 4) ? −add(X , Y , succ3 (0))
?
(P |= ∃X ∃Y add(X , Y , succ3 (0))
X =0
succ(0)
Lösungssubstitutionen:
succ2 (0)
succ3 (0)
Prof. Dr. Madlener: Logik
Y = succ3 (0)
succ2 (0)
succ(0)
0
286
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Lösungssubstitutionen
Sei G = ? −B1 , . . . , Bm ein goal, P logisches Programm, σ
Substitution, σ|G Einschränkung von σ auf die Variablen, die in G
vorkommen.
σ = {X1 ← t1 , . . . , Xn ← tn } ist eine korrekte
Lösungssubstitution für P ∪ {G } gdw X1 , . . . , Xn kommen in G
vor und P |= ∀ ((B1 ∧ · · · ∧ Bm )σ).
(Beachte: nicht äquivalent zu Mp |= ∀ ((B1 ∧ · · · ∧ Bm )σ) nur, falls
variablenfrei).
? Wie operationalisiert man die Bestimmung von korrekten
Operationale Semantik
Lösungssubstitutionen ?
Varianten der Resolution.
Prof. Dr. Madlener: Logik
287
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
SLD-Resolution –
(selective linear Resolution for definitive clauses)
◮ Sei G goal ? −A1 , . . . , Am und C ≡ A : − B1 , . . . , Bq eine
Programmformel (q = 0 erlaubt). Seien weiterhin G und C
variablendisjunkt und sei µ ein MGU von Ak und A.
(Die Klauseln können resolviert werden).
Das goal
◮ G ′ ≡ ? − A1 µ, . . . , Ak−1 µ, B1 µ, . . . , Bq µ, Ak+1 µ, . . . , Ak µ ist
eine SLD-Resolvente von G und C über µ.
G
C
SLD als Regel
P-Klausel, goal
G
Prof. Dr. Madlener: Logik
goal′
′
288
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
SLD-Resolution: SLD-Ableitungen
◮ SLD-Ableitungen, wie üblich definieren:
SLD-Ableitungen sind Ableitung der Form
G0 , G1 , . . . , Gn , . . . Programmformeln C0 , C1 , . . . , Cn , . . .
Substitutionen µ0 , µ1 , . . . , µn , . . . , so dass
Gn+1 SLD-Resolvente von Gn und Cn über µn
(Hierbei kommen die Variablen in Cn+1 nicht in
G0 , G1 , . . . , Gn , C0 , . . . , Cn , µ0 , . . . , µn vor).
Prof. Dr. Madlener: Logik
289
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Lösungssubstitution
Definition 5.27 (Lösungssubstitution)
Sei P logisches Programm, G goal.
Eine SLD-Widerlegung von P ∪ {G } ist eine endliche
SLD-Ableitung, bis zum Ziel Gn aus G , wobei Gn leer ist.
C0 , . . . , Cn−1 sind Varianten (Umbenennungen) von
Programmformeln aus P.
µ = (µ0 µ1 · · · µn−1 )|G ist die berechnete Lösungssubstitution.
Prof. Dr. Madlener: Logik
290
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Bemerkung und Beispiel
Bemerkung 5.28
◮ Korrektheit und Vollständigkeit lassen sich beweisen!
Siehe etwa Leitsch: Resolutionskalküle
Beispiel 5.29
a : − b, c.
a : − d.
b : − d, e.
b : − f.
c.
c : − d, f .
d.
f.
Prof. Dr. Madlener: Logik
Klauseln
{a, b̄, c̄}
{a, d̄}
{b, d̄, ē}
{b, f¯}
{c}
{c, d̄, f¯}
{d}
{f }
291
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Beispiel: Goal ? - a
{a, b, c}
{a}
{b, c}
{d, e, c}
{e, c}
{f , c}
{c}
{}
{b, d, e}
{d}
{a}
{b, c}
{d, e, c}
{e, c}
{b, f }
{f , c}{f }
{c} {c}
{}
Prof. Dr. Madlener: Logik
292
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Operationale Semantik von PROLOG
◮
Prolog: Logik + Kontrolle
• Fixiere Reihenfolge der SLD-Schritte
◮
◮
◮
◮
Ordne Programmformeln (Liste)
Goals als Listen - erstes Literal
Bilde stets Resolventen mit Kopf der ersten Programmformel
mit erstem Literal des Goals, normale SLD-Resolution.
Probleme: Laufzeiten sind abhängig von den Reihenfolgen!
Oft hilft ein Umordnen der Literale im Goal oder in den
Programmklauseln.
Prof. Dr. Madlener: Logik
293
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Beispiele
◮ P sei gegeben durch:
1 p(X , Z ) : − q(X , Y ), p(Y , Z ).
2 p(X , X ).
3 q(a, b).
SLD(P, G ) Baum aller N-SLD Resolventen
G ≡? − p(X , b)
?-p(x, b)
[x1 |x, z1 |b]
[x1 |b, x|b]
?-q(x, y1 ), p(y1 , b)
[x|a, y1 |b]
[x2 |b, z2 |b]
?-q(b, y2 ), p(y2 , b)
Prof. Dr. Madlener: Logik
Failure
Erfolg
?-p(b, b)
[x2 |b]
Erfolg
294
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Beispiele (Forts.)
◮ Umordnung der Literale in Programmformeln
1 p(X , Z ) : − p(Y , Z ), q(X , Y ).
2 p(X , X ).
3 q(a, b).
G ≡? − p(X , b)
→ Depth First
kein Ergebnis.
Umordnung des SLD-Baums
Prof. Dr. Madlener: Logik
295
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Beispiel 5.30 (Listen über Σ)
Gegeben Signatur Σ definiere Listen über Σ:
[·|·] : L(Σ)2 → L(Σ)
◮
2-stellige Funktion Infix-Notation
◮
Konstante [ ] bezeichne die leere Liste.
◮ Rekursive Definition:
◮
[ ] ist Liste über Σ
◮
[F |Rest] ist Liste über Σ, falls F Σ-Term oder Liste über Σ
◮
Rest Liste über Σ
F
Rest
• [F1 , F2 , . . . , Fn |Rest] := [F1 |[F2 | · · · |[Fn |Rest] · · · ]]
• [F1 , . . . , Fn ] := [F1 , . . . , Fn |[ ]]
Prof. Dr. Madlener: Logik
296
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Beispiel: Listen über Σ (Forts.)
◮
Operationen auf Listen
• append([ ], M, M).
• append([X |L], M, [X |N]) : − append(L, M, N).
? −append([a, b], [a, Y ], Z )
Ergibt: .Z ← [a, b, a, Y ]
֒→ Weitere Operationen
element(X , [X |L]).
element(X , [Y |L]) : − unequal(Y , X ), element(X , L).
mirror([ ], [ ]).
mirror([X |L], M) : − mirror(L, N), append(N, [X ], M).
delete([ ], X , [ ]).
delete([X |L], X , M) : − delete(L, X , M)
delete([Y |L], X , [Y |M]) : − unequal(Y , X ), delete(L, X , M).
delete1([X |L], X , L).
delete1([Y |L], X , [Y |M]) : − unequal(Y , X ), delete1(L, X , M).
Prof. Dr. Madlener: Logik
297
Algorithmen der Prädikatenlogik
Logisches Programmieren und Prolog
Schlussaufgabe:
Formalisiere und beweise folgenden Satz:
If the professor is happy if all his students like logic, then he
is happy if he has no students.
Prof. Dr. Madlener: Logik
298
Herunterladen