5 questions to test your understanding
A student applies the pumping lemma to the language L = {a^n b^n c^n : n ≥ 0} and successfully shows that every sufficiently long string in L can be pumped (split into xyz where xy^i z ∈ L for all i ≥ 0). The student concludes L is regular. What error did they make?
What is the significance of Kleene's theorem in formal language theory?
The regular expressions used in programming languages like Python and Perl (with features like backreferences and lookaheads) are strictly equivalent in power to the formal regular expressions in Kleene's theorem.
The pumping lemma for regular languages can be used to prove that a language is NOT regular, but cannot be used to prove that a language IS regular.
Why can the language {a^n b^n : n ≥ 0} not be recognized by any finite automaton? Connect your answer to what the pumping lemma reveals about finite memory.