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.