I want to design a pushdown automata for the language
L = { a^i b^j c^k | i = j or k <= j <= 2k}
The solution proposed by the instructor is as pictured in the following diagram.
But my concern here is, that it does not handle string of the form when |2c| > |b|
. That is when in the q8
state, what if the all the B's are stacked out, but the input C is not finished yet. That transition is not captured here.
Is my concern correct? Or the proposed solution is a correct PDA.
Remember that j >= k, so that means |b| >= |c|.
If all the "b"s in input were read, then the number of B's stacked is greater than (or equal to) the number of "c"'s to be read in the input.