质量守恒...吗(疯狂的体积)
今天要说的来自我最喜欢的悖论之一,巴拿赫-塔斯基(分球)悖论。
这个悖论是为数不多的不涉及自指的悖论。什么叫涉及自指的悖论呢?比如说理发师悖论,那个只给不给自己理发的人理发的理发师给不给自己理发呢?那个不给自己理发的概念就是自指的概念;再比如说罗素悖论,那个不包含自己的元素组成的集合是不是集合呢?那个不包含自己的要求就是自指的要求。这些悖论的构造在Lawvere的一篇文章里给出了清晰的框架,就是要否定地自指,熟悉计算机的小朋友此时应该可以想到图灵机的停机问题,熟悉数学基础的小朋友此时应该可以想到哥德尔不完备性定理的证明。
那么不涉及自指的悖论有哪些呢?
我首先能想到的大概就是芝诺悖论了。像是阿基里斯总是跑不过乌龟这种悖论。简单给不了解芝诺悖论的小朋友解释一下芝诺是怎么说的,芝诺说呀,阿基里斯跑得再快,如果他和乌龟赛跑,乌龟的起点比较靠前的话,阿基里斯永远追不上乌龟。为什么呢?因为,芝诺说,这个阿基里斯怎么追乌龟呢?他得先花一段时间跑到乌龟开始的地方,这个时候乌龟已经往前爬了一段距离了,所以阿基里斯又得再花一段时间跑到乌龟爬到的那个地方,可是这个时候乌龟又往前爬了一段了,所以阿基里斯又得花一段时间跑。。。然后芝诺说,阿基里斯就永远追不上乌龟了。
现在开启新时代学过微积分的好青年的嘲讽模式:
哈哈哈芝诺大概以为所有级数都发散。
嘲讽模式结束。
我们可以看到在这个悖论里面我们没有遇到任何自指的成分。让人感到困惑的是无穷小和收敛级数的概念。简单的微积分告诉我们,有许多组无穷多个数加起来可能是有限的,芝诺悖论里阿基里斯追乌龟每一段用的时间就是这样的一组数。
我们可以把这类悖论归类为涉及极限概念的悖论,包括我上一篇写的实数的构造,这里让人觉得不自然的东西归根结底是对极限这个概念的理解。
那么搞清了自指和极限之后(说实话大概没有哪个大数学家敢说自己真正搞清楚了这些看似平凡的概念),我们面临的悖论还有哪些呢?
我要说体积。
什么是体积?
只有一个容器,一个秤的时候,一滩水的体积怎么测?
小学数学老师告诉我们,把水倒进容器里,称一称,除以密度,就是体积。
就是谁的体积?
是容器里的水的体积还是那一滩水的体积?
那位看官说了,这么问是不是有病?流体力学第一节课最基本的假设就是水是不可压缩液体,密度不变,质量又守恒,那没倒洒的话,那杯子里的水的体积可不就是那一滩水的体积吗?
我要说了,还真是有病态的东西在,但是病的主体不在我,在体积这个概念。
什么意思?
我先把这个包袱抖出来--
因为理想状态下我可以把任何一个球切成五份,再仅仅通过转动和平移,把这五份拼成两个和原来一样的球,体积翻倍。这就是巴拿赫塔斯基悖论,这个悖论的核心不在自指也不在极限,在选择公理。
怎么回事?
诸位拉起小手抱好自己,我们要发车了。
让我们来回忆一下我们是怎么学体积这个概念的。
小学的时候数学老师怎么说的呢?
长乘宽乘高就是长方体的体积。
初中数学老师怎么说的呢?
三分之四πr的三次方就是球的体积。
高中数学老师怎么说的呢?
三个向量组成的矩阵的行列式的绝对值就是这三个向量搞成的那个平行六面体的体积。
小学初中高中的数学老师们不辞辛苦告诉了我们体积这个东西,就应该像一个函数,给它一个三维的东西(长方体),它给我们一个数(长乘宽乘高)。
那位说了,既然要讲地严谨,你要说清楚什么是『三维的东西』吧?
好,我来说说什么是『三维的东西』。三维好说,简单的线性代数告诉我们,就是一个向量空间其中有一组基的势为三,经典情况下我们取这个向量空间的底域为实域。
那位说了,人家大学学中国古典文学的没学过线性代数,让我不要在人家面前说黑话。
那我说您高中学过向量吧,一个括号里面仨(实)数拿逗号隔开算一个点(向量),三维(欧几里得)空间就是所有这种点组成的集合,然后还可以定义向量的加减法点积什么的。
那什么是『东西』呢?
我说最起码一个点得算是个东西。比如说我可以问,点(1.5, 2, 3.14)的体积是多少?
长宽高都是零所以体积为零,很好。
我再说,两个点也得算一个东西。比如说我可以问,两个点的体积是多少?
两个长宽高都是零,零加零还是零,很好。
以此类推我还可以问密密麻麻的(连续多个)点排成的一条线,一个面,和一个长方体的体积。
看起来我可以问任何一个由点组成的集合的体积。
看起来体积是一个输入三维点集输出实数的函数。
但是要加一些条件。这些条件怎么来的?直觉。
比如说,一个长方体平移之后体积应该不会变,一个长方体旋转之后体积应该不会变,一个长方体切成两半再拼起来体积应该不会变,之类的很基础很基础的条件。
看起来体积就是一个输入三维点集输出实数并且满足上面这些简单的条件的函数。
有什么了不起的?
了不起的在于,这样的函数不存在。
为什么?
因为假定这样的函数存在,按照我上面说的,拿来任何一个球,因为球也是一堆点的集合,他有一个体积,假如说体积是1,我能把这个球拆成五份(都是点集),每份也有体积分别为a,b,c,d,e, 然后通过旋转平移这五份碎片,拼成两个体积都是1的球,这下1+1=a+b+c+d+e=1了。矛盾。
关键就在于怎么切出来这五份呢?
最一开始豪斯多夫有一个大概的想法,后来巴拿赫和塔斯基两位波兰数学界泰斗拓展了一下豪斯多夫的想法,具体的构造了出来,这个关于体积的悖论就这么叫做巴拿赫-塔斯基悖论了。
话休闲絮,这两位怎么构造的?
要想明白这个构造的中心思想,我们先看另一个也很有趣的但是好理解一点的悖论,这个悖论实际上告诉了我们自由群是什么,而自由群和选择公理是巴拿赫-塔斯基悖论的核心:
考虑这样一本英语字典,这个字典分成26卷,第一卷包含所有a打头的单词,第二卷包含所有b打头的单词,以此类推。这个字典里的英语很神奇,因为它包含所有字母可能的组合,比如说第一卷第一个单词是a,第二个单词是aa,第三个单词是aaa,以此类推,然后是ab,aba,abaa,abaaa,以此类推,再然后是abb, abba, ..., abbb, abbba, ..., abbb..., ac, aca, ...,直到azzzz...., 有无穷个单词,而且这只是第一卷的内容。第二卷就是所有第一个字母是b的这样的单词们。
现在假如我们以一种奇特的方式把这一套字典写好了,摆在了图书馆里,一大堆。
豪斯多夫同学走过来,从书架上取下这套字典的第一卷,然后做了一件神奇的事情。
他把这卷里面每个单词的第一个字母都抹掉了。
然后他得到了一整套26卷字典。
为什么?
其实很简单,倒着想-- 如果豪斯多夫同学走过来,从书架上取下一整套字典,往每个单词前面都加一个a,这一整套字典就都变成了以a为首的词,也就变成了第一卷。
第一次接触这种想法的同学们可以先在这里顿一顿想一想,我第一次在实变课上听到这个也是很震惊的。有不明白的可以私信我也可以看这里的视频。
--------顿一顿--------
这基本上就是巴拿赫塔斯基悖论的最核心的一步了。把字典换成球,把字母换成旋转一个点的轨迹,就搞定了。
具体怎么做?
先在球表面挑一个点,以这个点为原点选互相垂直的两个方向(可以想象成地球上的北和东)。
我们知道沿一个方向转2π就回到了原点,现在我们不转2π,我们转1,这样转多少下都不会转回来(轨迹不会重合),因为如果重合了2π就不是无理数了(对不对?)。
规定好转1rad为一步之后,现在我们不仅允许重复交替转任意步,我们还允许倒着转。
也就是说可以想象成地球表面一个人(那个点)每次向东西南北其中一个方向走一步(转1rad)。然后看无数个人从同一个点出发走出来的轨迹。
把球表面铺开了之后这个轨迹大概长成这个样子。
其中e就是起点,a就是向东走,b就是向北走,每一个小分支都有无限的更细小的分支(喜欢分型的小朋友会知道这叫一个自相似图形)。另外注意这是平面上这个样子,球面上的话会转圈圈的,就是说你一直往东走就走到了自己的西面,再往东走又走到了自己的东面。
现在把豪斯多夫同学的做法翻译过来就是什么呢?
把第一步向东走形成的轨迹拿出来,向西转1rad,变成了什么?
变成了第一步向东南北走形成的轨迹。
为什么没有第一步向西走形成的轨迹呢?
因为先向东走一步再向西走一步相当于没动。
走一步退一步等于没走。
(这实际上是图书馆例子里的自由半群和转圈圈这个例子里的自由群的区别-- 我们要考虑一个元素的逆了(黑话,不用理我)。)
所以呢,我们把先向东走一步形成的轨迹拿出来,向西转一步,再和先向西走一步形成的轨迹拼起来,就得到了从原点出发形成的所有轨迹;
再把先向北走一步形成的轨迹拿出来,向南转一步,再和先向南走一步形成的轨迹拼起来,就得到了另一份从原点出发形成的所有轨迹。
一下是一句关于细节的可能难懂的话,建议自己写一写体会一下:
注意以上说的在原点的地方是有问题的,要想说的严谨的话,并且要想把原点也复制一份的话,可以把原点算进『先向西走一步的那一块』里,但是要注意这样的话,要从『先向东走一步形成的那一块』里把所有『只向东走形成的轨迹』抠出来放到『先向西走一步的那一块』里才行,这是因为否则的话把『东。。。块』拿出来,向西转一下,会得到原点,这样和『西。。。块』里有的点就重复了,为了避免这种重复只能如上所说这样做。
嗯这句可能难懂的关于细节的话说完了。
上面说的都是球表面的点,现在我们考虑这些点连同每个点到球心的连线一起照我们刚刚说的旋转平移。
我们好像就已经把一个去掉球心的球复制成两个了。
。
。
吗
?
现在让我们再顿一顿。
-----------顿一顿----------
刚刚我说了,这个巴拿赫塔斯基悖论的构造有两点,最主要的一点我们已经说完了(其实就是由两个球面上旋转生成的自由群的性质呀感兴趣的小朋友可以多去查一查),还有一点,也是当今数学分析里大部分极度病态的例子的源泉----选择公理。
哪里要用选择公理?
刚刚我们一开始不是随便选了球面上一个点当原点嘛,这样无论怎么旋转,能落到旋转轨迹里的点都不是很多(是离散/可数的)。而我们知道球面当然不是离散的嘛,是连续的,就是说球面上没有小漏洞对不对?但是拿一个点一步一步转出来的轨迹到处都是漏洞对不对?
漏下的点怎么办?
我们可以在漏下的点里随便再选一个点,做相同的事情,又得到了东西南北四块,可以相应地和之前那个原点得到的东西南北四块并到一起,这样分成四块再复制的点和其到圆心的连线就更多了一点。
但是我们知道两个离散/可数的集合的并还是离散/可数的。这告诉我们还是漏下了很多点。
更令人绝望的是,我们可以推想,即使我们一直重复做这样的选一个漏下的点然后走东西南北的动作,也还是会漏下点。
怎么办?
这个问题说的明白一点,就是说,通过像我们所说的东西南北走形成的轨迹,实际上对球面形成了一个分划,就是说这些轨迹互不相交(练习题:为什么互不相交?)然后球面上的每个点都属于这些轨迹之一。如果有一种方法能让我们从每个轨迹里面选出来一个点就好了,这样我们就可以把选出来的那个点当做轨迹的原点然后把原点们打包放到『西。。。块』里面(参见我说可能难懂的那句话),就可以把去心球分成四块(比如说有一块就是所有原点的『北。。。块』的并集)再拼成两个球啦(其实这里面有一个不影响大局的小问题,我最后说)。
那么有没有这么一种方法呢?
有,选择公理。
选择公理到底是什么?
这就是ZFC里面的C,是现代数学依赖的集合论最根本几条公理之一。这些公理包括了比如说无穷集存在,如果两个集合存在那么这两个集合的并集交集存在,这类的很基础的命题,人人都觉得是对的,可没人能从更基础的东西推出来只好当做公理来用了(事实上罗素和弗雷格的逻辑主义是这样的一种尝试,但是没有成功,我上一篇文章里有写,将来应该会就此更详细地写一些)。
选择公理是这一套公理系统里面的最后一条公理,他告诉我们,不论给定多少个集合,只要每个集合都不是空集,那么我们肯定能从每个集合里面挑一个元素出来凑成一个集合。
数学家有时会自嘲说自己研究的是抽象废话。
私以为面对选择公理此言犹是。
然而,维特根斯坦的《逻辑哲学论》里把所有能说的话差不多都当成了一句抽象废话。
大概一些抽象废话凑在一起就能囊括这个世界吧。
大概这也是数学的魅力所在。
大概选择公理就是这样的抽象废话之一。
策梅洛说他曾经日夜冥想选择公理为其中的奥义所折服。
在这里推荐Horst Herrlich写选择公理的书(就叫axiom of choice),里面囊括了几乎所有选择公理导致的病态的例子。其中以这个悖论和柯西函数方程的病态解为最突出的两个。
我的实变教授在讲柯西函数方程的时候告诉我们这个东西太病态了以至于大家没事不要钻研这些东西除非喝醉了喝得特别特别醉,强调了好几遍只有醉鬼才能想出这种病态解。
印象深刻,柯西函数方程可以改天再说,但感觉会比较枯燥,虽然他会给出我们一个从实数到实数的函数病态到你在平面上画出这个函数的图像之后你会发现这个图像是稠密的也就是说你随便在平面上画一个小圈都会圈到这个函数图像的无数个点。
事实上你是无法画出那个图像的。
但这又扯远了。
说回选择公理。
哥德尔和保罗科恩一起告诉我们,选择公理确实不能从其他的公理里面推出来。
事实上,他们告诉我们,选择公理独立于其他公理。
什么意思?
意思就是说,把其他的公理拿来,我们可以构造一个更大的公理体系,使得选择公理在那里面是真的;同时我们还能构造另一个更大的公理体系,使得选择公理在那里面是假的。
这怎么证的呢?
力迫法。
什么玩意儿?
哈哈我也不知道我下个学期看看争取春节前能多写点关于力迫法的东西啊。
选择公理在我心中一直是个小怪物,我凝视它的时候感觉像在凝视深渊,但却不能说出很多,谢尔宾斯基说选择公理之下的大概是那来自远古的宏大的关于存在的问题,按照维特根斯坦的说法,此中深意大概是不可说的吧。
----------顿一顿----------
那么有了选择公理之后,我们确实可以只通过旋转平移分成四份的去心球来复制去掉圆心的球了。
有一个技术上的小问题就是,球心怎么办?
球心的问题是他不属于某个唯一的轨道。有相同问题的点还有那些旋转的旋转轴上的点们。
但好在这些点都不多,我们可以把这些点加进去然后把四份简单改一改变成五份就好了。
这个技术的中心思想是这样的:我们可以把(0,1)这个开区间分成三份,一份是1/2这个数,一份是剩下的所有n分之1,一份是剩下的点,然后我们把二分之一移到0,把三分之一移到二分之一,四分之一移到三分之一,以此类推,我们就用(0,1)盖住了[0, 1)。
这里我们就可以心满意足地写上一个证毕了。
但是好像还有一个问题----
巴拿赫塔斯基悖论告诉我们体积这个函数不存在,这感觉会直接导致所有科学理论崩塌,为什么我们现在的科学家们都活得好好的依然乐观地辛勤工作?
其实还是因为我们用了选择公理:
数学家们发现了体积这个概念的这个缺点之后,开始思考,在什么样的集合上我们才能定义体积。
现在实分析里面我们都是在一部分选定的集合里面才会定义体积(测度),一般情况下这些集合包含了基本的长方体和这些长方体取交并补极限所形成的所谓sigma-代数里面。我们叫这些集合(勒贝格)可测集。在可测集上体积这个概念是定义良好的。
比如说我们刚刚用到的那拆成五份的集合就不都是可测集,所以我们1=a+b+c+d+e=1+1里面的abcde其实都是不存在的。
而事实上可测集基本上就是我们会用到的大部分集合,并且是我们这个有限的宇宙里的科学能用到的全部集合。
(这想想也是很有道理的,回想我们证明里用到的那些集合,如果用刀切球的话,第一部分里那把刀要拐无数个弯,第二步里那把刀去切的起点甚至都是无法说明的,只能依靠选择公理才知道这些起点存在。)
最后,Solovay在70年代证出来,如果我们不用选择公理的话,是可以构造出来一个集合论公理体系使得里面所有的集合都是可测集的。
所以质量守恒吗?
在经典的情况下,质量还是守恒的。
流体力学教授可以松一口气了。