Kapitel II Prädikatenlogik A. Poetzsch-Heffter (TU Kaiserslautern) Logik SoSe 2017 112 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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) geschlossener 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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 / 194 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.16 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 / 194 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). Oft geht man davon aus, dass nur für endlich viele x ∈ V gilt θ(x) 6= x. Dann lassen sich Substitutionen direkt angegeben als θ = {x1 /t1 , . . . , xn /tn }. A. Poetzsch-Heffter (TU Kaiserslautern) Logik SoSe 2017 133 / 194 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 / 194 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 / 194 Substitution (Fort.) Ähnlich zum Substitutionslemma erhält man: Lemma 4.24 (Gebundene Umbenennung erhält logische Äquivalenz) Qx.A |==|Qy .(A{x/y }) . Bemerkung: Gebundene Umbenennung kann die Vorkommen von gebundenen Variablen in einer Formel eindeutig machen. A. Poetzsch-Heffter (TU Kaiserslautern) Logik SoSe 2017 136 / 194 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 / 194 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.21 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 / 194 Normalformen (Fort.) Nächster Schritt: Ziehe Quantoren nach außen unter Ausnutzung von Lemma 4.16. 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 / 194 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 / 194 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 / 194 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. A. Poetzsch-Heffter (TU Kaiserslautern) Logik SoSe 2017 142 / 194