[Math] Prove or disprove that the language $L_1 = \{a^nb^m \mid n < m \}$ is regular

automataregular-language

I have possible strategy for a proof that it is not regular. I am wondering if it is valid.

Step 1: Prove that the language $L_2 = \{a^nb^n\}$ is not regular (for example with the Pumping Lemma).

Step 2: Assume that $L_1$ is regular.

Step 3: $L_3 = L_1^c$ (complement of $L_1$)

Step 4: Since regular languages are closed under complement, $L_3$ must be regular. Since $L_2 \not\subseteq L_1$ (the $n < m$ condition), then $L_2 \subseteq L_3$. So the non-regular language $L_2$ is a subset of a $L_3$, a language that we had to conclude was regular, a contradiction.

P.S: Maybe I could have used the Pumping Lemma on $L_1$, but I wasn't sure how I could prove that for any possible pumping of the language, since it seems that you can indeed pump as many b's as you want, though maybe I have misunderstood something about the lemma.

Best Answer

$L_1$ is not regular.

Assume it was. Consider a recognizing DFA with $k_0$ states. On one hand it will recognize $a^{k_0}\, b^{k_0+1}$. Operating on any input with prefix $a^{k_1}\; \text{for some}\; k_1 \leq k_0$, it will visit a state twice. Therefore by the pumping lemma, any $a^{q*k_1}\,b^{k_0+1}, q \in \mathbb{N^+}$ will be recognized, notably $a^{(\lceil\frac{k_0}{k_1}\rceil + 1)* k_1}\, b^{k_0+1}$, a contradiction.