【发布时间】:2011-06-06 21:09:20
【问题描述】:
【问题讨论】:
-
这可以通过荒谬的方式来证明......虽然不记得具体是怎么回事
-
n>1 有必要吗?我不认为 1 个字母语言是不可数的。
标签: computation-theory countable
【问题讨论】:
标签: computation-theory countable
我在计算理论课上发现了这个证明,希望对你有用
|N|
假设 |N| >= |语言(N)|。因此,languages(N) 的每一个元素都可以与 N 的一个元素相关联。所以它们可以被排序:
语言(N) = {S_1 , S_2, S_3, ...}
我们定义一个像这样的集合 D:
D = {n in N / n not in S_n}
D 有效且 D 是 N 的子集,因此 D 属于语言 (N)。 因此,必须存在一个k,其中 D = S_k
1) 如果k属于D,那么根据D的定义,k不属于S_k。而 k 不属于 D 因为 D = S_k(我们发现矛盾)
2) 如果 k 不属于 D 那么:k 属于 S_k(根据 D 的定义)并且 k 属于 D 因为 D = S_k(又是矛盾)
不可能存在像假设那样的序列。因此,为语言(N)的每个元素分配 N 元素的单射函数是不可能的。结论 |languages(N)| ! |N|
【讨论】: