Say we had PDA such that:
The PDA is deterministic, and has no epsilon transitions.
Every transition either pushes a symbol on the stack, or pops a
symbol from the stack.
The PDA?s computation always proceeds with a sequence of pushes
followed by a sequence of pops. If the PDA ever attempts to push
a symbol onto the stack after it has already popped a symbol, it
immediately halts and rejects the input string.
The PDA accepts whenever its stack is empty.
How could you prove the following pumping lemma: Let L be the language of a
Silly PDA M. There exists an integer p such that for all x existing in L
such that |x| > p, we can decompose x = abcde such that:
(i) |bcd| <= p
(ii) |b| = |d| and |b| >= 1
(iii) a b^i c d^i e existing in L for all i existing in {0, 1, 2, ...} |