Automaten, Spiele, und Logik Woche 3 28. April 2014 Inhalt der heutigen Vorlesung 1. Wörter als Struktur 2. Logik erster Stufe 3. Monadische Logik zweiter Stufe 4. Satz von Trakhtenbrot, Buchi, und Rabin Struktur Ein Vokabular ist eine Menge τ = {Ri : ai }i∈I von Relationssymbolen Ri mit Stelligkeit ai ≥ 0. Eine τ -Struktur ist ein Tupel M = (M, {RiM }i∈I ) wobei M eine Menge und RiM ⊆ M ai eine Relation zwischen ai Elemente von M ist. Beispiele I τ = {P : 1} : eine Menge M und eine 2-Partition von M I τ = {R : 2} : ein gerichteter Graph I τ = {p : 0} : eine Menge und ein Bit I eine relationale Datenbank = eine Struktur R1M , . . . , RnM = “Tabelle” Wort Struktur Σ= {a, b, c} w = ababc τ= {Pa : 1, Pb : 1, Pc : 1} Pa Pb Pa Pb Pc M = {0, . . . , |w | − 1} “Stellen” PaM = {0, 2} PbM = {1, 3} PcM = { 4 } Formeln der Logik erster Stufe Sei V1 = {x, y , z, . . . } eine Menge von (erststufigen) Variablen. Definition Eine erststufige Formel ist I entweder > (richtig), oder ⊥ (falsch) I oder ϕ ∨ ψ (ϕ oder ψ) I oder ϕ ∧ ψ (ϕ und ψ) I oder ¬ϕ (nicht ϕ) I oder ϕ ⇒ ψ (wenn ϕ dann ψ) I oder ϕ ⇔ ψ (ϕ genau dann, wenn ψ) I oder x = y (x gleich y ), I oder R(x1 , . . . , xn ) (Relation) I oder ∀x.φ (für alle x, φ) I oder ∃x.φ (existiert x, so dass φ) wobei ϕ, ψ auch schon Formeln sind. Sätze Freie Variablen Wenn eine Variable x in einer Formel ϕ vorkommt, und sie durch keinen Quantor (∀,∃) vorher1 eingeführt wurde, dann ist die Variable frei. Beispiele: x ist frei in dieser Formeln. xR x ∀y .(x R y ) ∀x.∀y .(x R y ) → x R x Man schreibt fv (ϕ) für die Menge von freien Variablen in ϕ. Sätze Freie Variablen Wenn eine Variable x in einer Formel ϕ vorkommt, und sie durch keinen Quantor (∀,∃) vorher1 eingeführt wurde, dann ist die Variable frei. Beispiele: x ist frei in dieser Formeln. xR x ∀y .(x R y ) ∀x.∀y .(x R y ) → x R x Man schreibt fv (ϕ) für die Menge von freien Variablen in ϕ. Sätze Ein Satz ist eine Formel ohne freie Variablen. Beispiele: ∀x.(x R x) 1 ∀x, y .(x R y ) das heißt: höher in dem Syntaxbaum. ∀x. ∀y .(x R y ) → x R x Ein Satz drückt eine Eigenschaft aus Beispiel: die Formel ∀x.∃y .E (x, y ) drückt die Eigenschaft aus: “Für jeden Knoten x des gerichteten Graphen existiert ein Nachfolger y von x” Eine Struktur M erfüllt, oder nicht, einen Satz. Wenn M den Satz ϕ erfüllt, dann sagt mann auch, dass M ϕ modelliert. Man schreibt dann M |= ϕ, und |= ist die Modellbeziehung. Beispiel ϕ , ∀x.∃y .(x R y ) G1 G2 G3 Dann gilt G1 |= ϕ, G2 6|= ϕ, G3 6|= ϕ, und G4 |= ϕ. G4 Beispiel ϕ , ∀x.∃y .(x R y ) G1 G2 G3 G4 Dann gilt G1 |= ϕ, G2 6|= ϕ, G3 6|= ϕ, und G4 |= ϕ. Übung: Geben Sie eine Formel an, die ausdrückt, dass es mindestens 3 Knoten gibt. Beispiel ϕ , ∀x.∃y .(x R y ) G1 G2 G3 G4 Dann gilt G1 |= ϕ, G2 6|= ϕ, G3 6|= ϕ, und G4 |= ϕ. Übung: Geben Sie eine Formel an, die ausdrückt, dass es mindestens 3 Knoten gibt. ∃x1 , x2 , x3 . x1 6= x2 ∧ x2 6= x3 ∧ x3 6= x1 Allgemeingültigkeit, Folgerung, und Äquivalenz Allgemeingültigkeit Ein Satz ϕ ist allgemeingültig, |= ϕ, wenn M |= ϕ für alle Strukturen M. Das heißt ϕ ist allgemeingültig genau dann, wenn . . . . . . erfüllbar ist. Allgemeingültigkeit, Folgerung, und Äquivalenz Allgemeingültigkeit Ein Satz ϕ ist allgemeingültig, |= ϕ, wenn M |= ϕ für alle Strukturen M. Das heißt ϕ ist allgemeingültig genau dann, wenn ¬ϕ nicht erfüllbar ist. Allgemeingültigkeit, Folgerung, und Äquivalenz Allgemeingültigkeit Ein Satz ϕ ist allgemeingültig, |= ϕ, wenn M |= ϕ für alle Strukturen M. Das heißt ϕ ist allgemeingültig genau dann, wenn ¬ϕ nicht erfüllbar ist. Folgerung und Äquivalenz Ein Satz ψ ist eine Folgerung aus einer Menge Ax = {ϕi }i∈I von Sätzen Ax |= ψ, wenn für alle Strukturen M gilt, wenn M |= ϕI für alle i ∈ I , dann M |= ψ. Zwei Sätze ϕ, ψ sind äquivalent, wenn ϕ |= ψ und ψ |= ϕ Übung: Geben Sie Beispiele an. Allgemeingüligkeit |= ∀x.x = x Folgerung Allgemeingültigkeit, Folgerung, und Äquivalenz Allgemeingültigkeit Ein Satz ϕ ist allgemeingültig, |= ϕ, wenn M |= ϕ für alle Strukturen M. Das heißt ϕ ist allgemeingültig genau dann, wenn ¬ϕ nicht erfüllbar ist. Folgerung und Äquivalenz Ein Satz ψ ist eine Folgerung aus einer Menge Ax = {ϕi }i∈I von Sätzen Ax |= ψ, wenn für alle Strukturen M gilt, wenn M |= ϕI für alle i ∈ I , dann M |= ψ. Zwei Sätze ϕ, ψ sind äquivalent, wenn ϕ |= ψ und ψ |= ϕ Übung: Geben Sie Beispiele an. Allgemeingüligkeit Folgerung |= ∀x.x = x ∃x.x = x , ∀x.(x R x) |= ∃x.x R x Interpretation Definition Eine Interpretation der Formel ϕ in der Struktur M ist eine Funktion I : fv (ϕ) → M Beispiel: ϕ , E (x, y ), und x y V = {v0 , v1 , v2 , v3 } E = {(v0 , v1 ), (v1 , v2 ), (v2 , v3 ), (v3 , v0 )} I(x) = v0 I(y ) = v1 Was heißt “zweiter Stufe”? In funktionaler Programmierung ist eine Funktion zweitstufig, wenn sie eine (erststufige) Funktion als Parameter nimmt. z.B in ML: let iter zwei(f,x) = f(f(x)) Was heißt “zweiter Stufe”? In funktionaler Programmierung ist eine Funktion zweitstufig, wenn sie eine (erststufige) Funktion als Parameter nimmt. z.B in ML: let iter zwei(f,x) = f(f(x)) In der Logik zweiter Stufe können Formeln über erststufige Eigenschaften quantifizieren werden. Man hätte entscheiden können, zweitstufige Formeln so zu schreiben: ∀ϕ(., .).∃x.ϕ(x, x) oder ∀ϕ : M → M → Prop.∃x : M.ϕ(x, x) Aber man schreibt ∀X .∃x.X (x, x). Was heißt “monadisch”? monadisch heißt, dass nur über Eigenschaften mit einem erststufigen Parameter quantifiziert wird. Monadisch ∀x.∃X .∀y .X (y ) ⇔ x = y Nicht monadisch ∀x.∃X .∀y .X (x, y ) ⇔ x = y Abkürzung: MSO. MSO über Wörter: Syntax ϕ, ψ ::= | | | | | | | x <y Pa (x) X (x) φ∨ψ ¬φ ∃x.φ ∃X .φ x steht links von y a steht an der Stelle x X gilt an der Stelle x φ oder ψ φ gilt nicht es gibt eine Stelle x so dass φ es gibt eine Stellemenge X so dass φ MSO über Wörter: Modelbeziehung I I w : ein endliches Wort w0 w1 . . . wn−1 I : eine Interpretation I I I w, I w, I w, I w, I w, I w, I w, I w, I |= |= |= |= |= |= |= |= I(x) ∈ {0, . . . , |w | − 1} I(X ) ⊆ {0, . . . , |w | − 1} I 0 = I[x 7→ i] : I 0 (x) = i, und sonnst I 0 (y ) = I(y ) x =y x <y Pa (x) X (x) ϕ∨ψ ¬ϕ ∃x.ϕ ∃X .ϕ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ ⇔ I(x) = I(y ) I(x) < I(y ) wI(x) = a I(x) ∈ I(X ) w , I |= ϕ oder w , I |= ψ w , I 6|= ϕ es gibt i ∈ {0, . . . , |w | − 1} so dass w , I[x 7→ i] |= ϕ es gibt S ⊆ {0, . . . , |w | − 1} s. d. w , I[X 7→ S] |= ϕ Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) ¬ϕ ∨ ψ Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) ¬ϕ ∨ ψ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) ¬ϕ ∨ ψ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ¬∃x.¬ϕ Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) ¬ϕ ∨ ψ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ¬∃x.¬ϕ ∀x.x = x Modellbeziehung: formale Definition (2) Wir haben nur M, I |= ϕ definiert, wenn ϕ nichts anderes als =, R, ∨, ¬, und ∃ benutzt. Die Definition erweitert sich auf alle Formeln durch eine Herleitung der anderen Junktoren aus den bereits Interpretierten. Zum Beispiel, ϕ ∧ ψ lässt sich als ¬ (¬ϕ) ∨ (¬ψ) definieren. Übung: Definieren Sie alle anderen Junktoren auf die gleiche Art und Weise. ϕ∧ψ ϕ⇒ψ ϕ⇔ψ ∀x.ϕ > ⊥ , , , , , , ¬(¬ϕ ∨ ¬ψ) ¬ϕ ∨ ψ (ϕ ∧ ψ) ∨ (¬ϕ ∧ ¬ψ) ¬∃x.¬ϕ ∀x.x = x ∃x.x 6= x Übungen 1. Welche diese Formeln sind erfüllbar? I I I I I I ∃x.Pa (x) ∃x.Pa (x) ∧ Pb (x) ∃X , Y .∃x.X (x) ∧ Y (x) ∃x.∀y .x < y ∨ x = y ∀x.x 6= x ∀X .∃x.X (x) 2. Zeigen Sie, dass w , I |= x = y gdw w , I |= ∀X .X (x) ⇔ X (y ). Entscheidbarkeit Satz von Büchi-Elgot-Trakhtenbrot Das folgende Problem ist entscheidbar: I gegeben ϕ in MSO über Wörter I entscheiden, ob ϕ erfüllbar ist Konsequenzen: Die folgende Probleme sind auch entscheidbar. I Allgemeingültigkeit I Folgerung I Äquivalenz Übung: Beweisen Sie das. Rund um dieses Thema Satz von Rabin Das folgende Problem ist entscheidbar: I gegeben ϕ in MSO über Bäume I entscheiden, ob ϕ erfüllbar ist Satz von Trakhtenbrot Das folgende Problem ist nicht entscheidbar: I gegeben ϕ eine erstufige Formel über Graphen I entscheiden, ob ϕ erfüllbar ist