Automaten, Spiele, und Logik

Werbung
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
Herunterladen