有没有办法为这种语言创建类型 3 语法?

问题描述

我正在尝试为这种语言找到一种可能的最高类型的语法:

L={0^2n 1^(n-1)|n>=1}
我只能做到这一点:

S->00X
X->00X1|λ

哪个不是类型 3。我似乎无法弄清楚如何让它成为类型 3(如果可能的话)。

解决方法

您不能这样做,因为 L 不是常规语言。

假设 L 是正则的。让 w = 0^(2p)1^(p-1) 表示某个整数 p>=1,所以 |w| > p。此外,考虑字符串 xyz 使得 w = xyz|xy| <= p,这意味着 x 和 {{1} } 是 0 序列(自 y)。根据抽引引理,p < 2p 形式的任何字符串在 xy^nz 中都是 also,但这意味着我们可以增加 0 的数量而不增加 L 中的 1 的数量{1}}。因此,我们关于 z 是正则的假设一定是错误的。