|
[这个贴子最后由zhaolu48在 2006/04/26 09:28am 第 1 次编辑]
[watermark] 泛指、特指与康托的一个错误
山东枣庄二中 赵 禄
在至少有两个元素的集合A中出现表示元素的字母x,泛指是说x可以是A中的任何元素,对于a,b∈A,x=a也可以x=b;而特指是说x是A中的某一确定的元素,当x=a时,就不允许x=b,只不过我们不知道是x=a,还是x=b,或者x等于A中的其它什么元素。但x什么时候是特指,什么时候是泛指,只能具体问题具体分析。尤其是有时出现更多不同的字母,如何区分这些字母具有的意义,每个字母有时具有泛指的意义,有时具有特指的意义,作为使用集合A的人,必须要把它们中的哪一个具有泛指的意义,哪一个具有特指的意义,必须区分清楚,不然就会使推理不清晰,多数时候已经犯了逻辑错误都不知道。真正做到这一点往往是很困难的,因为很多时候都包含着较复杂的逻辑关系。事物总是有它的规律的。下面就通过一些具体的实例来找出如何作具体分析的规律。
设A={关于x的代数式},B={2x-1,x^2+2x-2,(x+3)/(2x-1),ax+b},显然有B包含于A。如果用含“|”的描述法表示A,B,则
A={f(x)|f(x)是代数式},
B={f(x)|f(x)=2x-1,x^2+2x-2,(x+3)/(2x-1),ax+b}
在这里x只是一个符号,只是对某个具体的元素(代数式)才有自变量的意义。如f(x)=2x-1,说明B中的元素f(x)是关于x的一次函数,对于这个函数来说,f是实数集R到R双射。而f在这里是泛指,即f(x)可以是A中或B中的任何一个代数式。
{x|x是关于x的代数式}的表示方法是错误的,因为关于x的代数式,是指x是每个代数式里的“变量”,是特指,而前面的x表示的是每个代数式的整体,即集合的元素x是代数式,是泛指集合中的任何元素。而A={y|y是关于x的代数式}。
由此可知,特指字母与泛指字母不能相同。特指字母相当于常量,泛指字母相当于变量。
{x|x=f(x),f(x)是关于x的代数式}是集合的正确表示方法,但它已经不是集合A,设其为C,则C表示的是方程x=f(x)的解集,这里x是泛指,即x可代表这个解集中的任意一个解,而f(x)是特指,即f(x)是惟一一个具体的代数式,比如C={x|x=f1(x)}与D={x|x=f2(x)}(f1(x),f2(x)都是代数式),字母D是不能用字母C代替的,即使x=f1(x)与x=f2(x)是同解方程,也是解完方程后,知道C=D,但对于C={x|x=f1(x)}与D={x|x=f2(x)},并不是针对解方程后的情况,因此不能表示为C={x|x=f1(x)}={x|x=f2(x)}。单独的等式{x|x=f1(x)}={x|x=f2(x)}是可以的,但它表示的已经不是集合C了,而表示的是方程x=f1(x)与方程x=f2(x)的公共解,即两个方程组成的方程组的解,即表示的是F={x| x=f1(x)},并且 x=f2(x)}。
{x=f(x)|f(x)是代数式}也是集合的正确表示方法,但这个集合是以方程为元素的集合,并且这个方程都能化为x=f(x)的形式。任何一个方程f(x)=0等价于x=f(x)+x,因为f(x)是代数式,f(x)+x也是代数式,即f(x)+x也在f(x)的指代范围内,也说明在这时f(x)是泛指,x=f(x)也是所规定的方程的泛指。
B也可表示为B={f(x)|f(x)=2x-1或f(x)=x^2+2x-2,或f(x)=(x+3)/(2x-1),或f(x)=ax+b}。A,B最简单的表示方法还是已知所给出的方法。
以上这些看上去好象是常识性的东西,可是在遇到具体问题时,很多人都会出现这方面的错误,并且对类似的错误他们还经常觉察不到,而把本来是错误的表示方法还当作正确的表示方法对待。如果在证明中出现类似的错误,那么证明的结果可信度也就很小了,如果觉察不到证明中出现的类似错误,那么这个证明就是错误的证明。
下面粘贴的插图式的文字叙述是对"Cantor无最大基数定理"的一个证明。
对任意集合A,用|A|表示|A|的基数,P(A)表示A的幂集
对任意集合A,有|A|<|P(A)|(即A的基数小于它的幂集的基数)。这个结论称为Cantor无最大基数定理。
下面是对"Cantor无最大基数定理"的一个证明。
“证 因为|A|≤|P(A)|,所以只需证|A|<|P(A)就行了。以下用反证法证明|A|≠|P(A)|。
假设|A|=|P(A)|,取A到P(A)的双射f,令
B={x|x∈A且x不属于f(x)}
则B∈P(A),再令a=g(B)(g为f的逆映射),则a∈A且f(a)=B。
任给x∈A,由B的定义得
x∈B当且仅当x不属于f(x)
所以对于a∈A就有
a∈B当且仅当a不属于f(a)
即
a∈B当且仅当a不属于B
矛盾。■”
其中B={x|x∈A且x不属于f(x)},前三个x是泛指B中的任意元素,而f(x)中的x是特指,指的是P(A)中的元素f(x)在A中的原象。在同一关系式里特指字母与泛指字母不能相同,因此B应该表示为
B={y|y∈A且y不属于f(x)} (1)
由原证明中集合B表示的应该是A中不属于f(x)的所有元素,而并不是要求B中的元素还要是f(x)的原象x。即使是要求B中的元素同时也必须是f(x)在A中的原象,也应表示为
B={y|y∈A且y不属于f(x)且y=x} (2)
对于A到P(A)的双射f来说,f(x)中的x是泛指A中的任何元素,但对于B来说,f(x)也是泛指P(A)中的任意元素吗,回答会有两种,(一)不是,是P(A)中的某一固定元素;(二)是。
先就第一种情况,(一)不是,是P(A)中的某一固定元素来讨论。
在f是双射的假设下,对于(1)来说, 令x1≠x2,则f(x1)≠f(x2),那么也有
{y|y∈A且y不属于f(x1)}≠{y|y∈A且y不属于f(x2)} (3)
若B={y|y∈A且y不属于f(x1)}且B={y|y∈A且y不属于f(x2)},就有
{y|y∈A且y不属于f(x1)}={y|y∈A且y不属于f(x2)},与(3)矛盾。
由(1)知,B≠f(x),再由f(a)=B知,f(a)≠f(x),从而
{y|y∈A且y不属于f(x)}≠{y|y∈A且y不属于f(a)}
即B≠{y|y∈A且y不属于f(a)}
所以对于a∈A
a∈B,当且仅当a不属于f(x),
而不是
a∈B,当且仅当a不属于f(a),
a不属于f(x)仍是a∈B。
因此没有原证明中的
a∈B,当且仅当a不属于B的矛盾。
再就第二种情况,(二)是,即(1)B={y|y∈A且y不属于f(x)}中的f(x),或(2)B={y|y∈A且y不属于f(x)且y=x}中的f(x),都泛指P(A)中的任意元素。
因为f(x)也可以代表P(A)中的空集,那么A中的任意元素都不属于空集,因此B=A。
对于(2) B={y|y∈A且y不属于f(x)且y=x},B是由A中所有的不属于它在P(A)内的象的元素组成。
因为B∈P(A),无论对于(1)还是对于(2),从映射角度看,B在A中都应该有原象b,即f(b)=B,而从对B的定义来说,并且无论f是什么映射,都存在b或者属于B,或者不属于B;而从对B的定义来说,b无论是属于B,还是不属于B,都会出现矛盾。这个矛盾与假设|A|=|P(A)|无关。因为这是康托“设计”的一个悖论,相当于“理发师的悖论”。在理发师的悖论中是“理发师给不给自己理发的人理发,在这个村子由谁来给理发师理发”,在B的定义中是“不属于f(x)的x属于B,那么在A中由哪个元素来作B的原象”。无论谁给理发师理发都会出现矛盾,无论由哪个元素作B的原象也都会出现矛盾,二者的矛盾情况是一模一样。因此在证明中出现的矛盾不是由假设引起的,而是对B定义的自悖性引起的。
对于(1)B={y|y∈A且y不属于f(x)}中的f(x)有B=A,似乎有些违背康托的原意。
对于(2) B={y|y∈A且y不属于f(x)且y=x},是为了避免泛指与特指的混淆,只好用了y=x,但也给人以不太恰当的感觉,还不如B={x|x∈A且x不属于f(x)}呢。因此这个定义自 身就处于一个"两难"的状态,好象纯用文字叙述更清楚一些:
即B是由A到P(A)的映射f中,A中那些在f下不属于它的象的元素组成。
但也只不过是"更清楚一些"而已。为什么会是这样呢?因为在f下A中的元素即具有不属于它的象的元素,也有属于它的象的元素,即对任意x∈A,x即可能属于f(x),也可能不属于f(x),因此这样去叙述B更合适:
对任意x∈A,如果x不属于f(x),那么x属于B。
"虽然更合适",但这个叙述存在的循环定义之嫌,因为这就是:
B={对任意x∈A,如果x不属于f(x),那么x属于B},
在“{ }”里不加“那么x属于B”,只用“对任意x∈A,如果x不属于f(x)”,它又不是一句完整的话,即说的是半截话;有了“那么x属于B”,又是一个明显的循环定义。这就是产生悖论的原因。
对于原证明的定义B={x|x∈A且x不属于f(x)},当认为x是泛指A中的任意元素时,这个“认为”自身就会产生悖论结果。因为在泛指的x中,存在一个确定的x,使f(x)=B,这时有,x不属于f(x),就是x不属于B。即这时可用B代B={x|x∈A且x不属于f(x)}中的f(x),就成为了B={x|x∈A且x不属于B},那么这时这个定义自身就变为:若x不属于B,那么x属于B。
由上面的分析,对于B={x|x∈A且x不属于f(x)},当f(x)是泛指P(A)中的元素时,应当表示为B={x|x∈A,如果x不属于f(x)},这显然是一个假设复句,只有假设,而没有假设的结果。连小学生都会感到这是半截话。当说完整时就变为B={x|x∈A,如果x不属于f(x),那么x属于B},这就是循环定义,是一种错误的表示集合的方法。而循环定义往往是产生悖论的基础。
再看原证明的“假设|A|=|P(A)|,取A到P(A)的双射f”,必须要取“A到P(A)的双射”射吗?不一定。
令A={a1,a2,a3,…},取P(A)的一个可数子集B1,令P(A)-B1=C1;取C1的一个可数子集B2,令C1-B2=C2;如此进行下去,可以得到B1,B2,B3,…,使B1∪B2∪B3∪…=P(A),且对任意的自然数i,j,如果i≠j,则有Bi∩Bj=Φ(表示空集)
在原证明中把“假设|A|=|P(A)|,取A到P(A)的双射f”,改为“假设|A|=|P(A)|,取P(A)的A的映射g:若x∈Bi,则g(x)=ai”,按康托的理论取这类映射也是可以的。根据是可数集的“势”的平方仍等于可列集的“势”。那么为什么非要“取A到P(A)的双射f”呢?
总而言之,这个证明从假设开始,每一句证明都存在错误。
[/watermark] |
|