Teorema: Un linguaggio è acontestuale se e solo se esiste un automa a pila (PDA) che lo riconosce.
Dimostrazione
Se per una qualche CFG , allora esiste un PDA tale che
Intuizione: Dato un input userà la pila e il non determinismo per cercare di capire se è generabile da .
Ad esempio:
La pila contiene le sostituzioni. Il determinismo serve perché l’automa deve esplorare per forza tutti gli alberi di sostituzione.
All’inizio nella pila (leggi da sinistra a destra) ci sarà \mid \\ S \mid\mid $\ V_{2}\ a\ V_{1} \mid$.
Di fatto esplora in profondità tutti gli alberi generabili da .
In dettaglio:
- Inserisce \\ S$ nella pila
- e ripete:
- Se il cima alla pila c’è , sceglile non deterministicamente le regole del tipo di e sostituisce .
- Se nella pila c’è , faccio pop di e provo a fare match con il prossimo carattere di input.

(nel disegno più passi sono stati eseguiti in uno per semplicità.)
Formalmente, .
Per semplicità, ammettiamo senza perdita di generalità:
3 stati = = .
All’inizio inserisce \\ S\delta(q_{\text{start}}, \varepsilon, \varepsilon) = {(q_{\text{loop}}, S\ $)}$ Poi:
- Se la cima contiene la variabile :
- Se la cima contiene il terminale :

- Se la cima contiene \$$: \delta(q_{\text{loop}}, \varepsilon, $) = {(q_{\text{acc}}, \varepsilon)}$

Dimostrazione
Se per una qualche PDA , allora esiste un CFG tale che
Dato un PDA , facciamo la grammatica equivalente .
Per ogni coppia di stati pongo e .
Per semplificare la assumo che è in forma normale di Chomsky e è in forma canonica:
- Prima di accettare svuota la pila.
- Non fa mai push e pop insieme, ma separatamente.
Le regole: todo
- Per ogni e .