证明在 {a} 上不可递归枚举的所有语言的集合是不可数的吗?

递归可枚举语言是接受每个字符串的语言,否则不接受。如果一种语言在每个字符串上都停止,那么我们将其称为递归语言。

问题

我们需要证明所有在 {a} 上不可递归枚举的语言的集合是不可数的。

首先让我们看看递归可枚举语言是什么 -

递归可枚举语言

如果 L 是某个 TM 接受的字符串集,则语言 L 是递归可枚举的。

  • 如果 L 是递归可枚举语言,则 -

    如果 w ∈ L 那么 TM 在最终状态停止,

    如果 w ∉ L 则 TM 在非最终状态中停止或永远循环。

  • 如果 L 是递归语言,则 -

    如果 w ∈ L 那么 TM 在最终状态停止,

    如果 w ∉ L 则 TM 停止在非最终状态。

现在,通过理解递归可枚举语言的定义,证明所有在{a}上不可递归枚举的语言的集合是不可数的。

证明

步骤 1 - 让我们假设 S 是字母表 ∑ 上所有语言的集合。

Step 2 - 让我们假设所有语言的集合 S 都是不可数的。

步骤 3 - 集合 S 是两个集合 S1 和 S2 的并集,因此,集合 S1 由所有递归可枚举语言(图灵机接受的语言)组成,并且,集合 S2 由所有非递归可枚举语言组成语言(注意 S1' = S2)。

第 4 步- 现在,我们必须证明 S2 是不可数的。因为我们有 S = S1∪S2。我们知道集合 S1 是可数的,因为图灵机的集合是可数的。

Step 5 - 如果 S2 是可数的,那么我们可以说集合 S 也是可数的(因为两个可数集合的并集是可数的)。但这不可能,因为集合 S 是不可数的。因此,我们可以说集合 S2 是不可数的。

以上是 证明在 {a} 上不可递归枚举的所有语言的集合是不可数的吗? 的全部内容, 来源链接: utcz.com/z/357240.html

回到顶部