Possible Duplicate:
How to prove that a language is not regular?

Why $L_a$ and $L_b$ are not reguluar?

$L_a = \{ e^i f^{n-i} g^j h^{n-j} : n \in N, 1 \leq i, j \leq n \}$.

$L_b= \{nm^{i_1} nm^{i_2}...bn^{i_z}: z \in N, (i_1,...,i_n) \in N^z, 1 \leq j \leq z, i_j ≠ j \}$.


marked as duplicate by Raphael May 9 '12 at 19:58

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

  • 2
    $\begingroup$ Have you tried the techniques listed here: cs.stackexchange.com/questions/1031/…? $\endgroup$ – Dave Clarke May 9 '12 at 14:05
  • $\begingroup$ The fact that there is no descriptive title shorter than the question shows that this is a bad question. What have you tried? Why do the standard approaches not work? Closed as duplicate for now; if you add specific information, you can vote/flag to reopen. $\endgroup$ – Raphael May 9 '12 at 16:02
  • $\begingroup$ @Raphael -- Can you point to the earlier question(s) that are exact duplicates? Thanks. $\endgroup$ – David Lewis May 10 '12 at 2:09
  • $\begingroup$ @DavidLewis: This is automatically done above the question whenever a question is closed as duplicate. Do not take the phrasing "exact duplicat" too literally, though; it is just that the linked question answers the question completely as it stands. $\endgroup$ – Raphael May 10 '12 at 7:23
  • $\begingroup$ @Raphael -- sorry, did not realize that link was there. I'm not sure that link does discuss the techniques for these particular problems. As I said, I will add an answer there covering the additional ideas, since that seems to be a reference post. $\endgroup$ – David Lewis May 10 '12 at 14:07


$L_a$ can be transformed into an well-known non-regular language by a very simple homomorphism that basically "loses" information.

For $L_b$ you might try transforming it into its "opposite" (that is, equality in place of inequality) by operations known to preserve regular languages. The "opposite" language might then be amenable to a pumping argument. Also, try "testing" your argument on a much simpler version of $L_b$ which, although it is regular, will let you see the patterns to use for the full $L_b$.

PS -- these are both techniques that might be added to the reference post that Dave Clarke points to. I will do so when this question has settled down.

Thinking a bit more about $L_b$, the idea I had in mind to derive the "opposite" language may not lead directly to an easy solution. So here's a hint in a different direction. There are a lot of $m^{i_j}$ in each string of that language. If you could "isolate" those strings of $m's$ by an appropriate regularity-preserving operation, you might get a simpler language that is amenable to a proof, perhaps by pumping or perhaps by the "opposite" idea. Also, think about what each $i_j \neq j$ means in terms of other symbols in the string.

  • $\begingroup$ Can you give me hints for the homomophism? - for $L_a$ i tried $h(a) = x, h(b) = x, h(c) = y, h(d)= y$ than i have $\{x^{ij}y^{(n-i)(n-j)} :n \in N, 1 \leq j,j \leq n\}$ this language is non-regular! - is the way right? $\endgroup$ – corium May 9 '12 at 17:44
  • $\begingroup$ If by $a, b, c, d$ you mean, in order, $e, f, g, h$ then you are absolutely on the right track. But it looks like you calculated the resulting language wrong. Try straightening out your symbols carefully -- things should get simpler, not more complex. $\endgroup$ – David Lewis May 9 '12 at 20:23
  • $\begingroup$ See addendum about $L_b$. $\endgroup$ – David Lewis May 10 '12 at 2:22

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