# Formal definition of a language accepted by PDA

I am a bit confused on how to give a formal definition of the language accepted by A?

I can describe it by "The language of all strings starting with n-many a's or n-many c's followed by n-many b's" and I have tried to give a formal definition by:

L(A) = {a^n c^n b^n | n ∈ N}

Is that the correct way to define it?

• The language $\{a^nc^nb^n \mid n \in \mathbb{N}\}$ is not context-free, so this can't be it. May 10 '20 at 6:35

I would say it's $$L(A)=\{a^n c^m b^{2n}| n,m \in \mathbb{N}, m \geq 2\}$$
In fact the language $$L(A)=\{a^n c^n b^n| n \in \mathbb{N}\}$$ can't be accepted by any PDA, but only a linear bounded automate(LBA) or a Turingmachine (or other similar models) The reasoning is that if you count the number of a's and want to have the same number of c's and b's later(not mixed) your stack will be empty after you sucessfully counted all the c's and the PDA will have forgotten the number to check whether the b's appear in this number.