最近我有一个作业,必须决定是否用抽引引理来确定语言是否正常。
L1 = {xy∈{a,b} ∗::x | = | y |,或者x以a开头,y以b结尾,或者x和y都不是所有a的字符串}。
L2 = {xy∈{a,b} ∗::x | = | y |,并且x包含子字符串aa,而y以b}开头。
对于两种语言,假设抽水长度均为n,我提供了字符串s =(a ^ n)(b ^ n),因为它满足“ | x | = | y |,x以a开头,y以a结尾” L1的条件,“ | x | = | y |,x包含子串aa,y的开头为ab”的条件L2。因此,s = x(y ^ i)z,我选择x =(a ^ n-1),y = a,z = b ^ n。对于任何偶数i,总字母数在x(y ^ i)z中都是奇数,因此s不在L1和L2中,因为| x |不能等于| y |不再。我只是想知道我做对了还是错过了什么?
答案 0 :(得分:0)
对于L1,令w = a ^ pbba ^ p。然后w在L1中,因为它可以分为相同长度的子字符串x = a ^ pb和y = ba ^ p,这两个字符串都不是仅a的字符串。通过常规语言的抽动引理,w = uvx其中| uv | <= p,| v | > 0,并且对于所有自然数k> = 0,uv ^ kx在L1中。但是,uv必须是字符串开头的a字符串;抽水将导致x(结果字符串的前半部分)仅由a组成(假设该字符串仍为偶数长度的字符串;否则,该字符串无论如何都不能位于L1中);抽空将导致y(结果字符串的后半部分)仅由a组成。无论哪种方式,结果字符串都不是该语言的语言。这意味着L1不能规则。
对于L2,令w = a ^ paba ^ p。抽水意味着结果字符串以(或具有奇数长度)开始,抽水也是如此。在前一种情况下,结果字符串的y将以w的前半部分的a开头;在后者中,结果字符串的y将以w的后一半开始。无论如何,我们得到的字符串都不是该语言的,所以L2也不规则。