设 L1 和 L2 是两种语言,这样就不存在同时属于 L1 和 L2 的字符串 w。 我正在努力证明,如果 L1 和 L2 都是可识别的,则存在一种可判定的语言 A,使得 L1 ⊆ A 和 L2 ⊆ A'。 A' - A 的补码
我们可以假设L1
和L2
都不是可判定的,因为如果任何一个是,解决方案都是微不足道的(让A = L1
或A' = L2
如果L1
或L2
分别是可判定的)。特别是,L1
和L2
都无法识别图灵。
鉴于此,A
必须等于集合L1
,并添加更多元素(如果要成为超集,它必须至少具有A1
中的元素)。因为L2
是A'
的子集,所以添加到L1
以形成A
的元素都不能在L2
中。此外,我们必须添加无限多个项目,因为添加有限多个项目不能使A
可判定,而L1
则不是。
将不是L1
或L2
的东西分成两种语言R1
和R2
,这样这些语言没有任何共同点,每个字符串都恰好是L1
、L2
、R1
和R2
中的一种。此外,选择R1
和R2
,以便R1
是可识别的,R2
是图灵可识别的,并且两个集合都是无限的。让A = L1 U R1
.现在,A' = L2 U R2
.
-
A
是共同图灵可识别的。如果w
不在L1
,我们最终可以认识到这一事实。如果w
不在R1
,我们可以决定这个事实。因此,我们最终可以认识到w
两者都不在。 -
L2
是c-图灵可识别的。如果w
不在L2
,我们最终可以认识到这一事实。如果它不在L2
中,那么它要么在A
中,要么在R2
中。但是我们可以决定w
是否R2
,因为R2
是可判定的。因此,如果我们认识到w
不在L2
并决定它不在R2
,我们已经认识到w
在A
。因此,A
是图灵可识别的。 -
我们在 1 中看到
A
是可识别的,在 2 中看到A
是图灵可识别的。因此,A
是可判定的。因此,A'
是可判定的。
请注意,当我们把不是L1
或L2
的东西"拆分"成两种无限的语言时,我们在那里挥了挥手,一种是共同图灵可识别的,另一种是共同图灵可识别的。似乎可以安全地假设,在任何无限语言中,必须存在该语言的适当子集,该子集是可识别的,但不可判定。您可能需要单独查找和/或证明以进行验证。证明想法:任何无限集合的元素都可以按字典顺序排列,在这种情况下,字母表上所有字符串的语言都有双射;因为所有字符串的集合上都有这种可识别但不可判定的语言,所以在这组字符串上也必须有可识别但不可判定的语言。值得注意的是,(L1 U L2)' 是可识别的,因为可能需要这样做才能使任何参数变得严格。