Beweise, dass für jede kontextfreie Sprache ´L sube T^+´ und jeden Buchstaben ´a in T´ auch
´L_1^a {a_1 a a_2 a … a_(n−1) a a_n a | a_1 a_2 … a_n in L}´
und
´L_2^a {a_1 a a_2 a … a_(n−1) a a_n | a_1 a_2 … a_n in L}´
kontextfrei sind.
Wir betrachten zuerst ´L_1^a´. Es sei ´G = (N, T, P, S)´ eine kontextfreie Grammatik in Chomsky-Normalform, die ´L´ erzeugt, d.h. alle Regeln von ´P´ haben die Form ´A -> BC´ oder ´A -> b´ mit ´A, B, C in N´ und ´b in T´. Da in ´L_1^a´ jeder terminale Buchstabe ´b´ von einem ´a´ gefolgt wird, reicht es offenbar zur Erzeugung von ´L_1^a´ statt mit ´A -> b´ mit ´A -> ba´ zu terminieren. Dies liefert
´G' = (N, T, {A -> BC | A -> BC in P} uu {A -> ba | A -> b in P}, S)´
Für ´L_2^a´ können wir die gleiche Konstruktion verwenden. Wir müssen nur den letzten Buchstaben durch ´A -> b´ anstatt ´A -> ba´ terminieren. Dazu reicht es sich den letzten Buchstaben zu merken. Hierfür verwenden wir eine gestrichene Variante vom Nichtterminal. Indem wir für dieses letzte Nichtterminal ´A'´ anstelle von ´A -> BC´ nun ´A' -> BC'´ verwenden, bleibt der letzte und nur der letzte Buchstabe mit einem Strich versehen.
´G'' =(N uu {A' |A in N},T,P'',S')´
mit
´P'' = {A -> BC | A -> BC in P} uu ´´{A' -> BC' | A -> BC in P} uu ´´{A -> ba | A -> b in P} uu ´´{A' -> b | A -> b in P}´
HPI, 2014-04-29, Theoretische Informatik 2, Blatt 4, Aufgabe 4
2014-07-21 23:15:08 UTC
2014-07-21 23:15:08 UTC