English 中文(简体)
Pumping Lemma for Regular Grammar
  • 时间:2024-09-08

Pumping Lemma For Regular Grammars


Previous Page Next Page  

Theorem

Let L be a regular language. Then there exists a constant ‘c’ such that for every string w in L

|w| ≥ c

We can break w into three strings, w = xyz, such that −

    |y| > 0

    |xy| ≤ c

    For all k ≥ 0, the string xykz is also in L.

Apppcations of Pumping Lemma

Pumping Lemma is to be appped to show that certain languages are not regular. It should never be used to show a language is regular.

    If L is regular, it satisfies Pumping Lemma.

    If L does not satisfy Pumping Lemma, it is non-regular.

Method to prove that a language L is not regular

    At first, we have to assume that L is regular.

    So, the pumping lemma should hold for L.

    Use the pumping lemma to obtain a contradiction −

      Select w such that |w| ≥ c

      Select y such that |y| ≥ 1

      Select x such that |xy| ≤ c

      Assign the remaining string to z.

      Select k such that the resulting string is not in L.

Hence L is not regular.

Problem

Prove that L = {aibi | i ≥ 0} is not regular.

Solution

    At first, we assume that L is regular and n is the number of states.

    Let w = anbn. Thus |w| = 2n ≥ n.

    By pumping lemma, let w = xyz, where |xy| ≤ n.

    Let x = ap, y = aq, and z = arbn, where p + q + r = n, p ≠ 0, q ≠ 0, r ≠ 0. Thus |y| ≠ 0.

    Let k = 2. Then xy2z = apa2qarbn.

    Number of as = (p + 2q + r) = (p + q + r) + q = n + q

    Hence, xy2z = an+q bn. Since q ≠ 0, xy2z is not of the form anbn.

    Thus, xy2z is not in L. Hence L is not regular.

Advertisements