使用激励引理证明语言不是上下文无关的

时间:2019-05-10 17:56:30

标签: formal-languages pumping-lemma

我有以下字母: Σ= {0,1,。 。 。 ,9} 并且 L 语言定义为:

L = {abc | a + b = c}

其中子字符串 a b c 被解释为普通整数。

到目前为止我的回答

假设 L 是上下文无关的。然后,上下文无关语言的抽水式引理适用于 L

n 为抽水引理给出的常数。

z = 10 ^ n20 ^ n30 ^ n显然z∈L和| z | ≥n

根据引理,我们知道 z = uvwxy,其中 n ≥| vwx |和| vx | ≥1

存在可能性...

我的问题:

我可以看到8种可能性,其中vwx可以在z内。例如,在开头包括1,并与初始0 ^ n重叠。另一个例子是初始的0 ^ n。这是思考这个特定问题的一种方法吗?如何抽取并显示结果不属于L?

谢谢您的时间。

1 个答案:

答案 0 :(得分:0)

我认为您选择单词也是可行的,但是我会选择一个更简单的单词(对我来说)来显示相同​​的内容。您可能可以使它适应您选择的字符串。

选择w =(1 ^ p)(2 ^ p)(3 ^ p),其中p来自无上下文语言的抽运引理。首先,请注意11 ... 1 + 22 ... 2 = 33 ... 3,所有数字都有p位数字。现在,如果w = uvxyz,则对于vxy的位置有五种简单的情况:

  1. vxy仅包含1。在这种情况下,抽空(除去1的至少之一)必须导致字符串不是该语言。由于添加任何数字都不会产生进位,因此该字符串必须在a,b和c的三个等长部分中被整除。这些数字必须完全相同。因此,从前面删除3k个数字,会将2的k中的k拖入a,将3s的2k中的b拖入b。但是,那么a + b的最低有效位必须为5,这不是w中的符号。
  2. vxy由1和2​​组成。在这种情况下,抽真空(除去1和2的某个数字)必须导致字符串不是该语言。由于添加任何数字都不会产生进位,因此该字符串必须在a,b和c的三个等长部分中被整除。这些数字必须完全相同。从1和2中删除3k位必须将3s拉入b。因此,a + b的最低有效数字至少为4(因为w不包含0),而4不是w中的数字。
  3. vxy由2组成。此处的参数与上面第二种情况相同。
  4. vxy由2和3组成。在这种情况下,升压最终必须将2放入a和b中,以便数字重叠,因此我们得到与上述相同的4/5数字问题。
  5. vxy仅包含3个。再次,在这种情况下加油最终必须将3放入b,从而导致4/5位数的问题。

插图:

    w = 1 ^ p 2 ^ p 3 ^ p,抽气至1 ^(p-3)2 ^ p 3 ^ p,a = 1 ^(p-3)22,b = 2 ^(p- 2)3,c = 3 ^(p-1),a + b的最低有效位是5,太高了,不能正确。 w = 1 ^ p 2 ^ p 3 ^ p,抽气至1 ^(p-1)2 ^(p-2)3 ^ p,a = 1 ^(p-1),b = 2 ^ (p-2)3,c = 3 ^(p-1),同样,最低有效位4也太高了。 w = 1 ^ p 2 ^ p 3 ^ p,抽气至1 ^ p 2 ^(p-3)3 ^ p,a = 1 ^(p-1),b = 1 2 ^(p- 3)3,c = 3 ^(p-1)。同样,最低有效位4也过高。 w = 1 ^ p 2 ^ p 3 ^ p,泵浦至1 ^ p 2 ^(p + 1)3 ^(p + 2),a = 1 ^ p 2,b = 2 ^ p 3, c = 3 ^(p + 1)。现在最低有效位数太高了。 w = 1 ^ p 2 ^ p 3 ^ p,泵浦至1 ^ p 2 ^ p)3 ^(p + 3),a = 1 ^ p 2,b = 2 ^(p-1)33 c = 3 ^(p + 1)。 LSD仍然太高。