Lindenmayer-Systeme Einleitung - Fachgebiet Theoretische Informatik
Transcrição
Lindenmayer-Systeme Einleitung - Fachgebiet Theoretische Informatik
Einleitung Lindenmayer-Systeme Prof. Dr. F. Otto Fachbereich Mathematik/Informatik Universität Kassel D-34109 Kassel Aristid Lindenmayer (1968): Mathematical models for cellular interaction in development, I and II; J. Theoret. Biol. 18, 280-315. Modellierung der Entwicklung einfacher Organismen ◮ Parallelismus im Entwicklungsprozess ◮ Beschreibung eines dynamischen Prozesses L-Systeme Vorlesung: Montag 15 - 17 Uhr in Raum 2420 Dienstag 13 - 14 Uhr in Raum 2420 Übung: Freitag Beginn: Montag, den 31.10.2005 11 - 12 Uhr in Raum 2420 (H. Stamer) Beispiel 1 Ein mathematisches Modell für „Callithamnion roseum“ Alphabet: Σ = {1, 2, 3, 4, 5, 6, 7, 8, 9, [, ]}, Axiom: w0 = 1 Regeln: 1 → 23, 2 → 2, 3 → 24, 4 → 25, 5 → 65, 6 → 7, 7 → 8, 8 → 9[3], 9 → 9, [→ [, ] →] Anfang der Entwicklungsfolge: w1 = 2 3 w2 = 2 2 4 w3 = 2 2 2 5 w4 = 2 2 2 6 5 w5 = 2 2 2 7 6 5 w6 = 2 2 2 8 7 6 5 w7 = 2 2 2 9[3] 8 7 6 5 w8 = 2 2 2 9[24] 9[3] 8 7 6 5 w9 = 2 2 2 9[225] 9[24] 9[3] 8 7 6 5 w10 = 2 2 2 9[2265] 9[225] 9[24] 9[3] 8 7 6 5 Hier: eindimensionale L-Systeme zur Erzeugung von Wörtern – Sprachen – Folgen Graphische Darstellung: w0 : w6 : w7 : w8 : w9 : w10 : Anwendung von L-Systemen: Literatur ◮ Modellierung biologischer Entwicklungsprozesse G. Rozenberg, A. Salomaa; The Mathematical Theory of L Systems. Academic Press, 1980. ◮ Modellierung von Phänomenen künstlichen Lebens (Artificial Life) R. Rozenberg, A. Salomaa; The Book of L. Springer-Verlag, 1986. ◮ Computer Graphik G. Rozenberg, A. Salomaa; Lindenmayer Systems. Springer-Verlag, 1992. ◮ Modellierung massiv paralleler Prozesse D. Wätjen; Automatentheorie und Formale Sprachen. Vorlesungsskript. Institut für Informatik, TU Braunschweig, 1999. Kapitel 1. L-Systeme 1.1. Einige Begriffe aus der Theorie der Formalen Sprachen Wörter 1.1. Einige Begriffe aus der Theorie der Formalen Sprachen 1.2. 0L- und D0L-Systeme 1.3. E0L- und ET0L-Systeme 1.4. Kombinatorische Eigenschaften von ET0L-Sprachen 1.5. Inklusionsbeziehungen in der Familie der ET0L-Sprachen 1.6. Kettencode-Bildsprachen: Eine Anwendung der L-Systeme Σ = {a1 , . . . , an } : Alphabet Σn : Wörter der Länge n über Σ (n ≥ 1) ε Σ+ = : leeres Wort S Σn : nicht-leere Wörter über Σ n≥1 Σ∗ = {ε} ∪ Σ+ : Wörter über Σ ◦ : Σ∗ × Σ∗ → Σ∗ : (u, v) 7→ uv Verkettung (Σ∗ , ◦, ε) ist das freie Monoid über Σ Sprachen R : Σ∗ → Σ∗ : (ai1 . . . ain )R Eine Sprache über Σ ist eine Teilmenge L ⊆ Σ∗ . := ain . . . ai1 Spiegelungsfunktion w = xyz : x Präfix, y Infix, z Suffix von w |L| |.| : Σ∗ → N0 : Längenfunktion L1 · L2 := { uv | u ∈ L1 , v ∈ L2 } Produkt von L1 und L2 |.|ai : Σ∗ → N0 : Anzahl der Vorkommen von ai alph : Σ∗ → 2Σ : alph(w ) := { a ∈ Σ | |w |a > 0 } : Mächtigkeit von L L0 := {ε} Ln+1 := Ln · L (n ≥ 1) S n := L L+ Plus-Abschluss von L n≥1 L∗ := S Ln Stern-Abschluss von L n≥0 LR := { w R | w ∈ L } Spiegelsprache zu L Morphismen Seien Σ und ∆ Alphabete. Eine Abbildung h : Σ∗ → ∆∗ ist ein Morphismus, wenn folgende Bedingung gilt: ∀u, v ∈ Σ∗ : h(uv) = h(u)h(v). Beispiel 3 Σ = {a, b, c} = ∆ h : a 7→ abc 2 , b 7→ bc 2 , c 7→ c h(abc 2 ) = h(a)h(b)h(c)h(c) = abc 2 bc 2 cc = abc 2 bc 4 Lemma 2 h ist nicht-löschend. Ist h ein Morphismus, so gilt h(ε) = ε. Für Γ ⊆ Σ ist ΠΓ : Σ∗ → Γ∗ der Projektionsmorphismus: h wird durch die Zuordnung a 7→ h(a) (a ∈ Σ) eindeutig festgelegt. a 7→ a (a ∈ Γ) a 7→ ε (a ∈ Σ r Γ). h ist nicht-löschend, wenn ε 6∈ h(Σ) ist. h ist eine Kodierung, wenn h(Σ) ⊆ ∆ gilt. h ist eine schwache Kodierung, wenn h(Σ) ⊆ ∆ ∪ {ε} gilt. Für L ⊆ ∆∗ ist h−1 (L) = { u ∈ Σ∗ | h(u) ∈ L }. ΠΓ ist eine schwache Kodierung. Wortersetzungssysteme S = {(ℓ1 , r1 ), . . . , (ℓn , rn )} ⊆ Σ∗ × Σ∗ : Wortersetzungssystem über Σ Substitutionen ∗ Seien Σ und ∆ Alphabete. Eine Abbildung σ : Σ∗ → 2∆ ist eine Substitution, wenn sie folgende Bedingungen erfüllt: ∀u, v ∈ Σ∗ : σ(uv) = σ(u) · σ(v) und σ(ε) = {ε}. Für L ⊆ Σ∗ ist σ(L) := { u ∈ ∆∗ | ∃w ∈ L : u ∈ σ(w ) }. σ ist eine endliche Substitution, falls σ(a) endlich ist f.a. a ∈ Σ. σ ist nicht-löschend, wenn ε 6∈ σ(a) f.a. a ∈ Σ. Für L ⊆ ∆∗ ist σ −1 (L) := { w ∈ Σ∗ | σ(w ) ∩ L 6= ∅ }. Beachte: σ −1 : ∆∗ → ∗ 2Σ ist im allgemeinen keine Substitution. (ℓi , ri ) : Ersetzungsregel, Produktion Schreibweise: ℓi → ri Ein-Schritt-Ableitungsrelation →S auf Σ∗ : u →S v gdw. ∃(ℓ → r ) ∈ S ∃x, y ∈ Σ∗ : u = xℓy und v = xry. Ableitungsrelation →∗S auf Σ∗ : u →∗S v gdw. ∃n ≥ 0 ∃u0 , u1 , . . . , un ∈ Σ∗ : u = u0 , un = v und ui →S ui+1 für alle i = 0, . . . , n − 1. Lemma 4 (a) →∗S ist die kleinste reflexive und transitive Relation auf Σ∗ , die →S enthält. (b) →∗S ist mit der Verkettung von Wörtern verträglich. Chomsky Grammatiken Eine Chomsky-Grammatik ist ein Viertupel G = (N, T , S, P): – N endliches Alphabet von Nichtterminalzeichen, – T endliches Alphabet von Terminalzeichen mit N ∩ T = ∅, – S ∈ N Startsymbol, – P ⊆ (N ∪ T )∗ × (N ∪ T )∗ ein endliches WES, so dass für alle (ℓ → r ) ∈ P folgendes gilt: ΠN (ℓ) 6= ε. Sei A ∈ N: L̂(G, A) := { α ∈ (N ∪ T )∗ | A →∗P α } : A-Satzformen von G L(G, A) := { w ∈ T ∗ | A →∗P w } : A-Wörter von G L̂G := L̂(G, S) : Menge der Satzformen von G LG := L(G, S) : von G erzeugte Sprache Chomsky Hierarchie (ℓ → r ) ist links-regulär, wenn ℓ ∈ N und r ∈ T ∗ ∪ N · T ∗ gilt. (ℓ → r ) ist rechts-regulär, wenn ℓ ∈ N und r ∈ T ∗ ∪ T ∗ · N gilt. (ℓ → r ) ist linear, wenn ℓ ∈ N und r ∈ T ∗ ∪ T ∗ · N · T ∗ gilt. (ℓ → r ) ist kontext-frei, wenn ℓ ∈ N gilt. (ℓ → r ) ist monoton, wenn |ℓ| ≤ |r | gilt. Eine Sprache L heißt regulär, wenn Sie von einer links-regulären (rechts-regulären) Grammatik erzeugt werden kann. Eine Sprache L heißt linear (kontext-frei, kontext-sensitiv), wenn sie von einer linearen (kontext-freien, monotonen) Grammatik erzeugt werden kann. Eine Sprache L heißt rekursiv-aufzählbar (r.e.), wenn sie von einer Grammatik erzeugt werden kann. Schreibweise: REG, LIN, CFL, CSL, RE Parikh-Abbildung Satz 5 FIN ( REG ( LIN ( CFL ( CSL ( RE. Beispiel 6 { an | n ≥ 1 } ∈ REG r FIN, { an b n | n ≥ 0 } ∈ LIN r REG, { an b n am b m | n, m ≥ 0 } ∈ CFL r LIN, Sei Σ = {a1 , . . . , an }. Dann ist ψ : Σ∗ → Nn0 w 7→ (|w |a1 , |w |a2 , . . . , |w |an ) die Parikh-Abbildung zu Σ, und ψ(w ) ist der Parikh-Vektor zu w. K ⊆ Nn0 ist linear, wenn es Elemente c, b1 , . . . , br ∈ Nn0 gibt mit { an b n an | n ≥ 0 } ∈ CSL r CFL, K ={c+ r X mi · bi | m1 , . . . , mr ∈ N0 }. i=1 HALTEPROBLEM ∈ RE r CSL. K ⊆ Nn0 ist semi-linear, wenn K eine endliche Vereinigung von linearen Mengen ist. Das Postsche Korrespondenzproblem (PCP) Satz 7 Ist L ⊆ Σ∗ kontext-frei, dann ist ψ(L) eine semi-lineare Menge. Eingabe: (u1 , v1 ), . . . , (um , vm ) ∈ Σ∗ × Σ∗ . Frage: Beispiel 8 L1 := { an b n am b m | n, m ≥ 0 }: Gibt es i1 , . . . , in ∈ {1, . . . , m} (n ≥ 1) mit ui1 ui2 . . . u1n = vi1 vi2 . . . vin ? ψ(L1 ) = { n + m, n + m) | n, m ≥ 0 } = { (k, k) | k ≥ 0 } ist linear: Beispiel 9 (ab, a), (bcc, bbc), (ba, cb), (c, babc) wähle c = (0, 0) und b1 = (1, 1). Lösung: 1, 2, 3, 1, 1, 4 L2 := { an b n an | n ≥ 0 }: denn: a b |b c c |b a |a b |a b |c a |b b c |c b |a |a |b a b c ψ(L2 ) = { (2n, n) | n ≥ 0 } ist linear: wähle c = (0, 0) und b1 = (2, 1). Aber L2 ist nicht kontext-frei. Satz 10 Das PCP ist im allgemeinen unentscheidbar. 1.2. 0L- und D0L-Systeme Definition 11 Definition 13 Ein 0L-System ist ein Tripel G = (Σ, h, w0 ) mit: – Σ ist ein endliches Alphabet Eine Sprache L ist eine 0L-Sprache, wenn es ein 0L-System G gibt mit L = L(G). Mit L(0L) bezeichnen wir die Klasse aller 0L-Sprachen. ∗ – h : Σ → 2Σ ist eine endliche Substitution – w0 ∈ Σ∗ (Axiom von G) Definition 14 Die von G erzeugte Sprache ist L(G) := S hi (w 0 ). Ein 0L-System G = (Σ, h, w0 ) ist ein D0L-System, wenn h ein Morphismus h : Σ∗ → Σ∗ ist. i≥0 Beispiel 12 (i) G1 = ({a}, h1 , a2 ) mit h1 (a) := Beispiel 15 G3 := ({a, b}, h, ab) mit h(a) := (ab)2 , h(b) := ε ist ein n D0L-System mit L(G3 ) = { (ab)2 | n ≥ 0 }: ab → (ab)2 → (ab)4 → (ab)8 → . . .. {a, a2 }. Dann gilt L(G1 ) = { an | n ≥ 2 }. (ii) G2 = ({a}, h2 , a) mit h2 (a) := {ε, a2 , a5 }. Dann gilt L(G2 ) = { an | n ≥ 0, n 6= 3 }. Definition 16 Sei G = (Σ, h, w0 ) ein D0L-System. Mit S(G) bezeichnen wir die unendliche Folge (w0 , h(w0 ), h2 (w0 ), h3 (w0 ), . . .). Sei G4 := ({a, b}, h4 , a) mit h4 (a) := {a, b}2 =: h(b). Lemma 17 Lemma 18 L(G1 ) = { an | n ≥ 2 } ist keine D0L-Sprache. L(G4 ) = { w ∈ {a, b}∗ | |w | = 2n (n ≥ 1) } ∪ {a} 6∈ L(D0L). Beweis Beweis Indirekt: Sei G = ({a}, h, w0 ) ein D0L-System für L(G1 ), seien w0 := ak (k ≥ 2) und h(a) := am (m ≥ 0). Übung. Ist m = 0, so ist h(w0 ) = ε, d.h. L(G) = {ak , ε}. Widerspruch! Ist m = 1, so ist h(w0 ) = w0 , d.h. L(G) = {ak }. Widerspruch! 2 i Also ist m ≥ 2, d.h. L(G) = {ak , ak ·m , ak ·m , . . . , ak ·m , . . .}. Aus k ≥ 2 folgt dann L(G) 6= L(G1 ). 2 2 Definition 19 Sei G = (Σ, h, w0 ) ein 0L-System, w ∈ Σ∗ : L0 (G, w ) := {w }, Definition 21 Ein 0L-System G = (Σ, h, w0 ) heißt propagierend oder ein P0L-System, wenn ε 6∈ h(a) für alle a ∈ Σ gilt. Analog: PD0L-System. Li (G, w ) := { v ∈ Σ∗ | v ∈ hi (w ) } für alle i ∈ N+ , Li (G) := Li (G, w0 ) für alle i ∈ N. Definition 20 Beispiel 22 Sei G = (Σ, h, w0 ) ein 0L-System. (a) PD0L-System G4 = ({a}, h4 , a) mit h4 (a) := a2 . n Dann ist L(G4 ) = { a2 | n ≥ 0 } 6∈ CFL. (a) Direkte Ableitung: w1 ⇒G w2 , falls w2 ∈ L1 (G, w1 ). n (b) Echte Ableitung: w1 ⇒+ G w2 , falls w2 ∈ L (G, w1 ) für ein n ≥ 1. (c) Ableitung: n ≥ 0. (b) PD0L-System G5 = ({a, b, c}, h5 , a) mit h5 (a) := abcc, h5 (b) := bcc, h5 (c) := c. w1 ⇒∗G w2 , falls w2 ∈ Ln (G, w1 ) für ein Also: L(G) = { w ∈ Σ∗ | w0 ⇒∗G w }. Beh. Für die Folge S(G5 ) = (a, h5 (a), h52 (a), . . .) gilt |wi | = i 2 . Beispiel 23 PD0L-System G6 = ({a, b, c, d }, h6 , a) mit h6 (a) := abcd 5 , h6 (b) := bcd 5 , h6 (c) := cd 6 , h6 (d ) := d . Beweis z.z.: |wi |a = 1, |wi |b = i − 1 und |wi |c = i 2 − i. Induktion über i: Beh. i = 1: w1 = a. i → i + 1: |wi |a = 1, |wi |b = i − 1, |wi |c = i 2 − i Für die Folge S(G6 ) gilt |wi | = i 3 . Beweis ⇒ |wi+1 |a = 1, |wi+1 |b = 1 + |wi |b = i, |wi+1 |c = 2 + 2 · |wi |b + |wi |c Übung. = 2 + 2i − 2 + i 2 − i = i 2 + i = (i + 1)2 − (i + 1). 2 2 Das D0L-System G7 = ({a, b}, h7 , ab 2 a) mit h7 (a) := ab 2a und n h7 (b) := ε erzeugt die Sprache L(G7 ) = { (ab 2 a)2 | n ≥ 0 }. Lemma 25 Satz 24 L(G7 ) 6∈ L(PD0L). Sei G = (Σ, h, w0 ) ein 0L-System. (a) Für n ∈ N und w1 , w2 , v1 , v2 ∈ Σ∗ folgt w1 w2 ⇒n v1 v2 aus w1 ⇒n v1 und w2 ⇒n v2 . ⇒n Σ∗ , (b) Gilt w1 w2 z mit n ∈ N0 und w1 , w2 , z ∈ so gibt es v1 , v2 ∈ Σ∗ mit v1 v2 = z, w1 ⇒n v1 und w2 ⇒n v2 . (c) Aus w ⇒n v und v ⇒m z folgt w ⇒n+m z. Beweis Sei G = ({a, b}, h, w0 ) ein PD0L-System für L(G7 ). Dann ist w0 = ab 2 a und h(w0 ) = h(a)h(b)h(b)h(a) = w1 = ab 2 a2 b 2 a, d.h. h(a) ist ein Präfix und ein Suffix von w1 . Also: h(a) ∈ {a, ab 2 a}. Ist h(a) = a, so ist h(b)h(b) = b 2 a2 b 2 . Widerspruch! Ist h(a) = ab 2 a, so ist h(b)h(b) = ε. Widerspruch! 2 Beweis von Satz 26 Satz 26 Die Familie L(0L) ist eine Anti-AFL, d.h. L(0L) ist unter keiner der folgenden Operationen abgeschlossen: Beh. 1 L(0L) ist nicht abgeschlossen unter Vereinigung. Beweis ◮ Durchschnitt mit regulären Sprachen, {a}, {a3 } ∈ L(0L). ◮ Vereinigung, Angenommen {a, a3 } = L(G) für ein 0L-System G = ({a}, h, w0 ). ◮ Konkatenation, ◮ Plus-Abschluss, ◮ nicht-löschende Morphismen, ◮ inverse Morphismen. (i) w0 = a: Dann folgt h(a) ∋ a3 ⇒G a9 6∈ L(G). Widerspruch! (ii) w0 = a3 : Dann muss a3 ⇒G a gelten, d.h. a, ε ∈ h(a). Damit folgt a3 ⇒G a2 6∈ L(G). Widerspruch! 2 Beh. 2 L(0L) ist nicht abgeschlossen unter Plus-Abschluss. z.z.: Beweis n L = {a2 } ∪ { b 2 | n ≥ 2 } ∈ L(0L) (Übung) Angenommen L+ = L(G) für ein 0L-System G = ({a, b}, h, w0 ). a2 ∈ L+ , b 4 ∈ L+ , ε 6∈ L+ : h ist nicht-löschend. L+ ∩ {a, b}≤6 = {a2 , a4 , b 4 , a6 , a2 b 4 , b 4 a2 } : b 6∈ h(a) a2 : b i ∈ h(a) für ein i ∈ {2, 3} ⇒G b4 (α) a2 ⇒G a2 b 4 : a2 b j ∈ h(a) und b 4−j ∈ h(a) für ein j ∈ {1, 2}. Dann: a2 ⇒G a2 b j a2 b j 6∈ L+ . Widerspruch! (β) a4 ⇒G a2 b 4 : a2 b ∈ h(a) und b ∈ h(a). Widerspruch! (γ) b 4 ⇒G a2 b 4 : aw1 , w2 , w3 , w4 b ∈ h(b) mit |w1 |, |w3 | ≥ 1 und w1 w2 w3 w4 = ab 3 . h nicht-löschend : w0 = a2 b 2 6∈ L+ a2 b 4 6∈ L(G). Damit: b 4 ⇒G w2 w3 aw1 w4 b =: z ∈ L(G) mit |z| = 6 und z 6∈ {a6 , a2 b 4 , b 4 a2 }. Widerspuch! (δ) a6 ⇒G a2 b 4 oder b 4 a2 ⇒G a2 b 4 : b ∈ h(a). Widerspruch! ab i , a3 b i ∈ 6 L+ : a 6∈ h(a) und a3 6∈ h(a) Wäre a2 ∈ h(a), so folgte a2 ⇒G a2 b j 6∈ L+ . Widerspruch! Also ist L+ 6= L(G). 2 Also: ε, a, a2 , a3 , b 6∈ h(a) und ε 6∈ h(b). Beh. 4 L(0L) ist nicht abgeschlossen unter nicht-löschenden Morphismen. Beh. 3 Beweis L(0L) ist nicht abgeschlossen unter Durchschnitt mit regulären Sprachen. {ε, a, a2 } ∈ L(0L). Beweis n { a2 | n ≥ 0 } ∈ L(0L) (Übung) {a∗ } Sei ϕ : → definiert durch ϕ(a) := a5 . Dann: ϕ({ε, a, a2 }) = {ε, a5 , a10 }. Angenommen {ε, a5 , a10 } = L(G) für ein 0L-System G = ({a}, h, w0 ). (Beispiel 22(a)), {a, a4 } ∈ REG n { a2 | n ≥ 0 } ∩ {a, a4 } = {a, a4 } 6∈ L(0L). {a}∗ 2 (i) w0 = a5 : a5 ⇒G a10 impliziert ai ∈ h(a) für ein i ≥ 2. Dann: a10 ⇒G a10·i 6∈ {ε, a5 , a10 }. Widerspruch! (ii) w0 = a10 : a10 ⇒G a5 impliziert aj ∈ h(a) für ein j ≥ 1. Aus a10 ⇒G a10·j folgt j = 1. Wegen ε ∈ h(a) folgt a10 ⇒G a 6∈ {ε, a5 , a10 }. Widerspruch! 2 Beh. 5 Satz 27 L(0L) ist nicht abgeschlossen unter inversen Morphismen. FIN und L(0L) sind bzgl. Inklusion unvergleichbar. Beweis Beweis {a} ∈ L(0L). Sei ϕ : {a}∗ → {a}∗ definiert durch ϕ(a) := a2 . { a2 | n ≥ 0 } ∈ L(0L) r FIN. Dann gilt ϕ−1 ({a}) ={ ai | ϕ(ai ) = a} = ∅ 6∈ L(0L). n {a, a3 } ∈ FIN r L(0L). 2 2 Satz 28 Beh. 6 REG r FIN und L(0L) sind bzgl. Inklusion unvergleichbar. L(0L) ist nicht abgeschlossen unter Konkatenation. Beweis n Beweis { a2 | n ≥ 0} ∈ L(0L) r REG. {a}, {ε, a2 } ∈ L(0L), aber {a} · {ε, a2 } = {a, a3 } 6∈ L(0L) (Beweis von Beh. 1). {a, a3 } ∪ { b n | n ≥ 4 } ∈ REG r FIN, aber 2 {a, a3 } ∪ { b n | n ≥ 4 } 6∈ L(0L). (Übung) 2 Satz 30 CFL r REG und L(0L) sind bzgl. Inklusion unvergleichbar. Sei G = (Σ, h, w0 ) ein 0L-System mit a ∈ h(a) für alle a ∈ Σ. Dann ist L(G) kontext-frei. Beweis Beweis Satz 29 n { a2 | n ≥ 0 } ∈ L(0L) r CFL. Sei L := { an b n | n ≥ 1 } ∈ CFL r REG. Angenommen L = L(G) für ein 0L-System G = ({a, b}, h, w0 ). Wegen L ⊆ a+ · b + folgen h(a) ⊆ a+ und h(b) ⊆ b + . Sind aν ∈ h(a) und b µ ∈ h(b), so sind ν = µ, d.h. h(a) = {aν } und h(b) = {b ν }. n n Dann: w0 = ab und L(G) = { aν b ν | n ≥ 0 } 6= L. Widerspruch! Seien N := { Va | a ∈ Σ } ∪ {S}, T := Σ, P := { Va → Vb1 . . . Vbm | b1 . . . bm ∈ h(a), a ∈ Σ } ∪{ S → Va1 . . . Van | w0 = a1 . . . an } ∪{ Va → a | a ∈ Σ }. Ferner sei ϕ : (N ∪ T )∗ → Σ∗ definiert ist durch a 7→ a (a ∈ Σ) und Va 7→ a (a ∈ Σ). 2 Für die kontext-freie Grammatik G′ := (N, T , S, P) gilt dann: ∗ gdw. ϕ(w ) ∈ L(G). S →+ P w ∈ (N ∪ T ) Also ist LG′ = L(G). 2 Satz 31 Für jede kontext-freie Sprache L ⊆ T ∗ gibt es ein 0L-System G über einem Alphabet ∆ ⊇ T mit L = L(G) ∩ T ∗ . (a) Eine Indexgrammatik wird durch ein 5-Tupel G = (N, T , I, S, P) beschrieben: Beweis Sei L = LG′ für eine kontext-freie Grammatik G′ = (N, T , S, P). ∗ Seien ∆ := N ∪ T , w0 := S und h : (N ∪ T )∗ → 2(N∪T ) definiert durch: a 7→ a (a ∈ T ), X 7→ {X } ∪ { r | (X → r ) ∈ P } – P ⊆ N × (NI ∗ ∪ T )∗ Produktionen. (X ∈ N). Zu jedem f ∈ I gibt es eine endliche Menge Pf von Indexregeln der Form (A → α) mit A ∈ N und α ∈ (N ∪ T )∗ . gdw. S →∗P α gdw. α ∈ L(G). Also: L = LG′ = L̂G′ ∩ T ∗ = L(G) ∩ T ∗ . – N Nichtterminalzeichen, – T Terminalzeichen, – I Indexsymbole, – S ∈ N Startsymbol, Setze G = (∆, h, w0 ). Dann gilt für alle α ∈ ∆∗ : α ∈ L̂G′ Definition 32 2 (b) Satzformen: (NI ∗ ∪ T )∗ indiziertes Nichtterminal: A τ mit A ∈ N und τ ∈ I ∗ α →G β falls α = γAτ δ mit γ, δ ∈ (NI ∗ ∪ T )∗ , A ∈ N, τ ∈ I ∗ und β = γωδ mit (i) (A → X1 η1 X2 η2 . . . Xk ηk ) ∈ P und ω = X1 Θ1 X2 Θ2 . . . Xk Θk , wobei ηi τ , falls Xi ∈ N, Xi ∈ N ∪ T und Θi := ε , falls Xi ∈ T , ′ ′ ∗ (ii) τ = f τ mit f ∈ I und τ ∈ I , (A → X1 X2 . . . Xk ) ∈ Pf und ω = X1 Θ1 X2 Θ2 . . . Xk Θk , wobei ′ τ , falls Xi ∈ N, Xi ∈ N ∪ T und Θi := ε , falls Xi ∈ T . Beispiel 33 G = ({S, A, B}, {a, b, c}, {f , g}, S, P) mit P := {S → aAfc, A → aAgc, A → B} ∪ Pf ∪ Pg , Pf := {B → b} und Pg := {B → bB}. Ableitungen: S G / aAfc / aaAgfcc / aaaAggfccc aBfc aaBgfcc aaaBggfccc P g aabBfcc Pg aaabBgfccc Pf aabbcc g aaabbBfccc f abc P / ... P Pf aaabbbccc Also: LG = { an b n c n | n ≥ 1 } ∈ IL r CFL. 2 Satz 35 Satz 34 L(0L) ⊆ IL, d.h., jede 0L-Sprache ist eine Indexsprache. (a) CFL ( IL ( CSL. Beweis (b) IL ist mit der Sprachklasse GCSL bezüglich Inklusion unvergleichbar. Sei G = (Σ, h, w0 ) ein 0L-System mit w0 = a1 . . . an . (c) IL ist eine volle AFL, d.h., Setze N := { Va | a ∈ Σ } ∪ {S, S ′ }, T := Σ, IL ist abgeschlossen unter folgenden Operationen: ◮ ◮ ◮ ◮ ◮ ◮ Durchschnitt mit regulären Sprachen, Vereinigung, Konkatenation, Stern-Abschluss, Morphismen, inversen Morphismen. und I := {f , g}, P := {S → S ′ g, S ′ → S ′ f , S ′ → Va1 . . . Van } mit ∪ Pf ∪ Pg Pf := { Va → Vb1 . . . Vbm | b1 . . . bm ∈ h(a), a ∈ Σ }, Pg:= { Va → a | a ∈ Σ }. Setze G′ := (N, T , I, S, P). Beh. Für alle b1 b1 . . . bk ∈ Σ∗ und alle i ≥ j ≥ 0 gilt Satz 37 b1 b2 . . . bk ∈ hj (w0 ) genau dann, wenn S →∗G′ S ′ f i g →∗G′ Vb1 f i−j gVb2 f i−j g . . . Vbk f i−j g. Beweis durch Induktion über j. Sei G = (Σ, h, w0 ) ein 0L-System. Dann gibt es eine Zahl k(G), so dass für jedes Wort w ∈ L(G) ∩ Σ+ eine Ableitung 2 w 0 ⇒G w 1 ⇒G . . . ⇒G w m = w Also gilt für alle w = b1 . . . bk ∈ Σ∗ : existiert mit w ∈ LG′ gdw. S →∗G′ Vb1 gVb2 g . . . Vbk g |wi | ≤ k(G) · |w | gdw. w ∈ hj (w0 ) für ein j ≥ 0 für alle i = 0, 1, . . . , m. gdw. w ∈ L(G). 2 Folgerung 36 L(0L) ( CSL. Beweis Wähle n r s := |Σ|, := max{ |x| | x ∈ h(a), a ∈ Σ }, := max{ |x| | x ∈ Li (G), i = 0, 1, . . . , n }, k(G) := max{s, r n+1 }. Jede Ableitung w0 ⇒∗ w kann durch einen Ableitungsgraph dargestellt werden. Eine Ableitung heißt reduziert, falls der zugehörige Ableitungsgraph keinen Teilbaum B enthält mit: – alle Blätter von B sind mit ε markiert; – B enthält einen Weg mit zwei Knoten, die dieselbe Markierung haben. Sei w0 ⇒ w1 ⇒ . . . ⇒ wm = w eine reduzierte Ableitung in G. Ein Vorkommen von a in einem Wort wi ist unproduktiv, wenn a die Markierung eines Knotens im Ableitungsgraph ist, der Wurzel eines Teilbaums B mit Blattwort ε ist. Da die obige Ableitung reduziert ist, gilt Höhe (B) ≤ n. Für i ≤ n gilt wi ∈ Li (G) r {ε}, d.h. |wi | ≤ s ≤ s · |w | ≤ k(G) · |w |. Sei nun i > n. Es gilt wi−(n+1) ⇒n+1 wi . Damit wirken sich nur die produktiven Vorkommen von Buchstaben in wi−(n+1) aus. Deren Anzahl ist durch |w | beschränkt, d.h. Zu jeder Ableitung existiert eine reduzierte Ableitung, die dasselbe Wort liefert. |wi | ≤ r n+1 · |w | ≤ k(G) · |w |. 2 Beweis Offensichtlich ist ε ∈ L(G) entscheidbar. Satz 38 Sei G = (Σ, h, w0 ) ein 0L-System. Dann ist das Wortproblem für G entscheidbar: EINGABE: w ∈ Σ∗ . FRAGE: Gilt w ∈ L(G)? Für w 6= ε bestimme die Zahl k(G) aus Satz 37 und definiere Kn (G, w ) := { v ∈ Σ∗ | w0 ⇒ v1 ⇒ . . . ⇒ vm = v mit m ≤ n und |vi | ≤ k(G) · |w |, i = 1, . . . , m }. Dann gilt: Kn+1 (G, w ) = Kn (G, w ) ∪ { v | ∃z ∈ Kn (G, w ) : z ⇒ v und |v| ≤ k(G) · |w | }. Ferner: 1 = |K0 (G, w )| ≤ . . . ≤ |Kn (G, w )| ≤ . . . ≤ |Σ|k (G)·|w |+1 . Also gibt es ein t ∈ N0 mit Kt (G, w ) = Kt+m (G, w ) für alle m ≥ 1. Damit gilt w ∈ L(G) gdw. w ∈ Kt (G, w ). 2 Satz 39 Das Äquivalenzproblem für 0L-Systeme ist unentscheidbar: EINGABE: Zwei 0L-Systeme G und H. FRAGE: Gilt L(G) = L(H)? h : S → { ui EviR | 1 ≤ i ≤ n } ∪ { xAx, xBy | x, y ∈ Σ, x 6= y }, A → { xAx, xBy, xC, Fx | x, y ∈ Σ, x 6= y }, B → { xB, Bx, D | x ∈ Σ }, C → { xC, D | x ∈ Σ }, D → {D}, Beweis durch Reduktion vom PCP Sei I = ((u1 , v1 ), . . . , (un , vn )) eine Instanz des PCP über Σ := {a, b}. Zu I definieren wir zwei 0L-Systeme GI und HI über Γ := Σ ∪ {S, A, B, C, D, E , F } : GI := (Γ, h, S) und HI := (Γ, h′ , S), E → { ui EviR | 1 ≤ i ≤ n }, F a → { Fx, D | x ∈ Σ }, → {a}, b → {b}, h′ := h ∪ {E → D}. wobei die Substitutionen h und h′ wie folgt definiert sind: Beh. Dann gelten: L(GI ) = {S} ∪ { wAw R | w ∈ Σ+ } ∪ { wxzBuyw R | w , u, z ∈ Σ∗ , x, y ∈ Σ, x 6= y } ∪ { wzCw R ∪ { wFzw R | w, z ∈ Σ+ } | w, z ∈ Σ+ } ∪ { wDu R | w , u ∈ Σ+ , w 6= u } ∪ { wEv R | w = ui1 . . . uit , v = vi1 . . . vit , t ≥ 1, i1 , . . . , it ∈ {1, . . . , n} } L(HI ) = L(GI ) ∪ { wDv R | w = ui1 . . . uit , v = vi1 . . . vit , t ≥ 1, i1 , . . . , it ∈ {1, . . . , n} } L(GI ) 6= L(HI ) gdw. I hat eine Lösung. Beweis Ist ui1 . . . uim = vi1 . . . vim , so ergibt sich mit z := ui1 . . . uim : zDz R ∈ L(HI ) r L(GI ). Ist andererseits L(GI ) 6= L(HI ), dann gibt es w , v ∈ Σ+ mit wDv R ∈ L(HI ) r L(GI ), d.h. ui1 . . . uit = w = v = vi1 . . . vit . 2 1.3. E0L- und ET0L-Systeme Definition 40 Definition 40 (Fortsetzung) (a) Ein ET0L-System ist ein Viertupel G = (Σ, H, w0 , ∆) mit: (b) Ein T0L-System ist ein ET0L-System der Form (Σ, H, w0 , Σ). Bezeichnung: (Σ, H, w0 ). – Σ ist ein endliches Alphabet, – H ist eine nichtleere endliche Menge von endlichen Substitutionen (Tafeln von G), Σ∗ – w0 ∈ (Axiom von G), – ∆ ⊆ Σ (Terminalalphabet von G). (c) Ein E0L-System ist ein ET0L-System der Form (Σ, {h}, w0 , ∆). Bezeichnung: (Σ, h, w0 , ∆). Die von G erzeugte Sprache ist definiert durch L(G) := { w ∈ ∆∗ | w = w0 oder ∃k ≥ 1∃h1 , . . . , hk ∈ H : w ∈ h1 (. . . (hk (w0 )) . . .) }. Satz 41 (a) L(0L) ⊂ L(T0L) ⊂ L(ET0L). (b) L(0L) ⊂ L(E0L) ⊂ L(ET0L). (c) L(EPDT0L) ⊂ L(EDT0L) ⊂ L(ET0L). (d) L(EPDT0L) ⊂ L(EPT0L) ⊂ L(ET0L). Aussagen (c) und (d) gelten analog auch für die Familien der 0L-, T0L- und E0L-Sprachen. Weitere Klassen: EPT0L, ED0L, EDT0L, EPDT0L Beispiel 42 E0L-System S := (Σ, h, w0 , ∆) mit: – Σ := {A, B, C, A′ , B ′ , C ′ , F , a, b, c}, – ∆ := {a, b, c}, – w0 := ABC, – h : A 7→ {AA′ , a}, A′ 7→ {A′ , a}, B 7→ {BB ′ , b}, B ′ 7→ {B ′ , b}, C 7→ {CC ′ , c}, F 7→ F , C ′ 7→ {C ′ , c}, a 7→ F , b 7→ F , c 7→ F Satz 43 FIN ( L(E0L) Beh. Beweis L(S) = { an b n c n | n ≥ 1 }. Es sei L = {w1 , w2 , . . . , wk } ⊆ Σ∗ . Definiere ein E0L-System G := (Σ ∪ {S}, h, S, Σ) durch Beweis ABC ⇒n−1 A(A′ )n−1 B(B ′ )n−1 C(C ′ )n−1 ⇒ an b n c n ⇒ F 3n 2 h(S) := {w1 , w2 , . . . , wk } und h(x) := {x} für alle x ∈ Σ. Dann gilt L(G) = L. Ist L = ∅, so wähle G := ({a, S}, h, S, {a}) mit h(x) := {x} für alle x ∈ {a, S}. Dann gilt L(G) = ∅. 2 Satz 44 Definition 45 CFL ( L(E0L). Ein ET0L-System G = (Σ, H, w0 , ∆) heißt synchronisiert, wenn Beweis ∗ für alle a ∈ ∆ und w ∈ Σ∗ aus a ⇒+ G w folgt, dass w 6∈ ∆ ist. Sei L ∈ CFL mit L ⊆ T ∗ . Dann gibt es nach Satz 31 ein 0L-System G = (∆, h, w0 ) Satz 46 T ∗. mit ∆ ⊇ T und L = L(G) ∩ Damit ist G′ := (∆, h, w0 , T ) ein E0L-System mit L(G′ ) = L. Aus einem E0L-System G kann ein äquivalentes E0L-System G′ konstruiert werden, das synchronisiert ist. Ist G propagierend, so ist dies auch G′ . Also gilt CFL ⊆ L(E0L). Wegen Beispiel 42 ist diese Inklusion echt. 2 Sei G = (Σ, h, w0 , ∆) ein E0L-System. Definiere nun Σ′ := Σ ∪ {α} ∪ { ā | a ∈ ∆ } ∪ {F } und : (Σ ∪ {α})∗ → (Σ′ )∗ durch: ā falls a ∈ ∆, a 7→ a sonst. Definiere G1 := (Σ ∪ {α}, h1 , α, ∆) durch Setze G′ := (Σ′ , h′ , ᾱ, ∆) mit h′ definiert durch − Beweis h1 (x) := h(x) (x ∈ Σ) und h1 (α) := w0 . Dann gilt L(G1 ) = L(G). { a → w̄ | a ∈ (Σ ∪ {α}) r ∆, w ∈ h1 (a) } ∪{ a → w | a ∈ (Σ ∪ {α}) r ∆, w ∈ h1 (a) } ∪{ ā → w̄ | a ∈ ∆, w ∈ h1 (a) } ∪{ ā → w | a ∈ ∆, w ∈ h1 (a) } ∪{ a → F | a ∈ ∆ ∪ {F } }. Dann ist G′ synchronisiert, G′ ist propagierend gdw. G ist propagierend, und L(G′ ) = L(G1 ) = L(G). 2 Satz 47 L(E0L) ist abgeschlossen unter Vereinigung, Konkatenation und Plus-Abschluss. Abschluss unter Vereinigung Beweis Seien G1 = (Σ1 , h1 , S1 , ∆1 ) mit L1 = L(G1 ) und G2 = (Σ2 , h2 , S2 , ∆2 ) mit L2 = L(G2 ) E0L-Systeme. Nach Satz 46 seien G1 und G2 synchronisiert, wobei S1 ∈ Σ1 r ∆1 und S2 ∈ Σ2 r ∆2 seien. Ferner sollen (Σ1 r ∆1 ) ∩ Σ2 = ∅ = (Σ2 r ∆2 ) ∩ Σ1 gelten, d.h. Σ1 ∩ Σ2 = ∆1 ∩ ∆2 . Im Folgenden seien S, Ŝ1 und Ŝ2 neue Symbole. Definiere G := (Σ1 ∪ Σ2 ∪ {S}, h, S, ∆1 ∪ ∆2 ) mit h1 (a), falls a ∈ Σ1 , h(a) := h2 (a), falls a ∈ Σ2 r ∆1 , und h(S) := {S1 , S2 }. Da G1 und G2 synchronisiert sind, folgt L(G) = L(G1 ) ∪ L(G2 ) = L1 ∪ L2 . 2 Abschluss unter Konkatenation Definiere G := (Σ1 ∪ Σ2 ∪ {S, Ŝ1 , Ŝ2 }, h, S, ∆1 ∪ ∆2 ) mit h1 (a), falls a ∈ Σ1 , h(a) := h2 (a), falls a ∈ Σ2 r ∆1 , und h(S) Abschluss unter Plus Definiere G := (Σ1 ∪ {S}, h, S, ∆1 ) mit h(a) := h1 (a) für alle a ∈ Σ1 und h(S) := {S, SS, S1 }. := {Ŝ1 Ŝ2 }, Dann folgt L(G) = L(G1 )+ = L+ 1. h(Ŝ1 ) := {S1 , Ŝ1 }, h(Ŝ2 ) := {S2 , Ŝ2 }. Dann folgt L(G) = L(G1 ) · L(G2 ) = L1 · L2 . 2 Satz 48 Sei G := (V , g, [S, ∅], ∆), wobei g wie folgt definiert wird: Zu jedem E0L-System H kann man ein EP0L-System G konstruieren mit L(G) = L(H) r {ε}. (1.) Für alle a ∈ Σ und b1 . . . bk ∈ h(a), b1 , . . . , bk ∈ Σ, k ≥ 2, Beweis Sei H = (Σ, h, w0 , ∆) ein E0L-System. Ist L(H) endlich, so kann man G leicht angeben. Sei also L(H) unendlich, und sei w0 = S ∈ Σ r ∆. (vgl. Beweis von Satz 46). Setze V1 := { [a, Z ] | a ∈ Σ, Z ⊆ Σ }, V := V1 ∪ {F } ∪ ∆, und definiere für alle Z ⊆ Σ: succH (Z ) := { U ⊆ Σ | ∃w1 , w2 ∈ Σ∗ : alph(w1 ) = Z , alph(w2 ) = U und w1 ⇒H w2 }. und alle Z ⊆ Σ: [bi1 , Zi1 ][bi2 , Zi2 ] . . . [bip , Zip ] ∈ g([a, Z ]), falls folgende Bedingungen erfüllt sind: (i) p ≥ 2, 1 ≤ i1 < i2 < . . . < ip ≤ k und Zi1 := alph(b1 b2 . . . bi1 −1 ) ∪ alph(bi1 +1 . . . bi2 −1 ), Zij := alph(bij +1 . . . bij+1 −1 ) für 2 ≤ j ≤ p − 1, Zip := alph(bip +1 . . . bk ) ∪ Z ′ für ein Z ′ ∈ succH (Z ); oder (ii) p = 1 und Zi1 := alph(b1 b2 . . . bi1 −1 ) ∪ alph(bi1 +1 bi1 +2 . . . bk ) ∪ Z ′ für ein Z ′ ∈ succH (Z ). 2 Beispiel 49 H = (Σ, h, w0 , ∆) mit Σ := {S, A, B, C, a, b}, w0 := S, ∆ := {a, b} und (2.) Für alle a ∈ Σ mit b ∈ h(a) und alle Z ⊆ Σ: [b, Z ′ ] ∈ g([a, Z ]) für alle Z ′ ∈ succH (Z ). h := { S → BAC, A → B, A → ε, B → Ca, B → aB, B → a, B → ε, C → AA, C → ACB, C → ε, a → a, a → bb, (3.) Für alle a ∈ Σ mit ε ∈ h(a) und alle Z ⊆ Σ: F ∈ g([a, Z ]). a → b, b → b, b → a }. (4.) Für alle a ∈ ∆ : a ∈ g([a, ∅]). Dann erhalten wir G = (V , g, [S, ∅], ∆), wobei g wie folgt definiert ist: [S, ∅] → [A, {B}][C, ∅], [S, ∅] → [B, {A}][C, ∅], [S, ∅] → [B, ∅][A, {C}], [S, ∅] → [B, {A, C}], (5.) g(F ) := {F } und g(a) := {F } für alle a ∈ ∆. Offensichtlich ist G ein EP0L-System, das aus H effektiv konstruiert werden kann. Beh.: L(G) = L(H) r {ε}. [S, ∅] → [C, {A, B}], [B, {A, C}] → [a, ∅][B, ∅], [a, {C}] → [a, {A}], [a, {B}] → [b, ∅], [a, {A}] ... Ableitung in G: Ableitung in H: rB rr r rr rr r 89:; ?>=< a C ??? ?? a A A ε 2 [S, ∅] → [A, {B, C}], [B, {A}] → [a, {C}], B a ε b S PPP PPP PPP PP 89:; ?>=< A C 89:; ?>=< ε A ε [B, {A}] <N<NNN << NNN < NNN 89:; ?>=< C B; ;; ;; ε a B {{ { {{ a b b a b b → [a, {B}], → ... [S, ∅] UUU UUUU jjjj j j UUUU j j j UUU j j [a, {C}] [C, ∅] [B, {A, C}] NNN pp NNN p p p p [a, {A}] [a, {B}] [b, ∅] [b, ∅] b [a, ∅] N NNN v v v NN vv [B, ∅] [b, ∅] [a, ∅] [a, ∅] [b, ∅] [b, ∅] a b b Satz 50 Beh. 1 Folgendes Problem ist entscheidbar: Für alle i ≥ 1 gilt Ai ⊆ Ai+1 . S Für alle j ≥ n gilt Aj = Aj+1 , d.h. Ai = An . EINGABE: Ein ET0L-System G FRAGE: Ist ε ∈ L(G)? 2 i≥1 Beh. 2 ∀i ≥ 1 ∀ W ∈ Ai ∃k ≤ i : ∀ x ∈ W + : x ⇒kG ε. Beweis Sei G = (Σ, H, S, ∆) ein ET0L-System mit S ∈ Σ r ∆, Beweis seien p := |Σ| und n := 2p . durch Induktion nach i. i = 1: klar Definiere eine Folge (Ai )i∈N von Mengen von Teilmengen von Σ: A1 := { W ⊆ Σ | ∃ h ∈ H : W = { a ∈ Σ | a →h ε } }, i → i + 1: Ist W ∈ Ai , so gilt die Aussage für W nach I.V. Sei nun W ∈ Ai+1 r Ai , d.h. es gibt h ∈ H und Z ∈ Ai mit W = { a ∈ Σ | h(a) ∩ Z ∗ 6= ∅ }. Ai+1 := Ai ∪ { W ⊆ Σ | ∃ h ∈ H ∃ Z ∈ Ai : W = { a ∈ Σ | h(a) ∩ Z ∗ 6= ∅ } } (i ≥ 1). Dann sind alle Ai endlich und aus G effektiv konstruierbar. Sei nun x = a1 . . . am ∈ W + mit a1 , . . . , am ∈ W . Dann gilt x →h u1 . . . um mit u1 , . . . , um ∈ Z ∗ . Da Z ∈ Ai , gibt es nach I.V. ein k ≤ i mit u1 . . . um ⇒kG ε. 2 Beh. 4 Beh. 3 ∀x ∈ Σ+ ∀ k ≥ 1: Gilt x ⇒kG ε, so gibt es eine Menge W ∈ Ak mit x ∈ W + . + ∀x ∈ Σ+ : x ⇒+ G ε gdw. x ∈ W für ein W ∈ An . Beweis k Gilt x ⇒+ G ε, so gibt es ein k ≥ 1 mit x ⇒G ε. Beweis durch Induktion nach k. k = 1: x ⇒1G ε, d.h. x →h ε für ein h ∈ H. Dann ist x ∈ W + für W := { a ∈ Σ | a →h ε } ∈ A1 . k → k + 1: x ⇒kG+1 ε impliziert x ⇒G x ′ ⇒kG ε für ein Wort x ′ ∈ Σ+ . x′ Ŵ + Nach I.V. ist ∈ für ein Ŵ ∈ Ak . ′ Da x ⇒G x gilt, gibt es ein h ∈ H mit x →h x ′ . Also ist x ∈ W + für W := { a ∈ Σ | h(a) ∩ Ŵ ∗ 6= ∅ } ∈ Ak +1 . 2 Nach Beh. 3 gilt dann x ∈ W + für ein W ∈ Ak ⊆ An . Ist umgekehrt x ∈ W + für ein W ∈ An , so gilt x ⇒kG ε für ein k ≤ n nach Beh. 2, d.h. x ⇒+ G ε. 2 Damit erhalten wir: ε ∈ L(G) gdw. S ⇒+ G ε gdw. ∃W ∈ An : S ∈ W . Da An aus G effektiv konstruiert werden kann, ist „ε ∈ L(G)“ entscheidbar. 2 Satz 52 Zu jedem ET0L-System G kann man ein äquivalentes ET0L-System G = (Σ, H, w0 , ∆) mit |H| = 2 konstruieren. Folgerung 51 Beweis Zu jedem E0L-System H kann man ein EP0L-System G = (Σ, h, S, ∆) konstruieren, so dass L(H) = L(G) ist, oder Sei G = (Σ, H, w0 , ∆) ein ET0L-System mit H = {h̄1 , . . . , h̄r }. L(H) = L(G′ ) mit G′ := (Σ ∪ {S ′ }, h ∪ {S ′ → ε, S ′ → S}, S ′ , ∆). Definiere Σ := { [a, i] | a ∈ Σ, 1 ≤ i ≤ r } ∪ Σ und H := {h1 , h2 } Beweis mit Satz 48 und Satz 50. h1 (a) := {[a, 1]} für alle a ∈ Σ, h1 ([a, i]) := {[a, i + 1]} für alle a ∈ Σ, 1 ≤ i ≤ r − 1, 2 h1 ([a, r ]) := {[a, 1]} und h2 (a) := {a} h2 ([a, i]) := h̄i (a) für alle a ∈ Σ für alle a ∈ Σ, für alle a ∈ Σ, 1 ≤ i ≤ r . Setze G := (Σ, H, w0 , ∆). Beh. L(G) = L(G). Bemerkung 53 Beweis Es gibt nicht zu jedem T0L-System G ein äquivalentes T0L-System G mit nur zwei Tafeln. Sei w1 ⇒G w2 mit w1 = a1 a2 . . . an , aj ∈ Σ, und w2 = u1 . . . un mit uj ∈ h̄i (aj ). Dann gibt es in G folgende Ableitung: w1 = a1 a2 . . . an Beweis Sei G = ({a, b}, H, ab) mit H = {h¯1 , h̄2 , h̄3 }, wobei ⇒h1 [a1 , 1][a2 , 1] . . . [an , 1] [a1 , i][a2 , i] . . . [an , i] ⇒i−1 h1 ⇒h2 u 1 u 2 . . . u n = w 2 , d.h. L(G) ⊆ L(G). h̄1 (b) := b 2 , h̄2 (a) := a3 , h̄2 (b) := b 3 , und h̄3 (a) := a5 , h̄3 (b) := b 5 . Dann gilt L(G) = { an b n | ∃ p, q, r ∈ N0 : n = 2p · 3q · 5r }. Ist andererseits w0 ⇒∗G u ∈ ∆∗ , dann folgt w0 ⇒∗G u, d.h. L(G) ⊆ L(G). h̄1 (a) := a2 , 2 Satz 54 Zu jedem ET0L-System G0 kann man ein EPT0L-System G = (Σ, H, S, ∆) konstruieren mit L(G) = L(G0 ) r {ε} und S ∈ Σ r ∆, so dass es ein Symbol F ∈ Σ r (∆ ∪ {S}) und Tafeln hI , hT ∈ H Beh. Die Sprache L(G) wird von keinem T0L-System mit nur zwei Tafeln erzeugt. gibt mit folgenden Eigenschaften: Beweis (a) hI (S) ⊆ (Σ r (∆ ∪ {S, F }))+ und hI (a) = {a} für alle a ∈ Σ r {S}. Übung. 2 (b) hT (a) ⊆ ∆ ∪ {F } für alle a ∈ Σ r (∆ ∪ {S, F }) und hT (a) = {a} für alle a ∈ ∆ ∪ {S, F }. (c) Für alle h ∈ H r {hI , hT } gilt folgendes: h(a) ⊆ (Σ r (∆ ∪ {S, F }))+ für alle a ∈ Σ r (∆ ∪ {S, F }) und h(a) = {a} für alle a ∈ ∆ ∪ {S, F }. F : Fehlschlagsymbol Beweis Sei G0 = (Σ0 , H0 , w0 , ∆) ein ET0L-System mit L(G0 ) r {ε} 6= ∅. Für jede Tafel aus H0 liefert die Konstruktion aus dem Beweis von Satz 48 eine propagierende Tafel. Dadurch erhalten wir ein EPT0L-System G1 = (Σ1 , H1 , w1 , ∆) mit L(G1 ) = L(G0 ) r {ε} und w1 ∈ Σ1 r ∆. Definiere G = (Σ, H, S, ∆) durch ∆ := { ā | a ∈ ∆ }, Σ := Σ1 ∪ ∆ ∪ {S, F }, H := {hI , hT } ∪ { h̄ | h ∈ H1 }. hI : initiale Tafel hT : terminale Tafel Sei ϕ : Σ∗1 → ((Σ1 r ∆) ∪ ∆)∗ definiert durch ( a, falls a ∈ Σ1 r ∆, ϕ(a) := ā falls a ∈ ∆. Die Tafeln von G werden nun wie folgt definiert: hI (S) := {w1 }, hI (a) := {a} für alle a ∈ Σ1 ∪ ∆ ∪ {F }; hT (ā) := {a} für alle a ∈ ∆, hT (a) := {F } für alle a ∈ Σ r (∆ ∪ ∆ ∪ {S, F }), hT (a) := {a} für alle a ∈ ∆ ∪ {S, F }; h̄(a) := { ϕ(α) | α ∈ h(a) } für alle a ∈ Σ1 r ∆, h̄(ā) := { ϕ(α) | α ∈ h(a) } für alle a ∈ ∆, h̄(a) := {a} für alle a ∈ ∆ ∪ {S, F }. Folgerung 55 Sei G = (Σ, H, S, ∆) ein EPT0L-System wie in Satz 54 konstruiert. Beh. (a) Sei D eine Ableitung S ⇒∗G w ∈ L(G), die nicht die Schritte S ⇒ S oder w ⇒ w benutzt. Dann wird in D im ersten Schritt die initiale Tafel hI und im letzten Schritt die terminale Tafel hT benutzt. Es gibt eine Ableitung von w in G, die sowohl die initiale Tafel als auch die terminale Tafel nur genau einmal benutzt. L(G) = L(G1 ). Beweis w1 ⇒h1 w2 ⇒h2 w3 ⇒ . . . ⇒hr w ∈ ∆+ in G1 genau dann, wenn S ⇒hI w1 ⇒h̄1 ϕ(w2 ) ⇒h̄2 ϕ(w3 ) ⇒ . . . ⇒h̄r ϕ(w ) ⇒hT w in G. 2 (b) Sei S ⇒G w1 ⇒G . . . ⇒G wn = w ∈ Σ+ , und sei i0 := min{ i | |wi |∆∪{F } 6= 0 }. Ist i0 definiert, dann gelten wi0 ∈ (∆ ∪ {F })+ und wj = wi0 für alle i0 ≤ j ≤ n. Beweis Satz 56 Sei G0 ein ET0L-System mit L(G0 ) r {ε} = 6 ∅. Zu jedem ET0L-System G0 kann man ein EPT0L-System Nach Satz 54 existiert ein EPT0L-System G1 = (Σ, H1 , S, ∆) mit L(G1 ) = L(G0 ) r {ε}, das die Eigenschaften (a) bis (c) G = (Σ, H, S, ∆) mit L(G) = L(G0 ) r {ε} konstruieren, das die folgenden Bedingungen erfüllt: (a) S ∈ Σ r ∆. (b) Es gibt ein F ∈ Σ r (∆ ∪ {S}) mit h(F ) = {F } und h(a) = {F } für alle a ∈ ∆ und alle h ∈ H. (c) Für alle a ∈ Σ und alle h ∈ H gilt h(a) ⊆ ∆+ , h(a) = {F } oder h(a) ⊆ (Σ r (∆ ∪ {S, F }))+ . aus Satz 54 erfüllt. Konstruiere G := (Σ, H, S, ∆), indem für jede Tafel h ∈ H1 die Tafel h′ ∈ H definiert wird durch h(a), falls a ∈ (Σ r (∆ ∪ {S, F })) oder falls a 6∈ h(a), h′ (a) := {F }, falls a = F , (h(a) r {a}) ∪ {F }, falls a ∈ ∆ ∪ {S} und a ∈ h(a). Aus Folgerung 55(b) folgt dann L(G) = L(G1 ) = L(G0 ) r {ε}. 2 Beweis von Satz 57 Seien L1 , L2 ∈ L(ET0L), und seien G1′ , G2′ ET0L-Systeme mit L(Gi′ ) = Li , i = 1, 2. Satz 57 L(ET0L) ist eine volle AFL, d.h., L(ET0L) ist abgeschlossen unter den folgenden Operationen: – Durchschnitt mit regulären Sprachen, – Vereinigung, Nach Satz 54 gibt es EPT0L-Systeme G1 = (Σ1 , H1 , S1 , ∆1 ) und G2 = (Σ2 , H2 , S2 , ∆2 ) mit L(Gi ) = Li r {ε} und Si ∈ Σi r ∆i , die alle Eigenschaften von Satz 54 erfüllen. Nach Satz 50 ist ε ∈ Li = L(Gi′ ) entscheidbar. – Konkatenation, – Stern-Abschluss, Ist ε ∈ Li , so wird zu jeder Tafel von Gi die Regel Si → ε hinzugefügt. Damit gilt dann L(Gi ) = Li . – Morphismen, – inverse Morphismen. O.B.d.A.: (Σ1 r ∆1 ) ∩ Σ2 = ∅ und (Σ2 r ∆2 ) ∩ Σ1 = ∅, d.h., Σ 1 ∩ Σ 2 = ∆1 ∩ ∆2 . Ferner sei S ein neues Symbol. Beh. 1 Beh. 2 L(ET0L) ist abgeschlossen unter Vereinigung. L(ET0L) ist abgeschlossen unter Konkatenation. Beweis Beweis Setze G := (Σ, H, S, ∆1 ∪ ∆2 ) mit Σ := Σ1 ∪ Σ2 ∪ {S} Setze G := (Σ, H, S, ∆1 ∪ ∆2 ) mit Σ := Σ1 ∪ Σ2 ∪ {S} und und H := {h0 } ∪ { ĥ | h ∈ H1 } ∪ { h̃ | h ∈ H2 }, wobei diese Tafeln wie folgt definiert sind: ( {a}, falls a ∈ Σ1 ∪ Σ2 , h0 (a) := {S1 S2 }, falls a = S, ( h(a), falls a ∈ Σ1 , ĥ(a) := {a}, falls a ∈ Σ r Σ1 , ( h(a), falls a ∈ Σ2 , h̃(a) := {a}, falls a ∈ Σ r Σ2 . wobei diese Tafeln wie folgt definiert sind: ( {a}, falls a ∈ Σ1 ∪ Σ2 , h0 (a) := {S1 , S2 }, falls a = S, ( h(a), falls a ∈ Σ1 , ĥ(a) := {a}, falls a ∈ Σ r Σ1 , ( h(a), falls a ∈ Σ2 , h̃(a) := {a}, falls a ∈ Σ r Σ2 . Dann gilt L(G) = L(G1 ) ∪ L(G2 ) = L1 ∪ L2 . H := {h0 } ∪ { ĥ | h ∈ H1 } ∪ { h̃ | h ∈ H2 }, 2 Dann gilt L(G) = L(G1 ) · L(G2 ) = L1 · L2 . 2 Beh. 3 Beh. 4 L(ET0L) ist abgeschlossen unter Plus-Abschluss. L(ET0L) ist abgeschlossen unter Durchschnitt mit regulären Sprachen. Beweis Setze G := (Σ, H, S, ∆1 ) mit Σ := Σ1 ∪ {S} und H := {h0 } ∪ { ĥ | h ∈ H1 }, wobei diese Tafeln wie folgt definiert sind: ( {a}, falls a ∈ Σ1 , h0 (a) := {S, SS, S1 }, falls a = S, ( h(a), falls a ∈ Σ1 , ĥ(a) := {S}, falls a = S. S Dann gilt L(G) = 2 (L(G1 ))i = L+ 1 i≥1 L∗1 = L+ 1 ∪ {ε}, falls ε 6∈ L1 . Aus G kann man ein ET0L-System ∗ für L1 konstruieren, d.h., L(ET0L) ist abgeschlossen unter Stern-Abschluss. Beweis Sei M = (Q, V , δ, q0 , Qf ) ein deterministischer endlicher Automat. Definiere Ω := { [q, a, q ′ ] | q, q ′ ∈ Q, a ∈ Σ1 }, Σ := Ω ∪ ∆1 ∪ {F , S}, G := (Σ, H, S, ∆1 ∩ V ) mit H := {hf } ∪ { ĥ | h ∈ H1 }, wobei diese Tafeln wie folgt definiert sind: ( {a}, falls a ∈ V ∩ ∆1 und δ(q, a) = q ′ , hf ([q, a, q ′ ]) := {F }, sonst, hf (a) := {F } für alle a ∈ Σ r Ω, Beh. 5 L(ET0L) ist abgeschlossen unter Morphismen. Beweis ĥ([q, a, q ′ ]) , q′] := { [q, a1 , qi1 ][qi1 , a2 , qi2 ] . . . [qin−1 , an | a1 a2 . . . an ∈ h(a), qi1 , . . . , qin ∈ Q, n ≥ 1 } für alle [q, a, q ′ ] ∈ Ω, Sei ϕ : ∆∗1 → Γ∗ ein Morphismus. Definiere G := (Σ, Ĥ, S1 , Γ) mit Σ := (Σ1 r ∆1 ) ∪ Γ und ĥ(S) := { [q0 , S1 , q ′ ] | q ′ ∈ Qf } ∪ { ε | ε ∈ L(G1 ), q0 ∈ Qf }, ĥ(a) := {a} für alle a ∈ ∆1 ∪ {F }. Dann gilt L(G) = L(G1 ) ∩ L(M) = L1 ∩ L(M). 2 Ĥ := { ĥ | h ∈ H1 }, wobei diese Tafeln wie folgt definiert sind: ĥ (T (a) := { ϕ(α) | α ∈ hT (a) ∩ ∆1 } ∪ {F }, falls a ∈ Σ1 r ∆1 , {a}, falls a ∈ Γ, wobei hT die terminale Tafel von G1 ist, und für h ∈ H1 r {hT }, ( h(a), falls a ∈ Σ1 r ∆1 , ĥ(a) := {a}, falls a ∈ Γ. Dann gilt L(G) = ϕ(L(G1 )) = ϕ(L1 ). 2 Beh. 5 L(ET0L) ist abgeschlossen unter inversen Morphismen. Für Ableitungen in G gilt dann folgendes: Beweis Sei ϕ : ∆∗ → ∆∗1 ein Morphismus, wobei ∆ ∩ Σ1 = ∅ sei. Setze K := { y ∈ (∆ ∪ ∆1 )∗ | y = z0 x1 z1 x2 z2 . . . xk zk , x1 x2 . . . xk ∈ L(G1 ), x1 , x2 , . . . , xk ∈ ∆1 , z0 , z1 , . . . , zk ∈ ∆∗ , k ∈ N0 }, G := (Σ, Ĥ, S1 , ∆1 ∪ ∆) mit Σ := Σ1 ∪ ∆ und Ĥ := {h0 } ∪ { ĥ | h ∈ H1 }, wobei die Tafeln wie folgt definiert sind: falls a ∈ ∆1 , { xay | x, y ∈ ∆ ∪ {ε} }, h0 (a) := {a}, falls a ∈ (Σ1 r ∆1 ) ∪ ∆, a 6= S1 , { xS1 y | x, y ∈ ∆ ∪ {ε} }, falls a = S1 , ( h(a), falls a ∈ Σ1 , ĥ(a) := {a}, falls a ∈ ∆. (i) S1 ⇒+ { ĥ|h∈H1 } ⇒∗h0 x1 x2 . . . xk (∈ ∆+ 1) z0 x1 z1 x2 z2 . . . xk zk (z0 , z1 , . . . , zk ∈ ∆∗ ). Dabei gilt x1 x2 . . . xk ∈ L(G1 ) = L1 , d.h., z0 x1 z1 x2 z2 . . . xk zk ∈ K . (ii) Ist ε ∈ L1 , so enthält G1 die ε-Regel S1 → ε, d.h., S1 ⇒∗h0 z0 S1 z1 ⇒ z0 z1 ∈ ∆∗ ∩ K . Also gilt L(G) = K . 1.4. Kombinatorische Eigenschaften von ET0L-Sprachen Definiere M := { ϕ(y1 )y1 ϕ(y2 )y2 . . . ϕ(yn )yn | n ≥ 0, yi ∈ ∆, 1 ≤ i ≤ n }. M ∈ REG(∆ ∪ ∆1 ), denn M wird erzeugt durch die Grammatik ( {X0 }, ∆ ∪ ∆1 , X0 , { X0 → X0 ϕ(y)y | y ∈ ∆ } ∪ {X0 → ε} ). Satz 58 K ∩ M = { ϕ(y1 )y1 ϕ(y2 )y2 . . . ϕ(yn )yn | n ≥ 0, yi ∈ ∆, 1 ≤ i ≤ n, ϕ(y1 )ϕ(y2 ) . . . ϕ(yn ) ∈ L(G1 ) }, Sei L ⊆ ∆∗ eine ET0L-Sprache. Dann gibt es für jede nicht-leere Teilmenge ∆1 ⊆ ∆ eine Zahl k ∈ N, so dass jedes Wort v ∈ L eine der folgenden Bedingungen erfüllt: d.h., für y = y1 y2 . . . yn mit y1 , . . . , yn ∈ ∆ gilt ϕ(y) ∈ L(G1 ) = L1 gdw. ϕ(y1 )y1 ϕ(y2 )y2 . . . ϕ(yn )yn ∈ K ∩ M. Definiere einen Morphismus ψ : (∆ ∪ ∆1 )∗ → ∆∗ durch ( a, falls a ∈ ∆, ψ(a) := ε, falls a ∈ ∆1 . Dann gilt ψ(K ∩ M) = ϕ−1 (L(G1 )) = ϕ−1 (L1 ). Aus Beh. 4 und Beh. 5 folgt nun, dass ϕ−1 (L1 ) ∈ L(ET0L) ist. 2 (a) |v|∆1 ≤ 1, oder (b) v enthält ein Teilwort w mit |w | ≤ k und |w |∆1 ≥ 2, oder (c) es existiert eine unendliche Teilmenge M ⊆ L, so dass für alle Wörter w ∈ M die Gleichheit |w |∆1 = |v|∆1 gilt. Wir konstruieren ein EPT0L-System G := (Σ, H, S, ∆): Beweis Ist L endlich, so wähle k := max{ |w | | w ∈ L }. Dann gilt für jedes Wort w ∈ L die Bedingung (a) oder (b). Σ := ∆ ∪ {F , S} ∪ { [a, t] | a ∈ Σ r (∆ ∪ {F }), t = 0, 1, 2 } H := { h̄ | h ∈ H }, wobei h̄ wie folgt definiert wird: h̄(S) := {[S, 0], [S, 1], [S, 2]}, Sei im folgenden L unendlich, und sei h̄(a) := {F } für alle a ∈ ∆ ∪ {F }, G = (Σ, H, S, ∆) ein ET0L-System mit L = L(G). O.B.d.A.: ε 6∈ L. h̄([a, 0]) := {F } ∪{ α ∈ ∆+ | α ∈ h(a), |α|∆1 = 0 } Nach Satz 56 können wir annehmen, dass G ein EPT0L-System ist, das die folgenden Eigenschaften hat: (α) S ∈ Σ r ∆, (β) ∃F ∈ Σ r (∆ ∪ {S}) ∀a ∈ ∆∀h ∈ H : h(F ) = {F } und h(a) = {F }, (γ) ∀a ∈ Σ ∀h ∈ H : h(a) ⊆ ∆+ oder h(a) = {F } oder h(a) ⊆ (Σ r (∆ ∪ {S, F }))+ . Sei nun ∆1 ⊆ ∆, ∆1 6= ∅. ∪{ [b1 , 0] . . . [br , 0] | b1 , . . . , br ∈ Σ r (∆ ∪ {F }), b1 . . . br ∈ h(a) }, h̄([a, 1]) := {F } ∪{ α ∈ ∆+ | α ∈ h(a), |α|∆1 = 1 } ∪{ [b1 , t1 ] . . . [br , tr ] | b1 , . . . , br ∈ Σ r (∆ ∪ {F }), r P ti = 1 }, b1 . . . br ∈ h(a), t1 , . . . , tr ∈ {0, 1} mit i=1 h̄([a, 2]) := {F } ∪{ α ∈ ∆+ | α ∈ h(a), |α|∆1 ≥ 2 } ∪{ [b1 , t1 ] . . . [br , tr ] | b1 , . . . , br ∈ Σ r (∆ ∪ {F }), r P b1 . . . br ∈ h(a), t1 , . . . , tr ∈ {0, 1, 2} mit ti ≥ 2 }. i=1 Interpretation von [a, i] in einer erfolgreichen G-Ableitung: Beh. [a, 0]: Zum Ergebnis dieser Ableitung trägt a kein Vorkommen eines Die Behauptung des Satzes ist erfüllt. Symbols aus ∆1 bei. [a, 1]: Zum Ergebnis dieser Ableitung trägt a genau ein Vorkommen eines Symbols aus ∆1 bei. [a, 2]: Zum Ergebnis dieser Ableitung trägt a mindestens zwei Vorkommen von Symbolen aus ∆1 bei. Beispiel 59 ∆ = {a, b, c} und ∆1 = {a, b}. G-Regeln: S → xy, x → xz, y → y 2 , y → c, x → a, z → b G-Ableitung: S ⇒ xy ⇒ xzy 2 ⇒ abc 2 G-Ableitung: S ⇒ [S, 2] ⇒ [x, 2][y, 0] ⇒ [x, 1][z, 1][y, 0]2 ⇒ abc 2 . Aus der Konstruktion folgt L(G) = L(G). Beweis Sei v ∈ L(G), und sei S ⇒ [S, i] ⇒∗ v eine erfolgreiche G-Ableitung für v. Ist i ≤ 1, so gilt |v|∆1 ≤ 1, d.h. (a) ist erfüllt. Sei also i = 2, d.h. die obige Ableitung D hat die Gestalt S = w0 →h̄0 [S, 2] = w1 →h̄1 w2 →h̄2 . . . →h̄m−1 wm = v. Die volle Spur von D ist definiert als: ftr (D) := ( (w0 , h̄0 ), (w1 , h̄1 ), . . . , (wm−1 , h̄m−1 ), wm = v ). Sei i := max{ j | wj enthält ein Symbol der Form [a, 2] }. Beachte: i ≥ 1, da w1 = [S, 2] ist. Wir unterscheiden zwei Fälle: Beweis im Fall 1. (1) ∃r , s ∈ {i + 1, . . . , m − 1} : r < s und alph(wr ) = alph(ws ) und ∃c ∈ alph(wr ) ∃w ′ , w ′′ , α, β : wr = w ′ cw ′′ Für alle n ∈ N0 wird D zu einer Ableitung Dn abgeändert: w0 ⇒rh̄ ,h̄ ,...,h̄ wr = w ′ cw ′′ ws = w′ w ′′ ⇒s−r ⇒s−r 0 w̄ αcβ ŵ , w̄ , ŵ , 1 r −1 ⇒(s−r h̄ ,...,h̄ r s−1 ) ⇒(s−r h̄ ,...,h̄ s−1 ) r w̄ αcβ ŵ = ws w̄ (2) α(1) αcββ (1) ŵ (2) =: z2 ... ⇒s−r c αcβ und αβ 6= ε. (2) Es gibt keine Zahlen r , s mit obiger Eigenschaft. ⇒(s−r h̄ ,...,h̄ r s−1 ) ⇒m−s (h̄ ,...,h̄ m−1 ) s w̄ (n) α(n−1) . . . α(1) αcββ (1) . . . β (n−1) ŵ (n) =: zn z̃n ∈ ∆+ . Beweis im Fall 2. Sei [a, 2] ∈ alph(wi ), etwa wi = w ′ [a, 2]w ′′ . Bei jeder Iteration von (h̄r , . . . , h̄s−1 ) wird jeder Buchstabe durch eines der Bildelemente ersetzt, die ihm beim Übergang z.z. w ′ ⇒m−i w̄, w ′′ ⇒m−i ŵ , [a, 2] ⇒m−i z, |z| ≤ kG und |z|∆1 ≥ 2. von wr zu ws zugeordnet werden. Dies ist möglich, da alph(wr ) = alph(ws ) gilt. Damit ist dann Eigenschaft (b) erfüllt. Es folgt, dass alph(zi ) ⊆ alph(wr ) gilt für alle i = 1, 2, . . . , n. Insbesondere ist (h̄s , . . . , h̄m−1 ) auf zn anwendbar. Sei E der Baum für die Teilableitung von D mit Wurzel [a, 2]. Ersetze jede Knotenmarkierung b der Ebene j (j = 0, 1, . . . , m − i) durch (b, alph(wi+j )). wr enthält keinen Buchstaben der Form [a, 2]. Daher folgt |z̃n |∆1 = |v|∆1 für alle n ≥ 1. G ist propagierend und αβ 6= ε. Also ist { z̃n | n ≥ 1 } eine unendliche Teilmenge von L = L(G), die die Eigenschaft (c) erfüllt. Es gibt eine Konstante kG , so dass v = w̄z ŵ ist mit 2 Dadurch entsteht ein Baum E mit Wurzelmarkierung ([a, 2], alph(wi )). Die Wurzel von E hat höchstens p := max{ |α| | α ∈ h̄(b), h̄ ∈ H, b ∈ Σ } viele Söhne, von denen dann Teilbäume E 1 , . . . , E p′ (p ′ ≤ p) ausgehen. Beh. 2 Beh. 1 Sei T ein Baum der Beh. 1 erfüllt, und in dem q verschiedene Markierungen von inneren Knoten auftreten. Ist der Ausgangsgrad jedes Knotens durch p beschränkt, dann hat T höchstens p q Blätter. Sei (e1 , e2 , . . . , et ) mit t ≥ 2 ein Weg in E j , wobei e1 näher an der Wurzel von E j sei als et . Haben e1 und et dieselbe Markierung, dann haben alle Knoten e1 , e2 , . . . , et−1 den Ausgangsgrad 1. Beweis durch Induktion über q: Beweis e1 hat Markierung (b, alph(wr )), und q = 1: Nur et hat Ausgangsgrad > 1, d.h. T hat höchstens p Blätter. et hat Markierung (b, alph(ws )) mit i < r < s. G ist propagierend. q = k + 1: (α) Wurzel hat Marke c, die in T sonst nicht vorkommt: Hätte ein Knoten ej (1 ≤ j ≤ t − 1) Ausgangsgrad > 1, so würde das Symbol b aus wr einen Beitrag der Gestalt αbβ mit αβ 6= ε zu ws liefern. Dann wären aber die Bedingungen von Fall 1 erfüllt. Widerspruch. T : 2 (β) Wurzelmarke c kommt inT auch woanders vor: T : c .. . c QQQ QQQ || QQQ | | Q . . . Tp T1 T2 Nach Beh. 1 hat T obige Gestalt, wobei c in T1 , . . . , Tp nicht vorkommt. Es folgt analog zu (α), dass T höchstens p q Blätter hat. 2 c QQQ QQQ || QQQ | | Q . . . Tp T1 T2 Nach I.V. hat jeder Baum Ti höchstens p k Blätter. Also hat T höchstens p k · p = p q Blätter. Nach Konstruktion enthält der Baum E höchstens q := |Σ| · 2|Σ| verschiedene Markierungen. Nach Beh. 2 hat jeder der Teilbäume E 1 , . . . E p′ höchstens p q Blätter, d.h. E hat höchstens kG := p · p q viele Blätter. Also ist der Beitrag des Symbols [a, 2] in wi zum Ergebnis v durch kG in der Länge beschränkt, d.h. |z| ≤ kG . Aus der Konstruktion von G folgt, dass |z|∆1 ≥ 2 ist. 2 Damit ist Satz 58 bewiesen. 2 Satz 60 L := { (ab n )m | m ≥ n ≥ 1 } 6∈ L(ET0L). Beweis Bemerkung 61 Seien ∆ := {a, b} und ∆1 := {a}. L ist eine Church-Rosser Sprache. Zu k ∈ N+ wähle das Wort vk := (ab k +1 )k +1 ∈ L. Dann gilt |vk |∆1 = |vk |a = k + 1 > 1, Beweis d.h. die Bedingung (a) aus Satz 58 ist nicht erfüllt. Für jedes Teilwort w von vk mit |w | ≤ k gilt |w |∆1 ≤ 1, Siehe G. Niemann, Dissertation, Kassel 2002. 2 d.h. die Bedingung (b) aus Satz 58 ist nicht erfüllt. { w ∈ L | |w |∆1 = |vk |∆1 = k + 1 } = { (ab n )k +1 | 1 ≤ n ≤ k + 1 }, d.h. auch Bedingung (c) aus Satz 58 ist nicht erfüllt. Also ist L keine ET0L-Sprache. 2 Definition 62 Sei L ⊆ ∆∗ , L 6= ∅, und sei ∅ = 6 Θ ⊆ ∆. Θ tritt in L gehäuft auf, wenn es Zahlen n, m ∈ N, n, m ≥ 2, gibt, so dass jedes Wort w ∈ L mit |w |Θ ≥ n einen Faktor v mit |v| ≤ m und |v|Θ ≥ 2 enthält. Beispiel 63 r L := { (aba2 )2 | r ∈ N0 } ⊆ {a, b}+ . (a) Die Menge {a} tritt in L gehäuft auf, denn: Seien n := 2 und m := 2. Jedes Wort w ∈ L enthält das Wort a2 als Faktor. (b) Die Menge {b} tritt in L gehäuft auf, denn: Seien n := 2 und m := 5. Jedes Wort w ∈ L mit |w |b ≥ 2 enthält das Wort ba2 ab als Faktor. Beispiel 64 L := { w ∈ {a, b}+ | |w |a = 2r , r ∈ N0 }. (a) Die Menge {a} tritt in L nicht gehäuft auf, denn: n Für n, m ∈ N sei wn,m := (ab m )2 ∈ L. Dann gilt |wn,m |a = 2n ≥ n, aber für jeden Faktor v von wn,m folgt aus |v| ≤ m, dass |v|a ≤ 1 ist. (b) Die Menge {b} tritt in L nicht gehäuft auf, denn: m n Für n, m ∈ N sei wn,m := (a2 b)2 ∈ L. Dann gilt |wn,m |b = 2n ≥ n, aber für jeden Faktor v von wn,m folgt aus |v| ≤ m, dass |v|b ≤ 1 ist. 2 Beweis Für w ∈ ∆∗ sei Lw := { v ∈ L | |v|∆1 = |w |∆1 } ⊆ ∆∗ . Satz 65 Sei L ⊆ ∆∗ eine ET0L-Sprache, und sei ∆ = ∆1 ∪ ∆2 eine Partition von ∆, so dass eine Abbildung ϕ : N → N existiert mit |w |∆2 < ϕ(|w |∆1 ) für alle Wörter w ∈ L. Dann tritt ∆1 in L gehäuft auf. Für alle v ∈ Lw gilt: |v| = |v|∆1 + |v|∆2 < |v|∆1 + ϕ(|v|∆1 ) = |w |∆1 + ϕ(|w |∆1 ) =: kw . Also gilt Lw ⊆ ∆≤kw , d.h. Lw ist endlich. Damit ist die Bedingung (c) aus Satz 58 für L nicht erfüllbar. Sei k ⊆ N die Konstante aus Satz 58 zu ∆1 . Für jedes v ∈ L gilt dann |v|∆1 ≤ 1 oder v enthält einen Faktor w mit |w | ≤ k und |w |∆1 ≥ 2. Also tritt ∆1 in L gehäuft auf. 2 Satz 66 L := { w ∈ {a, b}∗ | |w |b = 2|w |a } ist keine ET0L-Sprache. Angenommen: L ∈ L(ET0L). Nach Satz 65 tritt dann ∆1 in L gehäuft auf, d.h. es gibt Zahlen Beweis n, m ∈ N, n, m ≥ 2, so dass jedes Wort w ∈ L mit |w |∆1 ≥ n einen Faktor v mit |v| ≤ m und |v|∆1 ≥ 2 enthält. ′ ′ Sei n′ ≥ n mit m · n′ ≤ 2n , und sei r := 2n − m · n′ . Seien ∆ := {a, b}, ∆1 := {a}, ∆2 := {b}, und ϕ : N → N sei definiert durch ϕ(n) := 2n + 1 (n ∈ N). Für alle Wörter w ∈ L gilt: |w |∆2 = 2|w |∆1 < ϕ(|w |∆1 ). ′ Betrachte w := (ab m )n b r ∈ L. Jeder Faktor v von w mit |v| ≤ m erfüllt |v|∆1 ≤ 1. Widerspruch! Also gilt L 6∈ L(ET0L). 2 Satz 69 ˙ 2. Sei L ⊆ ∆∗ , L 6= ∅, eine ET0L-Sprache, und sei ∆ = ∆1 ∪∆ Sind ∆1 und ∆2 L-äquivalent, so treten ∆1 und ∆2 in L gehäuft auf. Definition 67 ˙ 2. Sei L ⊆ ∆∗ , L 6= ∅, und sei ∆ = ∆1 ∪∆ ∆1 und ∆2 sind L-äquivalent, wenn für alle v, w ∈ L folgendes gilt: |v|∆1 = |w |∆1 gdw. |v|∆2 = |w |∆2 . Beweis Sei k ∈ N die Konstante zu ∆1 aus Satz 58. Für w ∈ L und i ∈ {1, 2} sei (i) Lw := { v ∈ L | |v|∆i = |w |∆i }. Beispiel 68 L := { w ∈ {a, b}+ | |w |a = 2n , |w |b = 3n , n ∈ N0 }. (1) (2) Da ∆1 und ∆2 L-äquivalent sind, folgt Lw = Lw . {a} und {b} sind L-äquivalent. (i) Hieraus folgt, dass die Sprache Lw endlich ist. Also ist Eigenschaft (c) aus Satz 58 nicht erfüllt. Sei nun w ∈ L mit |w |∆1 ≥ 2. Dann enthält w nach Satz 58 einen Faktor v mit |v| ≤ k und |v|∆1 ≥ 2, d.h. ∆1 tritt in L gehäuft auf. Die Aussage für ∆2 folgt analog. Satz 70 L={w ∈ 2 Definition 71 {a, b}+ | |w |a = 2n , |w |b = 3n , n ∈ N0 } 6∈ L(ET0L). Seien L1 ⊆ ∆∗1 und L2 ⊆ ∆∗2 . Das Shuffle-Produkt von L1 und L2 ist definiert als Beweis L1 ⊥L2 := { v1 w1 . . . vr wr | r ∈ N, v1 , . . . , vr ∈ ∆∗1 , w1 , . . . , wr ∈ ∆∗2 , v1 v2 . . . vr ∈ L1 und w1 w2 . . . wr ∈ L2 }. ′ Seien n, m ∈ N, n, m ≥ 2. Wähle n′ ∈ N mit 2n ≥ n und ′ ′ ′ ′ m · 2n ≤ 3n , und setze r := 3n − m · 2n . n′ Betrachte das Wort w := (ab m )2 b r . ′ ′ ′ Es gelten |w |a = 2n und |w |b = 2n · m + r = 3n , d.h. w ∈ L. Ist nun v ein Faktor von w mit |v| ≤ m, so gilt |v|a ≤ 1, d.h. {a} tritt in L nicht gehäuft auf. Beispiel 72 m n Seien L1 := { a2 | n ∈ N0 } und L2 := { b 3 | m ∈ N0 }. Aber {a} und {b} sind L-äquivalent. Widerspruch! Dann ist L1 ⊥L2 = { w ∈ {a, b}∗ | |w |a = 2n und |w |b = 3m (n, m ∈ N0 ) }. Also gilt L 6∈ L(ET0L). 2 Satz 73 L(ET0L) ist nicht abgeschlossen bzgl. dem Shuffle-Produkt. Beweis Seien L1 := Ist L eine ET0L-Sprache, so treten nach Satz 69 {a} und {b} in L gehäuft auf. ′ ′ n n { a2 b 3 | n ∈ N0 } und L2 := n n { b 3 a2 | n ∈ N0 }. Es gilt L1 , L2 ∈ L(D0L). ′ Seien n, m ≥ 2. Wähle n′ ∈ N mit 2n ≥ n und m · 2n ≤ 3n , ′ ′ und setze r := 3n − m · 2n . n′ n′ Betrachte das Wort w := (ab m )2 b r (ab m )2 b r . ′ ′ ′ Es gelten |w |a = 2n + 2n = 2 · 2n und Beh. ′ ′ ′ |w |b = m · 2n + r + m · 2n + r = 2 · 3n . L1 ⊥L2 6∈ L(ET0L). n′ n′ n′ n′ Dann ist w ∈ {a2 b 3 }⊥{b 3 a2 } ∈ L1 ⊥L2 = L, Beweis Seien v, w ∈ L := L1 ⊥L2 . Gilt |v|a = |w |a = 2n + 2m , so folgt |v|b = |w |b = 3n + 3m . aber für jeden Faktor v von w mit |v| ≤ m gilt |v|a ≤ 1. Also tritt {a} in L nicht gehäuft auf. Widerspruch! Damit gilt L = L1 ⊥L2 6∈ L(ET0L). 2 Also sind {a} und {b} L-äquivalent. 1.5. Inklusionsbeziehungen in der Familie der ET0L-Sprachen Definition 74 Beispiel 75 L := { c| uc| uc| u | u ∈ {a, b}∗ } ist {a}-determiniert. Seien L ⊆ Σ∗ und ∅ = 6 Θ ⊆ Σ. Zu k ∈ N wähle nk := 3k + 3. L heißt Θ-determiniert, wenn es zu jedem k ∈ N eine Zahl nk ∈ N gibt, so dass für alle v, w ∈ L mit Seien nun v, w ∈ L mit |v|, |w | > 3k + 3 und v = v1 xv2 , w = v1 yv2 mit |x|, |y| < k. |v|, |w | > nk , v = v1 v ′ v2 , w = v1 w ′ v2 und |v ′ |, |w ′ | < k die Beziehung ΠΘ (v) = ΠΘ (w ) gilt. v ∈ L : v = v1 xv2 = c| uc| uc| u für ein u ∈ {a, b}∗ mit |u| > k. w ∈ L : w = v1 yv2 = c| u ′ c| u ′ c| u ′ für ein u ′ ∈ {a, b}∗ mit |u ′ | > k. |x| < k : c| uc| ist Präfix von v1 oder c| u ist Suffix von v2 . Also folgt: u = u ′ , d.h. v = w . 2 Folgerung 77 Satz 76 L = { c| uc| uc| u | u ∈ {a, b}∗ } 6∈ L(E0L). Sei L ⊆ Σ∗ eine E0L-Sprache, die Θ-determiniert ist für ein Teilalphabet Θ ⊆ Σ. Dann gibt es Zahlen C, D ∈ N, so dass jedes Wort w ∈ L mit |w |Θ > C die Bedingung |w | < D |w |Θ erfüllt. Beweis Beweis Für w := c| an b m c| an b m c| an b m ∈ L gelten dann: G. Rozenberg, A. Salomaa; The Mathematical Theory of L-Systems, Academic Press 1980: Theorem II.4.6, p. 88. L ist {a}-determiniert. Zu C, D ∈ N wähle n, m ∈ N mit n > C 3 und m = D 3n . – |w |Θ = |w |a = 3n > C, aber 2 – |w | = 3 + 3n + 3m = 3 + 3n + 3D 3n > D 3n = D |w |Θ . Also ist L keine E0L-Sprache. 2 Beh. 1 Satz 78 L(E0L) 6= L(ET0L). (a) CFL ( L(E0L) ( L(ET0L) ⊆ IL. Beweis (b) L(0L) ( L(E0L). Sei G = (Σ, H, w0 , ∆) mit Σ := {S, A, B, c| , a, b}, ∆ := {c| , a, b}, w0 := SSS und H := {h1 , h2 }, Beweis wobei die Tafeln definiert sind durch L(0L) ⊆ L(E0L) ⊆ L(ET0L) : trivial. CFL ⊆ L(E0L) : Satz 31. n CFL 6= L(E0L) : { a2 | n ∈ N0 } ∈ L(0L) r CFL. L(0L) 6= L(E0L) : CFL * L(0L) nach Satz 29. h1 (S) = A, h1 (A) = Sa, h1 (B) = c| , h1 (x) = x für x ∈ {a, b, c| }, h2 (S) = B, h2 (A) = c| , h2 (B) = Sb, h2 (x) = x für x ∈ {a, b, c| }. Dann gilt L(G) = { c| uc| uc| u | u ∈ {a, b}∗ } d.h. { c| uc| uc| u | u ∈ Folgerung 77. {a, b}∗ (Übung), } ∈ L(ET0L) r L(E0L) nach 2 Beh. 2 Setze N := { Va | a ∈ Σ } ∪ {S, S ′ }, L(ET0L) ⊆ IL. T := Σ, I := {f1 , f2 , . . . , fr , g}, Beweis Da IL abgeschlossen ist unter Durchschnittsbildung mit regulären Sprachen, reicht es L(T0L) ⊆ IL zu beweisen. Sei G = (Σ, H, w0 ) ein T0L-System mit H = {h1 , h2 , . . . , hr } und w0 = a1 a2 . . . an . und P := { S → S ′ g, S ′ → S ′ fi , S ′ → Va1 Va2 . . . Van | i = 1, . . . , r } ∪ Pf1 ∪ . . . ∪ Pfr ∪ Pg mit Pfi := { Va → Vb1 Vb2 . . . Vbm | b1 . . . bm ∈ hi (a), a ∈ Σ } (1 ≤ i ≤ r ), Pg := { Va → a | a ∈ Σ }. Setze G′ := (N, T , I, S, P). Beh. 1.6. Kettencode-Bildsprachen: Eine Anwendung der L-Systeme Für alle b1 b2 . . . bk ∈ Σ∗ und alle i1 , i2 , . . . , ij , ij+1 , . . . , is ∈ {1, . . . , r } gilt b1 b2 . . . bk ∈ hij (. . . (hi2 (hi1 (w0 ))) . . .) genau dann, wenn Für Σ := {r , ℓ, d , u} lassen sich Wörter w ∈ Σ∗ als Kommandofolgen für einen Plotter interpretieren: S →∗G′ S ′ fi1 fi2 . . . fij fij+1 . . . fis g →∗G′ rdℓu : Vb1 fij+1 . . . fis gVb2 fij+1 . . . fis g . . . Vbk fij+1 . . . fis g. '&%$ !"# •O u •o Beweis Induktion über s. r 2 ℓ /• d • Bild: sc sc sc sc Damit entspricht eine Sprache L ⊆ Σ∗ einer Bildmenge B(L). Einer Grammatik G über Σ kann man damit eine Bildsprache Also gilt für alle w = b1 b2 . . . bk ∈ Σ∗ : B(G) := B(L(G)) zuordnen. w ∈ LG′ gdw. S →∗G′ Vb1 gVb2 g . . . Vbk g H. Freeman, On the encoding of arbitrary geometric configurations. IRE Trans. EC, 10 (1961) 260–268. H. Maurer, G. Rozenberg und E. Welzl, Using string languages to describe picture languages. Information and Control 54 (1982) 155–185. gdw. w ∈ his (. . . (hi2 (hi1 (w0 ))) . . .) für i1 , i2 , . . . , is ∈ {1, . . . , r } und s ≥ 0 gdw. w ∈ L(G). 2 Beschreibung von Kettencode-Bildsprachen durch L-Systeme J. Dassow, J. Hromkovic, On synchronized Lindenmayer picture languages. In: G. Rozenberg und A. Salomaa (Hrsg.): Lindenmayer Systems – Impacts on Theoretical Computer Science, Computer Graphics, and Developmental Biology. Springer, Berlin, 1992 (Seiten 253–261). Jeder Buchstabe a ∈ Σ definiert eine Translation auf (x, y + 1) falls a = u, (x, y − 1) falls a = d , a(x, y) := (x + 1, y) falls a = r , (x − 1, y) falls a = ℓ. Z2 : Definition 79 (a) Ein Bild ist eine endliche Menge von horizontalen und vertikalen Einheitsstrecken. Die Größe eines Bildes ist die Anzahl der darin enthaltenen Einheitsstrecken. Der Flächenbedarf s(p) eines Bildes p ist das Paar (x, y) ∈ Z2 , falls x und y minimal sind mit der Eigenschaft, dass p in ein Rechteck der Breite x und der Höhe y passt. Für n ∈ Z2 und a ∈ Σ setzen wir hn, a(n)i := { µ · n + (1 − µ) · a(n) | µ ∈ [0, 1] } ⊂ R2 , d.h. hn, a(n)i ist eine horizontale oder vertikale Strecke der Länge 1. Σ∗ (b) Jedem Wort w ∈ wird ein Bild p zusammen mit einem ausgezeichneten Endpunkt n zugeordnet: w = ε : p = ∅ und n = (0, 0). w = w ′ a, wobei w ′ das Bild p ′ und der Endpunkt n′ Beispiel 80 w1 := rd ℓu : p(w1 ) : rb rb rb , shift(w1 ) = (0, 0). w2 = rurdrdrd ℓd ℓd ℓuℓuℓuru: rb rb p(w2 ) : , shift(w2 ) = (0, 0). rb zugeordnet seien: p := p ′ ∪ {hn′ , a(n′ )i}, rb n := a(n′ ). rb Bezeichnung: shift(w ) = n, p(w ) = p. rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb Definition 83 Definition 81 Σ∗ (a) Für L ⊆ sei p(L) := { p(w ) | w ∈ L } die zugeordnete Bildsprache (Kettencode-Bildsprache). (b) Ist G eine Grammatik oder ein L-System über Σ, dann sei B(G) := { p(w ) | w ∈ L(G) } die von G erzeugte Bildsprache. (c) B(REG), B(CFL), B(CSL) bezeichnet die Klasse der von regulären, kontextfreien bzw. monotonen Grammatiken erzeugten Bildsprachen. Ein T0L-Bildsystem G = (Σ, {h1 , h2 , . . . , hs }, w0 ) heißt synchronisiert, falls es für jedes i ∈ {1, . . . , s} Zahlen ki , di ∈ N gibt, so dass für jedes Wort wa ∈ hi (a) (a ∈ Σ) die folgenden Bedingungen erfüllt sind: (ki , 0), falls a = r , (−ki , 0), falls a = ℓ, (i) shift(wa ) = (0, ki ), falls a = u, (0, −ki ), falls a = d . (ii) Für jeden Punkt (x, y) ∈ p(wa ) gilt: a=r : 0 ≤ x ≤ ki und −di ≤ y ≤ di , a = ℓ : −ki ≤ x ≤ 0 und −di ≤ y ≤ di Satz 82 (Maurer,Rozenberg,Welzl) a=u : −di ≤ x ≤ di und 0 ≤ y ≤ ki B(REG) ( B(CFL) ( B(CSL). a=d : −di ≤ x ≤ di und −ki ≤ y ≤ 0. Notation: sT0L, s0L, sDT0L und sD0L Erläuterung: Ist G synchronisiert, und ist wa ∈ hi (a), so endet p(wa ) im Punkt shift(wa ) und liegt innerhalb eines Rechtecks: a = r: (0, di ) sc Ein sT0L-System G = (Σ, {h1 , . . . , hs }, w0 ) ist ein (k, d )-sT0L-System, falls k := max{ ki | 1 ≤ i ≤ s } und d := max{ di | 1 ≤ i ≤ s }. sc (ki , di ) (0, 0) sc sc sc sc sc sc sc sc (ki , 0) sc (0, −di ) sc Definition 84 sc sc sc sc h2 : u 7→ uℓuru, d 7→ drd ℓd , r 7→ rdrur , ℓ 7→ ℓuℓd ℓ Dann ist G ein (3,1)-sT0L-System. sc (ki , −di ) wa = urrdddd ℓuruuruurrrddr Analog für a = ℓ, a = u und a = d . Beispiel 85 Sei G = (Σ, {h1 , h2 }, rd ℓu) mit h1 : u 7→ uℓuru, d 7→ drd ℓd , r 7→ rurdr , ℓ 7→ ℓd ℓuℓ w0 = rd ℓu, h1 (w0 ) = h1 (r )h1 (d )h1 (ℓ)h1 (u) = rurdr .drd ℓd .ℓd ℓuℓ.uℓuru (siehe Beispiel 80). Beh. 1 Satz 86 B(sDT0L) * B(s0L). Es gelten die in folgendem Diagramm dargestellten echten Inklusionen, wobei nicht verbundene Klassen unvergleichbar sind bezüglich Inklusion: B(CSL) 6 nnn n n n B(sT0L) 7 ooo o o o hPPP PPP gOOO OOO 6 nnn nnn B(s0L) Beweis hPPP PPP Das System G aus Beispiel 85 ist ein sDT0L-System. B(CFL) z.z.: O Angenommen G′ = (Σ, h, w0 ) wäre ein s0L-System mit B(G′ ) = B(G). Die kleinsten Bilder aus B(G) sind die folgenden: B(sDT0L) B(sD0L) Es gibt kein s0L-System, das B(G) erzeugt. B(REG) p1 : Beweis rb rb rb rb p2 : rb B(REG) ( B(CFL) ( B(CSL) : Satz 82. rb B(sT0L) ⊆ B(CSL), da L(sT0L) ⊆ L(T0L) ⊆ L(ET0L) ( CSL (Satz 78). rb rb rb rb rb rb rb rb rb rb rb rb p3 : rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb rb Beh. 2 B(s0L) * B(sDT0L). Beweis Sei H = (Σ, h, rd ℓu), wobei h definiert ist durch Damit ist h notwendigerweise nicht-löschend, und w0 ∈ Σ+ hat die Eigenschaft, dass p(w0 ) = p1 ist. Kombinatorische Überlegungen liefern nun einen Widerspruch! (siehe Dassow und Hromkovic) 2 h(u) = {uℓuru}, h(r ) h(d ) = {drd ℓd }, = {rurdr , rdrur }, h(ℓ) h(rd ℓu) : rb rb rb rb rb b b rb rb rb rb rb rb rb rb rb rb rb b b rb rb rb = {ℓuℓd ℓ, ℓd ℓuℓ}. Sei f : Σ∗ → Σ∗ definiert durch u 7→ uℓuru, d 7→ drd ℓd , d.h. ∀a ∈ Σ : f (a) ∈ h(a). Beh. 2.1 r 7→ rurdr , ℓ 7→ ℓd ℓuℓ, Beh. 2.2 Für alle v ∈ h2 (Σ) gilt: ur , uℓ, dr , d ℓ, ru, rd , ℓu, ℓd sind die in v auftretenden Faktoren der Länge 2. ∀a ∈ Σ ∀n ≥ 0 : f n (rd ℓu) ∈ L(H) und |f n (rd ℓu)|a = 5n . Beweis Beweis h2 (u) = h(uℓuru) = { uℓuru.ℓuℓd ℓ.uℓuru.rurdr .uℓuru, uℓuru.ℓd ℓuℓ.uℓuru.rurdr .uℓuru, Offensichtlich gilt f n (rd ℓu) ∈ hn (rd ℓu) ⊆ L(H). n = 0 : f 0 (rd ℓu) = rd ℓu, d.h. |f 0 (rd ℓu)|a = 1 = 50 . uℓuru.ℓuℓd ℓ.uℓuru.rdrur .uℓuru, uℓuru.ℓd ℓuℓ.uℓuru.rdrur .uℓuru }. 2 n → n + 1 : f n+1 (rd ℓu) Es gilt |f n (rd ℓu)|b = f (f n (rd ℓu)). = 5n für alle b ∈ Σ (I.V.) P = |f (b)|a · |f n (rd ℓu)|b b∈Σ P = 5n · |f (b)|a ; |f n+1 (rd ℓu)|a b∈Σ = 5n · 5 = 5n+1 . 2 Sei H ′ = (Σ, {h1 , h2 , . . . , hr }, w ) ein sDT0L-System mit B(H ′ ) = B(H). Sei n ∈ N hinreichend groß. Konstruiere ein Wort wn aus Modifikation: f n−1 (rd ℓu) Ferner enthält wn ein Teilwort der Größe 2n+1 , in dem weder durch folgende u→ 7 f (u) = uℓuru, d→ 7 f (d ) = drd ℓd , n rurdr , falls dies das (2 + i)-te Vorkommen von r in r 7→ f n−1 (rd ℓu) ist mit 0 ≤ i ≤ 2n , rdrur , sonst, n ℓuℓd ℓ, falls dies das (2 + i)-te Vorkommen von ℓ in ℓ 7→ f n−1 (rd ℓu) ist mit 0 ≤ i ≤ 2n , ℓd ℓuℓ, sonst. Dann gilt wn ∈ hn (rd ℓu). rdrur ℓd ℓuℓ noch vorkommt, d.h. das Bild pn := p(wn ) enthält ein Teilbild q der Größe 2n+1 , das nicht das folgende Bild als Teilbild enthält: pf : rb rb rb rb rb rb Wegen B(H ′ ) = B(H) gibt es ein Wort z ∈ L(H ′ ) mit p(z) = pn . Beh. 3 Dabei wird das Teilwort q durch ein Teilwort v von z beschrieben. Es gibt ein i ∈ {1, . . . , r } und ein Wort z ′ ∈ L(H ′ ) mit z = hi (z ′ ) B(sD0L) * B(CFL). und v = hi (v ′ ) für ein Teilwort v ′ von z ′ . Nach Beh. 1 enthält v ′ alle Buchstaben von Σ, d.h. unter hi Sei G = (Σ, h, druℓ), wobei h definiert ist durch h(a) := a2 (a ∈ Σ). Dann besteht B(G) aus allen Quadraten mit Kantenlänge 2n (n ≥ 0). produziert kein Buchstabe von Σ das Teilbild pf . Also kann pf nicht als Teilbild in p(z) = pn auftreten. Widerspruch! Damit gilt B(H) 6∈ B(sDT0L). 2 Beweis Man kann zeigen, dass es keine kontextfreie Grammatik G′ gibt mit B(G′ ) = B(G). 2 Beh. 4 B(REG) * B(sT0L). Für alle i ∈ {1, . . . , s} und alle Wörter u ∈ hi (r ) gilt p(u) = p(r n ) für ein n ≥ 0. Beweis Sei L := {r 2 , r 4 } ∈ REG. n = 0: • 6∈ B(H). Widerspruch! Dann enthält B(L) nur die Bilder rb rb rb rb rb. rb rb rb und Sei H = (Σ, {h1 , . . . , hs }, w0 ) ein sT0L-System mit B(H) = B(L). Dann gilt offensichtlich L(H) ⊆ {r , ℓ}∗ . Da H ein sT0L-System ist, muss n = 2: Es gibt ein Wort w ∈ L(H) mit p(w ) = p(r 4 ). Dann enthält hi (w ) ein Wort, das ein Teilwort v enthält mit p(v) = p(r 8 ). Widerspruch! n ≥ 3: hi (w0 ) enthält ein Wort, das ein Teilwort v enthält mit p(w0 ) = p(r 2 ) oder p(w0 ) = p(ℓ2 ) p(v) = p(r 6 ). Widerspruch! Also ist L 6∈ B(sT0L). sein. O.B.d.A. sei p(w0 ) = n = 1: Diese Substitution trägt dann nichts zur Erzeugung von B(H) bei. p(r 2 ), d.h. w0 enthält r2 als Faktor. 2 Kapitel 2. Die Ehrenfeuchtsche Vermutung Satz 87 Folgende Probleme sind entscheidbar: EINGABE: Ein sT0L-System G. FRAGE 1: FRAGE 2: Ist die Bildsprache B(G) endlich? Enthält die Bildsprache B(G) einen Baum? FRAGE 3: Enthält die Bildsprache B(G) einen Kreis? 2.1. Testmengen 2.2. Wortgleichungen 2.3. Polynomringe über Z 2.4. Folgerungen Beweis Siehe Dassow und Hromkovic. 2 2.1. Testmengen Definition 88 Beispiel 91 Zwei Morphismen f , g : Σ∗ → Γ∗ sind gleich (f = g), wenn für alle w ∈ Σ∗ die Gleichheit f (w ) = g(w ) gilt. Seien Σ = Γ = {a, b}, und seien f , g : Σ∗ → Γ∗ definiert durch: f (a) := ab, f (b) := bb, g(a) := abbb, g(b) := b. Bemerkung 89 Dann gilt: f 6= g. f = g gdw. f (a) = g(a) für alle a ∈ Σ. Die Gleichheit von Morphismen ist also entscheidbar. Sei L := {abb}∗ ⊆ Σ∗ . Es gilt: f (abb) = (ab)(bb)(bb) = (abbb)(b)(b) = g(abb). Hieraus folgt f =L g. Definition 90 Σ∗ . Σ∗ Γ∗ Sei L ⊆ Zwei Morphismen f , g : → sind gleich auf L (f =L g), wenn für alle w ∈ L die Gleichheit f (w ) = g(w ) gilt. Frage: Ist Gleichheit auf einer Sprache im allgemeinen entscheidbar? Bemerkung 92 Beweis (a) Aus f =L g folgt, dass f (L) = g(L) gilt. Die umgekehrte Implikation gilt im allgemeinen aber nicht. Seien etwa Σ = {a, b}, f : a 7→ b, b 7→ a und g : a 7→ a, b 7→ b, dann gilt f (Σ∗ ) = g(Σ∗ ), aber f 6=Σ∗ g. Seien L1 , L2 ∈ CFL(Σ). Wähle Σ := { ā | a ∈ Σ }, und betrachte die kontextfreie Sprache L := L1 · L2 und die Morphismen f := ΠΣ und g := ΠΣ , die definiert sind durch ( ) ) ( a, a ∈ Σ a, ā ∈ Σ f (a) := . und g(ā) := ε, a ∈ Σ ε, ā ∈ Σ (b) Folgendes Problem ist unentscheidbar: EINGABE: Eine kontextfreie Sprache L und zwei Morphismen f und g. FRAGE: Gilt f (L) = g(L)? Dann gilt f (L) = L1 und g(L) = L2 , d.h. f (L) = g(L) gdw. L1 = L2 gilt. Die Gleichheit von kontextfreien Sprachen ist aber unentscheidbar. Definition 93 Satz 94 Eine Teilmenge T ⊆ L ist eine Testmenge für L, wenn für alle Morphismen f und g folgendes gilt: Sei L ⊆ Σ∗ eine reguläre Sprache, und sei A = (Q, Σ, δ, q0 , F ) ein deterministischer endlicher Automat für L. Dann ist die Menge f =L g gdw. f =T g. T := { w ∈ L | |w | ≤ 2 · |Q| } Beispiel 91 (Fortsetzung) eine endliche Testmenge für L. Die Menge T := {abb} ist eine endliche Testmenge für die Sprache L = {abb}∗ , denn: Beweis Aus f (abb) = g(abb) folgt f ((abb)n ) = (f (abb))n = (g(abb))n = g((abb)n ) für alle n ≥ 0. 2 Seien f , g : Σ∗ → Γ∗ zwei Morphismen mit f =T g. z.z.: ∀w ∈ L, |w | > 2 · |Q| : f (w ) = g(w ). 2 Beweis (indirekt) Sei w = a1 a2 . . . an ∈ L ein Wort minimaler Länge mit f (w ) 6= g(w ). Dann gilt n > 2 · |Q|. Da w ∈ L ist, gilt δ(q0 , w ) ∈ F . Es gibt dann einen Zustand q ∈ Q, den A beim Lesen von w dreimal besucht, d.h. ∃1 ≤ i < j < k ≤ n : δ(q0 , a1 . . . ai ) = q, δ(q, ai+1 . . . aj ) = q, δ(q, aj+1 . . . ak ) = q, δ(q, ak +1 . . . an ) ∈ F . Setze u1 := a1 . . . ai , u2 := ai+1 . . . aj , u3 := aj+1 . . . ak , u4 := ak +1 . . . an . Dann gelten: w = u1 u2 u3 u4 , u1 u2 u4 , u1 u3 u4 , u1 u4 ∈ L. Wegen i < j < k sind u2 6= ε 6= u3 , d.h. |u1 u2 u4 |, |u1 u3 u4 |, |u1 u4 | < |w |. Nach Wahl von w folgt f (x) = g(x) für alle x ∈ {u1 u2 u4 , u1 u3 u4 , u1 u4 }. Wir erhalten daraus: f (u1 )f (u2 )f (u4 ) = f (u1 u2 u4 ) = g(u1 u2 u4 ) = g(u1 )g(u2 )g(u4 ), f (u1 )f (u3 )f (u4 ) = f (u1 u3 u4 ) = g(u1 u3 u4 ) = g(u1 )g(u3 )g(u4 ), = f (u1 u4 ) = g(u1 u4 ) = g(u1 )g(u4 ). f (u1 )f (u4 ) Wir vergleichen nun f (u1 ) mit g(u1 ). Fall 1. |f (u1 )| = |g(u1 )|, d.h. f (u1 ) = g(u1 ). Dann folgt f (u4 ) = g(u4 ), f (u2 ) = g(u2 ) und f (u3 ) = g(u3 ), was f (w ) = f (u1 u2 u3 u4 ) = g(u1 u2 u3 u4 ) = g(w ) liefert. Widerspruch! Fall 2. |f (u1 )| > |g(u1 )|, d.h. f (u1 ) = g(u1 )x und g(u4 ) = xf (u4 ) für ein x ∈ Γ+ . Es folgt: g(u1 )xf (u2 )f (u4 ) = g(u1 )g(u2 )xf (u4 ), d.h. xf (u2 ) = g(u2 )x. g(u1 )xf (u3 )f (u4 ) = g(u1 )g(u3 )xf (u4 ), d.h. xf (u3 ) = g(u3 )x. Wäre f (u2 ) = ε, dann wäre auch g(u2 ) = ε, was f (w ) = f (u1 )f (u3 )f (u4 ) = f (u1 u3 u4 ) = g(u1 u3 u4 ) = g(w ) liefern würde. Widerspruch! Also gilt f (u2 ) 6= ε 6= g(u2 ). Damit gibt es Wörter y, z ∈ Γ∗ und eine Zahl k ≥ 0 mit: g(u2 ) = yz, f (u2 ) = zy und x = (yz)k y (siehe Lemma 109). Analog liefert xf (u3 ) = g(u3 )x, dass es Wörter y1 , z1 ∈ Γ∗ und eine Zahl ℓ ≥ 0 gibt mit g(u3 ) = y1 z1 , f (u3 ) = z1 y1 und x = (y1 z1 )ℓ y1 . Damit erhalten wir f (w ) = f (u1 )f (u2 )f (u3 )f (u4 ) = g(u1 )xzyz1 y1 f (u4 ) und g(w ) = g(u1 )g(u2 )g(u3 )g(u4 ) = g(u1 )yzy1 z1 xf (u4 ). Aber xzyz1 y1 = (yz)k yzyz1 y1 = yz(yz)k yz1 y1 = yzxz1 y1 = yz(y1 z1 )ℓ y1 z1 y1 = yzy1 z1 x, was f (w ) = g(w ) impliziert. Widerspruch! Fall 3. |f (u1 )| < |g(u1 )|: Dieser Fall führt analog zu Fall 2 zum Widerspruch. Also gilt f (w ) = g(w ) für alle Wörter w ∈ L, d.h. f =L g. 2 Folgerung 95 Satz 96 Das folgende Problem ist entscheidbar: Für jede kontextfreie Sprache L kann man effektiv eine endliche Testmenge bestimmen. EINGABE: Eine reguläre Sprache L (gegeben durch einen endlichen Automaten oder einen regulären Ausdruck) und zwei Morphismen f und g. FRAGE: Gilt f =L g? Beweis J. Albert, K. Culik; Test sets for homomorphism equivalence on context-free languages; Information and Control 45 (1980) 273–284. 2 Beweis Folgerung 97 (1.) Bestimme einen deterministischen endlichen Automaten für L. Das folgende Problem ist entscheidbar: (2.) Bestimme eine endliche Teilmenge T für L gemäß Satz 94. (3.) Teste, ob f =T g gilt. 2 EINGABE: Eine kontextfreie Sprache L und zwei Morphismen f und g. FRAGE: Gilt f =L g? Beweis Satz 98 Das folgende Problem ist unentscheidbar: EINGABE: Eine kontextsensitive Sprache L und zwei Morphismen f und g. FRAGE: Gilt f =L g? durch Reduktion vom PCP. Sei I = {(u1 , v1 ), . . . , (un , vn )} eine Instanz des PCP über Γ = {a, b}. Wir konstruieren aus I eine Sprache L ∈ CSL und zwei Morphismen f und g, so dass f =L g gilt gdw. I keine Lösung hat. ˙ | , $, a1 , . . . , an } Setze Σ := Γ∪{c und L := {c| } ∪ { c| ai1 ai2 . . . aim $ | m ≥ 1, i1 , . . . , im ∈ {1, . . . , n} mit ui1 . . . uim = vi1 . . . vim }. L wird von einem (deterministischen) LBA akzeptiert, d.h. L ∈ CSL. Definiere f , g : Σ∗ → {c| , a, b, $}∗ durch f : c| 7→ c| , ai 7→ ui (1 ≤ i ≤ m), $ → $, g : c| 7→ c| , ai 7→ vi (1 ≤ i ≤ m), $ → $$. Beh. Die Ehrenfeuchtsche Vermutung f =L g gdw. I hat keine Lösung. Sei Σ ein endliches Alphabet. Dann gibt es für jede Sprache L ⊆ Σ∗ eine endliche Testmenge, d.h. Beweis Hat I keine Lösung, so gilt L = {c| }. Wegen f (c| ) = c| = g(c| ) folgt f =L g. Hat I eine Lösung (i1 , i2 , . . . , im ), so gilt c| ai1 ai2 . . . aim $ ∈ L. Wegen f (c| ai1 . . . aim $) = c| ui1 . . . uim $ = c| vi1 . . . vim $ und g(c| ai1 . . . aim $) = c| vi1 . . . vim $$ folgt f 6=L g. ∀L ⊆ Σ∗ ∃T ⊆ L: (1) T ist endlich. (2) ∀f , g : Σ∗ → Γ∗ Morphismen: f =L g gdw. f =T g. Satz 99 (Albert,Lawrence 1985; Guba 1985) 2 Die Ehrenfeuchtsche Vermutung gilt. Also ist die Gleichheit zweier Morphismen auf kontextsensitiven Sprachen im allgemeinen unentscheidbar. 2 2.2. Wortgleichungen Definition 100 Sei V = {v1 , v2 , . . . , vr } eine Menge von Variablen. (a) Ein Paar (w1 , w2 ) mit w1 , w2 ∈ V ∗ ist eine Wortgleichung über V . Eine Lösung dieser Wortgleichung ist ein Morphismus h : V ∗ → Σ∗ mit h(w1 ) = h(w2 ). (b) Eine Menge von Wortpaaren S = { (wi , wi′ ) | i ∈ I } ⊆ V ∗ × V ∗ ist ein System von Wortgleichungen über V . Eine Lösung dieses Systems ist ein Morphismus h : V ∗ → Σ∗ mit h(wi ) = h(wi′ ) für alle i ∈ I. (c) Zwei Systeme von Wortgleichungen sind äquivalent, wenn sie genau dieselben Lösungen besitzen. Beispiel 101 (a) Wortgleichung xy = yx : (xy, yx). (b) Wortgleichung xy = yz : (xy, yz). Definition 102 Sei u ∈ Σ∗ . Das Wort u heißt imprimitiv, falls es ein v ∈ Σ+ und ein k ≥ 2 gibt mit u = v k ; andernfalls heißt u primitiv. Die Wurzel ρ(u) von u ist das kürzeste Wort v mit der Eigenschaft, dass u ∈ {v}+ ist. Lemma 103 Sei u ∈ Σ∗ . Die Wurzel ρ(u) von u ist das kürzeste Präfix v von u mit der Eigenschaft u = v k für ein k ≥ 1. Insbesondere existiert ρ(u) und ist eindeutig bestimmt. Lemma 104 Beweis Für alle u, v ∈ Σ+ sind folgende Aussagen äquivalent: Für alle v ∈ Σ∗ und alle k ∈ N gilt: |v k | = k · |v|. Also ist ρ(ε) = ε. (a) uv = vu. (b) ∃w ∈ Σ+ ∃p, q ∈ N+ : u = w p und v = w q . Sei nun u ∈ Σ+ , und seien v ∈ Σ∗ und k ∈ N mit u = v k . Dann sind k ≥ 1 und |u| ≥ |v| = k1 · |u| > 0, d.h. v ∈ Σ+ . Offensichtlich ist v ein Präfix von u, d.h. u = vw für ein w ∈ Σ∗ . Da u 1 = u ist, gibt es ein kürzestes Präfix v0 von u mit u ∈ {v0 }+ . Es folgt v0 = ρ(u). 2 Folgerung 105 Beweis (a) ⇒ (b): Ist |u| = |v|, so gilt u = v, d.h. die Bedingung (b) ist mit w := u und p := q := 1 erfüllt. Der Beweis wird nun durch Induktion über k := |u| + |v| geführt: k = 2: |u| = 1 = |v|. k → k + 1: Sei |u| < |v|, d.h. v = ur und v = ru für ein r ∈ Σ+ . Wegen ur = v = ru und |u| + |r | = |v| < |u| + |v| = k + 1 liefert die I.V. ein w ∈ Σ+ und p, q ∈ N+ mit u = w p und r = w q , d.h. v = ur = w p+q . 2 (b) ⇒ (a): trivial. 2 Für u, v ∈ Σ+ gilt uv = vu genau dann, wenn ρ(u) = ρ(v) ist. Beweis Ist ρ(u) = w = ρ(v), so gilt u = w p und v = w q mit p, q ≥ 1, d.h. uv = w p+q = vu. Ist uv = vu, so gibt es ein Wort w ∈ Σ+ und Zahlen p, q ≥ 1 mit u = w p und v = w q . Dann folgt ρ(u) = ρ(w p ) = ρ(w ) = ρ(w q ) = ρ(v). 2 Folgerung 106 Ein Morphismus h : V ∗ → Σ∗ ist eine Lösung der Wortgleichung xy = yx genau dann, wenn ρ(h(x)) = ρ(h(y)) gilt, d.h. LΣ ((xy, yx)) = { h : V ∗ → Σ∗ | ∃w ∈ Σ∗ ∃p, q ≥ 1 : h(x) = w p und h(y) = w q }. Definition 107 Zwei Wörter u, v ∈ Σ∗ heißen konjugiert, wenn es r , s ∈ Σ∗ gibt mit u = rs und v = sr . Notation: u ≈ v. Konj(u) := { v ∈ Σ∗ | u ≈ v } ist die Konjugiertheitsklasse von u. Lemma 108 „⇒“: Es gelte u ≈ v, d.h. u = rs und v = sr . Dann gilt rs = u = ρ(u)k , d.h. es gibt u1 , u2 ∈ Σ∗ und k1 , k2 ∈ N mit ρ(u) = u1 u2 , r = ρ(u)k1 u1 , s = u2 ρ(u)k2 und k = k1 + k2 + 1. Also folgt v = sr = u2 ρ(u)k1 +k2 u1 = u2 (u1 u2 )k1 +k2 u1 = (u2 u1 )k = ρ(v)ℓ . Wegen k ≥ ℓ ergibt dies k = ℓ und ρ(v) = u2 u1 , d.h. ρ(u) ≈ ρ(v). „⇐“: Es gelte ρ(u) ≈ ρ(v), d.h. ρ(u) = rs und ρ(v) = sr . Dann folgt u = (ρ(u))k = (rs)k und v = ρ(v)ℓ = (sr )ℓ , d.h. u = (rs)k = r ((sr )k −1 s) und v = (sr )ℓ = ((sr )ℓ−1 s)r . Wegen k · |rs| = |u| = |v| = ℓ · |rs| erhalten wir k = ℓ, d.h. u = r · ((sr )k −1 s) und v = ((sr )k −1 s) · r . Seien u, v ∈ Σ∗ mit |u| = |v|. Es gilt u ≈ v genau dann, wenn ρ(u) ≈ ρ(v) gilt. Beweis Seien k, ℓ ≥ 1 mit u = ρ(u)k und v = ρ(v)ℓ . O.B.d.A. seien u, v ∈ Σ+ und k ≥ ℓ. Also gilt u ≈ v. 2 Lemma 109 Seien u, v, w ∈ Σ∗ mit u 6= ε 6= v. Dann sind die folgenden Aussagen äquivalent: Lemma 110 Für u, w ∈ Σ∗ sind folgende Aussagen äquivalent: (a) uv = vw , (a) u ≈ w , (b) ∃r , s ∈ Σ∗ ∃k ≥ 0 : u = rs, w = sr und v = (rs)k r . (b) ∃v ∈ Σ∗ : uv = vw . Beweis Beweis (b) ⇒ (a): klar. unv (a) ⇒ (b): u ≈ w , d.h. es gilt u = rs und w = sr für r , s ∈ Σ∗ . Wähle v := r . Dann gilt uv = rsr = vw . vw n . (a) ⇒ (b): Für alle n ≥ 1 gilt = Wähle n ≥ 1 mit n · |u| > |v| ≥ (n − 1) · |u|. Aus u n v = vw n folgt dann, dass es r , s ∈ Σ∗ gibt mit v = u n−1 r , u = rs und w n = sv. Es folgt w n = sv = su n−1 r = s(rs)n−1 r = (sr )n , was w = sr ergibt. Also: u = rs, w = sr und v = u n−1 r = (rs)n−1 r . (b) ⇒ (a): Sei uv = vw . Ist u = ε oder w = ε, dann folgt u = ε = w . Seien nun u 6= ε 6= w . Dann ergibt Lemma 109, dass u = rs, w = sr und v = (rs)k r sind, was u ≈ w liefert. 2 2 Die Ehrenfeuchtsche Vermutung für Wortgleichungen Folgerung 111 Ein Morphismus h : V ∗ → Σ∗ ist eine Lösung der Wortgleichung xy = yz genau dann, wenn es Wörter r , s ∈ Σ∗ und eine Zahl k ≥ 0 gibt mit h(x) = rs, h(y) = (rs)k r und h(z) = sr . Sei V = {v1 , v2 , . . . , vr } eine endliche Menge von Variablen. Dann gibt es zu jedem System von Wortgleichungen über V ein äquivalentes endliches Teilsystem, d.h. ∀S ⊆ V ∗ × V ∗ ∃T ⊆ S: (1) T ist endlich. (2) ∀h : V ∗ → Σ∗ Morphismus: h ist Lösung von S gdw. h ist Lösung von T . Satz 112 Die Ehrenfeuchtsche Vermutung für Wortgleichungen impliziert die Ehrenfeuchtsche Vermutung. Beweis Beh. Sei Σ = {a1 , . . . , ar }, und sei L ⊆ Σ∗ . Wähle Σ̃ := { ã | a ∈ Σ } und Σ̂ := { â | a ∈ Σ }, und setze V := Σ̃ ∪ Σ̂. Definiere Morphismen ψ1 : Σ∗ → Σ̃∗ und ψ2 : Σ∗ → Σ̂∗ durch T ist eine Testmenge für L. ψ1 (a) := ã und ψ2 (a) := â (a ∈ Σ), und setze S := { (ψ1 (w ), ψ2 (w )) | w ∈ L }. S ist ein System von Wortgleichungen über V . Nach Voraussetzung enthält S ein äquivalentes endliches Teilsystem S ′ = { (ψ1 (wi ), ψ2 (wi )) | i = 1, . . . , k }. Setze T := {w1 , . . . , wk } ⊆ L. Beweis z.z.: ∀f , g : Σ∗ → Γ∗ : f =T g ⇒ f =L g. Seien f , g : Σ∗ → Γ∗ zwei Morphismen mit f =T g. Definiere h : V ∗ → Γ∗ durch: ã 7→ f (a) (a ∈ Σ), â 7→ g(a) (a ∈ Σ). Dann gilt für i = 1, . . . , k: h(ψ1 (wi )) = f (wi ) = g(wi ) = h(ψ2 (wi )), d.h. h ist eine Lösung für S ′ . Also ist h auch eine Lösung für S, d.h. für alle w ∈ L gilt h(ψ1 (w )) = h(ψ2 (w )). Also gilt für alle w ∈ L: f (w ) = h(ψ1 (w )) = h(ψ2 (w )) = g(w ), d.h. f =L g. 2 2.3. Polynomringe über Z Die Ehrenfeuchtsche Vermutung für Polynome über Z Definition 113 Sei X = {x1 , . . . , xr } eine endliche Menge von Variablen. Dann bezeichnet Z[X ] den Polynomring über Z in den Unbestimmten X. Sei Q ⊆ Z[X ]. Ein r -Tupel z := (z1 , . . . , zr ) ∈ Zr ist eine Lösung von Q, falls q(z) = 0 gilt für alle q ∈ Q. Zwei Polynommengen Q, P ⊆ Z[X ] heißen äquivalent, wenn sie genau dieselbe Lösung haben. ∀Q ⊆ Z[X ] ∃Q ′ ⊆ Q: (1) Q ′ ist endlich. (2) ∀z ∈ Zr : (∀q ∈ Q : q(z) = 0 gdw. ∀q ′ ∈ Q ′ : q ′ (z) = 0). Satz 114 Die Ehrenfeuchtsche Vermutung für Polynome über Z impliziert die Ehrenfeuchtsche Vermutung für Wortgleichungen. Beh. 2 Beweis Sei V = {v1 , v2 , . . . , vr }, und seien X = {x1 , x2 , . . . , xr } und Y := {y1 , y2 , . . . , yr }. Definiere Abbildungen t1 , t2 : V ∗ → Z[X , Y ] durch: t1 (ε) := 0, t1 (vi ) := xi (1 ≤ i ≤ r ), t1 (w1 w2 ) := t1 (w1 ) · t2 (w2 ) + t1 (w2 ) (w1 , w2 ∈ V + ), t2 (ε) t2 (vi ) t2 (wvi ) Sei X = {x1 , . . . , xr } eine endliche Menge von Variablen. Dann gibt es zu jeder Menge Q ⊆ Z[X ] eine äquivalente endliche Teilmenge, d.h. := 1, := yi (1 ≤ i ≤ r ), := t2 (w ) · t2 (vi ) (w ∈ V + , 1 ≤ i ≤ r ). Beh. 1 t2 ist ein Morphismus von V ∗ in (Z[X , Y ], ·, 1). Die Abbildung t1 ist wohldefiniert. Beweis Seien u, v, w , z ∈ V + mit uv = wz und u 6= w . O.B.d.A. sei |u| > |w |, d.h. u = ws und z = sv für ein s ∈ V + . Dann gilt: t1 (uv) = t1 (u) · t2 (v) + t1 (v) = t1 (ws) · t2 (v) + t1 (v) = (t1 (w ) · t2 (s) + t1 (s)) · t2 (v) + t1 (v) = t1 (w ) · t2 (s) · t2 (v) + t1 (s) · t2 (v) + t1 (v) = t1 (w ) · t2 (sv) + t1 (sv) = t1 (w ) · t2 (z) + t1 (z) = t1 (wz). 2 Beweis Sei nun S = { (wi , wi′ ) | i ∈ I } ein System von Wortgleichungen über V . Setze Q := { t1 (wi ) − t1 (wi′ ) | i ∈ I } ⊆ Z[X , Y ]. Dann besitzt Q eine äquivalente Teilmenge Q ′ := { t1 (wi ) − t1 (wi′ ) | i = 1, 2, . . . , k }. Setze S ′ := { (wi , wi′ ) | i = 1, 2, . . . , k } ⊆ S. Beh. 3 S ′ ist äquivalent zu S. z.z.: ∀h : V ∗ → Σ∗ : Gilt h(wi ) = h(wi′ ) für alle i = 1, . . . , k, so folgt h(wi ) = h(wi′ ) für alle i ∈ I. Angenommen es gibt einen Morphismus h : V ∗ → Σ∗ mit h(wi ) = h(wi′ ), i = 1, . . . , k, aber h(wi0 ) 6= h(wi′0 ) für ein i0 ∈ I r {1, 2, . . . , k}. O.B.d.A. sei Σ = {1, 2, . . . , n} für ein n ≥ 2. Definiere Abbildungen ϕ1 , ϕ2 : Σ∗ → N durch falls w = ε, 0, k −1 P ϕ1 (w ) := aj · nj , falls w = ak −1 ak −2 . . . a1 a0 , k ≥ 1, j=0 n|w | ϕ2 (w ) := für alle w ∈ Σ∗ . Dann ist w die n-adische Darstellung der Zahl ϕ1 (w ), d.h. ϕ1 : Σ∗ → N ist bijektiv. Beweis Setze Υ := (u1 , . . . , ur , z1 , . . . , zr ) ∈ N2r mit uj := ϕ1 (h(vj )) (1 ≤ j ≤ r ), zj := ϕ2 (h(vj )) (1 ≤ j ≤ r ). Beh. 4 ∀w ∈ V ∗ : (a) t2 (w )(Υ) = n|h(w )| . (b) t1 (w )(Υ) = ϕ1 (h(w )). durch Induktion über |w |: (a) t2 (ε)(Υ) = 1 = n0 = n|h(ε)| , t2 (vi )(Υ) = yi (Υ) = zi = ϕ2 (h(vi )) = n|h(vi )| (1 ≤ i ≤ r ), t2 (wvi )(Υ) = t2 (w )(Υ)·t2 (vi )(Υ) = n|h(w )| ·n|h(vi )| = n|h(wvi )| I.V . (w ∈ V + , 1 ≤ i ≤ r ). (b) t1 (ε)(Υ) = 0 = ϕ1 (ε) = ϕ1 (h(ε)), t1 (vi )(Υ) = xi (Υ) = ui = ϕ1 (h(vi )) (1 ≤ i ≤ r ), t1 (w1 w2 )(Υ) = t1 (w1 )(Υ) · t2 (w2 )(Υ) + t1 (w2 )(Υ) = I.V .+(a) ϕ1 (h(w1 )) · n|h(w2 )| + ϕ1 (h(w2 )) = ϕ1 (h(w1 w2 )) (w1 , w2 ∈ V + ). 2 Beh. 5 Υ ist Lösung von Q ′ . Definition 115 Beweis Sei X = {x1 , . . . , xr } eine endliche Menge von Variablen, und sei Q ⊆ Z[X ]. Eine Teilmenge Q ′ ⊆ Q ist eine Basis für Q, wenn folgendes gilt: Sei i ∈ {1, 2, . . . , k}. Dann gilt h(wi ) = h(wi′ ). Also: t1 (wi )(Υ) = ϕ1 (h(wi )) = ϕ1 (h(wi′ )) d.h. (t1 (wi ) − Beh. 4(b) t1 (wi′ ))(Υ) = Beh. 4(b) t1 (wi′ )(Υ), = 0. 2 ∀q ∈ Q ∃q1 , . . . , qn ∈ Q ′ ∃p1 , . . . , pn ∈ Z[X ] : q = n X pi · qi . i=1 Damit ist Υ eine Lösung von Q. Also gilt insbesondere (t1 (wi0 ) − t1 (wi′0 ))(Υ) = 0, d.h. ϕ1 (h(wi0 )) = t1 (wi0 )(Υ) = t1 (wi′0 )(Υ) = ϕ1 (h(wi′0 )). Beh. 4 Beh. 4 Σ∗ Da ϕ1 : → N injektiv ist, folgt hieraus h(wi0 ) = h(wi′0 ). Widerspruch! Also ist S ′ zu S äquivalent. Satz 116 Falls jede Teilmenge Q ⊆ Z[X ] eine endliche Basis hat, dann gilt die Ehrenfeuchtsche Vermutung für Polynome über Z. 22 Beweis Sei Q ⊆ Z[X ]. Ist nun Q ′ ⊆ Q eine endliche Basis für Q, dann ist jede gemeinsame Nullstelle aller Polynome aus Q ′ auch eine gemeinsame Nullstelle aller Polynome aus Q. 2 Beweis Definition 117 I ist das von Q erzeugte Ideal. Sei Q ⊆ Z[X ]. Setze I := { q ∈ Z[X ] | ∃p1 , . . . , pm ∈ m P pi · qi }. Z[X ] ∃q1 , . . . , qm ∈ Q : q = i=1 Eine Teilmenge I ⊆ Z[X ] ist ein Ideal, wenn sie die folgenden Bedingungen erfüllt: – I 6= ∅, – ∀u, v ∈ I : u − v ∈ I, d.h. I ist Untergruppe von (Z[X ], +, 0), – ∀p ∈ Z[X ] ∀u ∈ I : p · u ∈ I, d.h. Z[X ] · I ⊆ I. Angenommen I besitzt eine endliche Basis J := {q1 , . . . , qn } ⊆ I. Für j = 1, . . . , n gibt es dann (j) (j) p1 , . . . , pmj Setze Q ′ := Lemma 118 Falls jedes Ideal von Z[X ] eine endliche Basis hat, so hat auch jede Teilmenge Q ⊆ Z[X ] eine endliche Basis. ∈ Z[X ] und n S j=1 (j) (j) (j) q1 , . . . , qmj ∈ Q mit qj = (j) {q1 , . . . , qmj }. Dann ist Q ′ ⊆ Q eine endlich Basis für Q. mj P i=1 (j) (j) pi · qi . 2 Definition 119 Satz 121 (Hilbertscher Basissatz) Ein Ring R heißt Noethersch, wenn jedes Ideal von R eine endliche Basis besitzt. Ist R ein Noetherscher Ring mit Eins, so ist der Polynomring R[x] ebenfalls Noethersch. Satz 120 Z ist ein Noetherscher Ring. Folgerung 122 Beweis Ist X eine endliche Menge von Variablen, so ist der Polynomring Z[X ] Noethersch. Sei I ⊆ Z ein Ideal. O.B.d.A.: I 6= {0}. Definiere q0 := min{ q ∈ I | q > 0 }. Dann ist {q0 } eine Basis für I, denn: Zu z ∈ I gibt es p ∈ Z und r ∈ {0, 1, . . . , q0 − 1} mit z = p · q0 + r . Da I ein Ideal ist, folgt z − p · q0 = r ∈ I. Nach Wahl von q0 ist also r = 0, d .h. z = p · q0 . Also wird I von {q0 } erzeugt. Damit ist die Ehrenfeuchtsche Vermutung bewiesen: Folgerung 122: Jedes Ideal von Z[X ] hat eine endliche Basis. Lemma 118: Jede Teilmenge Q ⊆ Z[X ] hat eine endliche Basis. Satz 116: Die Ehrenfeuchtsche Vermutung für Polynome über Z gilt. Satz 114: Die Ehrenfeuchtsche Vermutung für Wortgleichungen gilt. Satz 112: Die Ehrenfeuchtsche Vermutung gilt. 2 2.4. Folgerungen Folgerung 124 Folgerung 123 Für jede Sprache L ⊆ Σ∗ ist das folgende Problem entscheidbar: Sei L eine Familie von Sprachen. Kann man zu jeder Sprache L ∈ L effektiv eine endliche Testmenge T ⊆ L bestimmen, dann ist das Gleichheitsproblem für Morphismen auf Sprachen aus L entscheidbar. EINGABE: Zwei Morphismen f , g : Σ∗ → Γ∗ . FRAGE: Gilt f =L g? Folgerung 125 Dies widerspricht nicht Satz 98, wo die uniforme Version dieses Problems für kontextsensitive Sprachen betrachtet wird. EINGABE: Eine kontextsensitive Sprache L. AUFGABE: Bestimme eine endliche Testmenge T für L! Das folgende Problem ist nicht algorithmisch lösbar: Kapitel 3. Makanins Algorithmus 3.1. Wortgleichungen mit Konstanten 3.2. Das Lösen quadratischer Systeme 3.3. Dominotürme und Normalformen 3.4. Die existentielle Theorie der Konkatenation 3.5. Wortgleichungen in einer Variablen 3.6. Lösungen mit Nebenbedingungen 3.7. Lineare Ordnungen über endlichen Halbgruppen 3.8. Von Wortgleichungen zu Randgleichungen 3.9. Makanins Transformationen 3.1. Wortgleichungen mit Konstanten Sei Σ = {a, b, . . .} ein endliches Alphabet von Konstanten, und sei Ω := {x, y, z, . . .} ein endliches Alphabet von Variablen mit Σ ∩ Ω = ∅. Eine Instantiierung der Variablen ist ein Morphismus σ : (Σ ∪ Ω)∗ → Σ∗ mit der Eigenschaft, dass σ(a) = a gilt für alle a ∈ Σ. Definition 126 (a) Eine Wortgleichung über Σ in den Variablen Ω ist ein Paar (L, R) ∈ (Σ ∪ Ω)∗ × (Σ ∪ Ω)∗ . Schreibweise: L = R. (b) Ein System von Wortgleichungen über Σ in den Variablen Ω ist eine Menge S := {L1 = R1 , L2 = R2 , . . . , Lk = Rk } Beispiel 127 Seien Σ = {a, b} und Ω = {x, y, z, u}. Wir betrachten die quadratische Wortgleichung xauzau = yzbxaaby. von Wortgleichungen über Σ. Das System S heißt quadratisch, wenn folgende Ungleichungen gelten: k X (|Li |x + |Ri |x ) ≤ 2. ∀x ∈ Ω : i=1 (c) Eine Lösung des Systems S ist eine Instantiierung σ der Variablen mit σ(Li ) = σ(Ri ) für alle i = 1, . . . , k . Für σ1 (x) := ε, σ1 (y) := ε, σ1 (z) := a und σ1 (u) := b gilt σ1 (xauzau) = abaab = σ1 (yzbxaaby), d.h. σ1 ist eine singuläre Lösung. Für σ2 (x) := abb, σ2 (y) := ab, σ2 (z) := ba und σ2 (u) := bab gilt σ2 (xauzau) = abbababbaabab = σ2 (yzbxaaby), d.h. σ2 ist eine nichtsinguläre Lösung. Sie heißt nichtsingulär, wenn σ(x ) 6= ε gilt für alle x ∈ Ω, andernfalls heißt sie singulär. 3.2. Das Lösen quadratischer Systeme Satz 128 (Makanin 1977) Das folgende Problem ist entscheidbar: EINGABE: Ein endliches System von Wortgleichungen über Σ in den Variablen Ω. FRAGE: Hat dieses System eine Lösung? Tatsächlich kann man eine Lösung bestimmen, wenn das System lösbar ist. Sei E = {L1 = R1 , L2 = R2 , . . . , Lk = Rk } ein System von Wortgleichungen: ||E || := k P (|Li | + |Ri |) : Größe von E , i=1 ΩE := { x ∈ Ω | ∃i : |Li |x + |Ri |x ≥ 1 } : Variable, die in E auftreten. E heißt vollständig gekürzt, wenn es keinen Index i ∈ {1, . . . , k} gibt, so dass Li und Ri mit demselben Symbol beginnen oder enden. Beachte: Für g ∈ Σ ∪ Ω haben die Gleichungen L = R, gL = gR und Lg = Rg alle dieselben Lösungen. Folgerung 129 Es reicht aus, vollständig gekürzte Systeme von Wortgleichungen zu betrachten. Angenommen, E hat singuläre Lösungen. Dann gibt es eine nichtleere Teilmenge Ω′ ⊆ ΩE , so dass eine Lösung σ für E existiert mit der Eigenschaft σ(x) = ε für alle x ∈ Ω′ . Definiere Π′ : (Σ ∪ ΩE )∗ → (Σ ∪ (ΩE r Ω′ ))∗ durch a 7→ a (a ∈ Σ), x 7→ x (x ∈ ΩE r Ω′ ) und x 7→ ε (x ∈ Ω′ ), und setze E ′ := { Π′ (Li ) = Π′ (Ri ) | 1 ≤ i ≤ k }. Dann gilt ||E ′ || < ||E ||, und jede Lösung von E ′ ergibt eine singuläre Lösung von E . Folgerung 130 Um singuläre Lösungen zu finden reicht es, Lösungen für kleinere Systeme, in denen auch noch weniger Variable vorkommen, zu bestimmen. Angenommen E hat keine singuläre Lösung, d.h. wir müssen nach nichtsingulären Lösungen suchen. O.B.d.A. gilt (1.) L1 = xw1 und R1 = aw2 (x ∈ ΩE , a ∈ Σ) oder (2.) L1 = xw1 und R1 = yw2 (x, y ∈ ΩE , x 6= y). zu (1.): Ist σ ein Lösung für E , dann gilt σ(x) = au für ein u ∈ Σ∗ . Sei x ′ ∈ Ω r ΩE . Konstruiere E ′ aus E , indem jedes Vorkommen von x durch ax ′ ersetzt wird: R1′ = aw2 L′1 = ax ′ w1 , .. . L′i = w3 ax ′ w4 , Ri′ = . . . Ersetze nun L′1 = R1′ durch: x ′ w1 = w2 . Ist E ein quadratisches System, dann ist auch E ′ quadratisch mit ||E ′ || ≤ ||E || und |ΩE ′ | = |ΩE |. zu (2.): Ist σ eine Lösung für E , dann ist σ(x) ein Präfix von σ(y) oder σ(y) ist ein Präfix von σ(x). Angenommen σ(y) ist ein Präfix von σ(x). Wähle x ′ ∈ Ω r ΩE . Konstruiere E ′ aus E , indem jedes Vorkommen von x durch yx ′ R1′ = yw2 ersetzt wird: L′1 = yx ′ w1 , .. . L′i L′j = w3 yx ′ w4 , Ri′ = . . . .. . = ..., Rj′ = w5 yw6 Ersetze nun L′1 = R1′ durch: x ′ w1 = w2 . Ist E ein quadratisches System, dann ist auch E ′ quadratisch mit ||E ′ || ≤ ||E || und |ΩE ′ | ≤ |ΩE |. In beiden Fällen liefert jede Lösung von E ′ eine Lösung für E . Ist σ : ΩE → Σ∗ eine nichtsinguläre Lösung von E mit P |σ(x)| minimal, dann gibt es eine Lösung σ ′ : ΩE ′ → Σ∗ mit x∈ΩE X |σ ′ (v)| < v ∈ΩE ′ X |σ(v)|, x∈ΩE da σ(x) = aσ ′ (x ′ ) bzw. σ(x) = σ ′ (y)σ ′ (x ′ ) gilt. Folgerung 131 Die Aufgabe, nichtsinguläre Lösungen für quadratische Systeme zu bestimmen, lässt sich auf dieselbe Aufgabe reduzieren für Systeme, die höchstens genauso groß sind wie das gegebene System, die aber kleinere minimale Lösungen haben. Beispiel 133 Σ = {a, b, c}, Ω = {x, y, z}, E = {abxcy = ycxba}: Folgerung 132 Die Lösbarkeit für endliche quadratische Systeme von Wortgleichungen ist entscheidbar. Ist ein solches System lösbar, dann können Lösungen dafür bestimmt werden. Das Verfahren zur Lösung quadratischer Systeme kann graphisch repräsentiert werden. abxcy = ycxba O y ←ay y ←cy cabxy = ycxba o y ←xy y ←ε abx O = xba x←bx x←ax bax = xbaTT TTTT x←ε TT) ba = ba / bxcay = ycxba y ←by xcaby = ycxba O x←cx x←yx xcaby = cyxba x←ε aby = yba O y ←by y ←ay bay = yba jj j j j ujjj y ←ε Lösungen für E : {x 7→ a, y 7→ aba}, {x 7→ aca, y 7→ aba}. 3.3. Dominotürme und Normalformen Sei w = (rs)h−1 r mit s ∈ Σ+ , r ∈ Σ∗ und h ≥ 2: Lemma 134 Sei p ∈ Σ∗ ein primitives Wort. Aus p 2 = xpy folgt, dass x = ε oder y = ε ist. rs rs ... rs ... rs rs rs rs rs rs r r r sr sr sr rs rs rs rs rs ... r r r sr sr sr sr sr Beweis p 2 = xpy impliziert, dass |p| = |x| + |y| ist. Also gilt p = xy = yx. Nach Lemma 104 gibt es ein primitives Wort z mit x = z i und y = zj , d.h. p = z i+j . p ist primitiv, d.h. z = p und i + j = 1, also x = z 0 = ε oder y = z 0 = ε 2 rs rs rs rs rs rs ... ... ... rs Höhe h Definition 135 Ein Wort w ∈ Σ+ läßt sich durch einen Dominoturm der Höhe h darstellen, wenn es Wörter x1 , . . . , xh−1 ∈ Σ∗ und y1 , . . . , yh−1 , z2 , . . . , zh ∈ Σ+ gibt mit: (i) w = xi yi = zi+1 xi für alle 1 ≤ i ≤ h − 1, Definition 136 Für w ∈ Σ∗ ist der Periodizitätsexponent exp(w ) definiert durch exp(w ) := max{ α ∈ N | ∃r , s, p ∈ Σ∗ : p 6= ε und w = rp α s }. (ii) |z2 . . . zh | ≤ |w |. Im Bild: x1 = . . . = xh−1 = (rs)h−2 r , y1 = . . . = yh−1 = sr und z2 = . . . = zh = rs. Spezialfall für h = 2: x1 = ε, y1 = w und z2 = w : w w Lemma 137 Seien h ≥ 2 und w ∈ Σ+ , so dass w sich durch einen Dominoturm der Höhe h darstellen lässt. Dann gilt exp(w ) ≥ h − 1. sr Beweis Definition 138 Seien x1 , . . . , xh−1 ∈ Σ∗ und y1 , . . . , yh−1 , z2 , . . . , zh ∈ Σ+ mit Sei p ⊆ Σ+ ein primitives Wort. Die p-stabile Normalform für ein Wort w ∈ Σ∗ ist die kürzeste Folge der Form (i) w = xi yi = zi+1 xi für alle 1 ≤ i ≤ h − 1, (u0 , α1 , u1 , . . . , αk , uk ), (ii) |z2 . . . zh | ≤ |w |. mit k ≥ 0, u0 , ui ∈ Σ∗ , αi ≥ 0 (1 ≤ i ≤ k), die die drei folgenden Bedingungen erfüllt: Sei i ∈ {2, . . . , h} mit |zi | = min|zj |. j Setze z := zi , x := xi−1 und y := yi−1 . Dann gelten w = xy = zx und (h − 1) · |z| ≤ |w |. Also gibt es r , s ∈ Σ∗ und α ≥ 0 mit z = rs, x = (rs)α r und |r | < |z|. Es folgt w = zx = (rs)α+1 r = z α+1 r , d.h. (h − 1) · |z| ≤ |w | < (α + 2) · |z|. Aus z 6= ε folgt damit h − 1 ≤ α + 1 ≤ exp(w ). (1.) w = u0 p α1 u1 . . . p αk uk , (2.) k = 0 genau dann, wenn p 2 nicht als Faktor in w auftritt, 2 (3.) für k ≥ 1 gelten – u0 ∈ Σ∗ · p r Σ∗ · p 2 · Σ∗ , – ui ∈ (Σ∗ · p ∩ p · Σ∗ ) r Σ∗ · p 2 · Σ∗ (1 ≤ i < k), – uk ∈ p · Σ∗ r Σ∗ · p 2 · Σ∗ . Beweis Beispiel 139 Seien p = aba und w = ab(aba)5ba(aba)4 ba. Die p-stabile Normalform für w ist dann die Folge (ababa, 3, ababa, 3, ababa). Satz 140 Sei p ∈ Σ+ ein primitives Wort. Dann ist für jedes w ∈ Σ∗ die p-stabile Normalform eindeutig bestimmt. Sind also (u0 , α1 , u1 , . . . , αk , uk ) und (v0 , β1 , v1 , . . . , βℓ , vℓ ) zwei p-stabile Normalformen für dasselbe Wort, dann gelten k = ℓ, u0 = v0 , ui = vi und αi = βi für alle i = 1, . . . , k. Weil p-stabile Normalformen kürzeste Folgen mit gewissen Eigenschaften sind, gilt k = ℓ. Ist k = 0, so gilt u0 = w = v0 . Seien nun k = ℓ ≥ 1. Beh. 1 u0 = v0 . Beweis Angenommen |u0 | ≤ |v0 |. Es gelten u0 p ∈ Σ∗ · p 2 und v0 ∈ Σ∗ · p r Σ∗ · p 2 · Σ∗ . Damit folgt |v0 | < |u0 | + |p|, und v0 ist ein echter Präfix von u0 p. Lemma 134 liefert nun u0 = v0 . 2 3.4. Die existentielle Theorie der Konkatenation Es folgt p α1 u1 . . . p αk uk = p β1 v1 . . . p βk vk . Nach Definition ist u1 6= p, aber u1 ∈ (Σ∗ · p ∩ p · Σ∗ ) r Σ∗ · p 2 · Σ∗ . Für w ′ := u1 p α2 u2 . . . p αk uk erhalten wir damit p α1 w ′ ∈ p α1 +1 · Σ∗ r p α1 +2 · Σ∗ . Es folgt α1 = β1 und w ′ = v1 p β2 v2 . . . p βk vk . Dann sind (u1 , α2 , u2 , . . . , αk , uk ) und (v1 , β2 , v2 , . . . , βk , vk ) p-stabile Normalformen für w ′ . Induktion über k liefert nun ihre Übereinstimmung. 2 Sei Σ ein endliches Alphabet. Die Sprache der Theorie der Konkatenation über Σ ist wie folgt definiert: F := { a | a ∈ Σ } ∪ {·}, wobei a als Konstante und · als ein zweistelliges Funktionssymbol angesehen werden. Terme: Term(F, Ω) modulo Assoziativität von ·, atomare Formeln: t1 = t2 (t1 , t2 Terme), negierte atom. Formeln: t1 6= t2 (t1 , t2 Terme), quantorenfreie Formeln: atomare und negierte atomare Formeln, F1 ∧ F2 , F1 ∨ F2 (F1 , F2 q.f. Formeln), existentielle Formeln: ∃x1 . . . ∃xn : F (F q.f. Formel, xi ∈ Ω), ExThΣ (concat) := { F | F abgeschlossene existentielle Formel mit Σ∗ |= F } ist dann die existentielle Theorie der Konkatenation über Σ. Lemma 143 Beispiel 141 Sei w ∈ Σ+ , und sei F1 := ∃x : xa = a. Dann gilt Σ∗ |= F1 , und zwar muss für x das leere Wort ε eingesetzt werden. Also können wir in Formeln die Konstante ε verwenden. Fw := ∃y∃z : (w = yz ∧ yz = zy ∧ y 6= ε ∧ z 6= ε). Nach Lemma 104 gilt die Formel Fw genau dann, wenn das Wort w nicht primitiv ist. Satz 142 Ist die Lösbarkeit von Wortgleichungen über Σ entscheidbar, dann ist die existentielle Theorie der Konkatenation über Σ entscheidbar. Für u, v ∈ (Σ ∪ Ω)∗ gilt: W (∃xi : u 6= v) ≡ ∃xi ∃x∃y∃z : (u = vax ∨ v = uax) ∨ a∈Σ W (u = xay ∧ v = xbz), a,b∈Σ a6=b wobei xi (i ∈ I) die in uv auftretenden Variablen sind. Folgerung 144 Jede abgeschlossene existentielle Formel ist äquivalent zu einer abgeschlossenen existentiellen Formel, in der keine Negation vorkommt. Ferner kann man erreichen, dass diese Formel in disjunkter Normalform ist, d.h. sie hat die Gestalt mi n ^ _ (Li,j = Ri,j ) mit Li,j , Ri,j ∈ (Σ ∪ Ω)∗ . ∃...∃...∃ : i=1 j=1 Lemma 145 Seien a, b ∈ Σ mit a 6= b, und sei E = {L1 = R1 , . . . , Lk = Rk } ein System von Wortgleichungen über Σ. Dann stimmen die Lösungen von E mit den Lösungen der folgenden Wortgleichung über Σ überein: L1 a . . . Lk aL1 b . . . Lk b = R1 a . . . Rk aR1 b . . . Rk b. Beweis Sei σ : (Σ ∪ Ω)∗ → Σ∗ eine Lösung des Systems E , d.h. σ(Li ) = σ(Ri ) für alle 1 ≤ i ≤ k. Dann folgt σ(L0 ) = σ(R0 ), wobei L0 := L1 a . . . Lk aL1 b . . . Lk b und R0 := R1 a . . . Rk aR1 b . . . Rk b. Sei nun umgekehrt σ : (Σ ∪ Ω)∗ → Σ∗ eine Lösung der Gleichung L0 = R0 , d.h. σ(L0 ) = σ(L1 )a . . . σ(Lk )aσ(L1 )b . . . σ(Lk )b = σ(R1 )a . . . σ(Rk )aσ(R1 )b . . . σ(Rk )b = σ(R0 ). Aus Längenbetrachtungen folgt hieraus, dass σ(L1 )a . . . σ(Lk )a = σ(R1 )a . . . σ(Rk )a und σ(L1 )b . . . σ(Lk )b = σ(R1 )b . . . σ(Rk )b sind. Angenommen: σ(L1 ) 6= σ(R1 ). O.B.d.A.: |σ(L1 )| < |σ(R1 )|. Dann sind σ(L1 )a und σ(L1 )b Präfixe von σ(R1 ). Widerspruch zu a 6= b. Also ist σ(L1 ) = σ(R1 ), was wiederum σ(L2 )a . . . σ(Lk )a = σ(R2 )a . . . σ(Rk )a und σ(L2 )b . . . σ(Lk )b = σ(R2 )b . . . σ(Rk )b ergibt. Induktiv folgt nun σ(Li ) = σ(Ri ) für alle i = 1, . . . , k, d.h. σ ist eine Lösung des Systems E . 2 Lemma 147 Folgerung 146 Jede abgeschlossene existentielle Formel F ist äquivalent zu einer abgeschlossenen existentiellen Formel der Gestalt n _ (Li = Ri ) mit Li , Ri ∈ (Σ ∪ Ω)∗ . ∃...∃... : i=1 Um zu entscheiden, ob Σ∗ |= F gilt, reicht es also aus zu entscheiden, ob eine der Gleichungen Li = Ri (1 ≤ i ≤ n) eine Lösung hat. Dies beweist Satz 142. Sei x1 . . . xg = xg+1 . . . xd eine Wortgleichung mit 1 ≤ g < d und xi ∈ Σ ∪ Ω für alle i = 1, . . . , d . Dann gibt es eine Bijektion zwischen den Lösungen dieser Wortgleichung und den Lösungen für das folgende System von Wortgleichungen: x1 = y1 , xg+1 = yg+1 , y1 x2 = y2 , yg+1 xg+2 = yg+2 , .. .. . . yg−1 xg = yg , yd−1 xd yg = yd , wobei y1 , . . . , yd neue Variable sind. = yd , Beweis Klar. 2 Lemma 148 Ist |Σ| ≥ 2, so ist die Disjunktion zweier Wortgleichungen über Σ äquivalent zu einer Wortgleichung über Σ, die zwei zusätzliche Variable enthält. Beweis Seien L1 = R1 und L2 = R2 zwei Wortgleichungen über Σ. Ihre Disjunktion L1 = R1 ∨ L2 = R2 ist offensichtlich äquivalent zur Disjunktion Seien a, b ∈ Σ mit a 6= b, und seien x, y zwei neue Variable. Setze P := L1 L2 RaL1 L2 Rb. Beh. 1 Sei Q ∈ (Σ ∪ Ω)+ ein primitives Wort, und sei α ≥ 1. Ist P ein Präfix von Q α , so gilt |Q| > 21 · |P|. L1 R2 = R1 R2 ∨ R1 L2 = R1 R2 . Wir können uns damit auf eine Disjunktion der Form L1 = R ∨ L2 = R beschränken. Beweis Angenommen |Q| ≤ 21 · |P|, d.h. α ≥ 2. Da a 6= b ist, gilt sogar |Q| ≤ |L1 L2 R| und α ≥ 3, d.h. Q ist ein Präfix von L1 L2 R. Ist nun L1 L2 R = Q β für ein β ≥ 1, so folgt Q α = P · w = L1 L2 RaL1 L2 Rbw = Q β aQ β bw , Beh. 2 Sei W ∈ (Σ ∪ Ω)+ mit |W | ≤ dass u = ε oder v = ε ist. 1 2 · |P|. Aus P 2 WP 2 = uP 2 v folgt, Beweis was aQ = Qc impliziert für ein c ∈ Σ ∪ Ω. Also ist Q = a, was dann mit a 6= b zum Widerspruch führt. Ist aber L1 L2 R = Q β Q1 für ein β ≥ 1 und ein Anfangsstück Q1 von Q, so erhalten wir einen Widerspruch aus Lemma 134. 2 Also ist das Wort P primitiv. Angenommen u 6= ε 6= v mit |u| ≤ |v|, d.h. |u| ≤ |P| + 1 4 · |P|. Fall 2. |P| < |u| ≤ |P| + Fall 1. |u| ≤ |P|, d.h. P 2 = uPP1 für ein Präfix P1 von P. Dann gilt P = P1 P2 = P3 P1 = P4 P3 mit |P2 | = |P3 | und |P1 | = |P4 |, d.h. P = P1 P2 = P2 P1 . P primitiv impliziert P1 = ε und P = P2 . Also ist P = u, d.h. WP 2 = Pv. Wegen |v| ≥ |u| = |P| folgt v = v1 P, d.h. WP = Pv1 . Also gilt W = gh, v1 = hg und P = (gh)r g mit g, h 6= ε und r ≥ 1. Dann ist P ein Präfix vom W r +1 , was nach Beh. 1 ergibt, dass |W | > 21 · |P| ist. Widerspruch! 1 4 · |P|. Dann haben wir die folgende Situation: P u P W P P P P v d.h. u = PP1 , v = P4 P, P = P1 P2 = P2 P2′ = P3 P4 = P3′ P3 , W = P2′ P3′ , was |P1 | = |P2′ | ≤ |W | ≤ 12 · |P| ≤ |P2 | und |P4 | = |P3′ | ≤ |W | ≤ 12 · |P| ≤ |P3 | impliziert. Es gibt also Wörter g 6= ε 6= h und eine Zahl k ≥ 1 mit P1 = gh, P2′ = hg und P2 = (gh)k g, d.h. P = (gh)k +1 g. Also ist P ein Präfix von (gh)k +2 , was nach Beh. 1 |gh| > 21 · |P| liefert, d.h. es gilt |W | ≥ |P2′ | = |hg| > 21 · |P|. Widerspruch! 2 Beh. 3 Die Disjunktion L1 = R ∨ L2 = R hat eine Lösung genau dann, wenn die existentielle Formel ∃x∃y : P 2 L1 P 2 L2 P 2 = xP 2 RP 2 y erfüllbar ist. Beweis Sei σ : Ω → Σ∗ eine Instantiierung der Variablen in L1 L2 R, für die σ(L1 ) = σ(R) oder σ(L2 ) = σ(R) gilt. Ist σ(L1 ) = σ(R), so setze σ(x) := ε und σ(y) := σ(L2 P 2 ), ist σ(L2 ) = σ(R), so setze σ(x) := σ(P 2 L1 ) und σ(y) := ε. Dann gilt σ(P 2 L1 P 2 L2 P 2 ) = σ(xP 2 RP 2 y). Sei umgekehrt σ eine Instantiierung der Variablen in xL1 L2 Ry, für die σ(P 2 L1 P 2 L2 P 2 ) = σ(xP 2 RP 2 y) gilt. Nach Konstruktion von P gilt |σ(Li )| ≤ Damit liefert Beh. 2 1 2 · |σ(P)| (i = 1, 2). σ(xP 2 ) = σ(P 2 ) oder σ(xP 2 ) = σ(P 2 L1 P 2 ). Im ersten Fall folgt σ(L1 P 2 L2 P 2 ) = σ(RP 2 y), was wegen |σ(R)| < |σ(L1 P 2 L2 )| und Beh. 2 ergibt, dass σ(L1 ) = σ(R) ist. Im zweiten Fall ist σ(L2 P 2 ) = σ(RP 2 y) und damit σ(L2 ) = σ(R). 22 Lemma 149 Sei L = R eine Wortgleichung über Σ, und sei Γ := {a, b}. Dann kann man in polynomialer Zeit eine Wortgleichung über Γ konstruieren, die genau dann lösbar ist, wenn L = R eine nichtsinguläre Lösung hat. Beweis Sei nun τ : Ω∗ → Γ∗ eine Lösung für η(L) = η(R). Definiere eine Instantiierung der Variablen σ ′ : Ω → Γ∗ durch σ ′ (x) := a τ (x)a für alle x ∈ Ω, und einen Morphismus η ′ : (Σ ∪ Ω)∗ → (Γ ∪ Ω)∗ durch Sei Σ = {a1 , . . . , ak } mit k > 2. Wir definieren η : (Σ ∪ Ω)∗ → (Γ ∪ Ω)∗ : i η(ai ) := ab a (1 ≤ i ≤ k) und η(x) := axa (x ∈ Ω). Hierdurch erhalten wir die Wortgleichung η(L) = η(R) über Γ. Ist nun σ : Ω∗ → Σ∗ eine nichtsinguläre Lösung für L = R, so gilt η(σ(x)) = awx a für ein Wort wx ∈ Γ+ (x ∈ Ω). Definiere τ : Ω∗ → Γ∗ durch x 7→ wx (x ∈ Ω). Dann gilt τ (η(L)) = η(σ(L)) = η(σ(R)) = τ (η(R)), d.h. τ ist eine nichtsinguläre Lösung für η(L) = η(R). η ′ (ai ) := ab i a (1 ≤ i ≤ k) und η ′ (x) := x (x ∈ Ω). Für L′ := η ′ (L) und R ′ := η ′ (R) ist dann σ ′ eine nichtsinguläre Lösung der Wortgleichung L′ = R ′ , denn: σ ′ (L′ ) = σ ′ (η ′ (L)) = τ (η(L)) = τ (η(R)) = σ ′ (η ′ (R)) = σ ′ (R ′ ). Beachte: σ ′ (x) = a · τ (x) · a 6∈ η(Σ+ ) ist möglich! 3.5. Wortgleichungen in einer Variablen Die Menge {ε} ∪ (a · Γ∗ ∩ Γ∗ · a) = {ε, a} ∪ { a · u · a | u ∈ Γ∗ } ist das von der unendlichen Basis B := {a} ∪ ( a · Γ∗ · a r (Γ∗ · aa · Γ∗ ) ) erzeugte freie Untermonoid von Γ∗ . Offensichtlich gelten η ′ (Σ) ⊆ B und σ ′ (x) ∈ hBi, d.h. es gibt eine endliche Teilmenge C ⊆ B mit σ ′ (L′ R ′ ) ⊆ (η ′ (Σ) ∪ C)+ . Aus σ ′ (L′ ) = σ ′ (R ′ ) folgt nun, dass σ ′ (L′ ) und σ ′ (R ′ ) genau dieselbe Faktorisierung über η ′ (Σ) ∪ C haben. Wir wählen nun eine Abbildung ρ : C → (η ′ (Σ))+ und wenden ρ auf diese Faktorisierungen an. Dann erhalten wir ρ(σ ′ (L′ )) = ρ(σ ′ (R ′ )), wobei ρ(σ ′ (x)) ∈ (η ′ (Σ))+ ist für alle x ∈ Ω. Ersetzen wir nun jeden Faktor ab i a wieder durch den Buchstaben ai (1 ≤ i ≤ k), so erhalten wir eine nichtsinguläre Lösung für die Gleichung L = R. 2 Sei E ein System von Wortgleichungen über Σ, in denen nur die eine Variable x auftritt. Man kann direkt überprüfen, ob durch x 7→ ε eine singuläre Lösung von E gegeben wird. Im folgenden sollen die nichtsingulären Lösungen von E bestimmt werden. Nach Lemma 145 können wir annehmen, dass E aus nur einer einzigen Gleichung L = R besteht. Definition 150 Sei List eine Liste von Paaren der Form (p, r ), wobei p ∈ Σ+ ein primitives Wort und r ∈ Σ∗ ein echtes Präfix von p ist. List ist vollständig für die Gleichung L = R, wenn jede nichtsinguläre Lösung von L = R die Form σ(x) = p α r hat für ein Paar (p, r ) ∈ List und eine Zahl α ∈ N. Satz 151 Ist List eine endliche Liste von Paaren der Form (p, r ), die vollständig für die Gleichung L = R ist, dann kann die Menge aller nichtsingulären Lösungen dieser Gleichung (in polynomialer Zeit) berechnet werden. Beweis Für jedes Paar (p, r ) ∈ List müssen die Zahlen α ≥ 0 bestimmt werden, für die x 7→ p α r eine Lösung von L = R ist. Für α = 0 und α = 1 wird dies durch Einsetzen festgestellt. Danach wird in L = R jedes Vorkommen der Variablen x durch das parametrisierte Wort p · p α−2 · pr ersetzt, wobei α eine Variable über N ist. Bestimme die p-stabile Normalform von L und von R: L = (u0 , m1 · α + n1 , u1 , . . . , mk · α + nk , uk ) (k ≥ 0, mi , ni ∈ N), R = (v0 , m1′ ·α+n1′ , v1 , . . . , mℓ′ ·α+nℓ′ , vℓ ) (ℓ ≥ 0, mi′ , ni′ ∈ N). Nach Satz 140 müssen die folgenden Bedingungen erfüllt sein: ◮ k = ℓ, ◮ ui = vi für alle i = 0, 1, . . . , k, ◮ (mi − mi′ ) · α = ni′ − ni für alle i = 1, . . . , k. Diese Bedingungen sind entweder (1) für kein α ≥ 2, (2) für genau ein α ≥ 2, oder (3) für alle α ≥ 2 erfüllt. Dies kann für jedes Paar (p, r ) (in polynomialer Zeit) überprüft werden. 2 3.6. Lösungen mit Nebenbedingungen Satz 152 Aus einer Gleichung L = R in nur einer Variablen kann man in polynomialer Zeit eine Liste von Paaren der Form (p, r ) konstruieren, die vollständig für die Gleichung L = R ist. Beweis O.B.d.A. hat L = R die Gestalt ux . . . = xv . . . mit u ∈ Σ+ und v ∈ Σ∗ , wobei v mit maximaler Länge gewählt sei. Sei p := ρ(u), d.h. u = p e für ein e ≥ 1, und sei σ : x 7→ σ(x) eine Lösung für L = R. Dann gilt uσ(x) = σ(x)w für ein Wort w ∈ Σ+ . Also ist σ(x) = p αr für ein α ≥ 0 und einen Präfix r von p. Setze List := { (p, r ) | r ∈ Σ∗ ist ein echtes Präfix von p }. 2 Definition 153 Sei L = R eine Wortgleichung über Σ ∪ Ω. Für alle Variablen x ∈ Ω, die in L = R auftreten, sei Lx ⊆ Σ∗ eine reguläre Sprache. Dann bezeichnet man das System ( L = R, { Lx | x ∈ Ω } ) als eine Wortgleichung mit Nebenbedingungen. Eine Lösung dieser Gleichung ist eine Abbildung σ : Ω → Σ∗ , die folgende Bedingungen erfüllt: (1) σ(L) = σ(R), (2) σ(x) ∈ Lx für alle x ∈ Ω. Wird in L = R jede Konstante a ∈ Σ durch eine neue Variable xa mit Nebenbedingung Lxa = {a} ersetzt, so erhalten wir eine Wortgleichung L′ = R ′ ohne Konstanten. Wir nehmen im folgenden an, dass unsere Wortgleichungen die folgende Gestalt haben: Seien S eine endliche Halbgruppe und ϕ : Σ+ → S ein surjektiver Halbgruppen-Homomorphismus, so dass für alle x ∈ Ω folgendes gilt: (∗) Lx = ϕ−1 (ϕ(Lx )). Bezeichnet Sx das syntaktische Monoid zur Sprache Lx , so L kann man S := Sx und ϕ : a 7→ ([a]Lx )x∈Ω wählen. x∈Ω x1 . . . xg = xg+1 . . . xd (xi ∈ Ω, 1 ≤ g < d ). Da S endlich ist, gibt es Konstanten t(S) > 0 und q(S) > 0 mit st(S)+q(S) = st(S) für alle s ∈ S. Ausserdem fordern wir ε 6∈ Lx für alle x ∈ Ω, d.h. wir suchen nur nichtsinguläre Lösungen. Setze c(S) := min{ k · q(S) | k · q(S) ≥ max{2, t(S)} }. Dann gilt sr +α·c(S) = sr +β·c(S) für alle s ∈ S, r ≥ 0 und α, β ≥ 1. Satz 155 Sei d ∈ N+ , sei S eine endliche Halbgruppe mit c(S) ≥ 2, und sei ϕ : Σ+ → S ein surjektiver Morphismus, so dass die Bedingung (∗) erfüllt ist. Dann kann eine Zahl Bemerkung 154 Angenommen die Sprache Lx wird von einem NFA mit rx P Zuständen erkannt. Sei r := rx . x∈Ω 2 2r und c(S) ≤ r ! Dann kann eine Halbgruppe S mit |S| ≤ gefunden werden, die die obigen Bedingungen erfüllt. [G. Markowsky; Bounds on the index and period of a binary relation on a finite set; Semigroup Forum 13 (1977) 253-259] e(c(S), d ) ∈ c(S) · 2O(d) bestimmt werden, die die folgende Bedingung erfüllt: Ist x1 . . . xg = xg+1 . . . xd eine Wortgleichung der Größe d , und ist σ ′ : Ω → Σ+ eine Lösung für diese Gleichung, so lässt sich effektiv eine Lösung σ : Ω → Σ+ und ein Wort w ∈ Σ∗ bestimmen mit: (1.) ϕ(σ ′ (x)) = ϕ(σ(x)) für alle x ∈ Ω, (2.) w = σ(x1 . . . xg ) = σ(xg+1 . . . xd ), (3.) exp(w ) ≤ e(c(S), d ). Hier ist exp(w ) der Periodizitätsexponent von w (Definition 136). Beispiel 156 Betrachte die folgenden Wortgleichungen: x0 = a, y0 = b, xi = xi−1 yi−1 , yi = yi−1 xi−1 für alle i = 1, . . . , n. Beweis Die eindeutige Lösung sieht wie folgt aus: Siehe: V. Diekert; Makanin’s Algorithm. In: M. Lothaire, Algebraic Combinatorics on Words, Cambridge Univ. Press 2002, pp. 387-442. 2 σ(x0 ) σ(x1 ) σ(x2 ) σ(x3 ) σ(x4 ) σ(x5 ) = = = = = = a, ab, abba, abbabaab, abbabaabbaababba, ..., σ(y0 ) σ(y1 ) σ(y2 ) σ(y3 ) σ(y4 ) σ(y5 ) = = = = = = b, ba, baab, baababba, baababbaabbabaab, ... Offensichtlich gilt |σ(xm )| = |σ(ym )| = 2m für alle m ≥ 0. Andererseits gilt exp(σ(xm )) = 2 für alle m ≥ 2. Beispiel 157 Wähle σ(x) := a2 , σ(y ) := ba2 und σ(z) := a3 ba2 . Dann folgt Sei L = R die Wortgleichung axyz = zxay mit den Nebenbedingungen 2 ∗ ∗ ∗ ∗ + Lx := a · a , Ly := {a, b} r (a ∪ b ), Lz := {a, b} . Sei S die durch folgende Darstellung definierte Halbgruppe: ( a, b; a2 = a3 , b = b 2 , ab = ba, ab = aab ), und sei ϕ : {a, b}+ → S definiert durch a 7→ [a], b 7→ [b]. Dann gelten: ϕ−1 (ϕ(Lx )) = ϕ−1 ([a2 ]) = Lx , ϕ−1 (ϕ(Ly )) = ϕ−1 ([ab]) = Ly , ϕ−1 (ϕ(Lz )) = ϕ−1 (S) = Lz . S hat 4 Elemente: [a], [b], [a2 ], [ab], wobei [ab] ein Nullelement in S ist. Weiterhin ist c(S) = 2. σ(axyz) = a · a2 · ba2 · a3 ba2 = a3 ba2 · a2 · a · ba2 = σ(zxay ). Seien nun α, β, γ, δ ganzzahlige Variable, und seien u, v , w parametrisierte Wörter mit den folgenden a-stabilen Normalformen: u : (a, 2α, a), v : (ba, 2β, a), w : (a, 1 + 2γ, aba, 2δ, a). Um auvw = wuav zu lösen, schreiben wir zunächst auvw als eine Folge von a-stabilen Normalformen: ( (a), (a, 2α, a), (ba, 2β, a), (a, 1 + 2γ, aba, 2δ, a) ), was die a-stabile Normalform ( a, 2α + 1, aba, 2β + 2γ + 3, aba, 2δ, a ) liefert. Analog erhalten wir für wuav die a-stabile Normalform ( a, 2γ + 1, aba, 2α + 2δ + 3, aba, 2β, a ). 3.7. Lineare Ordnungen über endlichen Halbgruppen Dies ergibt das folgende System von Diophantischen Gleichungen: 2α + 1 = 2β + 2γ + 3 = 2δ = Hieraus erhalten wir α = γ und β für alle α ≥ 0 und β ≥ 0 ist Sei x1 . . . xg = xg+1 . . . xd 2γ + 1, 2α + 2δ + 3, 2β. = δ, d.h. eine Wortgleichung mit Nebenbedingungen Lx (x ∈ Ω), und sei S eine endliche Halbgruppe und ϕ ein surjektiver Morphismus von Σ+ auf S mit σ(x) := a2+2α , σ(y) := ba2+2β und σ(z) := a3+2α ba2+2β eine Lösung der Gleichung mit Nebenbedingungen. (1 ≤ g < d ) ϕ−1 (ϕ(Lx )) = Lx (x ∈ Ω). 2 Definition 158 Definition 159 Eine S-Folge ist eine Folge (s1 , s2 , . . . , sm ) ∈ S m (m ≥ 0). Sei w = a1 . . . am ∈ Σ+ mit a1 , . . . , am ∈ Σ, m ≥ 1. Eine Darstellung von (s1 , . . . , sm ) ist ein Tripel (I, ≤, ϕI ), so dass (I, ≤) eine linear geordnete Menge mit m + 1 Elementen ist, und (a) Die Menge {0, 1, . . . , m} ist die Menge der Positionen in w . Für alle 0 ≤ i ≤ j ≤ m bezeichnet w (i, j) den Faktor ϕI : { (i, j) ∈ I × I | i ≤ j } → S ε die durch ϕI (i, j) := sρ(i)+1 . . . sρ(j) ∈ S ε definierte Abbildung ist. Hierbei ist ρ : I → {0, 1, . . . , m} eine fest gewählte Bijektion, die die Ordnung erhält. (I, ≤, ϕI ) wird eine lineare Ordnung über S genannt. w (i, j) := ai+1 . . . aj . Es gilt w = w (0, m) = w (0, i)w (i, m) für alle 0 ≤ i ≤ m. (b) Mit w wird eine S-Folge wS assoziiert: wS := ( ϕ(a1 ), ϕ(a2 ), . . . , ϕ(am ) ) ∈ S m . Die Standarddarstellung dieser S-Folge ist das Tripel wS = ( {0, 1, . . . , m}, ≤, ϕw ), wobei ϕw (i, j) := ϕ(w (i, j)) (0 ≤ i ≤ j ≤ m) ist. Definition 161 (c) Seien s uns s′ zwei S-Folgen mit Darstellungen (I, ≤, ϕI ) und (I ′ , ≤, ϕI ′ ). s′ ist eine Verfeinerung von s, falls es eine mit den jeweiligen Ordnungen verträgliche injektive Abbildung ρ : I → I ′ gibt mit ϕI (i, j) = ϕI ′ (ρ(i), ρ(j)) für alle i, j ∈ I mit i ≤ j. s′ Schreibweise: s ≤ oder s ≤ρ (I, ≤, ϕI ) ≤ρ (I ′ , ≤, ϕI ′ ). s′ Sei s eine S-Folge mit Darstellung (I, ≤, ϕI ). Ein Wort w ∈ Σ+ ist ein Modell für s, falls die S-Folge wS eine Verfeinerung von s ist. Schreibweise: w |= s oder w |= (I, ≤, ϕI ). Bemerkung 162 Ist w = a1 . . . am ein Modell für (I, ≤, ϕI ), so gibt es eine mit den Ordnungen verträgliche injektive Abbildung ρ : I → {0, 1, . . . , m} mit ϕI (i, j) = ϕw (ρ(i), ρ(j)) für alle i, j ∈ I, i ≤ j. oder Bemerkung 160 O.B.d.A. ist I eine Teilmenge von {0, 1, . . . , m}. s′ , Gilt s ≤ so gibt es Darstellungen (I, ≤, ϕI ) von s und ′ (I , ≤, ϕI ′ ) von s′ mit I ⊆ I ′ und ϕI = ϕI ′ |I×I . Definition 164 Lemma 163 Für jede S-Folge s = (s1 , . . . , sm ) gibt es ein Modell w ∈ Sei (I, ≤, ϕI ) eine lineare Ordnung über S. Σ+ . Beweis Der Morphismus ϕ : Σ+ → S ist surjektiv. Also gibt es Wörter w1 , . . . , wm ∈ Σ+ mit ϕ(wi ) = si für alle i = 1, . . . , m. Setze w := w1 w2 . . . wm . Dann gilt s ≤ wS , d.h. w |= s. 2 (a) Für i, j ∈ I mit i ≤ j sei [i, j] := { k ∈ I | i ≤ k ≤ j }. Für T ⊆ I sei (T , ≤, ϕT ) die von T bestimmte lineare Teilordnung über S, d.h. ◮ ◮ für alle i, j ∈ T gilt i ≤ j auf T gdw. i ≤ j auf I, ϕT (i, j) = ϕI (i, j) für alle i, j ∈ T . min(T ) := min{i ∈ T } und ≤ max(T ) := max{i ∈ T }. ≤ Beispiel 165 (b) Sei (I, ≤, ϕI ) eine Darstellung einer S-Folge, sei T ⊆ I, T 6= ∅, und seien ℓ∗ , r ∗ ∈ I mit ℓ∗ < r ∗ . Eine zulässige Erweiterung von (I, ≤, ϕI ) durch T in [ℓ∗ , r ∗ ] wird durch eine lineare Ordnung (I ∗ , ≤, ϕI ∗ ) und zwei Verfeinerungen Sei (s1 , s2 , . . . , s6 ) eine S-Folge mit Standarddarstellung (I, ≤, ϕI ), seien ℓ∗ := 4 und r ∗ := 6, sei T = {0, 3, 4, 5}, und sei (I ∗ , ≤, ϕI ∗ ) eine zulässige Erweiterung von (I, ≤, ϕI ) durch T in [4, 6]. Dann können wir I ∗ = {0, 1, . . . , 6} ∪ {3∗ , 4∗ } wählen, und die Ordnung auf I ∗ erfüllt die Ungleichungen 0<1<2<3<4<5<6 und 4 = 0∗ < 3∗ < 4∗ < 5∗ = 6. Dabei ist 5 ∈ {3∗ , 4∗ } möglich. Ist etwa 5 = 3∗ , so hat die entsprechende S-Folge die Gestalt (I, ≤, ϕI ) ≤ρ (I ∗ , ≤, ϕI ∗ ) und (T , ≤, ϕT ) ≤ρ∗ (I ∗ , ≤, ϕI ∗ ) gegeben, die die folgenden Bedingungen erfüllen: (i) I ∗ = ρ(I) ∪ ρ∗ (T ), (ii) min(ρ∗ (T )) = ℓ∗ und max(ρ∗ (T )) = r ∗ . (s1 , s2 , s3 , s4 , s5 , s4 , s5 ) mit s5 = s1 s2 s3 und s6 = s4 s5 : 0 s1 1 s2 2 s3 3 s4 4 0∗ s5 s1 s2 s3 s6 5 3∗ s4 4∗ 6 s5 5∗ Beispiel 165 (Fortsetzung) Lemma 166 Sei (I, ≤, ϕI ) eine lineare Ordnung über S, sei T ⊆ I, und seien ℓ∗ , r ∗ ∈ I. Dann ist die Menge der zulässigen Erweiterungen von (I, ≤, ϕI ) durch T in [ℓ∗ , r ∗ ] endlich und effektiv berechenbar. Beweis Ist (I ∗ , ≤, ϕI ∗ ) eine solche zulässige Erweiterung, dann gilt |I ∗ | ≤ |I| + |T |. 2 Die Anzahl der möglichen zulässigen Erweiterungen von (I, ≤, ϕI ) durch T = {0, 3, 4, 5} in [4, 6] ergibt sich als die Summe e1 + e2 + e3 , wobei diese Zahlen wie folgt definiert sind: e1 := | { s ∈ S ε | s5 = s1 s2 s3 s4 s, s5 = ss6 } | (Fall 4∗ ≤ 5), e2 := | { (r , s) ∈ S × S | s4 = rs, s5 = s1 s2 s3 r , s6 = ss5 } | (Fall 3∗ < 5 < 4∗ ), e3 := | { s ∈ S ε | s1 s2 s3 = s5 s, s6 = ss4 s5 } | (Fall 5 ≤ 3∗ ). Falls s1 s2 s3 s4 s5 6= s5 s6 ist, dann folgt e1 + e2 + e3 = 0, d.h. es gibt keine zulässige Erweiterung von (I, ≤, ϕI ) durch T in [4, 6]. 2 3.8. Von Wortgleichungen zu Randgleichungen Definition 167 Sei n ≥ 0. Sei x1 . . . xg = xg+1 . . . xd (1 ≤ g < d , xi ∈ Ω) eine Wortgleichung mit rationalen Nebenbedingungen Lxi ⊆ Σ∗ (1 ≤ i ≤ d ), wobei für alle i folgendes gilt: Lxi 6= ∅ und ε 6∈ Lxi . Σ+ S ist eine endliche Halbgruppe, und ϕ : → S ist ein surjektiver Morphismus mit ϕ−1 (ϕ(Lxi )) = Lxi für alle i. O.B.d.A.: |ϕ(Lxi )| = 1 für alle i. Definiere ψ : Ω → S durch xi 7→ ϕ(Lxi ) (1 ≤ i ≤ d ). Gesucht: Eine Instantiierung σ : Ω → Σ+ der Variablen {x1 , . . . , xd }, die eine Lösung der Gleichung x1 . . . xg = xg+1 . . . xd ist, und die die Gleichung ψ = ϕ ◦ σ erfüllt. (a) Ein System von Randgleichungen wird durch ein Tupel der Form B = ( (Γ,− ), (I, ≤, ϕI ), left, B ) beschrieben. Dabei gelten folgende Aussagen: ◮ Γ ist eine Menge von 2n Variablen, : Γ → Γ ist eine Involution ohne Fixpunkt, d.h. für alle x ∈ Γ gelten x 6= x̄ und x̄¯ = x , (I, ≤, ϕI ) ist eine lineare Ordnung über S, left : Γ → I ist eine Abbildung, B ist eine Menge von Randgleichungen der Form b = (x , i, x̄, j) ◮ − ◮ ◮ ◮ mit x ∈ Γ, i, j ∈ I, so dass left(x ) ≤ i und left(x̄ ) ≤ j gelten. (b) Eine Lösung von B ist ein Wort w ∈ Σ+ , das die folgenden Bedingungen erfüllt: (i) w |= (I, ≤, ϕI ), d.h. w ist ein Modell für die S-Folge mit Darstellung (I, ≤, ϕI ), (ii) w(left(x ), i) = w(left(x̄ ), j) für alle (x , i, x̄ , j) ∈ B. (c) Ist B lösbar, dann bezeichnet exp(B) := min{ exp(w ) | w ist eine Lösung von B } den Periodizitätsexponenten von B. Im folgenden nehmen wir stets an, dass Γ = {x1 , . . . , xn , x̄1 , . . . , x̄n } und (I, ≤, ϕI ) eine Standard-Darstellung ist, d.h. I = {0, 1, . . . , m}. Bemerkung 168 Ist n = 0, so ist Γ = ∅, woraus B = ∅ folgt. In diesem Fall ist jedes Modell w ∈ Σ+ für (I, ≤, ϕI ) bereits eine Lösung für B, d.h. in diesem Fall ist B lösbar (Lemma 163). Definition 169 Zur Wortgleichung x1 . . . xg = xg+1 . . . xd und zur Abbildung ψ : Ω → S konstruieren wir nun ein System von Randgleichungen B = ( (Γ,− ), (I, ≤, ϕI ), left, B ) mit folgenden beiden Eigenschaften: (1.) Ist σ : Ω → Σ+ eine Lösung der Wortgleichung mit ψ = ϕ ◦ σ, und ist v = σ(x1 . . . xg ) = σ(xg+1 . . . xd ), dann ist w := vv eine Lösung von B. (2.) Ist w |= (I, ≤, ϕI ) eine Lösung von B, dann ist w ∈ Σ∗ · vv · Σ∗ für ein Wort v ∈ Σ+ , und es gibt eine Lösung der Wortgleichung σ : Ω → Σ+ mit ψ = ϕ ◦ σ und v = σ(x1 . . . xg ) = σ(xg+1 . . . xd ). (1.) Sei s := (ψ(x1 ), . . . , ψ(xd )) ∈ S d , und sei (I, ≤, ϕI ) eine Darstellung von s mit I = {i0 , i1 , . . . , id }, i0 < i1 < . . . < id . Sei (V , E ) ein gerichteter Graph mit Knotenmenge V = {1, . . . , d } und Kantenmenge E = { (p, q) ∈ V × V | xp = xq }. Natürlich folgt aus (p, q) ∈ E auch (q, p) ∈ E . Wir bezeichnen (q, p) als die duale Kante zu (p, q): (p, q) := (q, p) und (q, p) := (p, q). Sei F ⊆ E ein aufspannender Wald für (V , E ). Dann ist (V , F ) ein ungerichteter azyklischer Graph, und es gelten F = F und F ∗ = E ∗ . Ist c die Anzahl der Zusammenhangskomponenten von (V , E ), dann gilt |F | = 2(d − c). Lemma 170 Wir setzen nun Γ := {x0 , x̄0 } ∪ F und definieren zwei Abbildungen left, right : Γ → I wie folgt: • • • • (2.) left(x0 ) left(x̄0 ) left((p, q)) left((p, q)) := := := := i0 , ig , ip−1 , iq−1 , right(x0 ) right(x̄0 ) right((p, q)) right((p, q)) := := := := ig , id , ip , iq . B := { (x, right(x), x̄ , right(x̄ )) | x ∈ Γ } ist die Menge von Randgleichungen. Für alle x ∈ Γ gilt: left(x) ≤ right(x) und left(x̄ ) ≤ right(x̄). Damit ist B ein System von Randgleichungen. Ist σ : Ω → Σ+ eine Lösung der Wortgleichungen x1 . . . xg = xg+1 . . . xd mit ψ = ϕ ◦ σ, und ist v := σ(x1 . . . xg ) = σ(xg+1 . . . xd ), dann ist w := vv eine Lösung für das System von Randgleichungen B. Beweis Das Wort w = vv hat die Positionen 0 =: i0 < i1 < . . . < ig < ig+1 < . . . < id := |w |, für die die folgenden Bedingungen erfüllt sind: w (i0 , ig ) = v = w (ig , id ), w (ip−1 , ip ) = σ(xp ) für alle 1 ≤ p ≤ d . Damit ist w ein Modell für (I, ≤, ϕI ) und eine Lösung für B. 2 Lemma 171 Ist w |= (I, ≤, ϕI ) eine Lösung von B, dann ist w ∈ Σ∗ · vv · Σ∗ für ein Wort v ∈ Σ+ , und es gibt eine Lösung σ : Ω → Σ+ der Wortgleichung x1 . . . xg = xg+1 . . . xd mit ψ = ϕ ◦ σ und v = σ(x1 . . . xg ) = σ(xg+1 . . . xd ). Beweis Sei I eine Teilmenge der Positionen von w . Wegen (x0 , right(x0 ), x̄0 , right(x̄0 )) ∈ B gilt w (i0 , ig ) = w (ig , id ), d.h. w ∈ Σ∗ · vv · Σ∗ für v := w (i0 , ig ). Definiere σ : Ω → Σ+ durch σ(xp ) := w (ip−1 , ip ) ∈ Σ+ . Ist xp = xq , so liefert (x, right(x), x̄ , right(x̄ )) ∈ B mit x = (p, q) die Gleichung w (ip−1 , ip ) = w (iq−1 , iq ). Also ist σ wohldefiniert. Da w |= (I, ≤, ϕI ) gilt, folgt ferner ϕ(σ(xp )) = ϕ(w (ip−1 , ip )) = ψ(xp ). 2 Damit kann man die obige Wortgleichung durch das folgende System von Wortgleichungen beschreiben: x0 x̄0 x̄1 x̄3 x̄2 x̄4 xi = = = = = = = x1 x2 x3 x4 x5 , x̄5 x6 x7 x̄6 x̄7 , x3 , x7 , x4 , x6 , x̄i für alle i = 0, 1, . . . , 7. Beispiel 172 Sei die Gleichung xyxyz = zyxyx gegeben. Eine Lösung wird durch σ(x) = a, σ(y) = b und σ(z) = aba beschrieben, die das Wort σ(xyxyz) = abababa =: v liefert. Die Transformation, die das System von Randgleichungen B liefert, beruht auf folgender graphischer Darstellung: a b a b a b a a b a x2 x3 x4 x̄1 x̄2 b a x6 x7 x̄6 x̄7 x̄4 x̄3 x̄0 x0 x1 a b x5 x̄5 Das Wort w := vv hat die Positionen 0, 1, . . . , 14. Wir definieren die Abbildung left wie folgt: left(x0 ) left(x1 ) left(x2 ) left(x3 ) left(x4 ) left(x5 ) left(x6 ) left(x7 ) := := := := := := := := 0, 0, 1, 2, 3, 4, 10, 11, left(x̄0 ) left(x̄1 ) left(x̄2 ) left(x̄3 ) left(x̄4 ) left(x̄5 ) left(x̄6 ) left(x̄7 ) := := := := := := := := 7, 2, 3, 11, 10, 7, 12, 13. Satz 173 Es ist entscheidbar, ob ein endliches System von Randgleichungen eine Lösung hat. Die Menge der Randgleichungen ergibt sich nun wie folgt: (x0 , 7, x̄0 , 14), (x1 , 1, x̄1 , 3), (x2 , 2, x̄2 , 4), (x3 , 3, x̄3 , 12), (x4 , 4, x̄4 , 11), (x5 , 7, x̄5 , 10), (x6 , 11, x̄6 , 13), (x7 , 12, x̄7 , 14). Da wir keine Nebenbedingungen haben, ist die lineare Ordnung die Menge ({0, 1, . . . , 14}, ≤). 2 Beweisidee Makanins Algorithmus besteht aus einer Reihe von Transformationsregeln, mit deren Hilfe ein System von Randgleichungen schrittweise umgeformt wird. Hiermit wird ausgehend von dem Eingabesystem ein Suchbaum aufgebaut, dessen Knoten mit Systemen von Randgleichungen beschriftet sind. Wird ein System ohne Variable gefunden, so liefert dies eine Lösung für das Eingabesystem. Der wesentliche Teil des Beweises besteht nun darin zu zeigen, dass nur Systeme bis zu einer bestimmten Größe erzeugt werden müssen. 3.9. Makanins Transformationen Die Details finden sich in der Arbeit: V. Diekert; Makanin’s Algorithm. In: M. Lothaire, Algebraic Combinatorics on Words, Cambridge University Press 2002, 387-442. 2 Sei B = ( (Γ,− ), (I, ≤, ϕI ), left, B ) ein System von Randgleichungen. Durch eine Anwendung einer von Makanins Transformationen entsteht aus B ein neues System von Randgleichungen B′ = ( (Γ′ ,− ), (I ′ , ≤, ϕI ′ ), left ′ , B ′ ). Definition 174 Sei r eine Transformationsregel für Systeme von Randgleichungen. (a) Die Regel r heißt abwärts korrekt, wenn folgendes gilt: Ist r auf B anwendbar, so liefert r zu jeder Lösung w ∈ Σ∗ von B ein System von Randgleichungen B′ , so dass ein Suffix w ′ von w eine Lösung von B′ ist. Dabei gilt |Γ′ | < |Γ| oder |w ′ | < |w|. (b) Die Regel r heißt aufwärts korrekt, wenn es zu jeder Lösung w ′ von B′ ein Wort w ∈ Σ∗ gibt, das Lösung von B ist. Definition 177 (Regel 2) Definition 175 (Regel 1) Gibt es ein x ∈ Γ mit left(x) = right(x), so streiche die Randgleichungen ( x, right(x), x̄ , right(x̄ ) ) und ( x̄, right(x̄ ), x, right(x) ) Gibt es ein x ∈ Γ mit left(x) = left(x̄), so streiche die Randgleichungen (x, j, x̄ , j) und (x̄, j, x, j) aus B und streiche x und x̄ aus Γ. aus B und streiche x und x̄ aus Γ. Bemerkung 178 Bemerkung 176 Ist w ∈ Σ∗ eine Lösung von B, so folgt aus left(x) = right(x), dass die Variablen x und x̄ durch das leere Wort interpretiert werden. Also haben B und B′ dieselben Lösungen, d.h. Regel 1 ist abwärts und aufwärts korrekt. Ist (x, i, x̄ , j) ∈ B, so gilt left(x) = left(x̄ ) genau dann, wenn i = j ist. Ist also left(x) = left(x̄ ), so haben alle Randgleichungen, die x oder x̄ enthalten, die Form (x, j, x̄ , j) und (x̄, j, x, j). Offensichtlich haben B und B′ dieselben Lösungen, d.h. Regel 2 ist abwärts und aufwärts korrekt. Definition 179 (Regel 3) Sei ℓ = min(I). Ist ℓ 6∈ left(Γ), dann streiche ℓ aus I, d.h. die lineare Ordnung (I, ≤, ϕI ) wird durch (I r {ℓ}, ≤, ϕI ) ersetzt. Bemerkung 180 Regel 3 ist offensichtlich abwärts korrekt. Sei nun w ′ ∈ Σ∗ eine Lösung von B′ , so dass min(I) die erste Position von w ′ ist, und sei (I, ≤, ϕI ) eine Darstellung der S-Folge (s1 , s2 , . . . , sm ). Es gibt ein Wort u ∈ Σ+ mit ϕ(u) = s1 . Dann ist uw ′ eine Lösung von B, d.h. Regel 3 ist auch aufwärts korrekt. Regel 4 ist sehr komplex. Wir nehmen an, dass zunächst die Regeln 1, 2 und 3 sooft wie möglich angewendet worden sind, und dass nun für B folgende Bedingungen gelten: – left(x) < right(x) für alle x ∈ Γ, – left(x) 6= left(x̄ ) für alle x ∈ Γ, – min(I) = left(x) für ein x ∈ Γ. Definition 181 (Regel 4) Diese Regel besteht aus 5 Schritten. Seien ℓ := min(I) und r := max{ right(x ) | x ∈ Γ mit left(x ) = ℓ }. Dann gelten r ∈ I und ℓ < r . Sei nun x0 ∈ Γ mit left(x0 ) = ℓ und right(x0 ) = r . Definiere ℓ∗ := left(x̄0 ) und r ∗ := right(x̄0 ). Sei ferner c ′ := min{ left(x ) | x ∈ Γ mit r < right(x ) }. Dann heißt c := min{c ′ , r } die kritische Grenze. Wegen r < r ∗ = right(x̄0 ) existiert c ′ und damit c. Es gelten ℓ < c ≤ r < r ∗ und c ≤ ℓ∗ < r ∗ . Die Teilmenge T ⊆ I der Transportpositionen ist T := { i ∈ I | i ≤ c } ∪ { i ∈ I | ∃(x , i, x̄ , j) ∈ B : left(x ) < c }. Dann gelten min(T ) = ℓ und i ∈ T für alle (x0 , i, x̄0 , j) ∈ B. Aus left(x ) < c folgt right(x ) ≤ r , was max(T ) = r ergibt. Schritt 4.1. Sei (I ∗ , ≤, ϕI ∗ ) eine zulässige Erweiterung von (I, ≤, ϕI ) durch T in [ℓ∗ , r ∗ ]. Dann gilt I ⊆ I ∗ , und es gibt eine Teilmenge T ∗ ⊆ I ∗ mit min(T ∗ ) = ℓ∗ , max(T ∗ ) = r ∗ , und T und T ∗ sind isomorph. Die zu i ∈ T gehörende Position aus T ∗ sei i ∗ . Die zulässige Erweiterung (I ∗ , ≤, ϕI ∗ ) muss die folgenden Bedingungen erfüllen: (1.) i < i ∗ für alle i ∈ T , (2.) für alle Randgleichungen (x, i, x̄ , j) ∈ B mit left(x) < c gilt: left(x)∗ = left(x̄ ) gdw. i ∗ = j und left(x)∗ < left(x̄ ) gdw. i ∗ < j. Insbesondere gilt i ∗ = j für alle (x0 , i, x̄0 , j) ∈ B. Regel 4 ist nicht anwendbar, wenn es keine zulässige Erweiterung gibt, die diese Bedingungen erfüllt. Schritt 4.3. Für jede Variable x ∈ Γ, die left(x ) < c erfüllt, setze left ′ (x ) := left(x )∗ und ersetze alle Randgleichungen der Form (x , i, x̄ , j), (x̄ , j, x , i) ∈ B durch (x , i ∗ , x̄, j) und (x̄ , j, x , i ∗ ). Schritt 4.2. Neue Variable xν und x̄ν werden eingeführt: ∗ left(xν ) := c, left(x̄ν ) := c . Für alle i ∈ T und alle Randgleichungen (x, i, x̄ , j) ∈ B mit left(x) < c ≤ i werden die Randgleichungen (xν , i, x̄ν , i ∗ ) und (x̄ν , i ∗ , xν , i) eingefügt. Für x ∈ Γ bezeichne x ′ die entsprechende Variable nach Schritt 4.3, und für (x , i, x̄, j) ∈ B bezeichne (x ′ , i ′ , x̄ ′ , j ′ ) die entsprechende Randgleichung. Dann gelten xν = xν′ , x̄ν = x̄ν′ , x̄0 = x̄0′ , aber x0 6= x0′ . Es gibt für b = (x , i, x̄ , j) und b′ = (x ′ , i ′ , x̄ ′ , j ′ ) vier Möglichkeiten: ◮ b′ = (x ′ , i ∗ , x̄ ′ , j ∗ ), falls left(x ) < c und left(x̄ ) < c, ◮ b′ = (x ′ , i ∗ , x̄, j), falls left(x ) < c und c ≤ left(x̄ ), ◮ b′ = (x , i, x̄ ′ , j ∗ ), falls c ≤ left(x ) und left(x̄ ) < c, ◮ b′ = (x , i, x̄, j), falls c ≤ left(x ) und c ≤ left(x̄ ). Für die Randgleichungen b = (x0 , i, x̄0 , j) ∈ B gilt b′ = (x0′ , i ∗ , x̄0 , i ∗ ). Beispiel 183 Schritt 4.4. Alle Randgleichungen der Form (x0′ , i ∗ , x̄0′ , i ∗ ) oder (x̄0′ , i ∗ , x0′ , i ∗ ) und die Variablen x0 und x̄0 werden gestrichen. Schritt 4.5. Ersetze I ∗ durch I ′ := { i ∈ I ∗ | c ≤ i } und nehme die lineare Ordnung (I ′ , ≤, ϕI ′ ), die durch die Inklusion I ′ ⊆ I ∗ induziert wird. Wir betrachten das System von Randgleichungen aus Beispiel 172: 0 1 2 3 4 5 6 7 9 8 10 x2 x3 x4 x̄1 x̄2 12 13 14 x̄0 x0 x1 11 x5 x̄5 x6 x7 x̄4 x̄3 x̄6 Lemma 182 (x0 , 7, x̄0 , 14), (x1 , 1, x̄1 , 3), (x2 , 2, x̄2 , 4), (x3 , 3, x̄3 , 12), (x4 , 4, x̄4 , 11), (x5 , 7, x̄5 , 10), (x6 , 11, x̄6 , 13), (x7 , 12, x̄7 , 14). Regel 4 ist abwärts und aufwärts korrekt. Regel 1: nicht anwendbar, denn left(x ) < right(x ) für alle x ∈ Γ. x̄7 Regel 2: nicht anwendbar, denn left(x ) 6= left(x̄ ) für alle x ∈ Γ. Regel 3: nicht anwendbar, denn ℓ := min(I) = 0 = left(x0 ) = left(x1 ). Regel 4: ℓ = min(I) = 0, r = max{ right(x) | x ∈ Γ mit left(x) = ℓ } = max{1, 7} = 7. Dann gilt left(x0 ) = ℓ und right(x0 ) = r . ℓ∗ := left(x̄0 ) = 7 und r ∗ := right(x̄0 ) = 14, c ′ := min{ left(x) | x ∈ Γ mit r < right(x) } = 7, und somit ist c := min{c ′ , r } = c ′ = r = 7. T := { i ∈ I | i ≤ c } ∪ { i ∈ I | ∃(x, i, x̄, j) ∈ B : left(x) < c } = {0, 1, 2, 3, 4, 5, 6, 7} Transportpositionen Schritt 4.1: Eine zulässige Erweiterung von (I, ≤, ϕI ) durch T in [ℓ∗ , r ∗ ] = [7, 14]: 0 1 (x0 , 7, x̄0 , 14) : (x1 , 1, x̄1 , 3) : (x2 , 2, x̄2 , 4) : (x3 , 3, x̄3 , 12) : (x4 , 4, x̄4 , 11) : (x5 , 7, x̄5 , 10) : 2 3 4 5 left(x0 )∗ left(x1 )∗ left(x2 )∗ left(x3 )∗ left(x4 )∗ left(x5 )∗ 6 = 0∗ = 0∗ = 1∗ = 2∗ = 3∗ = 4∗ 7 8 9 10 11 12 13 14 0∗ 1∗ 2∗ 3∗ 4∗ 5∗ 6∗ 7∗ = 7 = left(x̄0 ) und 7∗ = 14. = 7 > 2 = left(x̄1 ) und 1∗ > 3. > 3 = left(x̄2 ) und 2∗ > 4. ∼ 11 = left(x̄3 ) gdw. 3∗ ∼ 12. ∼ 10 = left(x̄4 ) gdw. 4∗ ∼ 11. > 7 = left(x̄5 ) gdw. 7∗ > 10 (=) (=) Schritt 4.2: Neue Variable x8 und x̄8 einführen: left(x8 ) := 7, left(x̄8 ) := 14. Neuen Randgleichungen: (x8 , 7, x̄8 , 14), (x̄8 , 14, x8 , 7). Schritt 4.3: Definiere neue Funktion left ′ für alle x ∈ Γ mit left(x) < 7: left ′ (x0 ) := 0∗ = 7, left ′ (x4 ) := 3∗ , left ′ (x1 ) := 0∗ = 7, left ′ (x5 ) := 4∗ , left ′ (x2 ) := 1∗ , left ′ (x̄1 ) := 2∗ , left ′ (x3 ) := 2∗ , left ′ (x̄2 ) := 3∗ . Neue Randgleichungen: (x0 , 7, x̄0 , 14) ersetzen durch (x0 , 14, x̄0 , 14), (x1 , 1, x̄1 , 3) ersetzen durch (x1 , 1∗ , x̄1 , 3∗ ), (x2 , 2, x̄2 , 4) ersetzen durch (x2 , 2∗ , x̄2 , 4∗ ), (x3 , 3, x̄3 , 12) ersetzen durch (x3 , 3∗ , x̄3 , 12), (x4 , 4, x̄4 , 11) ersetzen durch (x4 , 4∗ , x̄4 , 11), (x5 , 7, x̄5 , 10) ersetzen durch (x4 , 14, x̄5 , 10). Schritt 4.4: Variable x0 , x̄0 und entsprechende Randgleichungen streichen. Beispielsweise können wir folgende Anwendung wählen: Schritt 4.5: I ∗ durch I ′ := { i ∈ I ∗ | c ≤ i } ersetzen, wobei nichtdeterministisch eine lineare Ordnung gewählt werden muss, die die Bedingungen aus Schritt 4.2 erfüllt: 7 8 9 10 x̄5 x1 0∗ x2 1∗ 2∗ 11 x6 x7 x̄4 x̄3 x̄1 x̄2 x3 x4 3∗ 12 13 x̄6 5∗ x̄7 6∗ 1∗ 2∗ 3∗ 4∗ 5∗ 6∗ 7∗ 7 8 9 10 11 12 13 14 x̄5 x6 x7 x̄4 x̄3 x̄6 x̄7 14 x1 x5 4∗ 0∗ 7∗ Da left(x8 ) = 7 = right(x8 ) und left(x̄8 ) = 14 = right(x̄8 ) gelten, werden x8 und x̄8 durch Regel 1 gestrichen. x2 x̄1 x̄2 x3 x4 x5 Da left(x4 ) = left(x̄4 ) ist, können die Variablen x4 und x̄4 nun mit Regel 2 gestrichen werden. Danach kann wieder Regel 4 angewendet werden. 2 Kapitel 4. Das D0L-Äquivalenzproblem 4.1. Das D0L-Folgenäquivalenzproblem Das D0L-Folgenäquivalenzproblem ist wie folgt definiert: 4.1. Das D0L-Folgenäquivalenzproblem 4.2. Das HD0L-Folgenäquivalenzproblem 4.3. D0L-Wachstumsfunktionen 4.4. Das D0L-Sprachenäquivalenzproblem EINGABE: Zwei D0L-Systeme G1 = (Σ, h1 , w0 ) und G2 = (Σ, h2 , w0′ ). FRAGE: Gilt S(G1 ) = S(G2 )? Offensichtlich können wir uns auf den Fall w0 = w0′ konzentrieren. Damit gilt dann: S(G1 ) = S(G2 ) gdw. gdw. gdw. gdw. Damit ist das D0L-Folgenäquivalenzproblem ein Spezialfall des folgenden Entscheidungsproblems: EINGABE: Ein D0L-System G = (Σ, h, w0 ) und zwei Morphismen f , g : Σ∗ → Γ∗ . FRAGE: Gilt f =L(G) g? Dies ist das Gleichheitsproblem für Morphismen auf L(D0L). Nach Folgerung 124 ist dieses Problem algorithmisch lösbar, wenn man zu jedem D0L-System G effektiv eine endliche Testsprache T ⊆ L(G) bestimmen kann. Im folgenden werden wir sehen, dass dies tatsächlich möglich ist. ∀i ≥ 1 : h1i (w0 ) = h2i (w0 ) ∀i ≥ 0 : h1 (h1i (w0 )) = h2 (h1i (w0 )) ∀w ∈ L(G1 ) : h1 (w ) = h2 (w ) h1 =L(G1 ) h2 . Definition 184 Zwei Systeme von Wortgleichungen über Σ in den Unbestimmten Ω heißen äquivalent, wenn sie genau dieselben Lösungen zulassen. Satz 185 Das folgende Äquivalenzproblem ist entscheidbar: EINGABE: Zwei endliche Systeme S1 und S2 von Wortgleichungen über Σ in den Unbestimmten Ω. FRAGE: Sind S1 und S2 äquivalent? Folgerung 186 Das folgende Problem ist entscheidbar: Beweis Nach Lemma 145 können wir annehmen, dass S1 und S2 aus nur jeweils einer Gleichung bestehen: EINGABE: Zwei endliche Sprachen L1 , L2 ⊆ Σ∗ mit L1 ⊆ L2 . FRAGE: Ist L1 eine Testmenge für L2 ? S1 = {L1 = R1 } und S2 = {L2 = R2 }. Nun sind S1 und S2 genau dann äquivalent, wenn die folgende abgeschlossene existentielle Formel F falsch ist: F := ∃ . . . ∃ . . . ( (L1 = R1 ) ∧ (L2 6= R2 ) ) ∨ ( (L1 6= R1 ) ∧ (L2 = R2 ) ). Beweis Sei Σ = {a1 , a2 , . . . , ar }. Wähle Σ̃ := {ã1 , . . . , ãr } und Σ̂ := {â1 , . . . , âr }, und setze Ω := Σ̃ ∪ Σ̂. Definiere Morphismen ψ1 : Σ∗ → Σ̃∗ und ψ2 : Σ∗ → Σ̂∗ durch ψ1 (a) := ã und ψ2 (a) := â (a ∈ Σ) Nach Satz 128 und nach Satz 142 ist dies aber entscheidbar. 2 und setze S1 := { (ψ1 (w ), ψ2 (w )) | w ∈ L1 }, S2 := { (ψ1 (w ), ψ2 (w )) | w ∈ L2 }. Wegen L1 ⊆ L2 gilt S1 ⊆ S2 . Beh. 1 Beh. 2 Ist L1 eine Testmenge für L2 , so sind die Systeme von Wortgleichungen S1 und S2 über Σ äquivalent. Sind die Systeme von Wortgleichungen S1 und S2 äquivalent, so ist L1 eine Testmenge für L2 . Beweis Beweis Sei h : Ω∗ → Γ∗ eine Lösung für S1 . Definiere Morphismen f , g : Σ∗ → Γ∗ durch Seien f , g : Σ∗ → Γ∗ zwei Morphismen mit f =L1 g. Definiere eine Instantiierung h : Ω → Γ∗ der Variablen Ω durch f (ai ) := h(ãi ) und g(ai ) := h(âi ) (1 ≤ i ≤ r ). h(ãi ) := f (ai ) und h(âi ) := g(ai ) (1 ≤ i ≤ r ). Dann gilt für alle w ∈ L1 folgendes: Dann gilt h(ψ1 (w )) = f (w ) = g(w ) = h(ψ2 (w )) f (w ) = h(ψ1 (w )) = h(ψ2 (w )) = g(w ), d.h. f =L1 g. Da L1 eine Testmenge für L2 ist, folgt für alle w ∈ L1 , d.h. h ist eine Lösung für S1 . Damit ist h auch eine Lösung für S2 , d.h. h(ψ1 (w )) = f (w ) = g(w ) = h(ψ2 (w )) für alle w ∈ L2 , d.h. h ist auch eine Lösung für S2 . Also sind S1 und S2 äquivalent. 2 f (w ) = h(ψ1 (w )) = h(ψ2 (w )) = g(w ) gilt für alle w ∈ L2 . Also ist L1 eine Testmenge für L2 . 2 Satz 188 Also ist L1 genau dann eine Testmenge für L2 , wenn die Systeme von Wortgleichungen S1 und S2 äquivalent sind. Dies ist nach Satz 185 aber entscheidbar. 2 Folgende Aufgabe ist algorithmisch lösbar: EINGABE: Ein D0L-System G = (Σ, h, w0 ). AUFGABE: Bestimme eine endliche Testmenge T für L(G)! Lemma 187 Sei h : Σ∗ → Γ∗ ein Morphismus, und sei L ⊆ Σ∗ eine Sprache. Ist T ⊆ L eine Testmenge für L, so ist h(T ) ⊆ h(L) eine Testmenge für h(L). Beweis Angenommen es gäbe zwei Morphismen f , g : Γ∗ → ∆∗ mit f =h(T ) g, aber f 6=h(L) g. Für alle w ∈ T gilt dann (f ◦ h)(w ) = f (h(w )) = g(h(w )) = (g ◦ h)(w ), aber es gibt ein Wort u ∈ L r T mit (f ◦ h)(u) = f (h(u)) 6= g(h(u)) = (g ◦ h)(u), d.h. f ◦ h =T g ◦ h, aber f ◦ h 6=L g ◦ h. Widerspruch! 2 Beweis Nach Satz 99 besitzt L(G) eine endliche Testmenge T . Wegen L(G) = { hi (w0 ) | i ≥ 0 } gibt es damit einen kleinsten Index k, so dass die Menge { hi (w0 ) | 0 ≤ i ≤ k } eine Testmenge für L(G) ist. Für alle i ≥ 0 definieren wir die Sprache Li induktiv wie folgt: L0 := {w0 }, Li+1 := Li ∪ h(Li ) (i ≥ 0). Dann gilt Li = {w0 , h(w0 ), . . . , hi (w0 )} für alle i ≥ 0. Beh. Ist Li eine Testmenge für Li+1 , so ist Li auch eine Testmenge für Li+2 . Beweis Sei Li eine Testmenge für Li+1 . Nach Lemma 187 ist dann h(Li ) eine Testmenge für h(Li+1 ). Es gelten h(Li ) = {h(w0 ), . . . , hi+1 (w0 )} = Li+1 r {w0 } und h(Li+1 ) = {h(w0 ), . . . , hi+2 (w0 )} = Li+2 r {w0 }, d.h. Li+1 r {w0 } ist eine Testmenge für Li+2 r {w0 }. Also ist Li+1 eine Testmenge für Li+2 , d.h. für alle Morphismen f und g gilt folgendes: f =Li g gdw. f =Li+1 g gdw. f =Li+2 g. Also ist bereits Li eine Testmenge für Li+2 . 2 Also ist k der kleinste Index, für den Lk eine Testmenge für Lk +1 ist. Nach Folgerung 186 ist dieser Index effektiv bestimmbar, d.h. mit Lk haben wir eine endliche Testmenge für L(G) bestimmt. 2 Folgerung 189 Das D0L-Folgenäquivalenzproblem ist entscheidbar. Der hier vorgestellte Beweis stammt aus folgender Arbeit: K. Culic II, J. Karhumäki, A new proof for the D0L sequence equivalence problem and its implications. In: G. Rozenberg, A. Salomaa (eds.), The Book of L; Springer, Berlin 1986, pp. 63–74. Wie hoch ist der Aufwand, die Folgenäquivalenz zweier D0L-Systeme zu testen? Für welchen minimalen Wert k ist die Menge Satz 190 (Karhumäki 1981) Die obige Vermutung gilt für den Fall n ≤ 2. k Lk = {w0 , h(w0 ), . . . , h (w0 )} Beweis eine Testmenge für die Sprache L(G)? Vermutung (Salomaa 1978) Seien G1 = (Σ, h1 , w0 ) und G2 = (Σ, h2 , w0 ) zwei D0L-Systeme über Σ. Ist |Σ| = n, so sind G1 und G2 folgenäquivalent genau dann, wenn h1i (w0 ) = h2i (w0 ) für alle i = 1, . . . , 2n − 1 gilt. Für n = 1 ist die Aussage klar. Für n = 2 findet sich der Beweis in: J. Karhumäki, On the equivalence problem for binary D0L systems; Information and Control 50 (1981) 276–284. 4.2. Das HD0L-Folgenäquivalenzproblem Definition 192 Gilt S(G1 ) = S(G2 ), so folgt auch L(G1 ) = L(G2 ). Die Umkehrung hiervon gilt im allgemeinen aber nicht. Beispiel 191 Seien G1 = ( {a, b}, {a → 7 b 2 , b 7→ a}, b ) und G2 = ( {a, b}, {a → 7 b, b 7→ a2 }, a ). 2n S(G1 ) 6= S(G2 ), aber L(G1 ) = { a , b 2n | n ≥ 0 } = L(G2 ). Das D0L-Sprachenäquivalenzproblem betrachten wir in Abschnitt 4.4. (a) Ein H0L-System H besteht aus einem 0L-System G = (Σ, h, w0 ) und einem Morphismus ϕ : Σ∗ → Γ∗ . Die von H erzeugte Sprache ist L(H) := ϕ(L(G)) = { ϕ(w ) | w ∈ L(G) }. (b) Ein HD0L-System H besteht aus einen D0L-System G = (Σ, h, w0 ) und einem Morphismus ϕ : Σ∗ → Γ∗ . Mit S(H) bezeichnen wir die Folge (ϕ(w0 ), ϕ(h(w0 )), ϕ(h2 (w0 )), . . .). Es gilt L(H) = ϕ(L(G)) = { ϕ(hi (w0 )) | i ≥ 0 }. (c) Ist ϕ eine Kodierung (d.h., ϕ(Σ) ⊆ Γ), so spricht man von einem C0L- oder CD0L-System. 2 Beispiel 193 (a) Sei G = ({b, c}, h, w0 ) mit w0 := b und h : b 7→ bc, c 7→ c. Dann gilt S(G) = (b, bc, bc 2 , bc 3 , . . .) und L(G) = { bc i | i ≥ 0 }. Sei H das HD0L-System, das aus G entsteht durch den Morphismus ϕ : {b, c}∗ → {a}∗ : b 7→ a2 , c 7→ a. Dann gilt S(H) = (a2 , a3 , a4 , a5 , . . . ) und L(H) = { an | n ≥ 2 }. Nach Lemma 17 ist diese Sprache keine D0L-Sprache. (b) Sei G = ({b, c}, h, w0 ) mit w0 := b und h : b 7→ bc 2 , c 7→ ε. Dann gilt S(G) = (b, bc 2 , bc 2 , . . .) und L(G) = {b, bc 2 }. Sei H das CD0L-System, das aus G entsteht durch den Morphismus ϕ : {b, c}∗ → {a}∗ : b 7→ a, c 7→ a. Dann gilt S(H) = (a, a3 , a3 , . . .) und L(H) = {a, a3 }. Nach dem Beweis von Satz 26 ist L(H) 6∈ L(0L). Beweis Seien H1 = (G1 , ϕ1 ) mit G1 = (Σ1 , h1 , w0 ) und ϕ1 : Σ∗1 → Γ∗ und H2 = (G2 , ϕ2 ) mit G2 = (Σ2 , h2 , w0′ ) und ϕ2 : Σ∗2 → Γ∗ zwei HD0L-Systeme. O.B.d.A. Σ1 ∩ Σ2 = ∅. ˙ 2 und definiere h : Σ∗ → Σ∗ durch Setze Σ := Σ1 ∪Σ h(a) := h1 (a) (a ∈ Σ1 ), h(a) := h2 (a) (a ∈ Σ2 ). Dann ist G := (Σ, h, w0 w0′ ) ein D0L-System. Offensichtlich gilt hn (w0 w0′ ) = h1n (w0 )h2n (w0′ ) für alle n ≥ 0. Das HD0L-Folgenäquivalenzproblem: EINGABE: Zwei HD0L-Systeme H1 = (G1 , ϕ1 ) und H2 = (G2 , ϕ2 ). FRAGE: Gilt S(H1 ) = S(H2 )? Satz 194 (Culik, Karhumäki 1986) Das HD0L-Folgenäquivalenzproblem ist entscheidbar. Definiere ψ1 , ψ2 : Σ∗ → Γ∗ durch ( ϕ1 (a), falls a ∈ Σ1 , ψ1 (a) := ε, falls a ∈ Σ2 , ψ2 (a) := ( ε, falls a ∈ Σ1 , ϕ2 (a), falls a ∈ Σ2 . Für alle n ≥ 0 gelten dann: ◮ ψ1 (hn (w0 w0′ )) = ψ1 (h1n (w0 )h2n (w0′ )) = ϕ1 (h1n (w0 )), ◮ ψ2 (hn (w0 w0′ )) = ψ2 (h1n (w0 )h2n (w0′ )) = ϕ2 (h2n (w0′ )). Also sind H1 und H2 folgenäquivalent (d.h. S(H1 ) = S(H2 )) genau dann, wenn ψ1 =L(G) ψ2 . Nach Satz 188 ist dies entscheidbar. 2 Beh. 1 Satz 195 L(G) = L(H). L(C0L) = L(E0L). Beweis Beweis Ist w ∈ L(H), so gibt es eine Ableitung in (Σ, h, w0 ) mit Sei H = ((Σ, h, w0 ), ϕ) ein C0L-System mit ϕ : Σ → ∆. O.B.d.A. sei Σ ∩ ∆ = ∅. Wir definieren ein E0L-System G := (Γ, g, w0 , ∆) durch: w0 ⇒h w1 ⇒h . . . ⇒h wm → ϕ(wm ) = w . ϕ Dann erzeugt aber G die folgende Ableitung: w0 ⇒g w1 ⇒g . . . ⇒g wm ⇒g ϕ(wm ) = w . ◮ Γ := Σ ∪ ∆ ∪ {F }, Also gilt L(H) ⊆ L(G). Ist umgekehrt w ∈ L(G), so gibt es eine Ableitung ◮ g ist definiert durch: h(a) ∪ {ϕ(a)}, falls a ∈ Σ, g(a) := {F }, falls a ∈ ∆, {F }, falls a = F . w 0 ⇒g w 1 ⇒g . . . ⇒g w m = w ∈ ∆ ∗ . Dann sind aber w0 , w1 , . . . , wm−1 ∈ Σ∗ und w = ϕ(wm−1 ), d.h. in H gilt w0 ⇒h w1 ⇒h . . . ⇒h wm−1 → ϕ(wm−1 ) = wm . ϕ Also gilt L(G) = L(H). 4.3. D0L-Wachstumsfunktionen Sei G = (Σ, h, w0 ) ein D0L-System, und sei S(G) = (w0 , w1 , w2 , . . .) die erzeugte Folge. Also gilt L(C0L) ⊆ L(E0L). Definition 196 Der Beweis für die Inklusion L(E0L) ⊆ L(C0L) ist wesentlich aufwendiger. Er findet sich in G. Rozenberg, A. Salomaa, The Mathematical Theory of L Systems, pp. 66–68. Die Funktion fG : N → N, die definiert ist durch fG (n) := |wn | (= |hn (w0 )|) (n ≥ 0), 2 ist die Wachstumsfunktion von G. Die Folge (|w0 |, |w1 |, |w2 |, . . .) wird auch die Längenfolge zu G genannt. 2 Bemerkung 198 Beispiel 197 (ab)2 , b (a) Das D0L-System G3 = ( {a, b}, {a 7→ 7→ ε}, ab ) (Beispiel 15) hat die Wachstumsfunktion fG3 (n) = 2n+1 . Sei fG die Wachstumsfunktion eines D0L-Systems G. Ist fG (n) = 0 für ein n ∈ N, so ist fG (n + k) = 0 für alle k ≥ 0. Definition 199 (b) Das PD0L-System G5 = ( {a, b, c}, {a 7→ abc 2 , b 7→ bc 2 , c 7→ c}, a ) (Beispiel 22(b)) hat die Wachstumsfunktion fG5 (n) = (n + 1)2 . (c) Das PD0L-System G6 (Beispiel 23) hat die Wachstumsfunktion fG6 (n) = (n + 1)3 . Welche Funktionen treten als Wachstumsfunktionen von D0L-Systemen auf? Sei G = (Σ, h, w0 ) ein D0L-System über Σ = {a1 , . . . , ak }. Die Wachstumsmatrix von G ist definiert durch |h(a1 )|a1 , |h(a1 )|a2 , . . . , |h(a1 )|ak |h(a2 )|a1 , |h(a2 )|a2 , . . . , |h(a2 )|ak MG := .. .. . . |h(ak )|a1 , |h(ak )|a2 , . . . , |h(ak )|ak Ferner seien π0 := ψ(w0 ) = ( |w0 |a1 , |w0 |a2 , . . . , |w0 |ak ) und η := (1, . . . , 1)T . Beweis Nach Kapitel 1 bezeichnet ψ : Σ∗ → Nk0 die Parikh-Abbildung u 7→ (|u|a1 , . . . , |u|ak ). (a) Induktion über n: Lemma 200 (a) Für alle n ≥ 0 gilt π0 · (b) Für alle n ≥ 0 gilt π0 · MGn MGn = ψ(wn ). · η = fG (n). n = 0 : π0 · MG0 = π0 = ψ(w0 ). n →n+1: π0 · MGn+1 = (π0 · MGn ) · MG = ψ(wn ) · MG I.V. =( k P |wn |ai · |h(ai )|a1 , . . . , i=1 k P |wn |ai · |h(ai )|ak ) i=1 = (|h(wn )|a1 , . . . , |h(wn )|ak ) = ψ(wn+1 ) (b) π0 · MGn · η = ψ(wn ) · η = (a) k P i=1 |wn |ai = |wn |. 2 Beweis Folgerung 201 Zu jedem D0L-System G gibt es Konstanten p, q ∈ N mit fG (n) ≤ p · q n für alle n ≥ 0. Beweis Wähle p := |w0 | und q := max{ |h(ai )| | i = 1, . . . , k }. durch Induktion über n: n = 0 : |w0 | = p = p · q 0 . n →n+1: k k P k P P |wn+1 | = |wn+1 |aj = ( |wn |ai · |h(ai )|aj ) = Beh. Für alle n ≥ 0 gilt |wn | ≤ p = j=1 k P i=1 k P j=1 i=1 |wn |ai · ( k P |h(ai )|aj ) j=1 |wn |ai · |h(ai )| i=1 · qn . ≤q· k P |wn |ai = q · |wn | ≤ q · p · q n = p · q n+1 . I.V. i=1 22 Satz 203 Definition 202 Sei G ein D0L-System über Σ = {a1 , . . . , ak }. Dann bezeichnet CG (x) := det(MG − x · I) das charakteristische Polynom zu G. Sei G ein D0L-System über Σ = {a1 , . . . , ak }. Dann gibt es Zahlen ck −1 , . . . , c0 ∈ Z, so dass für alle n ≥ 0 die folgende Rekursionsgleichung gilt: Beispiel 197 (Fortsetzung) fG (n + k) = ck −1 · fG (n + k − 1) + . . . + c1 · fG (n + 1) + c0 · fG (n). (a) CG3 (x) = det(MG3 − x · I) = det 2−x 0 (b) CG5 (x) = det(MG5 − x · I) 1−x 1 2 = det 0 1−x 2 0 0 1−x 3 3 2 = (1 − x) = −x + 3x − 3x 2 −x +1 ! = x 2 − 2x Beweis Nach dem Satz von Cayley-Hamilton erfüllt jede Matrix M ihre eigene charakteristische Gleichung, d.h. es gilt insbesondere CG (MG ) = 0. Aber CG (x ) ist ein Polynom vom Grad k mit Leitkoeffizient ±1, d.h. es gibt ck −1 , . . . , c0 ∈ Z mit MGk = ck −1 · MGk −1 + . . . + c1 · MG + c0 · MG0 . Damit ergibt sich für alle n ≥ 0 folgendes: k −1 k −1 X X cj · fG (n + j). cj · ψ(wn ) · MGj · η = fG (n + k ) = ψ(wn ) · MGk · η = j=0 j=0 2 Beispiel 204 Wir wollen die Wachstumsfunktion des D0L-Systems G := ( {a, b, c}, {a 7→ a2 , b 7→ a5 b, c 7→ b 3 c}, abc ) bestimmen: 2 0 0 MG = 5 1 0 0 3 1 2−x 0 0 CG = det(MG − x · I) = det 5 1−x 0 0 3 1−x = (2 − x)(1 − x)2 = −x 3 + 4x 2 − 5x + 2. Also folgt für alle n ≥ 0 folgende Gleichheit: fG (n + 3) = 4 · fG (n + 2) − 5 · fG (n + 1) + 2 · fG (n). Aus der Theorie der Differenzengleichungen erhält man den Ansatz fG (n) = (α1 + α2 · n) · 1n + α3 · 2n . Die Koeffizienten α1 , α2 , α3 erhält man nun aus den ersten 3 Funktionswerten: fG (0) = 3 = α1 + α3 fG (1) = 12 = α1 + α2 + 2 · α3 fG (2) = 42 = α1 + 2 · α2 + 4 · α3 , d.h. α1 = −18, α2 = −12, und α3 = 21. Dies ergibt fG = 21 · 2n − 12 · n − 18. 2 Satz 205 Sei G ein D0L-System mit charakteristischem Polynom CG (x), und seien ρ1 , . . . , ρs die Nullstellen von CG (x) mit Vielfachheiten t1 , . . . , ts ≥ 1. s P Dann gilt fG (n) = (αi,0 + αi,1 · n + . . . + αi,ti −1 · nti −1 ) · ρni , i=1 wobei die αi,j im allgemeinen komplexe Zahlen sind. Beweis Satz 206 Sei f : N → N eine Funktion, die die folgende Bedingung erfüllt: ∀n ∈ N ∃m, i ∈ N : i > n und f (m+i) 6= f (m+n) = f (m+n−1) = . . . = f (m). Dann ist f nicht Wachstumsfunktion eines D0L-Systems. Angenommen G ist ein D0L-System über Σ = {a1 , . . . , ak }, dessen Wachstumsfunktion fG die obige Bedingung erfüllt. Für n = k gibt es dann Zahlen m und i > k mit fG (m + i) 6= fG (m + k) = fG (m + k − 1) = . . . = fG (m). Nach Satz 203 gilt nun fG (m + k + 1) = ck −1 ·fG (m +k)+. . . +c1 ·fG (m +2)+c0 ·fG (m +1) = ck −1 ·fG (m +k −1)+. . . +c1 ·fG (m +1)+c0 ·fG (m) = fG (m + k). Induktiv folgt nun fG (m + j) = fG (m + k) für alle j ≥ k. Widerspruch! 2 Definition 207 (a) Eine Funktion f : N → N heißt exponentiell, wenn es eine reelle Zahl t > 1 und ein n0 ∈ N gibt mit n f (n) > t für alle n ≥ n0 . (b) Eine Funktion f : N → N ist polynomiell beschränkt, wenn es ein Polynom P ∈ Z[x] gibt mit f (n) < P(n) für alle n ∈ N. Bemerkung 208 Aus Satz 205 ergibt sich nun die folgende Aussage. Satz 209 Jede D0L-Wachstumsfunktion ist entweder polynomiell beschränkt oder exponentiell. Die erzeugende Funktion der Wachstumsfunktion fG eines D0L-Systems G ist die formale Potenzreihe ∞ X fG (n) · x n . F (x) := n=0 √ Die Funktionen n 7→ ⌊nlog n ⌋ und n 7→ ⌊2 n ⌋ sind weder polynomiell beschränkt noch exponentiell. Definition 211 Satz 210 Ist F (x) die erzeugende Funktion der Wachstumsfunktion fG eines D0L-Systems G, so kann man zwei Polynome P(x) und Q(x) mit ganzzahligen Koeffizienten bestimmen, die die Gleichung P(x) = (1 − Q(x)) · F (x) erfüllen. Dabei hat Q(x) den Grad höchstens k, und P(x) hat den Grad höchstens k − 1, wenn k die Kardinalität des Alphabets von G bezeichnet. Zwei D0L-Systeme G und G′ heißen wachstumsäquivalent, wenn ihre Wachstumsfunktionen fG und fG′ übereinstimmen Aus S(G) = S(G′ ) folgt natürlich fG = fG′ , aber die umgekehrte Implikation ist offensichtlich falsch. Satz 212 Seien G und G′ zwei D0L-Systeme über Σ = {a1 , . . . , ak } beziehungsweise Σ′ = {b1 , . . . , bk ′ }, und seien S(G) = (w0 , w1 , w2 , . . .) und S(G′ ) = (w0′ , w1′ , w2′ , . . .). G und G′ sind wachstumsäquivalent genau dann, wenn |wi | = |wi′ | gilt für alle 0 ≤ i ≤ k + k ′ − 1. Beweis Nach Satz 210 gelten F (x) = P(x)/(1 − Q(x)) und F ′ (x) = P ′ (x)/(1 − Q ′ (x)), wobei P(x), Q(x), P ′ (x) und Q ′ (x) Polynome sind. Angenommen |wi | = |wi′ | für alle 0 ≤ i ≤ k + k ′ − 1, aber fG 6= fG′ . Dann ist F (x) − F ′ (x) 6= 0. Aber (F (x) − F ′ (x))(1 − Q(x)) · (1 − Q ′ (x)) = P(x)(1 − Q ′ (x)) − P ′ (x)(1 − Q(x)), wobei die rechte Seite ein Polynom vom Grad höchstens k + k ′ − 1 ist. Andererseits ist ∞ ∞ P P (fG (n)−fG′ (n))·x n = (fG (n)−fG′ (n))·x n , F (x)−F ′ (x) = n=0 Folgerung 213 Es ist entscheidbar, ob zwei gegebene D0L-Systeme wachstumsäquivalent sind. n=k +k ′ d.h. (F (x) − F ′ (x)) · (1 − Q(x)) · (1 − Q ′ (x)) enthält nur x-Potenzen vom Grad ≥ k + k ′ . Widerspruch! 2 Beispiel 214 Seien G = ( {a, b}, {a 7→ ab 3, b 7→ b 3 }, a ) und G′ = ( {a, b, c, d , e}, {a 7→ acde, b 7→ cde, c 7→ b 2 d 2 , d 7→ d 3 , e 7→ bd }, a ). Dann sind k = 2 und k ′ = 5. S(G) beginnt mit folgenden Wörtern: w0 = a, w1 = ab 3 , w2 = ab 12 , w3 = ab 39 , w4 = ab 120 , w5 = ab 363 , w6 = ab 1092 , d.h. wir haben die Wachstumsfolge (1, 4, 13, 40, 121, 364, 1093, . . .). S(G′ ) beginnt mit den Wörtern: w0′ = a, w1′ = acde, w2′ = acdeb 2d 5 bd , w3′ = acdeb 2d 5 bdcdecded 15cded 3 , . . .. Man kann nachprüfen, dass |wi | = |wi′ | gilt für alle i = 0, 1, . . . , 6. Also sind G und G′ wachstumsäquivalent. Definition 215 Zwei D0L-Systeme G = (Σ, h1 , w0 ) und G′ = (Σ, h2 , w0′ ) über demselben Alphabet heißen Parikh-äquivalent, wenn für alle n ∈ N die Vektoren ψ(h1n (w0 )) und ψ(h2n (w0′ )) übereinstimmen. Satz 216 Zwei D0L-Systeme G = (Σ, h1 , w0 ) und G′ = (Σ, h2 , w0′ ) über demselben Alphabet Σ = {a1 , . . . , ak } sind genau dann Parikh-äquivalent, wenn für alle n = 0, 1, . . . , k die Gleichheit ψ(h1n (w0 )) = ψ(h2n (w0′ )) gilt. 2 Beh. Beweis Für alle j ≥ 0 gelten Für alle n ≥ 1 gilt ψ(h1n (w0 )) = π0 · MGn . Wir setzen πn := ψ(h1n (w0 )) (n ≥ 1), d.h. wir erhalten das System πi+1 = πi · MG ◮ πk +j = πk′ +j und ◮ πk +j · MG = πk +j · MG′ . (0 ≤ i ≤ k − 1) von k 2 linearen Gleichungen in den k 2 Unbestimmten mi,j := |h(ai )|aj . Dann ist MG eine Lösung dieses Systems, und MG′ ist ebenfalls eine Lösung dieses Systems. ′ = 0 für alle Also gilt πi · (MG − MG′ ) = πi+1 − πi+1 i = 0, 1, . . . , k − 1. Ist die Koeffizientenmatrix (πi )i=0,1,...,k −1 nicht singulär, so folgt MG = MG′ . kP −2 Ist (πi )i=0,1,...,k −1 singulär, so ist πk −1 = αi · πi . Beweis über Induktion über j: j = 0 : πk = ψ(h1k (w0 )) = ψ(h2k (w0′ )) = πk′ nach Voraussetzung. kP −2 αi · πi · MG ) · MG πk · MG = (πk −1 · MG ) · MG = ( = = i=0 j →j +1: πk +j+1 = πk +j · MG = πk +j · MG′ = πk′ +j · MG′ = πk′ +j+1 = ( I.V. i=0 kP −2 = ( I.V. i=0 = 2 Die D0L-Systeme G = (Σ, {a 7→ ab 3 , b 7→ b 3 , c 7→ c, d 7→ d , e 7→ e}, a ) und G′ = (Σ, {a 7→ acde, b 7→ cde, c 7→ b 2 d 2 , d 7→ d 3 , e 7→ bd }, a ) αi · πi+j+2) · MG′ über Σ = {a, b, c, d , e} sind zwar wachstumsäquivalent, aber nicht Parikh-äquivalent, denn: ′ ) · MG′ αi · πi+j+2 πk′ +j+1 ′ · MG′ = πk′ · MG′ = πk · MG′ . αi · πi+1 Beispiel 214 (Fortsetzung) αi · πi+j+2 ) · MG i=0 kP −2 i=0 i=0 αi · πi+1 · MG′ I.V. I.V. =( i=0 kP −2 αi · πi+1 · MG = i=0 kP −2 Also sind G und G′ Parikh-äquivalent. und πk +j+1 · MG = (πk +j · MG ) · MG kP −2 j+2 αi · πi · MG ) · MG =( i=0 kP −2 kP −2 · = πk +j+1 · MG′ MG′ . π0 = (1, 0, 0, 0, 0) = π0′ , π1 = (1, 3, 0, 0, 0) 6= (1, 0, 1, 1, 1) = π1′ . 2 Andererseits kann man leicht D0L-Systeme G und G′ angeben, die zwar Parikh-äquivalent aber nicht folgenäquivalent sind. 4.4. Das D0L-Sprachenäquivalenzproblem Das D0L-Sprachenäquivalenzproblem ist wie folgt definiert: Definition 218 EINGABE: Zwei D0L-Systeme G1 = (Σ, h1 , w0 ) und G2 = (Σ, h2 , w0′ ). FRAGE: Gilt L(G1 ) = L(G2 )? Auf Σ∗ definieren wir zwei Relationen ≤P und <P wie folgt: u ≤P v gdw. ψ(u) ≤ ψ(v) auf Nk gdw. |u|ai ≤ |v|ai für alle i = 1, . . . , k. u <P v gdw. u ≤P v und ψ(u) 6= ψ(v). Satz 217 Lemma 219 Das D0L-Sprachenäquivalenzproblem ist entscheidbar. Die Folge S(G1 ) erfüllt die folgenden Bedingungen: (i) Es gibt keine Indizes i < j mit wj ≤P wi . Beweis Seien G1 = (Σ, h1 , w0 ) und G2 = (Σ, h2 , w0′ ) zwei D0L-Systeme. Es ist entscheidbar, ob L(Gi ) endlich ist (Übung). Daher können wir annehmen, dass L(G1 ) und L(G2 ) beide unendlich sind. Seien Σ = {a1 , . . . , ak }, wi := h1i (w0 ) und wi′ := h2i (w0′ ), i ≥ 1, d.h. S(G1 ) = (w0 , w1 , w2 , . . .) und S(G2 ) = (w0′ , w1′ , w2′ , . . .). Der Beweis wird nun durch Angabe eines Algorithmus und verschiedener Lemmata geführt. 2 (ii) Sind i, j Indizes mit i < j und wi <P wj , so gilt wi+n <P wj+n für alle n ≥ 0. Die entsprechenden Aussagen gelten auch für die Folge S(G2 ). Algorithmus für den Test „L(G1 ) = L(G2 )“ Beweis (i) Gäbe es Indizes i < j mit wj ≤P wi , so wäre L(G1 ) endlich. (ii) Angenommen wi <P wj , aber wi+1 6<P wj+1 , d.h. ψ(wi+1 ) = ψ(wj+1 ). Dann gibt es eine Partition Σ = Γ ∪ Γ′ mit: und |wi |a = |wj |a |wi |b < |wj |b für alle a ∈ Γ, für alle b ∈ Γ′ . Wegen ψ(wi+1 ) = ψ(wj+1 ) folgt h1 (b) = ε für alle b ∈ Γ′ . Aus i < j folgt damit, dass L(G1 ) endlich ist. Widerspruch! 2 (1.) t := 0; (2.) q1 := min{ q > t | ∃p : 1 ≤ p ≤ q − t und wq−p <P wq }; p1 := min{ p | 1 ≤ p ≤ q1 − t und wq1 −p <P wq1 }; ′ q2 := min{ q > t | ∃p : 1 ≤ p ≤ q − t und wq−p <P wq′ }; ′ ′ p2 := min{ p | 1 ≤ p ≤ q2 − t und wq2 −p <P wq2 }; (3.) if { wi | t ≤ i < q1 } 6= { wj′ | t ≤ j < q2 } then {OUTPUT: „L(G1 ) 6= L(G2 )“; HALT;} (4.) if { wi | q1 ≤ i < q1 + p1 } 6= { wj′ | q2 ≤ j < q2 + p2 } then { t := q1 ; goto (2.); } (5.) Sei π : {0, 1, . . . , p1 − 1} → {0, 1, . . . , p1 − 1} die durch wq1 +j = wq′ +π(j) (0 ≤ j ≤ p1 − 1) definierte Permutation; 1 (6.) ∀j = 0, 1, . . . , p1 − 1 : G1 (p1 , q1 + j) G2 (p1 , q1 + j) := := p (Σ, h11 , wq1 +j ), p (Σ, h21 , wq′ +j ); 1 (7.) if ∀j = 0, 1, . . . , p1 − 1 : S(G1 (p1 , q1 + j)) = S(G2 (p1 , q1 + π(j))) then {OUTPUT: „L(G1 ) = L(G2 )“; HALT} else { t := p1 + q1 ; goto (2.); }. Lemma 220 Bemerkung 221 Die Werte q1 und p1 (und q2 und p2 ) existieren. Beweis (a) Wird Schritt (4.) erreicht, so gilt q1 = q2 , denn aus { wi | t ≤ i < q1 } = { wj′ | t ≤ j < q2 } folgt insbesondere, dass diese Mengen gleich mächtig sind. Da L(G1 ) unendlich ist, ist auch ψ(L(G1 )) unendlich. Nach Dicksons Lemma enthält ψ(L(G1 )) aber nur endlich viele bzgl. ≤ unvergleichbare Elemente. Nach Lemma 219 (i) gilt wj 6≤P wi für alle i < j. Also gibt es Indizes q > t und 1 ≤ p ≤ q − t mit wq−p <P wq . 2 (b) Wird Schritt (5.) erreicht, so gelten q1 = q2 und p1 = p2 . Ausserdem ist die Permutation π aus (5.) in diesem Fall wohldefiniert. Lemma 222 Lemma 223 Jedesmal, wenn Schritt (3.) erreicht wird, gilt Wenn der obige Algorithmus anhält, dann ist die Antwort, die er liefert, korrekt. { wi | 0 ≤ i < t } = { wi′ | 0 ≤ i < t }. Beweis durch Induktion über die Anzahl der Durchläufe: n = 1 : Hier ist t = 0, d.h. { wi | 0 ≤ i < t } = ∅ = { wi′ | 0 ≤ i < t }. n →n+1: Der neue Wert von t ist in Schritt (4.) oder (7.) auf t = q1 oder t = p1 + q1 festgelegt worden. Zuvor wurde die Bedingung { wi | t ≤ i < q1 } = { wj′ | t ≤ j < q2 } (3.) bzw. { wi | t ≤ i < q1 + p1 } = { wj′ | t ≤ j < q2 + p2 } (3.) + (4.) überprüft. 2 Beweis Angenommen, der Algorithmus hält in (7.) mit Ausgabe „L(G1 ) = L(G2 )“ an. Nach Bemerkung 221(b) gelten dann q1 = q2 und p1 = p2 . Ausserdem folgt aus Lemma 222 und (4.) { wi | 0 ≤ i < q1 + p1 } = { wi′ | 0 ≤ i < q2 + p2 }. Ist π die in (5.) bestimmte Permutation von {0, 1, . . . , p1 − 1}, so gelten wq1 +j = wq′ 1 +π(j) (0 ≤ j ≤ p1 − 1), und aus dem Test in (7.) folgt, dass die Folgen S(G1 (p1 , q1 + j)) und S(G2 (p1 , q1 + π(j))) für alle j = 0, 1, . . . , p1 − 1 übereinstimmen. Sei nun w ∈ L(G1 ), d.h. w = wm für ein m ∈ N. Gilt m < q1 + p1 , so ist Angenommen, der Algorithmus hält in (3.) mit Ausgabe „L(G1 ) 6= L(G2 )“ an. Dann gilt zu diesem Zeitpunkt w ∈ { wi | 0 ≤ i < q1 + p1 } = { wi′ | 0 ≤ i < q1 + p1 } ⊆ L(G2 ). { wi | t ≤ i < q1 } = 6 { wj′ | t ≤ j < q2 }. O.B.d.A. gibt es eine Zahl m mit t ≤ m < q1 mit Ist m ≥ q1 + p1 , dann lässt sich m schreiben als wm 6∈ { wj′ | t ≤ j < q2 }. Angenommen die obige Antwort ist falsch, d.h. L(G1 ) = L(G2 ). Nach Lemma 222 gilt m = s · p1 + q1 + j mit j ∈ {0, 1, . . . , p1 − 1} und s ∈ N, d.h. w = wm = L(G2 ). s·p h1 1 (wq1 +j ) = s·p h1 1 (wq′ 1 +π(j) ) = s·p h2 1 (wq′ 1 +π(j) ) ∈ { wi | 0 ≤ i < t } = { wi′ | 0 ≤ i < t }. Da weder in S(G1 ) noch in S(G2 ) Wiederholungen möglich sind, liefert dies Es folgt, dass L(G1 ) ⊆ L(G2 ) gilt. { wi | t ≤ i } = { wi′ | t ≤ i }. Analog folgt die umgekehrte Inklusion, d.h. L(G1 ) = L(G2 ) gilt. Damit gibt es einen Index n ≥ q2 mit wm = wn′ . Es bleibt zu zeigen, dass obiger Algorithmus stets terminiert. Bemerkung 224 (k ) (a) Sei p1 der Wert der Variablen p1 beim k-ten Durchlauf. (k ) (k −1) Dann gilt p1 ≤ p1 für alle k ≥ 2. Nach Wahl von q2 gilt wq′ 2 −p2 <P wq′ 2 . Also gibt es nach Lemma 219(ii) einen Index r ∈ {t, t + 1, . . . , n − 1} mit wr′ <P wn′ . Wegen { wi | t ≤ i } = { wi′ | t ≤ i } gibt es einen Index s ≥ t mit ws = wr′ <P wn′ = wm . Aus Lemma 219(i) folgt nun (b) Ist L(G1 ) 6= L(G2 ), so terminiert obiger Algorithmus. Beweis (a) Dies folgt aus der Definition von p1 und Lemma 219(ii). s < m, d.h. t ≤ s < m < q1 mit ws <P wm . Widerspruch zur Wahl von q1 . Also gilt L(G1 ) 6= L(G2 ). 2 (b) Der Wert der Variablen t wird in jedem Durchlauf erhöht. Nach Lemma 222 gilt in jedem Durchlauf { wi | 0 ≤ i < t } = { wi′ | 0 ≤ i < t }, wenn Schritt (3.) erreicht wird. Ist L(G1 ) 6= L(G2 ), so wird nach endlich vielen Durchläufen ein Wert von t erreicht, für den diese Gleichheit nicht mehr gilt. 2 Beweis Nach Bemerkung 224(a) können die Werte für p1 (und analog für p2 ) nur endlich oft verändert werden. Damit bleibt noch zu zeigen, dass der Algorithmus nicht in eine unendliche Schleife geraten kann, wenn L(G1 ) = L(G2 ) ist, und wenn die Werte für p1 und p2 fixiert sind. Beh. 1 Geht der obige Algorithmus von Schritt (4.) zum Schritt (2.) und ändert anschließend nicht die Werte von p1 oder p2 , dann ist L(G1 ) 6= L(G2 ). Lemma 225 Beweis Sei u := |Σ| + 2. Falls der obige Algorithmus dasselbe Paar (p1 , p2 ) in u aufeinander folgenden Durchläufen auswählt, dann ist L(G1 ) 6= L(G2 ). Da der goto-Befehl in (4.) ausgeführt wird, gelten folgende Aussagen: – { wi | t ≤ i < q1 } = { wj′ | t ≤ j < q2 } und damit q1 = q2 , – { wi | q1 ≤ i < q1 + p1 } = 6 { wj′ | q2 ≤ j < q1 + p2 }, und t wird auf t ′ := q1 gesetzt. Nach Lemma 219(ii) folgt aus wq1 −p1 <P wq1 , dass wq1 <P wq1 +p1 ist. Da der Wert von p1 in Schritt (2.) unverändert bleibt, folgt für den neuen Wert q1′ von q1 folgendes: q1′ = q1 + p1 . Analog ergibt sich der neue Wert q2′ von q2 als q2′ = q2 + p2 . Damit wird im nachfolgenden Schritt (3.) der folgende Test ausgeführt: { wi | t ′ ≤ i < q1′ } = 6 Wie nehmen nun an, dass obiger Algorithmus in u aufeinander folgenden Durchläufen von Schritt (7.) zum Schritt (2.) übergeht, wobei die Werte von p1 und p2 jeweils unverändert bleiben. Wegen des Tests in (4.) gilt dann p1 = p2 . In jedem Durchlauf wird in (5.) eine Permutation π von {0, 1, . . . , p1 − 1} bestimmt. { wj | t ′ ≤ j < q2′ } ′′ ′′ { wi | q1 ≤ i < q1 + p1 } {wj | q2 ≤ j < q2 + p2 }. Also terminiert der Algorithmus nun mit der Antwort „L(G1 ) 6= L(G2 )“, d.h. L(G1 ) 6= L(G2 ) nach Lemma 223. 2 Beh. 2 Beh. 3 In allen Durchläufen wird dieselbe Permutation π bestimmt. Es gilt (γ) wq1 +p1 +j = wq′ 1 +p1 +r für ein r mit π1 (j) ≤ r < p1 . Beweis Beweis Angenommen in zwei aufeinander folgenden Durchläufen werden verschiedene Permutationen π1 und π2 bestimmt. Dann gibt es eine Zahl j ∈ {0, 1, . . . , p1 − 1} mit π1 (j) > π2 (j). Für den entsprechenden Wert von q1 = q2 gelten dann folgende Gleichungen: Wegen dem Test in (3.) gilt (α) wq1 +j = wq′ 1 +π1 (j) , (β) wq1 +2p1 +j = wq′ 1 +2p1 +π2 (j) . Aussage (β) gilt, weil am Ende des ersten betrachteten Durchlaufs t den neuen Wert t ′ = q1 + p1 (= q2 + p2 ) erhält, und weil anschließend p1 unverändert bleibt, d.h. q1 erhält den neuen Wert q1′ := q1 + 2p1 . wq1 +p1 +j = w(q1 −p1 )+2p1 +j <P wq1 +2p1 +j . wq′ 1 +p1 +r <P wq′ 1 +2p1 +π2 (j) . Wegen 1 ≤ (q1 + 2p1 + π2 (j)) − (q1 + p1 + r ) = p1 − (r − π2 (j)) < p1 = p2 widerspricht dies der Wahl von p2 . d.h., es gibt ein r ∈ {0, 1, . . . , p1 − 1} mit wq1 +p1 +j = wq′ 1 +p1 +r . Nach Wahl von p1 und q1 gilt wq1 −p1 <P wq1 , woraus mit Lemma 219 (ii) die Ungleichung wq1 +j = w(q1 −p1 )+p1 +j <P wq1 +p1 +j folgt. Also gilt wq′ 1 +π1 (j) <P wq′ 1 +p1 +r . Wegen der Wahl von q2 und p2 folgt hieraus (q1 + p1 + r ) − (q1 + π1 (j)) = p1 + r − π1 (j) ≥ p2 = p1 , was r ≥ π1 (j) impliziert. 2 Damit gilt für alle i = 0, 1, . . . , u − 1 und alle j = 0, 1, . . . , p1 − 1 die Gleichheit wq1 +i·p1+j = wq′ 1 +i·p1 +π(j) , d.h., für alle j = 0, 1, . . . , p1 − 1 sind die ersten u = |Σ| + 1 Wörter in den Folgen S(G1 (p1 , q1 + j)) und S(G2 (p1 , q1 + π(j))) identisch. Nach Wahl von p1 und q1 gilt wq1 −p1 <P wq1 , woraus mit Lemma 219(ii) folgende Ungleichung folgt: Also gilt { wi | q1 + p1 ≤ i < q1 + 2p1 } = {wj | q1 + p1 ≤ j < q1 + 2p1 }, 2 Damit sind die Systeme G1 (p1 , q1 + j) und G2 (p1 , q1 + π(j)) (0 ≤ j ≤ p1 − 1) Parikh-äquivalent (Satz 216). Andererseits gibt es ein j ∈ {0, 1, . . . , p1 − 1} mit S(G1 (p1 , q1 + j)) 6= S(G2 (p1 , q1 + π(j))), denn der Algorithmus hält ja nicht im ersten Durchlauf in Schritt (7.) an. Also gibt es einen Index i mit z1 := h1p1 ·i (wq1 +j ) 6= h2p1 ·i (wq′ 1 +π(j) ) =: z2 , aber ψ(z1 ) = ψ(z2 ). Beispiel 226 Wäre z1 ∈ L(G2 ), so enthielte L(G2 ) zwei verschiedene Wörter z1 = h2η1 (w0′ ) und z2 = h2η2 (w0′ ), η1 6= η2 , Wir wenden den Algorithmus aus dem Beweis von Satz 217 auf die beiden D0L-Systeme G1 = ( {a, b}, {a 7→ b 2 , b 7→ a}, b ) die Parikh-äquivalent sind. Widerspruch zu Lemma 219(i)! Also gilt L(G1 ) 6= L(G2 ). und 2 Damit ist auch Satz 217 bewiesen. 1. Durchlauf: (1.) t = 0 (2.) q1 = 2 und p1 = 2, denn w0 = b <P w2 = b2 . q2 = 2 und p2 = 2, denn w0′ = a <P w2′ = a2 . (3.) { wi | 0 ≤ i < q1 } = {w0 , w1 } = {b, a} = {w0′ , w1′ } = { wj′ | 0 ≤ j < q2 } (4.) { wi | q1 ≤ i < q1 + p1 } = {w2 , w3 } = {b2 , a2 } = {w2′ , w3′ } = { wj′ | q2 ≤ j < q2 + p2 }. (5.) π : {0, 1} → {0, 1} : 0 7→ 1, 1 7→ 0 (6.) G1 (p1 , q1 + 0) = ( {a, b}, h12 , wq1 +0 ) = ( {a, b}, h12 , b2 ) G2 (p1 , q1 + 1) = ( {a, b}, h22 , wq′ 1 +1 ) = ( {a, b}, h22 , b2 ) G1 (p1 , q1 + 1) = ( {a, b}, h12 , wq1 +1 ) = ( {a, b}, h12 , a2 ) G2 (p1 , q1 + 0) = ( {a, b}, h22 , wq′ 1 ) = ( {a, b}, h22 , a2 ). (7.) S(G1 (p1 , q1 + 0)) = (b2 , b4 , b8 , . . .) = S(G2 (p1 , q1 + 1)) S(G1 (p1 , q1 + 1)) = (a2 , a4 , a8 , . . .) = S(G2 (p1 , q1 + 0)). Also liefert der Algorithmus bereits nach dem ersten Durchlauf die Antwort „L(G1 ) = L(G2 )“. 2 G2 = ( {a, b}, {a 7→ b, b 7→ a2 }, a ) aus Beispiel 191 an.