My language is the repetition of 0 to a length that's a power of 2:

$L = \{ 0^k \ni k=2^n, n \geq 1 \}$

I want to know how to prove that this language is not regular. I have attempted the proof below, but think it may be incorrect due to my potentially wrong assumption that the Myhill-Nerode theorem allows me to break up a regular language in the following way:

$j, p = 2^h$ for 2 distinct values of $h$, $h \in \mathbb{N}$:

$a = 0^{j/2}$

$b = 0^{p/2}$

$c = 0^{j/2}$

$ac = 0^{j/2}0^{j/2} = 0^j$ is in my language since $j$ is of the form $2^n$

$bc = 0^{p/2}0^{j/2}$ is not guaranteed to be in my language for every $p$ and $j$, since $j \ne p$

Thus my language must not be regular since $ac$ is in it but $bc$ is not.

Did I apply the Myhill-Nerode correctly? If not, what do I need to change in my proof?

  • $\begingroup$ Using just the pumping lemma for regular languages it is easy to show that any language whose string lengths are given by a function $f(n)$ such that $f(n + 1) - f(n)$ is strictly increasing can't be regular. $\endgroup$ – vonbrand Feb 5 '14 at 1:22
  • $\begingroup$ This question appears to be unsuited for this site because questions of the form: "This is the exercise problem, this is my solution. Please grade!" are not interesting for anyone but you. Please see this related meta discussion. If you want to ask a specific question about a specific part of your attempt, please edit the question accordingly and it may be reopened. Otherwise, you might want to visit Computer Science Chat and get some feedback there. $\endgroup$ – D.W. Feb 13 '14 at 22:20
  • $\begingroup$ @D.W. My question is about how the Myhill-Nerode theorem works, and I created an example to improve my question. $\endgroup$ – David Zorychta Feb 14 '14 at 4:26

I'm not sure I follow your proof. To use Myhill-Nerode, you need to show that the number of equivalence classes under the indistinguishability relation $I_L$ is infinite. What follows is how I would approach this; you're probably best qualified to compare this to what you've done to see whether your proof is relying on the same assumptions, making the same points, and reaching the same conclusions for the same reasons.

Consider the string $w = 0^{2^n + 1}$. This is not a string in $L$. To create a string that is in $L$ by appending to this string, we can append $0^{2^n-1}$, of length $s = 2^n - 1$. There is no other string $s'$ shorter than $s$ such that $ws' \in L$.

Therefore, we immediately have that $w = 0^{2^n + 1}$ and $w' = 0^{2^m + 1}$, $n \neq m$, are distinguishable strings with respect to the indistinguishability relation $I_L$; they belong to different equivalence classes, since the set of strings we can append to $w$ to get a string in $L$ is different from the set of strings we can append to $w'$ to get a string in $L$ (recall that the shortest string in the first set is of length $2^n - 1$, whereas the shortest string in the second set has length $2^m - 1$).

Since $i$ and $j$ vary freely over the natural numbers, we must have an infinite number of equivalence classes over $I_L$. Since the Myhill-Nerode theorem tells us that regular languages must have only a finite number of such equivalence classes (remember, each of these equivalence classes corresponds to a single state in a minimized DFA for the language), this language must not be regular.


Not the answer you're looking for? Browse other questions tagged or ask your own question.