以下语言上下文是免费的吗?
L = {a^i b^k c^r d^s | i+s = k+r, i,k,r,s >= 0}
我试图想出一个上下文无关的语法来生成它,但我做不到,所以我假设它不是上下文无关的。至于我的反证法:
假设 L 是上下文无关的,
令 p 是由泵引理给出的常数,
选择字符串 S = a^pb^pc^pd^p 其中 S = uvwxy
作为 |vwx| <= p,那么 vwx 最多可以包含两个不同的符号:
情况 a) vwx 仅包含单一类型的符号,因此 uv^2wx^2y 将导致 i+s != k+r
案例 b) vwx 包含两种类型的符号:
i) vwx 由 b 和 c 组成,因此 uv^2wx^2y 将导致 i+s != k+r
现在我的问题是,如果 vwx 由 a's 和 b's,或 c's 和 d's 组成,那么泵送它们不会破坏语言,因为 i 和 k 或 s 和 r 可能会一致增加,导致 i+s == k +r。
我做错了什么还是这是一种上下文无关的语言?