[英]Can someone help me with this proof using the pumping lemma?
I just started reading about the pumping lemma and know how to perform a few proofs, mostly by contradiction. 我刚开始阅读关于泵浦引理的知识,并且知道如何进行一些证明,主要是矛盾。 It is only this particular question which I don't seem to find an answer for.
只是这个特殊的问题,我似乎没有找到答案。 I have no idea on how to begin.
我不知道如何开始。 I can assume that there has to be a pumping length
P
and that for all w
element of L that the LENGTH(w) >= P
. 我可以假设必须有一个泵浦长度
P
,而对于L的所有w
元素, LENGTH(w) >= P
And of course that we can write w as xyz
with the three normal conditions of the pumping lemma. 当然,我们可以用泵浦引理的三个正常条件将w写成
xyz
。
I have to proof that the following language is non regular: 我必须证明以下语言不常规:
L = {x + y = z | x,y,z element of {0,1}* and #(x) + #(y) = #(z) }
Can someone help me on this, I really want to master the process in proofing these kind of questions? 有人可以帮助我,我真的想掌握这些问题的证明过程吗?
Edit: 编辑:
Sorry, forgot to say that the alphabet is {0,1,+,=}
and #
means the binary value of the string. 对不起,忘了说字母是
{0,1,+,=}
而#
是指字符串的二进制值。 Like #(00101) = 5
and #(110) = 6
. 像
#(00101) = 5
和#(110) = 6
。
Since you want to master the process, I'll point out a few things before showing a proof. 既然你想掌握这个过程,我会在展示证据之前指出一些事情。
The first thing to notice is that the +
and the =
may only appear once each. 首先要注意的是
+
和=
可能只出现一次。 So when you write your string w
as w = abc
, the pumped portion, b
, cannot contain +
or =
otherwise you'd reach a trivial contradiction (I'm not using the more standard w = xyz
notation to avoid confusion with L
's definition). 所以当你把你的字符串
w
写为w = abc
,抽取的部分b
不能包含+
或=
否则你会达到一个微不足道的矛盾(我没有使用更标准的w = xyz
符号来避免与L
'混淆的定义)。
Another thing to notice is that normally, you'd pick a specific string w
to pump. 要注意的另一件事是,通常情况下,你会选择一个特定的字符串
w
到泵。 In this case, it could be easier to pick a class of strings that share a certain property. 在这种情况下,它可能是更容易挑一类共享某个属性字符串。 The pumping lemma only requires you to reach a contratiction using one string, but there's no reason you can't reach a contradiction with multiple strings.
泵浦引理只需要你使用一个字符串来达到一个相互作用,但没有理由你不能与多个字符串达成矛盾。
Proof (in a spoiler): 证明(在扰流板中):
So let
w
be any string inL
such that|w| ≥ P
所以让
w
成为L
任何字符串,使得|w| ≥ P
|w| ≥ P
andx, y, z
do not contain leading0
's.|w| ≥ P
和x, y, z
不包含前导0
。 By the pumping lemma we can writew
asw = abc
By pumping lemma, we knowb
is not empty.通过泵浦引理,我们可以写
w
为w = abc
通过引入引理,我们知道b
不是空的。 Sinceb
cannot contain+
or=
, it is fully contained in eitherx, y,
orz
.由于
b
不能包含+
或=
,因此它完全包含在x, y,
或z
。 Pumpingw
with any i ≠ 1 results in the binary equation no longer holding since exactly one ofx, y, z
would be a different number (this is why we needed the no leading0
's bit).在任何i≠1的情况下抽运
w
导致二进制方程不再保持,因为x, y, z
中的一个将是不同的数字(这就是为什么我们需要无前导0
的位)。
Choose as the string 1(0^n+1) + 1(0^n) = 11(0^n)
. 选择字符串
1(0^n+1) + 1(0^n) = 11(0^n)
。
In other words, your string will read "the sum of two to the power n+2 plus two to the power n+1 is equal to 11 followed by n zeroes". 换句话说,你的字符串将显示“2到2的幂和+ 2加上2到幂n + 1等于11然后是n个零”。
Since the string to be pumped will consist entirely of symbols from the first addend, pumping must change the number represented (adding or removing digits to a number will change the number; this is true because our string doesn't contain leading zeroes) and if x + y = z
holds, then x' + y = z
does not hold if x' != x
(over integers, at least). 由于要抽取的字符串将完全由第一个加数中的符号组成,因此抽取必须更改所表示的数字(向数字添加或删除数字将更改数字;这是正确的,因为我们的字符串不包含前导零)并且如果
x + y = z
成立,那么如果x' != x
(至少是整数),则x' + y = z
不成立。
Since the pumping lemma requires pumped strings to be in the language, and pumping this string fails, we have that the language is not regular. 由于泵浦引理要求泵送的字符串使用语言,并且泵送该字符串失败,我们认为语言不规则。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.