\begin{frame}{Pushdown Automata}
Next to the input alphabet $\Sigma$, there is now a \emph{stack alphabet} $\Gamma$.
\medskip
\begin{block}{}
A \emph{stack} is a finite sequence of elements from $\Gamma$:
\begin{center}
\vspace{-1ex}
\begin{tikzpicture}[default,nodes={rectangle},n/.style={draw,minimum width=6mm,minimum height=4mm,fill=cblue!20},label/.style={scale=0.8}]
\node (a) [n] at (0mm,0mm) {$a$};
\node (b) [n] at (.5mm,4mm) {$b$};
\node (c) [n] at (0mm,8mm) {$c$};
\node (d) [n] at (.5mm,12mm) {$d$};
\draw [<-] ($(d)+(-1mm,2mm)$) to[bend left=-40] node [left,label,pos=0.3,xshift=-1mm] {add} ++(-5mm,5mm);
\draw [->] ($(d)+(1mm,2mm)$) to[bend left=40] node [right,label,pos=0.3,xshift=1mm] {remove} ++(5mm,5mm);
\mpause[1]{\node [align=left] at (5cm,.8cm) {We write \emph{stacks as words}\\[.5ex]\hspace{2cm}dcba\\[.5ex]with the \emph{top-element on the left}.};}
\end{tikzpicture}
\vspace{-1.5ex}
\end{center}
\emph{Elements added or removed only on the top of the stack.}
\end{block}
\pause\pause\medskip
\begin{goal}{}
A transition reads the topmost element of the stack
\begin{talign}
\delta : Q \times (\Sigma \cup \{ \lambda \}) \times \alert{\Gamma} \to 2^{Q \times \alert{\Gamma^*}}
\end{talign}
and exchanges it with zero or more new elements.
\pause\medskip
The nondeterministic choice $\delta(q,\alpha,b)$ must always be \alert{finite}!
\end{goal}
\bigskip
\end{frame}