Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Semantik der Prädikatenlogik zur Erinnerung: Semantik der Aussagenlogik gegeben durch Interpretation I : V → {0, 1}; erweitert zu I : Formeln → {0, 1} Formeln der Aussagenlogik formalisieren allgemeine Aussagen Semantik der Aussagenlogik ordnet Formel einen Wahrheitswert unter einer Variablenbelegung zu, z.B. I(ϕ) = 1 Formeln der Prädikatenlogik FO[=, τ ] formalisieren Aussagen über Begebenheiten in τ -Strukturen Semantik von FO[=, τ ] ordnet Formel Wahrheitswert in einer Struktur unter einer Variablenbelegung zu Schreibweise: I |= ϕ, wobei I = (A, ϑ) 131 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Interpretationen für Terme Terme über τ bezeichnen Elemente einer τ -Struktur Def.: Eine Interpretation einer FO-Formel über der Signatur τ ist ein I = (A, ϑ), wobei A τ -Struktur mit Universum U und ϑ : V → U ist. [[t]]A ϑ bezeichnet den Wert des Terms t in der Struktur A unter der Interpretation ϑ Wert ist definiert durch Induktion über den Termaufbau [[x]]A ϑ := ϑ(x) A A A [[f (t1 , . . . , tn )]]A ϑ := f ([[t1 ]]ϑ , . . . , [[tn ]]ϑ ) 132 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Terme interpretieren Bsp.: τ = �+, ·, 0, 1�, t = (x · (1 + y )) + 0. Was ist jeweils [[t]]A ϑ , wobei • A = (N, +, ·, 0, 1), ϑ(x) = 3, ϑ(y ) = 4? • A = (N, +, ·, 0, 1), ϑ(x) = 4, ϑ(y ) = 3? • A = (N, ·, +, 1, 0), ϑ(x) = 3, ϑ(y ) = 4? • A = ({0, 1}, ∨, ∧, 0, 1), ϑ(x) = 1, ϑ(y ) = 0? ∗ • A = (2{a,b} , ∪, ·, ∅, {�}), ϑ(x) = {abbba, baba}, ϑ(y ) = {b, aa, baba}? • A = ({a, b}∗ , ·, zip, �, �), ϑ(x) = aaaa, ϑ(y ) = bbb? 133 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Interpretationen für Formeln Def.: Sei I = (A, ϑ), U Universum von A, c ∈ U. ϑ[x �→ u] bezeichnet Update von ϑ an der Stelle x auf u. A, ϑ |= R(t1 , . . . , tn ) . A, ϑ |= t1 = t2 gdw. A, ϑ |= ϕ ∧ ψ gdw. A, ϑ |= ϕ → ψ gdw. A, ϑ |= ∃x ϕ gdw. gdw. A, ϑ |= ¬ϕ gdw. A, ϑ |= ϕ ∨ ψ gdw. A, ϑ |= ϕ ↔ ψ gdw. A, ϑ |= ∀x ϕ gdw. A A ([[t1 ]]A , . . . , [[t ]] ) ∈ R n ϑ ϑ A [[t1 ]]A = [[t ]] 2 ϑ ϑ A, ϑ �|= ϕ A, ϑ |= ϕ und A, ϑ |= ψ A, ϑ |= ϕ oder A, ϑ |= ψ wenn A, ϑ �|= ϕ dann A, ϑ |= ψ A, ϑ |= ϕ gdw. A, ϑ |= ψ es gibt u ∈ U mit A, ϑ[x �→ u] |= ϕ für alle u ∈ U gilt A, ϑ[x �→ u] |= ϕ Ist I |= ϕ, so heißt I auch Modell von ϕ. Ist ϕ Satz, so auch nur A |= ϕ, aber wieso? 134 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik 135 Beispiele Bsp.: τ = �R (2) , P (1) , f (1) , g (2) , c (0) �; welche Modellbeziehungen gelten jeweils für A = (N, ≤, {0, 2, . . .}, +1, ·, 2)? • A, {y �→ 2} |= ∀x.R(y , x) → R(f (f (x)), g (x, c)) • A, {y �→ 1} |= ∀x.R(y , x) → R(f (f (x)), g (x, c)) . . . • A |= ∀x.P(x) → ∃y .¬(y = x) ∧ ¬(f (y ) = c) ∧ ∃z.x = g (y , z) Bsp.: τ = �E (2) , P (1) �; welche Formeln gelten hier? P • ∃x.P(x) ∧ ∀y E (x, y ) . • ∃x.P(x) ∧ ∀y .y = � x → E (x, y ) . • ∀x ∃y .x = � y ∧ E (y , x) Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik 136 Ein Kalkül zur Modellüberprüfung wir definieren ein System, mit dem man zu gegebenen A, ϑ und ϕ entscheiden kann, ob A, ϑ |= ϕ gilt ein Beweis ist wiederum ein Baum . . . • dessen Wurzel mit A, ϑ |= ϕ beschriftet ist, • an dessen Blättern nur Axiome stehen und • der innen aus Beweisregeln aufgebaut ist erstelle Beweisregeln in Abhängigkeit von Formel, z.B. A, ϑ |= ϕ A, ϑ |= ψ A, ϑ |= ϕ ∧ ψ weitere Regeln: Übung A, ϑ �|= ϕ A, ϑ �|= ϕ ∧ ψ A, ϑ �|= ψ A, ϑ �|= ϕ ∧ ψ Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Korrektheit und Vollständigkeit Theorem 15 Es gilt A, ϑ |= ϕ genau dann, wenn es einen Beweis im Modellüberprüfungskalkül dafür gibt. Beweis: Übung. Fragen: wenn es solch einen Beweisbaum gibt, . . . • . . . gibt es dann auch einen endlichen Beweisbaum? • . . . gibt es dann auch einen endlich hohen Beweisbaum? • . . . wie hoch kann dieser dann höchstens werden? • . . . wie breit kann dieser dann höchstens werden? 137 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Erfüllbarkeit, Äquivalenz, etc. Die Begriffe Erfüllbarkeit, Allgemeingültigkeit und Äquivalenz (≡), Erfüllbarkeitsäquivalenz (≡sat ) sind wie bei der Aussagenlogik definiert. Beachte: Interpretation ist Paar aus Struktur und Variablenbelegung. Also ist z.B. ∃x R(x, y ) erfüllbar trotz freier Variablen. Insbesondere ist ϕ erfüllbar gdw. ¬ϕ nicht allgemeingültig ist. Bsp.: Neben den üblichen aussagenlogischen Äquivalenzen gelten weitere, z.B. • ∃x ϕ ≡ ¬∀x ¬ϕ • ∃x ∃y ϕ ≡ ∃y ∃x ϕ • ∃x ϕ ≡ ∃y ϕ[y /x] • ∃x ϕ ∨ ∃x ψ ≡ ∃x (ϕ ∨ ψ) • ... 138 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Beispiele: gerichtete Graphen Bsp.: τ = �E (2) �, finde Modell von � ∃x1 . . . ∃x5 . 4 5 � � i=1 j=i+1 . � xi = � xj ∧ ∃x ∀z E (z, x) . ∧ ∀x ∀y .x = y ∨ E (x, y ) ∨ ∃z.E (x, z) ∧ E (z, y ) sind die folgenden Formeln jeweils (un)erfüllbar bzw. allgemeingültig? • ϕ1 := ∀x ∀y (E (x, y ) ∨ E (y , x)) • ϕ2 := ∀y .E (x, y ) ∨ ∃z.E (x, z) ∧ E (z, y ) • ϕ1 → ∃x ϕ2 • ∃x ∀y E (y , x) ∧ ∃y ∀x ¬E (y , x) 139 Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 4.3 Prädikatenlogik – Semantik Beispiel: Arithmetik Bsp.: τ = �<(2) , +(2) , ·(2) , 0(0) , 1(0) � Sind die folgenden Formeln jeweils (un)erfüllbar / allgemeingültig? Sind sie jeweils mit N = (N, <, +, ·, 0, 1) erfüllbar? • ∀x.1 < x → x < x · x • x <y ∧y <z ∧z <x • ∀x ∀y ∀z.¬(x · (y + z) < x · y + x · z) • ∃x ∃y .(∀z.z · x < 1 ∧ y · z < 1) ∧ x < y 140