Definition:Pushdown Automaton

Definition
A pushdown automaton is a septuple:


 * $M=(Q,\Sigma,\Gamma,\delta,q_0,Z,F)$

where


 * $Q$ is a finite set of states,
 * the input alphabet $\Sigma$ is a finite set,
 * the stack alphabet $\Gamma$ is a finite set,
 * the transition relation $\delta$ is a finite subset of $Q\times(\Sigma\cup\{\varepsilon\})\times\Gamma\times Q\times\Gamma^*$
 * $q_0\in Q$ is the start state
 * $Z\in \Gamma$ is the initial stack symbol
 * $F\subseteq Q$ is the set of accepting states.

An instantaneous description is any triple of state, input and stack $(p,w,\beta)\in Q\times\Sigma^*\times\Gamma^*$

A computation step is $(p,ax,A\gamma)\vdash_M(q,x,\alpha\gamma)\iff(p,a,A,q,\alpha)\in\delta$.

$M$'s accepted language is $L(M):=\{w\in\Sigma^*|\exists f\in F:\exists\gamma\in\Gamma^*:(q_0,w,Z)\vdash_m^*(f,\varepsilon,\gamma)\}$