Non-regular Languages? [duplicate]

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 \}$.

• Have you tried the techniques listed here: cs.stackexchange.com/questions/1031/…? – Dave Clarke May 9 '12 at 14:05
• 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. – Raphael May 9 '12 at 16:02
• @Raphael -- Can you point to the earlier question(s) that are exact duplicates? Thanks. – David Lewis May 10 '12 at 2:09
• @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. – Raphael May 10 '12 at 7:23
• @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. – David Lewis May 10 '12 at 14:07

Hints...

$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.

• 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? – corium May 9 '12 at 17:44
• 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. – David Lewis May 9 '12 at 20:23
• See addendum about $L_b$. – David Lewis May 10 '12 at 2:22