Kapitel II Prädikatenlogik

Werbung
Kapitel II
Prädikatenlogik
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
112 / 159
Grundlagen der Prädikatenlogik
Ziele:
Formulierung von Aussagen über einen Datenbereich, auf dem
Funktionen und Prädikate definiert sind
Beweise für diese Aussagen
Anwendungen:
Lösung von Anfragen auf Datenmengen in der KI oder in
Informationssystemen
Formulierung von Integritätsbedingungen auf Daten:
Schleifeninvarianten eines Programms, Constraints auf XML-Dateien
oder Datenbankeinträgen
Lösung von Constraint-Systemen beim Testen oder Planen
Logisches Programmieren
Syntax der Prädikatenlogik 1879 im Artikel Begriffsschrift von Gottlob
Frege (1848 — 1925).
Semantik erst 1934 durch Alfred Tarski (1901 — 1983).
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
113 / 159
Grundlagen der Prädikatenlogik (Fort.)
Semantisch: Elemente eines Datenbereich, Funktionen auf diesen
Elementen und Beziehungen zwischen diesen Elementen
Syntaktisch:
Terme beschreiben Elemente des Datenbereichs
Konstanten bezeichnen einzelne Elemente (z.B. 7 )
Variablen stehen für Elemente (z.B. x )
Funktionssymbole erlauben es Terme zu konstruieren, die wiederum
für Elemente stehen (z.B. fac(7) )
Formeln formulieren Aussagen über die Elemente: wahr oder falsch.
Prädikatssymbole drücken elementare Aussagen aus (z.B. x > 7 )
Logische Operatoren/Junktoren und Quantoren verknüpfen die
elementaren Aussagen (z.B. ∀x. x > 7 ∨ x < 8 )
Funktions- und Prädikatssymbole hängen von der Anwendung ab, sind
also Parameter in der Definition der Syntax.
Logische Symbole sind fest.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
114 / 159
Grundlagen der Prädikatenlogik (Fort.)
Beispiel 4.1 (Beschreibung mathematischer Beziehungen)
Syntax: Konstanten 1, 2, 3, Funktionssymbole +, /, Variablen x, y , z,
Pädikat <, Junktoren →, ∧, Quantoren ∀, ∃
Terme:
Formeln:
3
2
1, 1 + , x +
3
2
x < 3, ∀x.∀y .(x < y → ∃z.(x < z ∧ z < y ))
Semantik: Datenbereich Q, Konstante 1 bis Prädikat < mit der “üblichen”
Bedeutung
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
115 / 159
Grundlagen der Prädikatenlogik (Fort.)
Beispiel 4.2 (Beschreibung von Beziehungen zwischen Daten)
Syntax: Variablen x, y , Funktion weiteDerReise(−), Pädikate istHund (−),
istFisch(−), <, Quantor ∀.
Formel:
∀x.∀y .(istHund (x) ∧ istFisch(y )) → weiteDerReise(x) < weiteDerReise(y )
Semantik: Datenbereich {Lassie, Nemo} ∪ N ∪ {⊥}.
Funktion weiteDerReise(x) liefert die Weite der Reise eines Tieres des
Datenbereichs und ⊥, falls kein Tier eingegeben wird.
Prädikat x < y liefert wahr, falls x und y in N und x kleiner als y , falsch
sonst.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
116 / 159
Syntax der Prädikatenlogik erster Stufe
Definition 4.3 (Signatur)
Eine Signatur ist ein Paar S = (Funk, Präd) mit
Funk einer Menge von Funktionssymbolen f , g , . . . ∈ Funk und
Präd einer Menge von Prädikatssymbolen p, q, . . . ∈ Präd.
Jedes Funktions- und jedes Prädikatssymbol hat eine Stelligkeit k ∈ N.
Schreibe auch f/k ∈ Funk bzw. p/k ∈ Präd, falls f bzw. p Stelligkeit k hat.
0-stellige Funktionen und Prädikate heißen Konstanten.
Voraussetzungen:
Funk und Präd seien entscheidbar, nicht notwendigerweise endlich.
Neben der Signatur gebe es eine abzählbare Menge V an Variablen.
Es seien V , Funk, Präd paarweise disjunkt und enthalten nicht
¬ ∧ ∨ → ↔ ∃ ∀ ,
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
=
( )
SoSe 2017
117 / 159
Syntax der Prädikatenlogik erster Stufe (Fort.)
Definition 4.4 (Syntax der Prädikatenlogik erster Stufe)
Sei S = (Funk, Präd) eine Signatur.
Die Menge Term(S) aller Terme über S ist induktiv definiert als
t ::= x | f (t1 , . . . , tk ),
wobei x ∈ V und f/k ∈ Funk.
Die Menge FO(S) der prädikatenlogischen Formeln erster Stufe über S ist
induktiv definiert als
A ::= (t1 = t2 ) | p(t1 , . . . , tk ) |
(¬A) | (A1 ∧ A2 ) | (A1 ∨ A2 ) | (A1 → A2 ) | (A1 ↔ A2 ) |
(∃x. A) | (∀x. A)
mit t1 , t2 , . . . , tk ∈ Term(S), p/k ∈ Präd und x ∈ V .
Nenne (t1 = t2 ) und p(t1 , . . . , tk ) auch atomare Formeln.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
118 / 159
Syntax der Prädikatenlogik erster Stufe (Fort.)
Zur besseren Lesbarkeit:
Äußere Klammern weglassen.
Prioritäten: ¬, ∧, ∨, →, ↔, ∃, ∀
(∀x1 , . . . , xn . A) steht für (∀x1 .(. . . (∀xn . A) . . .)
(∃x1 , . . . , xn . A) steht für (∃x1 .(. . . (∃xn . A) . . .)
Für zweistellige Prädikats- und Funktionssymbole wird auch
Infix-Notation genutzt. Beispiel t1 < t2 statt < (t1 , t2 ).
Weitere Klammern können weggelassen werden, wenn die
Formelstruktur unmissverständlich bleibt, z.B.:
∃x. ∀y . y < 2 → y < x
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
119 / 159
Syntax der Prädikatenlogik erster Stufe (Fort.)
Definition 4.5 (Freie und gebundene Variablen)
In einer Formel (Qx.A) mit Q ∈ {∃, ∀} ist A der Geltungsbereich von Qx.
Ein Vorkommen einer Variablen x ∈ V in einer Formel heißt gebunden,
falls es im Geltungsbereich eines Quantors Qx vorkommt.
Sonstige Vorkommen einer Variablen heißen frei.
Formeln ohne freie Vorkommen heißen abgeschlossen.
Die Menge V (A) enthält die Variablen in A ∈ FO(S). Ähnlich enthalten
FV (A) und GV (A) die Variablen, die gebunden bzw. frei in A vorkommen.
Lemma 4.6
(a) Ist S entscheidbar, dann sind Term(S) und FO(S) entscheidbar.
(b) Zusammengesetzte Terme und Formeln lassen sich eindeutig zerlegen.
(c) Freie und gebundene Vorkommen lassen sich effektiv bestimmen.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
120 / 159
Semantik der Prädikatenlogik erster Stufe
Terme und Formeln sind zunächst einmal syntaktische Objekte ohne
Bedeutung: Was bedeutet ein Term? Was bedeutet eine Formel?
Definition 4.7 (Struktur)
Sei S = (Funk, Präd) eine Signatur. Eine Struktur der Signatur S, auch
S-Struktur genannt, ist ein Paar M = (D, I ) bestehend aus
einer nicht-leeren Menge D, dem Datenbereich, und
einer Interpretation I der Funktions- und Prädikatssymbole aus S.
Dabei bildet I jedes f/k ∈ Funk auf eine k-stellige Funktion
I (f ) : D k → D
(schreibe auch f M statt I (f ))
und jedes p/k ∈ Präd auf ein k-stelliges Prädikat ab:
I (p) : D k → B
A. Poetzsch-Heffter (TU Kaiserslautern)
(schreibe auch p M statt I (p)).
Logik
SoSe 2017
121 / 159
Beachte:
Strukturen sind passend zu Signaturen gewählt.
Gleichheit ist ein logisches Symbol, nicht Teil der Signatur. Es wird
als Gleichheit auf dem Datenbereich interpretiert.
Definition 4.8 (Belegung)
Eine (Variablen-)Belegung in M = (D, I ) ist eine Abbildung ψ : V → D .
Die Modifikation ψ{x/d} von ψ ist die Belegung mit
(
d,
falls y = x
ψ{x/d}(y ) :=
ψ(y ), sonst.
Die Menge aller Belegungen wird mit D V bezeichnet.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
122 / 159
Definition 4.9 (Semantik von Termen und Formeln)
Sei S eine Signatur, M = (D, I ) eine S-Struktur und ψ eine Belegung.
Dann ist die Semantik von Termen t ∈ Term(S) und Formeln A ∈ FO(S)
durch die Bewertung BψM : Term(S) ∪ FO(S) → D ∪ B wie folgt definiert:
BψM (x) = ψ(x)
BψM (f (t1 , . . . , tk )) = I (f )(BψM (t1 ), . . . , BψM (tk ))
BψM (t1 = t2 ) = ( BψM (t1 ) = BψM (t2 ) )
BψM (p(t1 , . . . , tk )) = I (p)(BψM (t1 ), . . . , BψM (tk ))
BψM (¬A) = 1 − BψM (A)
BψM (A ∨ B) = max(BψM (A), BψM (B))
. . . für die anderen aussagenlogischen Operatoren entsprechend
BψM (∃x.A) = 1,
BψM (∀x.A) = 1,
A. Poetzsch-Heffter (TU Kaiserslautern)
M
gdw. es gibt d ∈ D mit Bψ{x/d}
(A) = 1
M
gdw. für alle d ∈ D gilt Bψ{x/d} (A) = 1
Logik
SoSe 2017
123 / 159
In der Definition der Semantik von Termen und Formeln ist
BψM (t) der Datenwert von t in M unter Belegung ψ und
BψM (A) der Wahrheitswert von A in M unter Belegung ψ.
Lemma 4.10 (Koinzidenzlemma)
Sei A ∈ FO(S), M = (D, I ) und ψ, ϕ ∈ D V .
Falls ψ(x) = ϕ(x) für alle x ∈ FV (A), dann gilt:
BψM (A) = BϕM (A)
Insbesondere ist die Semantik BψM (A) abgeschlossener Formeln A ∈ FO(S)
unabhängig von der Belegung ψ ∈ D V :
entweder ist A unter allen Belegungen wahr oder unter keiner.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
124 / 159
Definition 4.11 (Erfüllbarkeit, Tautologie)
Seien S eine Struktur, A ∈ FO(S), Σ ⊆ FO(S), M = (D, I ) und ψ ∈ D V .
A gilt in M unter ψ oder M und ψ erfüllen A, in Zeichen M, ψ |= A,
falls BψM (A) = 1.
Σ gilt in M unter ψ oder M und ψ erfüllen Σ, in Zeichen
M, ψ |= Σ, falls für alle A ∈ Σ gilt BψM (A) = 1.
A gilt in M oder M ist ein Modell für A, in Zeichen M |= A, falls
M, ϕ |= A für alle Belegungen ϕ gilt.
Σ gilt in M oder M ist ein Modell für Σ, in Zeichen M |= Σ, falls
M, ϕ |= Σ für alle Belegungen ϕ gilt.
A ist eine Tautologie oder allgemeingültig, in Zeichen |= A, falls für
alle S-Strukturen M gilt: M |= A.
A ist erfüllbar, falls es eine S-Struktur M und eine Belegung ψ ∈ D V
gibt mit M, ψ |= A.
Σ ist erfüllbar, falls es M und ψ gibt mit M, ψ |= Σ.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
125 / 159
Allgemeingültigkeit und Unerfüllbarkeit
Lemma 4.12
Formel A ∈ FO(S) ist allgemeingültig gdw. ¬A unerfüllbar ist.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
126 / 159
Logische Folgerung und Äquivalenz
Definition 4.13 (Logische Folgerung und Äquivalenz)
Seien A, B ∈ FO(S) und Σ, Γ ⊆ FO(S);
A ist logische Folgerung von Σ, in Zeichen Σ |= A, wenn jede
S-Struktur M und Belegung ψ, die alle Formeln in Σ erfüllen,
auch A erfüllen.
Folg(Σ) := {A ∈ FO(S) | Σ |= A} bezeichnet die Menge der
Folgerungen aus Σ.
A und B heißen logisch äquivalent, in Zeichen A |==|B, falls A |= B
und B |= A gelten.
Σ und Γ heißen logisch äquivalent, in Zeichen Σ |==|Γ, falls
Σ |= A für alle A ∈ Γ und Γ |= B für alle B ∈ Σ.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
127 / 159
Lemma 4.14 (Logische Äquivalenzen)
Seien A, B ∈ FO(S). Dann gilt:
¬∀x.A |==| ∃x.¬A
¬∃x.A |==| ∀x.¬A
(8)
(∀x.A) ∧ (∀x.B) |==| ∀x.(A ∧ B) (∃x.A) ∨ (∃x.B) |==| ∃x.(A ∨ B) (9)
∀x.∀y .A |==| ∀y .∀x.A
∃x.∃y .A |==| ∃y .∃x.A
(10)
Qx.A op B |==| Qx.(A op B) mit Q ∈ {∀, ∃} und op ∈ {∧, ∨}.
(11)
Falls außerdem x ∈
/ FV (B), gilt
Bemerkung: Äquivalenzen (8), (9) und (11) ziehen Quantoren nach außen.
Bei der Verwendung logischer Äquivalenzen ist Vorsicht geboten:
(∀x.A) ∨ (∀x.B) 6|==| ∀x.(A ∨ B)
A. Poetzsch-Heffter (TU Kaiserslautern)
(∃x.A) ∧ (∃x.B) 6|==| ∃x.(A ∧ B)
Logik
SoSe 2017
128 / 159
Lemma 4.15
Logische Äquivalenz ist eine Kongruenz: ersetzt man in einer Formel
A ∈ FO(S) eine Teilformel B durch C mit C |==|B, dann erhält man A′
mit A′ |==|A.
Bemerkung 4.16
(a) Σ |= A gdw.
Σ ∪ {¬A} nicht erfüllbar.
(b) ∅ |= A
|= A, also A ist allgemeingültig.
gdw.
(c) Σ nicht erfüllbar
gdw.
Σ |= A für alle A ∈ FO(S).
(d) Falls Γ ⊆ Σ und Γ |= A, dann Σ |= A.
(e) Falls Γ |==|Σ, dann ist Γ erfüllbar gdw. Σ erfüllbar ist.
(f) Falls Γ |==|Σ, dann Folg(Γ) = Folg(Σ).
(g) A |==|B gdw. A |= B und B |= A gdw.
BψM (A) = BψM (B) für alle M, ψ.
|= A ↔ B
gdw.
(h) Falls A |==|B, dann Σ |= A gdw. Σ |= B.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
129 / 159
Beispiele
Beispiel 4.17
i) ∀x.A |= A
(Spezialfall von (∀x.A) → A{x/t} allgemeingültig, s.u.)
ii) Im Allgemeinen gilt nicht A |= ∀y .A mit y ∈ FV (A).
Sei A ≡ p(y ) und M = ({0, 1}, I ) mit I (p)(a) = 1 gdw.a = 0.
Wähle ψ(y ) = 0, dann BψM (A) = 1.
Aber BψM (∀y .A) = 0 mit ψ{y /1}.
iii) |= ∃x.(p(x) → ∀x.p(x))
Sei M = (D, I ). Es gilt BψM (∃x.(p(x) → ∀x.p(x))) = 1, da
einer der beiden folgenden Fälle gilt:
es gibt d ∈ D mit I (p)(d) = 0 oder
für alle d ∈ D gilt I (p)(d) = 1.
iv) ∀x.(A → B) |= ∀x.A → ∀x.B
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
130 / 159
Satz 4.18 (Wichtige semantische Eigenschaften/Sätze)
Seien Γ ⊆ FO(S) und A, B ∈ FO(S).
Deduktionstheorem
Γ, A |= B
gdw.
Γ |= A → B
Modus-Ponens-Regel
Γ |= A und Γ |= A → B, dann Γ |= B
Kontrapositionsregel
Γ, A |= ¬B
gdw.
Γ, B |= ¬A
Generalisierungstheorem
Kommt x ∈ V in keiner Formel von Γ frei vor, dann
Γ |= A gdw. Γ |= ∀x. A
Insbesondere: A |= ∀x. A bzw. |= A → ∀x. A,
falls x nicht frei in A vorkommt.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
131 / 159
Beispiel 4.19 (Anwendung der Sätze)
a) |= ∃x.∀y .A → ∀y .∃x.A
gdw. ∃x.∀y .A |= ∀y .∃x.A
gdw. ∃x.∀y .A |= ∃x.A
gdw. ¬∀x.¬∀y .A |= ¬∀x.¬A
gdw. ∀x.¬A |= ∀x.¬∀y .A
gdw. ∀x.¬A |= ¬∀y .A
gdw. {∀x.¬A, ∀y .A}
Deduktionstheorem
Generalisierungstheorem
Lemma 4.14
Kontrapositionsregel
Generalisierungstheorem
nicht erfüllbar ist
b) Variante von Kongruenz
A′ entstehe aus A durch erlaubte (beachte Quantoren) Ersetzung
einiger Vorkommen von x durch y . Dann gilt
|= ∀x.∀y .(x = y → (A ↔ A′ ))
Beispiel: ∀x.∀y .(x = y → (f (x, y ) = g (x) ↔ f (y , y ) = g (x))
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
132 / 159
Substitution
Substitutionen ersetzen Variablen durch Terme.
Sie sind ein syntaktische Gegenstück zum semantischen Konzept der
Modifikation von Belegungen.
Definition 4.20 (Substitution)
Eine Substitution der Signatur S ist eine Abbildung
θ : V → Term(S).
Im Folgenden gehen wir davon, dass nur für endlich viele x ∈ V gilt
θ(x) 6= x. Dann lassen sich Substitutionen direkt angeben als
θ = {x1 /t1 , . . . , xn /tn }
und wir definieren:
Dom(θ) = {x1 . . . , xn }
Ran(θ) = {t1 , . . . , tn }
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
133 / 159
Substitution (Fort.)
Substitutionen lassen sich auf Terme und Formeln anwenden.
Definition 4.21 (Anwendung von Substitutionen)
Die Anwendung von θ auf t ∈ Term(S) liefert einen neuen Term
tθ ∈ Term(S), der induktiv wie folgt definiert ist:
xθ := θ(x)
f (t1 , . . . , tn )θ := f (t1 θ, . . . , tn θ).
Die Anwendung von θ auf Formeln A ∈ FO(S) liefert eine neue Formel
Aθ ∈ FO(S), die induktive wie folgt definiert ist:
(¬A)θ := ¬(Aθ)
(t1 = t2 )θ := t1 θ = t2 θ
p(t1 , . . . , tn )θ := p(t1 θ, . . . , tn θ)
(A op B)θ := Aθ op Bθ
(Qx.A)θ := Qy .(A{x/y }θ),
wobei y ∈
/ V (A) ∪ Dom(θ) ∪ V (Ran(θ)).
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
134 / 159
Substitution (Fort.)
Der Zusammenhang zwischen Substitutionen und der Modifikation von
Belegungen ist wie folgt:
Lemma 4.22 (Substitutionslemma)
BψM (A{x/t}) = BϕM (A) mit ϕ := ψ{x/BψM (t)} .
Der Beweis wird mittels Induktion über den Aufbau von Termen und
Formeln geführt.
Korollar 4.23
i) Ist A ∈ FO(S) allgemeingültig, dann auch A{x/t}.
ii) Die Formel (∀x.A) → A{x/t} ist allgemeingültig.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
135 / 159
Substitution (Fort.)
Ähnlich zum Substitutionslemma erhält man:
Lemma 4.24 (Gebundene Umbenennung erhält logische Äquivalenz)
Qx.A |==|Qy .(A{x/y }), wenn y 6∈ FV (A).
Bemerkung: Gebundene Umbenennung kann die Vorkommen von
gebundenen Variablen in einer Formel eindeutig machen.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
136 / 159
Normalformen
Erzeuge Formeln von einfacherer Gestalt, für die sich Aussagen eher zeigen
und effizientere Algorithmen entwerfen lassen.
Pränexnormalform: Alle Quantoren außen (PNF ist logisch äquivalent).
Skolemform: Pränexnormalform und außerdem nur Allquantoren
(SNF ist erfüllbarkeitsäquivalent).
Lemma 4.25 (Existentieller und universeller Abschluss)
Betrachte A ∈ FO(S) mit FV (A) = {x1 , . . . , xn }. Dann gilt
A ist allgemeingültig gdw.
A ist erfüllbar
gdw.
∀x1 . . . ∀xn .A ist allgemeingültig
∃x1 . . . ∃xn .A ist erfüllbar.
Formel ∀x1 . . . ∀xn .A ist der universelle Abschluss von A.
Formel ∃x1 . . . ∃xn .A ist der existentielle Abschluss von A.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
137 / 159
Normalformen (Fort.)
Eine Formel A ∈ FO(S) heißt bereinigt, falls
i) keine Variable frei und gebunden vorkommt und
ii) jede Variable höchstens einmal gebunden wird.
Durch wiederholte Anwendung gebundener Umbenennung in Lemma 4.24
kann man jede Formel bereinigen.
Lemma 4.26
Zu jeder Formel A ∈ FO(S) gibt es eine bereinigte Formel B ∈ FO(S) mit
A |==|B.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
138 / 159
Normalformen (Fort.)
Nächster Schritt: Ziehe Quantoren nach außen unter Ausnutzung von
Lemma 4.14.
Definition 4.27
Eine Formel der Gestalt A ≡ Q1 y1 . . . Qn yn .B mit Q1 , . . . , Qn ∈ {∀, ∃} ist
in Pränexnormalform, wenn B quantorenfrei ist.
A ∈ FO(S) ist in BPF, falls A bereinigt und in Pränexnormalform ist.
Satz 4.28
Zu jeder Formel A ∈ FO(S) gibt es eine Formel B ∈ FO(S) in BPF mit
A |==|B.
Hinter dem Beweis verbirgt sich ein rekursiver Algorithmus.
Es dient dem Verständnis, dieses Verfahren selbst herauszuarbeiten.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
139 / 159
Normalformen (Fort.)
Weiterer Schritt: Eliminiere Existenzquantoren.
Trick: Ersetze bei Sequenzen von Quantoren der Form für alle y1 . . . yn
gibt es ein z die Variable z durch einen “neuen” Term f (y1 , . . . , yn ):
∀y1 . . . ∀yn ∃z.A
geht über nach
∀y1 . . . ∀yn . (A{z/f (y1 , . . . , yn )}) .
Dabei ist f/n ein frisches Funktionssymbol aus der Menge Sko der
Skolemsymbole. Frisch heißt, Sko ist disjunkt von S und f/n kommt nicht
in A vor.
Die Einführung von Skolemfunktionen für existenzquantifizierte Variablen
wird Skolemisierung genannt.
Skolemisierung erhält nur Erfüllbarkeitsäquivalenz, logische Äquivalenz
muss aufgegeben werden.
Skolemisierung geht zurück auf Thoralf Albert Skolem (1887 – 1963).
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
140 / 159
Normalformen (Fort.)
Definition 4.29 (Skolemformel)
Für eine Formel A ∈ FO(S) in BPF lassen sich Skolemformeln
B ∈ FO(S ⊎ Sko) (wieder in BPF) durch folgendes Verfahren konstruieren:
while A hat Existenzquantoren do
Sei A ≡ ∀y1 . . . ∀yn ∃z.B mit B in BPF
Sei f /n ∈ Sko ein Skolemsymbol, das nicht in B vorkommt
Setze A ≡ ∀y1 . . . ∀yn (B{z/f (y1 , . . . , yn )})
end while
Beachte: Die Skolemisierung arbeitet von außen nach innen.
Satz 4.30 (Skolem)
Für jede Formel A ∈ FO(S) in BPF und zugehöriger Skolemformel
B ∈ FO(S ⊎ Sko) gilt:
A ist erfüllbar
A. Poetzsch-Heffter (TU Kaiserslautern)
gdw. B ist erfüllbar.
Logik
SoSe 2017
141 / 159
Kompaktheitssatz der Prädikatenlogik erster Stufe
Satz 4.31 (Kompaktheitssatz)
Eine Formelmenge Σ ⊆ FO(S) ist erfüllbar gdw. jede endliche Teilmenge
von Σ erfüllbar ist.
Beweis benötigt Ergebnisse, die wir im Abschnitt “Algorithmische
Verfahren für die Prädikatenlogik” erarbeiten, und wird deshalb dort
präsentiert.
A. Poetzsch-Heffter (TU Kaiserslautern)
Logik
SoSe 2017
142 / 159
Herunterladen