抽抽引语的语言规律性

时间:2019-03-24 18:49:12

标签: computation-theory computer-science-theory

将字符串解释为Z ≥0中的二进制数字(可能带有前导零,这里没有模运算)。 {0, 1}上的以下语言是正常的 {xyz : |x| = |y| = |z| and x + y = z}

我想证明这种语言的不规则性,我应该应用抽引引数,并证明没有可能的设置可以满足抽引引理的所有三个条件。

1 个答案:

答案 0 :(得分:0)

请考虑长度为3p + 3的字符串(0 ^ p)1(0 ^ p)1(0 ^ p-1)10。这是该语言中的字符串,因为选择| x | = | y | = | z |表示x =(0 ^ p)1,y =(0 ^ p)1和z =(0 ^ p-1)10以及1 +1 =10。现在,抽引引理说这可以写成第一个:

  • | rs | <= p
  • | s | > 0
  • r(s ^ k)t是所有自然数k的语言

请注意,在我们的情况下,s必须完全由分量x的前导0组成。假设我们选择k =0。有几种情况需要考虑:

  • | rt |不能被3整除。在这种情况下,因为条件| x | = | y | = | z |无法满足。
  • 如果| rt |被3整除,请考虑我们新的x,y和z:我们删除了3m开头的0。这意味着| x | = | y | = | z | = p + 1-m。原来x末尾的1将在新字符串中左移(m-1)个位置; y末尾的1最初将在新字符串中左移(m-2)个位置;而z末尾的1将保留在z的倒数第二个位置。
    1. 如果m = 1,则y将不再包含任何1,因此无法满足x + y + z
    2. 如果m> 1,则x表示大于或等于10的数字,y表示正数。但是,大于或等于10的数字与正(非零)数字的总和不能等于10。因此,此处也不能满足x + y + z。

因此,对于m = | s |没有选择。这样,选择k = 0就能得到该语言的r(s ^ k)t。这是一个矛盾,因此我们隐含的假设,即该语言为常规语言必须是错误的。