我有一个测试,使用泵浦引理来证明一种语言是否没有上下文。我正在努力解决一些练习问题,事情并没有那么好......
练习题是: 对于a)到j),证明以下语言是否与上下文无关。如果它是无上下文的,请提供生成它的无上下文语法。
前两个是:
a) {a^(2i+1) b^(3k+2) c^(4k+3) d^(5i+4) | i >= 0, k >= 0}
b) {a^i b^i c^k d^i | i >= 1, k >= 1}
如果有人可以解决前两个问题,详细解释他们是如何做到的,我相信我能够自己弄清楚其余部分(c到j)。
答案 0 :(得分:0)
a无上下文:
replace g
B不是无上下文的。让我们假设它是。因此,我们有一个整数p,泵浦引理保持不变。让我们看看b中的以下单词: a ^ p b ^ p c d ^ p
根据泵浦引理,这个词可以表示为序列uvwxy,这样| vwx | < p和u v ^ i w x ^ i y也在B中。
让我们看看vx:
案例1:vx包含" c"。如果是这样,那么uwy应该也在B中,但是B要求我们至少有一个" c"。所以这种情况是不可能的。
案例2:vx不包含" c"。它必须包含最多两个" a"," b"或" c" (或者| vwx |将超过p)。因此,uv ^ 2wx ^ 2y将不包含相等数量的a,b和c,并且也不在B中。
因此,B不是无上下文的语言。