我需要使用归纳证明以下语言是等效的:
P :: =ε| id | (P)
和
S :: =ε| id | (R
R :: =)| S)
需要证明:
L(P)= L(S)
我该怎么做?
我能够证明L(S)包含L(P),但我不能证明另一个方向。
为了通过归纳产生证据,我们必须陈述声明,在基本情况下表明它是正确的,陈述假设然后表明声明适用于下一个规模的情况。
我们的主张可以是“L(P)和L(S)包含相同的长度为n的字符串,用于所有自然n”。
我们的基本情况可以是两种语言中的几个最小的字符串:L(P)和L(S)都包含空字符串,唯一的零长度字符串;因此权利要求适用于n = 0的情况.L(P)和L(S)都包含id,长度为2的语言中唯一的字符串(假设i和d是不同的符号;如果id是一个符号,那么这些字符串长度为1)。因此,权利要求保持n = 2(或n = 1,取决于)。
我们可以使用强感应而不是简单感应,如下:L(P)和L(S)包含长度最大为k的所有相同的字符串。
现在,我们必须证明,对于下一个最高长度的字符串,一种语言中包含的任何字符串都包含在另一种语言中,反之亦然。