Почему {a ^ nb ^ n | n> = 0} не регулярно?

В курсе CS, который я беру, есть пример языка, который не является регулярным:

{a^nb^n | n >= 0}

Я могу понять, что это не регулярно, так как не может быть написан конечный автомат / машина, которая проверяет и принимает этот ввод, поскольку в нем отсутствует компонент памяти. (Пожалуйста, поправьте меня, если я ошибаюсь)

Википедия на регулярном языке также перечисляет этот пример, но не предоставляет (математического) доказательства, почему он не является регулярным.

Может ли кто-нибудь просветить меня в этом и предоставить доказательства этого или указать мне слишком хороший ресурс?

Ответы на вопрос(3)

Ваш ответ на вопрос