Séria domácich úloh na cvičenie 4
Vo všetkých úlohách predpokladajte (pokiaľ nie je uvedené ináč), že 
L, L1, L2 atď. sú ľubovoľné jazyky a h je ľubovoľný
homomorfizmus.
Zjednotenie značíme u, prienik ^, doplnok C
a reverz R.
Počiatočný symbol gramatiky označujeme S. Ak nie je povedané ináč,
malé písmená označujú terminály, veľké písmená neterminály. Používame skrátenú
formu zápisu pravidiel, t. j. S->A | bb sú dve pravidlá: 
S->A a S->bb.
- 
Dokážte, že ku každej regulárnej gramatike G existuje ekvivalentná
regulána gramatika G' taká, že PG' je podmnožinou
( N x ( TN u T u N u { epsilon } ). (Slovo ekvivalentná znamená,
že L(G)=L(G').)
- 
Majme bezkontextovú gramatiku G a vetné formy u, v také, že
u =>* v (t.j. v G sa dá z u na niekoľko krokov odvodiť v).
Nech A je ľubovoľný neterminál vetnej formy u. Dokážte, že potom v G existuje
odvodenie vetnej formy v z u také, že v prvom kroku sa prepíše práve neterminál
A. (Uvedomte si, že toto tvrdenie vlastne hovorí, že nezáleží na poradí, v akom pri
odvodení v bezkontextovej gramatike prepisujeme neterminály.)
- 
Popíšte jazyk, generovaný gramatikou s pravidlami: S -> aSS | b.
- 
Zostrojte bezkontextovú gramatiku, generujúcu jazyk: L = { w | w patrí do
{a,b}* a #a(w) = #b(w) }. 
Dokážte správnosť svojej konštrukcie.
- 
Zostrojte bezkontextovú gramatiku, generujúcu jazyk: 
L = { ai b2i+j c w wR cj-2 | w patrí do
{a,b}* a i>=0, j>=2 }.
Dokážte správnosť svojej konštrukcie.
- 
Zostrojte bezkontextovú gramatiku, generujúcu jazyk: 
L = { uvwxy | existujú i,j také, že uy = aibi, 
  vx = (vx)R a w = ajbj }.
Dokážte správnosť svojej konštrukcie.
- 
Použitím štandardnej konštrukcie (z prednášky) upravte nasledovnú gramatiku na ekvivalentnú, 
ktorá nebude obsahovať zbytočné neterminály, t.j. každý neterminál bude dosiahnuteľný a z každého
neterminálu sa bude dať odvodiť terminálne slovo.
 G = ( N, T, P, S )
 N = { S, A, B, C, D, E, F }, T = { a, b }
 P = {
 S -> aA | ASA | bb
 A -> AC | AAC | SFC
 B -> Da
 C -> ab | CaC
 D -> BB | Sa
 E -> ab | EC
 F -> aAbF | AA | F
 }
- 
Nech f(G) je gramatika, ktorú dostaneme z G odstránením nedosiahnuteľných
neterminálov, nech g(G) je gramatika, ktorú dostaneme z G odstránením terminálov, 
z ktorých sa nedá odvodiť terminálne slovo. Nájdite čo najjednoduchšiu (čo najmenej pravidiel) 
bezkontextovú gramatiku G takú, aby f(g(G))!=g(f(G)).  Aký je vzťah medzi 
gramatikami f(g(G)) a g(f(G))? (Musí niektorá z nich byť "podmnožinou" druhej?
Prečo?)