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.

Approach

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.


Solution
  • ´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}´

  • URL:
  • Language:
  • Subjects: theoretical computer science
  • Type: Proof
  • Duration: 35min
  • Credits: 5
  • Difficulty: 0.7
  • Tags: hpi context-free language
  • Note:
    HPI, 2014-04-29, Theoretische Informatik 2, Blatt 4, Aufgabe 4
  • Created By: adius
  • Created At:
    2014-07-21 23:15:08 UTC
  • Last Modified:
    2014-07-21 23:15:08 UTC