Automaten, Spiele, und Logik Woche 5 12. Mai 2014 Inhalt der heutigen Vorlesung I FO über Wörtern I Ehrenfeucht-Fraı̈ssé Spiele Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) “das Wort beginnt mit a’s” Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) “das Wort beginnt mit a’s” Gegenbeispiele: I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) “das Wort beginnt mit a’s” Gegenbeispiele: I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) “die Länge des Wortes ist gerade” Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) “das Wort beginnt mit a’s” Gegenbeispiele: I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) “die Länge des Wortes ist gerade” I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) ∧ (∀x.X (x) ⇔ Pa (x)) Die Logik erster Stufe über Wörtern Definition Eine MSO Formel ist eine Formel der Logik erster Stufe (FO) wenn sie keine zweitstufigen Quantoren benutzt. Beispiele: I ∀x∃y .Pa (x) ⇒ (y > x ∧ Pb (y )) “rechts von allen a’s liegt ein Wort das mindestens ein b enthält” I ∃x∀y .(y ≤ x) ⇒ Pa (y ) “das Wort beginnt mit a’s” Gegenbeispiele: I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) “die Länge des Wortes ist gerade” I ∃X .(∀x.X (x) ⇔ ¬X (x + 1)) ∧ X (0) ∧ ¬X (end) ∧ (∀x.X (x) ⇔ Pa (x)) (ab)∗ Sternfreie erweiterte reguläre Ausdrücke Definition Ein sternfreier erweiterter regulärer Ausdruck ist ein durch die folgende Grammatik abgeleiteter Ausdruck. e ::= ∅ | | a ∈ Σ | e + e | e ∩ e | ¬e | e.e Beispiele I Σ∗ : Sternfreie erweiterte reguläre Ausdrücke Definition Ein sternfreier erweiterter regulärer Ausdruck ist ein durch die folgende Grammatik abgeleiteter Ausdruck. e ::= ∅ | | a ∈ Σ | e + e | e ∩ e | ¬e | e.e Beispiele I Σ∗ : ¬∅ Sternfreie erweiterte reguläre Ausdrücke Definition Ein sternfreier erweiterter regulärer Ausdruck ist ein durch die folgende Grammatik abgeleiteter Ausdruck. e ::= ∅ | | a ∈ Σ | e + e | e ∩ e | ¬e | e.e Beispiele I Σ∗ : ¬∅ I alle Wörter ohne a: Sternfreie erweiterte reguläre Ausdrücke Definition Ein sternfreier erweiterter regulärer Ausdruck ist ein durch die folgende Grammatik abgeleiteter Ausdruck. e ::= ∅ | | a ∈ Σ | e + e | e ∩ e | ¬e | e.e Beispiele I Σ∗ : ¬∅ I alle Wörter ohne a: ¬(¬∅.a.¬∅) Der Satz von McNaughton Papert Sei L eine Sprache, dann sind die folgenden Aussagen äquivalent: 1. es gibt eine FO Formel ϕ, so dass L = L(ϕ) 2. es gibt einen erweiterten sternfreien regulären Ausdruck e, so dass L = L(e) Der Satz von McNaughton Papert Sei L eine Sprache, dann sind die folgenden Aussagen äquivalent: 1. es gibt eine FO Formel ϕ, so dass L = L(ϕ) 2. es gibt einen erweiterten sternfreien regulären Ausdruck e, so dass L = L(e) Beispiele FO Formel ∃x.Pa (x) ∀x.Pa (x) ∀x.Pa (x) ⇔ Pb (x + 1) wobei Σ = {a, b}. regulärer Ausdruck Σ∗ aΣ∗ a∗ (b + ).(ab)∗ sternfreier erweiterter regulärer Ausdruck ¬∅.a.¬∅ ¬(¬∅.b.¬∅) ¬(¬∅.(bb + aa).¬∅) ∩ (¬∅.b) Definierbarkeit in FO über Wörtern Bekannt: Äquivalenz zwischen FO über Wörtern und sternfreien erweiterten regulären Ausdrücken aber! Satz Nicht alle regulären Sprache sind durch einen sternfreien regulären Ausdruck definierbar. D.h.: MSO6= FO (über Wörtern). Definierbarkeit in FO über Wörtern Bekannt: Äquivalenz zwischen FO über Wörtern und sternfreien erweiterten regulären Ausdrücken aber! Satz Nicht alle regulären Sprache sind durch einen sternfreien regulären Ausdruck definierbar. D.h.: MSO6= FO (über Wörtern). Beweis: Wir werden jetzt beweisen, dass (aa)∗ nicht sternfrei (=FO) definierbar ist. Wir brauchen ein Spiel dazu. Ehrenfeucht-Fraı̈ssé Spiele k Setup des Gu,v -Spiels I 2 Spieler: Spoiler und Duplicator I Spielfeld: 2 Wörter u und v aus Σ∗ I Rundenzahl: k ∈ N k Spielregeln des Spiels Gu,v I jede Runde wird wie folgt gespielt: 1. Spieler S wählt ein Wort (u oder v ) 2. Spieler S wählt eine Position i ≤ |u| (oder i ≤ |v |) 3. Spieler D wählt eine Position j in dem jeweils anderen Wort und verbindet die Positionen durch eine Linie I I Verträglichkeit mit Pa (a ∈ Σ) und Verträglichkeit mit < beachten I Spieler D verliert, wenn er nicht wählen kann I Spieler D gewinnt, wenn festgelegte Rundenzahl k erreicht ist Beispiel abba abbracadabra Beispiel abba abbracadabra Übung: Geben Sie eine Gewinnstrategie für Spieler S an. Beispiel abba abbracadabra Übung: Geben Sie eine Gewinnstrategie für Spieler S an. Mit r oder c oder d anfangen. Beweis des Satzes Lemma 1 k gdw es eine FO Formel Spieler S hat eine Gewinnstrategie für Gu,v ϕ gibt, so dass I ϕ höchstens Quantorenrang k hat, und I u, I |= ϕ und v , I 6|= ϕ. Dies lässt sich nicht durch Induktion über k zeigen, die folgende stärkere Aussage schon: Beweis des Satzes Lemma 1 k gdw es eine FO Formel Spieler S hat eine Gewinnstrategie für Gu,v ϕ gibt, so dass I ϕ höchstens Quantorenrang k hat, und I u, I |= ϕ und v , I 6|= ϕ. Dies lässt sich nicht durch Induktion über k zeigen, die folgende stärkere Aussage schon: Lemma 1’ k−` gdw es eine FO Formel Spieler S hat eine Gewinnstrategie für Gu,v ϕ gibt, so dass I ϕ höchstens Quantorenrang k − ` hat, und I u, I [x` → 7 a` , . . . , x1 7→ a1 ] |= ϕ(x1 , . . . , x` ) und v , I [x` → 7 b` , . . . , x1 7→ b1 ] 6|= ϕ(x1 , . . . , x` ), wobei die ai (bi ) Positionen in u (v ) sind und ` ≤ k. Beweis “⇐”: per Induktion über die Anzahl k − ` der Quantoren in ϕ (o.B.d.A in Pränexform): k-`=0: dann setzt sich ϕ(x1 , . . . , x` ) nur aus boolschen Kombination atomarer Formeln zusammen, d.h.aus Pa (x) (a ∈ Σ) und x <y I nach Vorr. gilt u, I [x` 7→ a` , . . . , x1 7→ a1 ] |= ϕ(x1 , . . . , x` ) und v , I [x` 7→ b` , . . . , x1 7→ b1 ] |= ¬ϕ(x1 , . . . , x` ) y anschaulische Darstellung: steigt Spieler S nach der `-ten Runde in das Spiel ein hat er sofort gewonnen, dies folgt aus der Belegung der freien Variablen Beispiel: ab, I [y 7→ 1, x 7→ 0] |= x < y und ba, I [y 7→ 0, x 7→ 1] 6|= x < y k-` > 0: sei ϕ = ∃x`+1 Qk−` ϕ(x1 , . . . , x` ) I nach Vorr. gilt wiederrum u, I [x` 7→ a` , . . . , x1 7→ a1 ] |= ∃x`+1 Qk−` ϕ(x1 , . . . , x` ) und v , I [x` 7→ b` , . . . , x1 7→ b1 ] |= ∀x`+1 ¬Qk−` ϕ(x1 , . . . , x` ) I d.h. es gibt eine Position a`+1 ≤ |u|, so dass u, I [x`+1 7→ a`+1 , x` 7→ a` , . . . , x1 7→ a1 ] |= Qk−` ϕ(x1 , . . . , x` , x`+1 ), Spieler S wählt diese I Spieler D muss Position b`+1 ≤ |v | wählen, aber es gilt v , I [x`+1 7→ b`+1 , x` 7→ b` , . . . , x1 7→ b1 ] 6|= Qk−` ϕ(x1 , . . . , x` , x`+1 ) I dies entspricht der Ind.-vor., d.h. es gibt eine Gewinnstrategie k−` für Gu,v y aus dieser und der Wahl von S ergibt sich die Gewinnstrategie k−`+1 für Gu,v Was ist mit Allquantoren? Beispiel aaaabbb, I |= ∃x∀y .x < y ⇒ Pb (y ) und aaabba, I 6|= ∃x∀y .x < y ⇒ Pb (y ). Zum Beweis des Satzes benötigen wir noch folgendes: Lemma 2 n n Sei u = a2 und v = a2 +1 für n ≥ 1. k gdw k > n. Dann hat Spieler S eine Gewinnstrategie für Gu,v Beweis des Satzes Satz (aa)∗ ist nicht sternfrei definierbar. Beweis: Durch Widerspruch. Wir nehmen an, dass es eine FO Formel ϕ gibt, so dass L(ϕ) = (aa)∗ . Dann gilt für jedes n u = aa . . . a} |= ϕ | {z 2n und v = aa . . . a} 6|= ϕ. | {z 2n +1 Ferner sei k die Anzahl der Quantoren in ϕ. Aus Lemma 1 folgt k gewinnt. Aus Lemma 2 folgt aber, nun das Spieler S das Spiel Gu,v dass n ≤ k sein muss. Dies widerspricht aber der Vorr., dass (aa)∗ Wörter gerader Länge für jedes n beschreibt.