This is an old revision of the document!


9. Push Down Automata

Find PDAs that accept each of the languages below, both by empty stack and by final state. Identify which approach feels more suitable for each language.

9.1.1. $ L = \{\: w \in \{A,B\}^* \ | \:w \text{ is a palindrome}\} $.

9.1.2. $ L = \{ A^{m} B^{m+n} C^{n} \ | \: n, m \geq 0 \} $

9.1.3. $ L = \{w \in \{a, b\}^* | \#_a(w) = \#_b(w) \} $

9.1.4. $ L = \{w \in \{a, b\}^* | \#_a(w) \neq \#_b(w) \} $

9.1.5. $ L = \{a^ib^jc^k | i = j \lor j = k \} $

9.2.1. Prove that PDAs that accept by empty stack and PDAs that accept by final state are equivalent. More concretely:

  • starting from a PDA $ A$ which accepts by empty stack, create a PDA $ A'$ which accepts by final state, such that $ L(A) = L(A')$ .
  • perform the same task - vice-versa.