WS07/08 Automaten und Formale Sprachen 8. Vorlesung PD Dr. Niggl (für M.Dietzfelbinger) 4. Dezember 2007 Stichworte (Letzte Vorl.) Konstruktion des Minimalautomaten: 3 Teile Entferne unerreichbare Zustände Finde Paare (nicht) äquivalenter Zustände (via Markierungsalgorithmus) Bilde Äquivalenzklassenautomaten Grammatiken erzeugen/spezifizieren Sprachen Allgemeine Grammatiken: Chomsky-0 oder Typ-0 FGKTuEA, TUIlmenau Automaten undformalesprachen WS07/08 04.12.2007 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 1 Erinnerung: 3.1 Grammatiken Eine Grammatik G besteht aus: V : Σ: S: P: Alphabet, Menge der Variablen Alphabet, Menge der Terminalzeichen Startsymbol S V (auch: Startvariable ) endliche Menge von Produktionen (auch: Ableitungsregeln ) l r (formal: Paar (l,r)) wobei l (V Σ) + und r (V Σ). Beispiel (ausführlich besprochen): V ={S,/c,$,A, B,C}, Σ={a}, Startsymbol S und P besteht aus den folgenden Produktionen: (1) S /caa$ (2) Aaa aaaa (3) Aa$ aab$ (4) ab Ba (5) /cb /ca (6) Aa$ aac (7) ac Ca (8) /cc ε FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 2 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 3
Grammatik bestimmt einen Kalkül...... zur Erzeugung von Wörten über Σ. Sei G =(V,Σ,S,P) Grammatik. 1. Wir schreiben ulv urv, falls u, v (V Σ) und l r eine Produktion in P ist. lies: urv ist in einem (1) Schritt aus ulv ableitbar. Beispiele: /caab$ (4) /caa$ (3) /caaa$ (2) /caba$ /caab$ /caaaa$. Grammatik bestimmt einen Kalkül... 2. Wir schreiben α α, falls Wörter α 0 =α,α 1,..., α t =α existieren, so dass gilt: α 0 α 1, α 1 α 2,..., α t 1 α t lies: α ist aus α (in endlich vielen Schritten) ableitbar. Bem.: Beispiel: ist der reflexive und transitive Abschluß von. /caa$ (6) /caac (7) /caca (7) /ccaa Also gilt: /caa$ /ccaa FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 4 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 5 Sinnvolle Zwischenschritte und Resultate 3. Ein Wort α (V Σ) heißt Satzform von G, falls S α. Eine Folge S =α 0 α 1 α t =α heißt Ableitung (auch: Herleitung) von α. Beispiel: S (1) /caa$ (6) /caac (7) /caca (7) /ccaa 4. L(G) := {w Σ S w} heißt die von G erzeugte Sprache. Chomsky-0-Grammatiken sind Grammatiken, wie sie hier beschrieben wurden. Def.: L 0 bezeichne die Klasse aller Sprachen L(G), wobei G eine (Chomsky-0-)Grammatik ist. In Berechenbarkeit und Komplexitätstheorie : L L 0 L ist durch einen beliebigen Aufzählungsoder Erzeugungskalkül beschreibbar ( rekursiv aufzählbar ). Im Beispiel: L(G) = {a 2i i 1}. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 6 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 7
Chomsky-1-Grammatiken... oder kontextsensitive Grammatiken Def.: Eine Produktion l r heißtkontextsensitiv, falls l = α A γ und r = α β γ mit β 1, wobei A V, α, β, γ (V Σ). Man darf Variable A im Kontext α..γ durch β ε ersetzen. Entscheidend: l r ist nicht-verkürzend, d.h. r l. Zulässig: Kontext ist leer, d.h α, γ=ε. Beispiele: /cb /ca, aaa$ aaba$ Nicht kontextsensitiv: Aa$ aab$, /cc ε Chomsky-1-Grammatiken Def.: Eine Grammatik G=(V,Σ,S,P) heißt kontextsensitiv oder vom Typ 1, wenn entweder alle Produktionen von G kontextsensitiv sind oder alle Produktionen von G kontextsensitiv sind, außer S ε, undindiesem FallS nieinder rechten Seiteeiner Produktion vorkommt. Kontextsensitive Grammatiken heißen auch Chomsky-1-Grammatiken. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 8 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 9 Chomsky-1-Sprachen Def.: Eine Sprache L heißt kontextsensitiv oder vom Typ 1, falls L = L(G) für eine kontextsensitive Grammatik G gilt. Bezeichne L 1 die Klasse aller Typ-1-Sprachen. Klar: L 1 L 0 Beobachtung: Kontextsensitive Grammatiken sind technisch nicht leicht zu handhaben. Technisches Hilfsmittel: Monotone Grammatiken (Wortlängen-)Monotone Grammatiken Def.: Eine Produktion l r heißt (wortlängen-) monoton (auch: nicht-verkürzend), falls r l gilt. Def.: Eine GrammatikG =(V,Σ,S,P) heißtmonoton, wenn entweder alle Produktionen von G monoton sind oder alle Produktionen von G monoton sind, außer S ε, und in diesem Fall S nie in der rechten Seite einer Produktion vorkommt. Klar: Jede kontextsensitive Produktion ist monoton. Also: G kontextsensitiv = G monoton FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 10 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 11
Beispiel: G = (V,Σ,S,P) mit V = {S, A,C}, Σ = {a,b,c} und Produktionen: (1) S ε (2) S abc (3) S aabc (4) A aacb (5) A acb (6) Cb bc (7) Cc cc Alle Produktionen sind monoton, außer S ε, aber S kommt in keiner rechten Seite einer Produktion vor. Also: G ist eine monotone Grammatik. S ε S abc Beispiel-Ableitungen: S aabc aacbbc aabcbc aabbcc aabbcc S aabc aaacbbc aaabcbc aaabbcc aaabbcc aaacbbbcc aaabcbbcc aaabbcbcc aaabbbccc aaabbbccc Man kann beweisen (Übung!): L(G)={a n b n c n n N} Frage: Ist diese Sprache kontextsensitiv? FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 12 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 13 Monotone Grammatiken Die Produktion Cb bc ist monoton, aber nicht kontextsensitiv. Behauptung: G monoton = MankannG ineine kontextsensitive Grammatik G mit L(G)=L(G ) umbauen. Idee: Baue jede monotone Produktion einzeln (2 Schritte) in eine Folge von kontextsensitiven Produktionen um. Fazit: Monotone Grammatiken erzeugen genau die Sprachen in L 1. Also: {a n b n c n n N} ist eine kontextsensitive Sprache. Schritt 1: Separierung Für jedes a Σ wähle eine neue Variable, etwa D a. Ersetze in P jedes Vorkommen von a durch D a, und füge die Produktionen D a a hinzu, für jedes a Σ. Effekt: Nur Produktionen der Form A a können Terminalzeichen erzeugen, und eventuell S ε. Beispiel: V = {S, A,C,D a,d b,d c } mit Produktionen: S ε CD b D b C S D a D b D c CD c D c D c S D a AD b D c D a a A D a ACD b D b b A D a CD b D c c FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 14 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 15
Schritt 2: Einzelschritte Beispiel (Verallgemeinerung offensichtlich): Betrachte nun eine Produktion ( ) X 1 X 2 X 3 Y 1 Y 2 Y 3 Y 4 Y 5 (nur Variable) (Allgemein: X 1...X s Y 1...Y t mit 2 s t, nur Variable) Klar: ( ) ist monoton, aber i.a. nicht kontextsensitiv. Wähle daher neue Variable Z 1,Z 2,Z 3 (kommen sonst nirgends vor) und ersetze ( ) durch folgende neue Produktionen: Schritt 2: Einzelschritte X 1 X 2 X 3 Z 1 X 2 X 3 Z 1 X 2 X 3 Z 1 Z 2 X 3 Z 1 Z 2 X 3 Z 1 Z 2 Z 3 Z 1 Z 2 Z 3 Y 1 Z 2 Z 3 Y 1 Z 2 Z 3 Y 1 Y 2 Z 3 Y 1 Y 2 Z 3 Y 1 Y 2 Y 3 Y 4 Y 5 Übung: Man baue die Grammatik für L={a n b n c n n N} in eine äquivalente kontextsensitive Grammatik um. Also: L ist eine kontextsensitive Sprache. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 16 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 17 Kontextfreie Grammatiken... oder Typ-2-Grammatiken Def.: Eine Produktion l r heißtkontextfrei, falls l=a V, r (V Σ). Kontextfreie Produktion: A β, A V, β (V Σ) Man darf die Variable A durch das Wort β ersetzen (egal wo A steht). Bem.: β darf auch ε sein. Kontextfreie Grammatiken und Sprachen Def.: Eine Grammatik G=(V,Σ,S,P) heißt kontextfrei (auch: vom Typ 2), wenn alle Produktionen von G kontextfrei sind. Def.: Eine Sprache L heißt kontextfrei (vom Typ 2), falls L = L(G) für eine kontextfreie Grammatik G gilt. Bezeichne L 2 die Klasse aller kontextfreien Sprachen. Werden sehen (nicht offensichtlich): L 2 L 1 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 18 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 19
Beispiel (schon gesehen): G =(V,Σ,S,P) mit V ={ expr, term, factor }, Σ={+,-,*,/,(,),num}, S = expr und folgenden Produktionen: factor num factor ( expr ) term term * factor term term / factor term factor expr expr + term expr expr - term expr term Neues Beispiel: G=(V,Σ,S,P) mit V ={S}, Σ={0,1} und folgenden Produktionen: (1) S ε (2) S 0S1 Kurz: S ε 0S1 Beispiel für Ableitung: S 0S1 00S11 000S111 0000S1111 00001111 Leicht zu sehen: L(G) = {0 n 1 n n 0}!! Wissen schon: L(G) ist nicht regulär! FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 20 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 21 3.2 Rechtslineare Grammatiken, Typ-3-Sprachen Def.: Eine Produktion l r heißt rechtslinear, falls gilt: l=a V und (r=ab mit a Σ, B V oder r=ε). Klar: Jede rechtslineare Produktion ist kontextfrei. Def.: Eine Grammatik G=(V,Σ,S,P) heißt rechtslinear (auch: vom Typ 3), falls alle Produktionen von G rechtslinear sind. Def.: Eine Sprache L heißt vom Typ 3, falls L=L(G) für eine rechtslineare Grammatik G gilt. Bezeichne L 3 die Klasse aller Typ-3-Sprachen. Die Chomsky-Hierarchie Klar: L 3 L 2 und Inklusion ist echt ( ) Werden sehen: L 3 = Klasse der regulären Sprachen Damit: L 3 L 2 L 1 L 0 In Worten: regulär kontextfrei kontextsensitiv rekursiv aufzählbar Werden sehen: Alle Inklusionen sind echt ( ) Weiteres Ziel: Charakterisierung von L 2 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 22 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 23
Rechtslineare Grammatiken und NFAs 1 Rechtslineare Grammatiken erfüllen folgende einfach einzusehende wie grundlegende Eigenschaften. Bem.: Füreine rechtslineare GrammatikG =(V,Σ,S,P) gilt: (1) Ohne ε-produktionen gilt L(G)=. (2) ε L(G) S ε ist eine Produktion von G. (3) Jede Ableitung eines w=a 1...a n Σ + hat die Gestalt S a 1 X 1 a 1 a 2 X 2... a 1...a n X n w mit Produktionen S a 1 X 1, X n ε und X i a i+1 X i+1 für i=1,...,n 1. Rechtslineare Grammatiken und NFAs 2 Satz (Rechtslineare Grammatik in NFA). Sei G = (V,Σ,S,P) eine rechtslineare Grammatik. Dann ist M :=(V,Σ,S,F,δ) ein NFA mit L M =L(G), wobei δ(a,a) := {B A ab ist eine Produktion von G} F := {A A ε ist eine Produktion von G}. Beweis. ε L M S F S ε ist in P Bem. ε L(G). Für ein beliebiges w=a 1...a l Σ + gilt: w L M Def. Weg Start a 1 a 2 a l S X 1... X l Def. Abl. S a 1 X 1 a 1 a 2 X 2... wx l w Bem. w L(G) FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 24 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 25 Rechtslineare Grammatiken und NFAs 3 Beispiel: NFA M Start Überlege: L M = L(ε + 1 + 2 + 22 + ) S 1 2 Rechtslineare Grammatik G = ({S, B, C,D}, {1,2},S,P), wo P enthält: S 1B, S 2C, S ε, B 1B, B 2D, B ε, C 2D, D 2D, D ε. B C 1 2 2 D 2 Rechtslineare Grammatiken und NFAs 4 Satz (NFA in rechtslineare Grammatik). Sei M =(Q,Σ,q 0,F, δ) ein NFA. Dann ist G:=(Q,Σ,q 0,P) eine rechtslineare Grammatik mit L(G)=L M, wobei P := {q aq q δ(q, a)} {q ε q F }. Beweis. ε L M q 0 F q 0 ε ist in P Bem. ε L(G). Für ein beliebiges w = a 1...a l Σ + gilt: w L(G) Bem. Abl. q 0 a 1 q 1 a 1 a 2 q 2... wq l w mit q i+1 δ(q i,a i+1 ) für i < l und q l F Def. Weg Start q0 a 1 q 1 a 2 a l... q l w L M FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 26 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 27
Verallgemeinert rechtslineare Produktionen: A ab, a Σ,B V A ε, a Σ,B V A a, a Σ A abc, a,b, c Σ A abcb, a, b,c Σ,B V A B, B V Allgemein: A a 1...a s B, a 1,...,a s Σ, s 0, B V A a 1...a s, a 1,...,a s Σ, s 0 Verallgemeinert rechtslineare Produktionen Behauptung: Sei G=(V,Σ,S,P) eine Grammatik, in der alle Produktionen verallgemeinert rechtslinear sind. Dann kann G in einen äquivalenten ε-nfa M 1 und dann in einen äquivalenten NFA M 2 und dann in eine äquivalente pur rechtslineare Grammatik G umgebaut werden. Fazit: G verallgemeinert rechtslinear = L(G) regulär FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 28 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 29 Beweisskizze (Details zum Nachlesen). Jede Variable ist ein Zustand (es kommen noch weitere hinzu), wobei q 0 = S. WennA ab Produktion, läufteine a-kante vonanachb. Wenn A ε Produktion, ist A akzeptierend. Wenn A B Produktion, läuft eine ε-kante von A nach B. Wenn A a 1 a s Produktion, s 1, wähle s neue Zustände C 1,...,C s, die mit a 1 -, a 2 -,..., a s -Kanten einen von A ausgehenden Weg bilden. Der letzte Zustand C s ist akzeptierend. Wenn A a 1 a s B Produktion, s 2, wähle s 1 neue Zustände D 1,...,D s 1, mit denen ein neuer Weg von A nach B mit Beschriftung a 1,...,a s gebildet wird. Linkslineare Grammatiken Def.: Eine Produktion l r heißt linkslinear, falls gilt: l=a V und (r=ba mit B V,a Σ oder r=ε) Linkslineare Produktionen: A Ba, A,B V, a Σ und A ε Klar: Jede linkslineare Produktion ist kontextfrei. Eine Grammatik G heißt linkslinear, falls alle ihre Produktionen linkslinear sind. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 30 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 31
Linkslineare/rechtslineare Grammatiken 1 Satz. Sei G=(V,...) eine linkslineare Grammatik. Dann kann man G in eine äquivalente rechtslineare Grammatik G =(V,...) umbauen. (Also: L(G) regulär.) Dabei gilt: V V + 1 Beweis. Schritt 1: Aus G: rechtslineare Grammatik G mit L(G )=L(G) R. Beispiel: G = (V,Σ,S,P) mit V = {S, A,B}, Σ = {0,1} und P = {S A0, A A0, A B1, B ε}. G = (V,Σ,S,P ), P = {S 0A, A 0A, A 1B, B ε}. Linkslineare/rechtslineare Grammatiken 2 Schritt 2: Aus G gewinne NFA M mit L M =L(G )=L(G) R. Schritt 3: Aus NFA M gewinne ε-nfa M mit L M =L R M =L(G). Schritt 4: Aus M gewinne NFA M mit L M =L M =L(G). Schritt 5: Aus M gewinne rechtslineare Grammatik G mit L(G )=L M =L(G). FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 32 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 33 Linkslineare/rechtslineare Grammatiken 3 Warnung: Mischen von rechts- und linkslinearen Produktionen in einer Grammatik führt i.a. über die regulären Sprachen hinaus: Beispiel: G = (V,Σ,S,P) mit V = {S, B}, Σ = {a,b} und Produktionen liefert: S ab, S ε, B Sb L(G) = {a n b n n 0} L 3 Fazit 4 Grammatiktypen: Typ 0, Typ 1, Typ 2, Typ 3... oder: Typ 0, kontextsensitiv, kontextfrei, rechtslinear 4 Sprachklassen Chomsky-Hierarchie: L 3 L 2 L 1 L 0 L 3 entpricht regulären Sprachen L 2 : kontextfreie Sprachen: Thema des Restes der Vorlesung FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 34 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 35
Kap. 4 Kontextfreie Grammatiken/Sprachen 4.1 Beispiele und Ableitungen Verwenden: kfg (engl.: cfg) für kontextfreie Grammatik kfs (engl.: cfl) für kontextfreie Sprache Grammatik für die Klammersprache: G=(V,Σ,S,P) mit V = {S}, Σ = {0,1} und folgenden Produktionen: (1) S ε (2) S SS Auch: S ε SS 0S1 (3) S 0S1 Beispielableitung: S SS SSS 0S1SS 01SS 01S0S1 01S00S11 0100S11 010011 Σ Beispiele und Ableitungen 2 Grammatik für {0 n 1 n n 0}: G = (V,Σ,S,P) mit V = {S}, Σ = {0,1} P enthält die folgenden Produktionen: (1) S ε (2) S 0S1 Beispielableitung: Auch: S ε 0S1 S 0S1 00S11 000S111 0000S1111 00001111 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 36 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 37 Beispiele und Ableitungen 3 Grammatik für arithmetische Ausdrücke: G = ({ expr, term, factor }, {+,-,*,/,(,),num}, expr,p) mit Produktionen: factor num ( expr ) term term * factor term / factor factor expr expr + term expr - term term Beispiele und Ableitungen 4 Produktionen kontextfreier Grammatiken haben das Format A X 1 X r wobei A V und r 0, X 1,...,X r V Σ. Ein Ableitungsschritt: Wenn α=y 1 Y s A Z 1 Z t und A X 1 X r Produktion in P ist, dann ist α α =Y 1 Y s X 1 X r Z 1 Z t ein Schritt in G (Ersetzen einer Variablen!) Bem.: α (V Σ) ist Satzform in G Folge S = α 0 α 1 α t = α, mit t 0. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 38 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 39
Induktive Definition für Satzformen Für jede kontextfreie Grammatik G = (V,Σ,S,P) gilt: (i) S ist Satzform in G; (ii) wenn α = Y 1 Y s A Z 1 Z t Satzform in G ist und A X 1 X r eine Produktion in P, dann ist auch α = Y 1 Y s X 1 X r Z 1 Z t eine Satzform in G. (iii) Nichts sonst ist Satzform in G. Beweis: (Leichte) Übung. Also können wir Induktion über den Aufbau von Satzformen benutzen. Also: L(G) = {w Σ w ist Satzform von G} w ist in L(G) w Σ und Ableitung S =α 0 α 1 α t =w. Achtung: Wenn die Grammatik G mehr als eine Variable benutzt, dann besitzt die Menge L(G) normalerweise keine induktive Definition (im Sinne der Vorlesung). Typischer Ansatz, um eine Behauptung für alle w L(G) zu beweisen: Induktion über die Länge der Ableitung von w. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 40 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 41 Beispiel: G = ({S}, {0,1},S,P) mit Produktionen: S 0S0 1S1 0 1 ε Behauptung: L(G) = {w {0,1} w=w R } Sprache der Spiegelwörter ( Palindrome ) über {0,1}. Palindrome bzgl. anderem Alphabet: ara elle hannah reliefpfeiler sinnlosolnnis ε Behauptung: L(G) = {w {0,1} w=w R } Beweis. Durch Induktion über den Aufbau der Satzformenα vong zeigenwirfolgende Invariante (Tafelmitschrift): (I) α=wsw R für ein w Σ oder (II) α=w Σ mit w=w R. Durch Wertverlaufsinduktion über die Wortlänge w zeigen wir (Tafelmitschrift): (+) Ist w=w R, so ist w L(G), für alle w Σ. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 42 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 43
Nächstes Ziel: G = ({S}, {0,1},S,P) mit Produktionen S ε SS 0S1 erzeugt die Menge kka der korrekten Klammerausdrücke. Früher definiert: (i) ε ist kka. Früher gezeigt: w ist kka genau, dann wenn gilt: ( ) w 0 = w 1 und für jedes Präfix u von w gilt u 0 u 1. In Worten: Beim Lesen von w von links nach rechts passiert es nie, dass man mehr Einsen als Nullen gesehen hat. (ii) Wenn w kka und w kka, dann ist auch 0w 1w kka. (iii) Nichts sonst. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 44 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 45 Proposition: Für G = ({S}, {0,1},S,P) mit Produktionen gilt: S ε SS 0S1 kka = L(G) Beweis. Induktion über den Aufbau von kka (ev. Tafel). Beispiel: Finde Ableitung für 010010101011. Durch Induktion über die Länge der Ableitung von w zeige: Jede Satzform erfüllt (eine Verallgemeinerung von) ( ). Fazit Die Sprache {0 n 1 n n 0} ist kontextfrei, aber nicht regulär. Induktive Definition für Satzformen ergibt Beweisschema. Grammatik für die Klammersprache. Bis nächste Woche: Folien aus Netz besorgen, durcharbeiten. Skript Teil 2 besorgen, Seiten 86 109 durcharbeiten. Definitionen lernen, Beispiele ansehen, Fragen vorbereiten. FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 46 FG KTuEA, TU Ilmenau Automaten und Formale Sprachen WS07/08 04.12.2007 47