I understand that this topic has been discussed, and I have reviewed numerous posts about it on stack overflow. However, my question remains unresolved. Specifically, I am seeking clarification on the use of the Pigeonhole Principle in determining the regularity of a language.
Consider the string a^{12}.
Suppose we have a DFA with 5 states and we process the string a^{12}. By the Pigeonhole Principle, the DFA will revisit a state more than once. If we remove the segment between the revisited states, this could result in an odd number of a's, for instance, a^7
The string a^7 would end in the same accepting state as a^{12}, yet a^7 does not belong to the language L={a^2n∣n≥0}.
My lecturer mentioned that the Pigeonhole Principle is used to prove that languages are non-regular. Based on this principle, I demonstrated how L fails the test, leading to my confusion. So how can L still be classified as a regular language?
This is also another similar proof that it fails: