Context Free Language Question (Pumping Lemma)

前端 未结 1 883
清酒与你
清酒与你 2021-01-12 07:21

I know this isn\'t directly related to programming, but I was wondering if anyone know how to apply the pumping lemma to the following proof:

Show tha

相关标签:
1条回答
  • 2021-01-12 07:50

    Edit: I was totally leading you down the wrong track. That's what happens when I try to help out when I haven't completely solved the problem myself.

    Ogden's Lemma

    Suppose L is context free. By Ogden's lemma, there exists an integer p that has the following properties:

    Given a string w in L at least p symbols long, where at least p of those symbols are "marked", w can be represented as uvxyz, which satisfy:

    1. x has at least one marked symbol,
    2. either u and v both have marked symbols or y and z both have marked symbols,
    3. vxy has at most p marked symbols, and
    4. u vi x yi z is in L for i >= 0

    That's Ogden's lemma. Now, let q be an integer divisible by every positive integer no greater than p. Let w = ap+q bp+q cp. Mark every c. By #2, u or v must contain at least one c. If either u or v contains any other symbol, then #4 fails, so u and v must contain only c. But then #4 fails when i = q/|uv|. We know q is divisible by |uv| because p > |uv| > 0, and q is divisible by all positive integers less than p.

    Note that Ogden's lemma turns into the pumping lemma when you mark all symbols.

    Pumping Lemma

    Suppose L is context free. By the pumping lemma, there is a length p (not necessarily the same p as above) such that any string w in L can be represented as uvxyz, where

    1. |vxy| <= p,
    2. |vy| >= 1, and
    3. u vi x yi z is in L for i >= 0.

    Given a string w in L, either m > n or m < n. Suppose p = 2.

    Suppose that m > n. (Note that Λ denotes the empty string.)

    • Let u = an bn cm-1
    • Let v = c
    • Let x = Λ
    • Let y = Λ
    • Let z = Λ

    Suppose that n > m.

    • Let u = an-1
    • Let v = a
    • Let x = Λ
    • Let y = b
    • Let z = bn-1 cm

    This demonstrates that no string from L provides a counterexample using the pumping lemma to the supposition that L is a context free language (even though it is context sensitive).

    0 讨论(0)
提交回复
热议问题