Formální definice (nedeterministického) zásobníkového automatu
přijímání koncovými stavy a přijímaní prázdným zásobníkem
tvrzení o vztahu jazyků přijímané těmito 2 způsoby (jsou si oba rovné, chtělo to ukázat převod oběma směry)
sestrojit ZA přijímající koncovými stavy jazyk {ucv∣u,v∈{a,b}∗,∣u∣e∣v∣} (tady jsem se musel dodatečně zeptat, ale je to nad abecedou {a,b,c}) a převést na ZA přijímající prázdným zásobníkem (pokud bylo jasně popsáno v předchozím důkazu, stačilo se na něj jen odvolat a nemuselo se explicitně popisovat).
Automat vypadal takto (popsáno 7ici (Q,X,Y,δ,q0,Z0,F) klasicky jako na slidech):
M:=({q0,qOK,qbad},{a,b,c},{Z0,D},δ,q0,Z0,{qOK})
přechodová fce (pro zjednodušení zápisu buď $x \in {a, b})δ(q0,x,Z0)={(q0,DZ0)}δ(q0,x,D)={(q0,DD)}...deˊlka"u"δ(q0,c,D)={(qOK,λ)}...umazˇuprvnıˊD,abychsedostalprˇistejneˇdlouhyˊchu,vzpaˊtkynapodlozˇkuδ(qOK,x,D)={(qOK,λ)}...ubıˊraˊmdalsˇıˊDpodledeˊlkyvδ(qOK,x,Z0)={(qbad,Z0)}...deˊlkyu,vsevyrovnaly−>sˇpatneˊδ(qbad,x,Z0)={(qOK,Z0)}...deˊlkyvuzˇjezaseostrˇeveˇtsˇıˊδ(q0,c,Z0)={(qbad,Z0)}...prˇıˊpadu = \lambda$, pokud nepřijde po "c" aspoň 1 znak a nebo b, nemůžu slovo přijmout
Snad jsem to vystihl všechno a dobře, pokud jsem nezachytil nějaký okrajový případ, neváhejte zkritizovat :-)