\documentclass{ib102}
\usepackage[shorthands=off,czech]{babel}

% vim: fo+=t tw=80 spell spelllang=cs
% gen: ready

\assignment{6}
\exercise{2}
\points{2}
\duedate{30. 10. 2017}

%%% ZDE NAPISTE SVOJE UCO A JMENO
\name{}
\uco{}


\begin{document}
\begin{zadani}
Nechť $L$ je regulární jazyk nad libovolnou abecedou $\Sigma$. Uvažme unární operaci $\mathit{dropWhileNotA}()$ definovanou následovně:
    \[\mathit{dropWhileNotA}(L) = \{au \mid vau \in L, v \text { neobsahuje } a, u \in \Sigma^* \}
      \cup \{ \eps \mid v \in L, v \text{ neobsahuje } a \}\text{.}
    \]

\bigskip
\noindent
Intuitivně je tedy $\mathit{dropWhileNotA}(L)$ jazyk obsahující všechna slova
$w$ taková, že $w$ vznikne ze slova $w' \in L$ odstraněním všech písmen před
prvním výskytem písmene $a$ (pokud ve slově $w'$ žádné $a$ není, odstraní se z
něj všechna písmena, výsledek tedy bude $\eps$). Například:
\begin{align*}
\mathit{dropWhileNotA}(\set{\eps, a, ab}) &= \set{\eps, a, ab} \\
\mathit{dropWhileNotA}(\set{b, bba, baa, baba}) &= \set{\eps, a, aa, aba} \\
\mathit{dropWhileNotA}(\set{bbb}^+) &= \set{\eps} \\
\mathit{dropWhileNotA}(\set{ba}^+) &= \set{a} \cdot \set{ba}^*
\end{align*}

\bigskip
\noindent
Vaším úkolem je rozhodnout, zda pro každý regulární jazyk $L$ je jazyk $\mathit{dropWhileNotA}(L)$ taktéž regulární. Tedy zda je třída regulárních jazyků uzavřená na operaci $\mathit{dropWhileNotA}$. Vaši odpověď dokažte, a to tak, že:
\begin{itemize}
\item Pokud rozhodnete, že není, najděte regulární jazyk $L$ takový, že jazyk $\mathit{dropWhileNotA}(L)$ regulární není.
\item Pokud rozhodnete, že je, dokažte tvrzení například s pomocí známých uzávěrových vlastností třídy regulárních jazyků prezentovaných na přednášce, nebo konstruktivně popsáním algoritmu na transformaci nějakého formalizmu pro popis regulárních jazyků.
\end{itemize}
\end{zadani}

\begin{reseni}
%%% SEM PISTE SVE RESENI
\end{reseni}

\end{document}
