0
votes

I am trying to prove that the following language is not regular using the pumping lemma

L = {ai bj | i = 2j for some j ≥ 0}

I have decided to choose s = a2p bp, in this way |s| ≥ p and I can split it in three pieces xyz where for every i ≥ 0, xyiz ∈ L.

Any tips for continuing the proof?

Thanks!

1
Apply the lemma! you're almost done. You know that the lemma holds, so there exist such xy'z , choose i+1, show that the word is not in the language so the language is not regular.Benjamin Gruenbaum
One of the conditions of the pumping lemma says that |xy| <= p. In this case p < 2p so |y| < 2p. If I chose i = 2, the string would be xyyz. The length is |xyyz| = |xyz| + |y| < 2p+p + p. So the number of a's can't be twice the number of b's. Is it correct?colis
Right, just explain why the number of _a_s can't be twice as much as the number of _b_s and you're doneBenjamin Gruenbaum
Here's where I'm stuck...colis
@colis read my this answer and this answer In which I have explained that in pumping lemma we don't know where looping part so you need to break strings in L in all possible ways. And If still its a problem let me know.Grijesh Chauhan

1 Answers

1
votes

Choose s = a2p bp is right!

As said by Grijesh Chauhan we must break strings in L in all possible ways.

So you can split s in:

  • x=ak
  • y=al
  • z=a2p-k-l bp

where |xy|≥ 0 and |y|>0.

Taking i=2, you have xy2z:

  • s = ak alal a2p-k-l bp

that is:

  • s = a2p+l bp

Since l contains at least one 'a' (because |y|>0). You can say L is not regular