A pushdown automata (PDA) is a tuple where:
- is an alphabet (finite set of atomic symbols)
- is a finite set of states
- is the set of symbols that can be stored on stack
- is the initial state
- is the set of accepting states
- is the transition function
The transition function maps to a set of pairs of the form .
- Symbol in domain is to be popped.
- Symbol in co-domain is to be pushed.
- If symbol is (empty), nothing is to be popped / pushed.
Transitions may also be labelled . A word is accepted if there is any trace from initial state to accepting state that leaves the stack empty.