简介
本文是我们在学习了数学史上极限的定义以及牛顿和莱布尼茨等微积分的“创始人” 对于导数的理解之后,基于到底什么是“无穷小量” , 数学家们在发展分析学的过程中做出了哪些尝试来严格化无穷小量。我们从牛顿的“流数”和莱布尼茨的微分出发,经过第二次数学危机、ε-δ 语言,一路讲到鲁滨逊的非标准分析,梳理“无穷小量”从模糊的直觉,到被严格排除,再到被重新引入的历史。
I · 牛顿和莱布尼茨对于“无穷小量”的理解
在微积分诞生之初,为了研究各种变化的量的变化速度, 微积分这门学科应运而生。
1671年艾萨克·牛顿爵士撰写了《流数法与无穷级数》(Method of Fluxions and Infinite Series)。 在此书中,牛顿的“流数术” 把随时间变化的量(如位移 x x x 、时间 t t t )称为“流量”,把它们变化的快慢称为“流数”。比如,位移随着时间而变化,那么在极短的一瞬内(这里的一瞬记为O),时间的流数 t ˙ \dot{t} t ˙ 对应变化量 O ⋅ t ˙ O \cdot \dot{t} O ⋅ t ˙ ; 位移的流数 x ˙ \dot{x} x ˙ 对应变化量 O ⋅ x ˙ O \cdot \dot{x} O ⋅ x ˙ .
如果我们想要研究在“一瞬”过后位移的变化量和时间的变化量之间的关系,我们就可以对这些“流量” 和“流数”进行运算。
举个例子,假设一个物体的运动始终满足位移正比于时间的平方( x = t 2 x = t^2 x = t 2 ),如果我们想研究瞬时速度(也就是在极短的时间内走过的位移),我们就可以考察一下位移“流量”和时间“流数”之间的关系:
x + O ⋅ x ˙ = ( t + O ⋅ t ˙ ) 2 = t 2 + 2 ⋅ t ⋅ O ⋅ t ˙ + O 2 ⋅ t ˙ 2 \begin{aligned}
x + O \cdot \dot{x} &= (t \ + \ O \cdot \dot{t}) ^ 2 \\
&= t^2 + 2\cdot t\cdot O \cdot \dot{t} + O^2 \cdot \dot{t}^2
\end{aligned}
x + O ⋅ x ˙ = ( t + O ⋅ t ˙ ) 2 = t 2 + 2 ⋅ t ⋅ O ⋅ t ˙ + O 2 ⋅ t ˙ 2
因为x = t 2 x = t^2 x = t 2 恒成立,消掉后得到:
O ⋅ x ˙ = 2 ⋅ t ⋅ O ⋅ t ˙ + O 2 ⋅ t ˙ 2 O \cdot \dot{x} = 2\cdot t\cdot O \cdot \dot{t} + O^2 \cdot \dot{t}^2
O ⋅ x ˙ = 2 ⋅ t ⋅ O ⋅ t ˙ + O 2 ⋅ t ˙ 2
x ˙ = 2 ⋅ t ⋅ t ˙ + O ⋅ t ˙ 2 \dot{x} = 2\cdot t \cdot \dot{t} + O \cdot \dot{t}^2
x ˙ = 2 ⋅ t ⋅ t ˙ + O ⋅ t ˙ 2
x ˙ t ˙ = 2 t + O ⋅ t ˙ \frac{\dot{x}}{\dot{t}} = 2t \ + \ O \cdot \dot{t}
t ˙ x ˙ = 2 t + O ⋅ t ˙
这里的x ˙ t ˙ \frac{\dot{x}}{\dot{t}} t ˙ x ˙ 其实就代表着位移随时间变化的快慢,也就是瞬时速度。在这个表达式中,牛顿认为“一瞬”是很小的,所以等式右边的含有一瞬的部分都可以直接忽略不计,于是我们就得到了符合x = t 2 x = t^2 x = t 2 的运动的速度和时间的规律:
v = x ˙ t ˙ = 2 t v = \frac{\dot{x}}{\dot{t}} = 2t
v = t ˙ x ˙ = 2 t
同时,在1684年莱布尼茨发表的数学论文中,也对于使用“微分”的概念研究变化量之间的关系进行了阐述。和牛顿的符号体系不同的是,莱布尼茨直接使用了更简洁更直观的形式。这种形式也被今天的微积分研究所广泛采纳。
还是同样的情景,对于一个满足x = t 2 x = t^2 x = t 2 的运动,研究其瞬时速度,同样需要研究在极短的时间(d t dt d t )内位移的变化(d x dx d x ) 。
d x d t = ( t + d t ) 2 − t 2 d t = 2 t ⋅ d t + d t 2 d t = 2 t + d t \frac{dx}{dt} = \frac{(t + dt)^2 - t^2}{dt} = \frac{2t\cdot dt + dt^2}{dt} = 2t + dt
d t d x = d t ( t + d t ) 2 − t 2 = d t 2 t ⋅ d t + d t 2 = 2 t + d t
同样的,莱布尼茨也认为这里的d t dt d t 可以忽略不计,因此我们可以认为,对于一个满足x = t 2 x = t^2 x = t 2 运动规律的物体,其瞬时速度和时间的关系就是v = 2 t v = 2t v = 2 t 。
同时,通过这样的运算方法,莱布尼茨也发现在进行导数运算的时候,会出现更加高阶的“无穷小”的d t dt d t , 也就是d t 2 dt^2 d t 2 ,d t 3 dt^3 d t 3 ……这也为高阶无穷小的提出打下了基础。
总而言之,牛顿和莱布尼茨通过引入一个“极小的量” (牛顿:O t ˙ O\dot{t} O t ˙ ,莱布尼茨:d t dt d t ),来研究变化量之间的关系。这样的思路使得微积分正式成为一门数学学科,可以被广大的数学家用以解决如计算抛物线轨迹,精确描述物理模型等种种实际生活中的问题。
II · 第二次数学危机与“消失量的鬼魂”
随着微积分的不断发展壮大,有很多人都对以上的这类计算方法提出了一个非常关键的质疑。
我们可以发现,无论是牛顿的“流数”,还是莱布尼茨的d t dt d t ,他们都有一个很奇怪的特性:在除法中他们可以作为除数,说明他们并不是0. 但是当他们出现在加法符号的右端时,他们又成为了“可以被忽略的量”,被直接无情的舍去了。
那么这种“无穷小量”到底是不是0 ? 它是不是一个真实存在的数?
牛顿本人对于这个问题也并没有非常清晰的答复。他先后宣称无穷小量是一种常量,一种趋于0的变量,“两个正在消逝的量的最终比”。 莱布尼茨对此也没有能够给出很好的解释。
这就引发了数学界和哲学界的广泛讨论。英国大主教贝克莱在1734年写了一篇文章专门为了讽刺这一矛盾:
“这些消失的增量究竟是什么呢?它们既不是有限量,也不是无限小,还不是零,难道我们不能称它们为消逝量的鬼魂吗?”
III · 极限在数学分析中的引入
为了解决这一矛盾,几代数学家们花费了大量心血,尝试找到一种严谨的数学工具来彻底解决“无穷小量”的争端。
在18世纪,达朗贝尔(D'Alembert)开始构想一种叫做“极限”的想法。他定性地给出了极限的定义:
“一个变量趋于一个固定量,趋于程度小于任何给定量,且变量永远达不到固定量” 。
这种描述正好符合牛顿和莱布尼茨在微积分中遗留下的那些无穷小量:v = 2 t + d t v = 2t + dt v = 2 t + d t 不就是说明了瞬时速度无限接近2 t 2t 2 t 但是却永远达不到, 因为还隔着d t dt d t 这么一个不是0的量。
进入19世纪,波尔查诺(Bolzano)、柯西(Cauchy)、阿贝尔(Abel)和魏尔斯特拉斯(Weierstrass)等数学家都顺着这一基本的定义,对于“极限” 的定义进行着不断严格化,严谨化的修改。
最后,在 1860 年代(一说 1861 年柏林讲义),魏尔斯特拉斯使用ϵ − δ \epsilon - \delta ϵ − δ 语言完成了对于极限的定义:
对于实函数f(x),如果:
∀ ϵ > 0 , ∃ δ > 0 s.t. ∀ x : 0 < ∣ x − a ∣ < δ , ∣ f ( x ) − b ∣ < ϵ \forall \epsilon > 0 , \exists \delta >0 \ \text{s.t.}\ \forall x: 0 < |x - a\ | <\delta, |f(x) - b| < \epsilon
∀ ϵ > 0 , ∃ δ > 0 s.t. ∀ x : 0 < ∣ x − a ∣ < δ , ∣ f ( x ) − b ∣ < ϵ
则称:
lim x → a f ( x ) = b \lim _{x \to a} f(x)=b
x → a lim f ( x ) = b
这个式子也就是说:
对于任何一个很小很小的ϵ \epsilon ϵ , 我们总能找到这么一个去心邻域:a − δ < x < a + δ a-\delta < x < a+\delta a − δ < x < a + δ (x ≠ a x \neq a x = a ), 使得其中所有的 f(x) 和极限值 b 的差距都严格小于ϵ \epsilon ϵ 。 也就是说,这个f(x)随着x无限趋近于a,无限的接近与极限值b。
于是,导数的定义终于在此刻可以被严谨地表述出来:
f ′ ( x ) = lim h → 0 f ( x + h ) − f ( x ) h f'(x) = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h}
f ′ ( x ) = h → 0 lim h f ( x + h ) − f ( x )
这个时候我们再来看之前那个问题:对于一个符合x = t 2 x = t^2 x = t 2 运动规律的物体,其瞬时速度,也就是x ′ ( t ) x'(t) x ′ ( t ) 也就等于:
x ′ ( t ) = lim h → 0 x ( t + h ) − x ( t ) h = lim h → 0 ( t + h ) 2 − t 2 h = lim h → 0 t 2 + 2 t h + h 2 − t 2 h = lim h → 0 ( 2 t + h ) \begin{aligned}
x'(t) &= \lim_{h \to 0} \frac{x(t + h) - x(t)}{h} \\
&= \lim_{h \to 0} \frac{(t + h)^2 - t^2}{h} \\
&= \lim_{h \to 0} \frac{t^2 + 2th + h^2 - t^2}{h} \\
&= \lim_{h \to 0} (2t + h)
\end{aligned}
x ′ ( t ) = h → 0 lim h x ( t + h ) − x ( t ) = h → 0 lim h ( t + h ) 2 − t 2 = h → 0 lim h t 2 + 2 t h + h 2 − t 2 = h → 0 lim ( 2 t + h )
在刚才的操作中,由于h始终只是一个趋于0的量,其本身不能达到0,因此其可以作为分母,也可以进行约分。当计算进行到最后一步的时候,我们对h取极限,因为这个时候x ′ ( t ) x'(t) x ′ ( t ) 和2 t 2t 2 t 之间是无限的接近的,所以取极限之后我们就可以严格地宣称:v = x ′ ( t ) = 2 t v = x'(t)= 2t v = x ′ ( t ) = 2 t .
这里 h 被设计成了一个本身不等于 0、但是无限趋近于 0 的实数变量。而导数的定义也随之变成了一个由 ϵ − δ \epsilon-\delta ϵ − δ 语言静态刻画的极限。
这种定义方式很快被数学家们所认可。于是“无穷小量”究竟是什么终于有了一个阶段性的定论。这是一个“潜无穷”,一个并不能在实数轴上精确体现出来的存在。他是实数轴上一位不断接近原点,却始终到达不了原点的“西西弗斯”(或者说是乌龟背后的芝诺)。
IV · 非标准分析
虽然魏尔斯特拉斯的极限定义终于解决了“无穷小量”不严谨这个问题,但是也让很多初学者无法对于导数和微分有一个直观的理解。牛顿和莱布尼茨的想法虽然很不严谨,但却是微分学最本质的思考方式。于是,就有一批数学家不满足于使用极限的定义。他们企图使用更高阶的逻辑手段,来重新使得牛顿和莱布尼茨无比直观的对于导数的理解变得严谨。
4.1 数域的扩张
鲁宾逊的关键洞察是:我们不需要一直在 R \mathbb{R} R 这个定义域中做事。他运用模型论证明了我们可以构造一个更大的数系——超实数系 ∗ R {}^*\mathbb{R} ∗ R 。
该数系是一个有序域,这意味着运算律和运算法则的成立。该数域包含全体实数、无穷小量和无穷大数。其中无穷小量表示其绝对值比任何正标准实数都小的数,无穷大数表示其绝对值比任何标准实数都大的数。无穷小量不是 0,而是无限接近 0。
标准部分函数:对于一个有限的超实数 a a a (即存在某个标准实数 M M M 使得 ∣ a ∣ < M |a| < M ∣ a ∣ < M ),存在一个唯一的标准实数 r r r ,使得 a − r a - r a − r 是一个无穷小量。我们定义 st ( a ) = r \operatorname{st}(a) = r st ( a ) = r 。
如果 a a a 是标准实数,则 st ( a ) = a \operatorname{st}(a) = a st ( a ) = a 。
如果 ε \varepsilon ε 是无穷小,则 st ( ε ) = 0 \operatorname{st}(\varepsilon) = 0 st ( ε ) = 0 。
如果 H H H 是无穷大,则 st ( H ) \operatorname{st}(H) st ( H ) 无定义。
同时,鲁滨逊的构造方法同样带来了一条无比强大的原理:
所有关于标准实数R \mathbb{R} R 的一阶逻辑陈述,在超实数系∗ R *\mathbb{R} ∗ R 中同样成立,反之亦然。
这里的“一阶逻辑陈述”是指只由∀ \forall ∀ (任意) ∃ \exists ∃ (存在) ,以及基本的逻辑符号,比如∧ \land ∧ (与) ∨ \lor ∨ (或)等组成的语句,不涉及由这些实数构成的集合的那些判断。
比如在实数域内成立的∀ a , b ∈ R , ( a + b ) 2 = a 2 + 2 a b + b 2 ∀a,b∈\mathbb{R},(a+b)^{2}=a^{2}+2ab+b^{2} ∀ a , b ∈ R , ( a + b ) 2 = a 2 + 2 ab + b 2 , ∀ a , b ∈ ∗ R , ( a + b ) 2 = a 2 + 2 a b + b 2 ∀a,b∈*\mathbb{R},(a+b)^{2}=a^{2}+2ab+b^{2} ∀ a , b ∈ ∗ R , ( a + b ) 2 = a 2 + 2 ab + b 2 在超实数系内也是成立的。
通过这个转移原理,我们就可以把所有涉及到最简单的运算,函数,甚至于极限的概念都原封不动转移到新的拓宽的超实数系内。
4.2 合法化的无穷小
在超实数体系里,我们是这么定义导数的:
函数 f f f 在点 x x x 的导数 f ′ ( x ) f'(x) f ′ ( x ) ,定义为差商的标准部分:
f ′ ( x ) = st ( f ( x + d x ) − f ( x ) d x ) f'(x) = \operatorname{st}\left( \frac{f(x + \mathrm{d}x) - f(x)}{\mathrm{d}x} \right)
f ′ ( x ) = st ( d x f ( x + d x ) − f ( x ) )
其中 d x \mathrm{d}x d x 表示任意的非零无穷小量,并要求对所有这样的 d x \mathrm{d}x d x ,该差商的标准部分都取同一个标准实数。
我们再用非标准分析中的方法重新计算一下 y = x 2 y = x^2 y = x 2 :任取一个非零无穷小量 d x \mathrm{d}x d x ,计算 f ( x + d x ) = ( x + d x ) 2 = x 2 + 2 x × d x + d x 2 f(x + \mathrm{d}x) = (x + \mathrm{d}x)^2 = x^2 + 2x \times \mathrm{d}x + \mathrm{d}x^2 f ( x + d x ) = ( x + d x ) 2 = x 2 + 2 x × d x + d x 2 。计算差商:
f ( x + d x ) − f ( x ) d x = 2 x × d x + d x 2 d x = 2 x + d x \frac{f(x + \mathrm{d}x) - f(x)}{\mathrm{d}x} = \frac{2x \times \mathrm{d}x + \mathrm{d}x^2}{\mathrm{d}x} = 2x + \mathrm{d}x
d x f ( x + d x ) − f ( x ) = d x 2 x × d x + d x 2 = 2 x + d x
最关键的一步:取差商的标准部分 st ( 2 x + d x ) \operatorname{st}(2x + \mathrm{d}x) st ( 2 x + d x ) ,因为 st ( 2 x ) = 2 x , st ( d x ) = 0 \operatorname{st}(2x) = 2x,\ \operatorname{st}(\mathrm{d}x) = 0 st ( 2 x ) = 2 x , st ( d x ) = 0 ,所以 st ( 2 x + d x ) = 2 x \operatorname{st}(2x + \mathrm{d}x) = 2x st ( 2 x + d x ) = 2 x 。
以上过程完美符合了莱布尼茨和牛顿一开始的那种很符合直觉的但又不那么严谨的操作。
接下来,我们来解释一下为什么可以这么定义导数及可以这么运算。st ( ) \operatorname{st}(\,) st ( ) 就像四舍五入,将无穷小量舍入到 0。
现在,让我们证明为什么 st ( f ( x + d x ) − f ( x ) d x ) \operatorname{st}\left( \frac{f(x + \mathrm{d}x) - f(x)}{\mathrm{d}x} \right) st ( d x f ( x + d x ) − f ( x ) ) 是一个良定义的好导数。
定理:如果 f f f 在标准点 x x x 处(在标准意义上)可导,且导数为 L L L ,那么对于任意非零无穷小 d x \mathrm{d}x d x ,差商 Q = f ( x + d x ) − f ( x ) d x Q = \frac{f(x + \mathrm{d}x) - f(x)}{\mathrm{d}x} Q = d x f ( x + d x ) − f ( x ) 是一个有限的超实数,并且 st ( Q ) = L \operatorname{st}(Q) = L st ( Q ) = L 。
因为 f f f 在 x x x 处可导(标准定义),根据极限的 ε \varepsilon ε -δ \delta δ 定义,我们有:对于任意标准实数 ε > 0 \varepsilon > 0 ε > 0 ,存在一个标准实数 δ > 0 \delta > 0 δ > 0 ,使得当 0 < ∣ h ∣ < δ 0 < |h| < \delta 0 < ∣ h ∣ < δ 时,有
∣ f ( x + h ) − f ( x ) h − L ∣ < ε \left| \frac{f(x + h) - f(x)}{h} - L \right| < \varepsilon
h f ( x + h ) − f ( x ) − L < ε
现在,将上述事实通过转换原理转移到超实数域 ∗ R {}^*\mathbb{R} ∗ R 。由于极限的定义是一个一阶逻辑语句,转换原理告诉我们,适用于所有标准实数的极限性质,也适用于所有超实数。
由于 d x \mathrm{d}x d x 是一个非零无穷小,对于任何标准 δ > 0 \delta > 0 δ > 0 ,我们都有 ∣ d x ∣ < δ |\mathrm{d}x| < \delta ∣ d x ∣ < δ 。因此,转移后的性质告诉我们:对于任意标准 ε > 0 \varepsilon > 0 ε > 0 ,有
∣ f ( x + d x ) − f ( x ) d x − L ∣ < ε \left| \frac{f(x + \mathrm{d}x) - f(x)}{\mathrm{d}x} - L \right| < \varepsilon
d x f ( x + d x ) − f ( x ) − L < ε
这意味着 Q − L Q - L Q − L 是一个无穷小量。这是很好的事情。
所以 st ( Q ) = L \operatorname{st}(Q) = L st ( Q ) = L 。
这与标准分析的导数是一致的。
4.3 非标准分析的严格化
前面我们用无穷小量计算了导数,但还有两个问题没有回答:这些比任何正实数都小、却又不等于零的数是从哪里来的,为什么普通实数中的运算规律还能用于它们。
非标准分析的一个重要思路,是先用普通实数构造一个更大的数系,再证明这个数系保留了我们需要的数学规律。
下面介绍其中一种经典构造:用实数序列和自由超滤子构造超实数。
第一步
我们熟悉实数列,例如
( 1 , 1 , 1 , … ) , ( 1 , 1 2 , 1 3 , … ) , ( 1 , 2 , 3 , … ) . (1,1,1,\ldots),\qquad (1,\tfrac12,\tfrac13,\ldots),\qquad (1,2,3,\ldots). ( 1 , 1 , 1 , … ) , ( 1 , 2 1 , 3 1 , … ) , ( 1 , 2 , 3 , … ) .
现在换一个角度:不再只关心它们收敛到哪里,而是尝试让每个数列代表一个新的数。例如,常数数列
( 3 , 3 , 3 , … ) (3,3,3,\ldots) ( 3 , 3 , 3 , … ) 应该代表普通实数
3 3 3 ;数列
( 1 , 1 2 , 1 3 , … ) (1,\frac12,\frac13,\ldots) ( 1 , 2 1 , 3 1 , … ) 则可能帮助我们得到无穷小量。
不过,如果直接把所有数列看作不同的数,就会遇到麻烦:( 3 , 3 , 3 , … ) (3,3,3,\ldots) ( 3 , 3 , 3 , … ) 和 ( 0 , 3 , 3 , 3 , … ) (0,3,3,3,\ldots) ( 0 , 3 , 3 , 3 , … ) 只在第一项不同,我们希望它们代表同一个数。要做到这一点,就需要先规定:两个数列在什么情况下算作相等。
第二步
设 N = { 1 , 2 , 3 , … } \mathbb N=\{1,2,3,\ldots\} N = { 1 , 2 , 3 , … } 。我们希望:如果两个数列只有有限项不同,就把它们视为相等。换句话说,两个数列只要在“除有限项以外的所有位置”都相等,就可以算作相等。
但这样的规定还不够。比如,一个数列在奇数位置取 0 0 0 、偶数位置取 1 1 1 。如果我们想把它当成一个数,它究竟应该等于 0 0 0 ,还是等于 1 1 1 ?只靠“忽略有限项”,无法作出选择。
为了解决这类问题,我们引入自由超滤子 U \mathcal U U 。它不是一个普通的数字,而是一个由自然数子集组成的集合族。可以把“A ∈ U A\in\mathcal U A ∈ U ”理解成:我们约定集合 A A A 包含了足够多的下标。
这里的“足够多”不是按照数量比例判断的,而是由以下规则共同决定:
整个 N \mathbb N N 属于 U \mathcal U U ,空集不属于 U \mathcal U U 。
如果 A ∈ U A\in\mathcal U A ∈ U 且 A ⊆ B ⊆ N A\subseteq B\subseteq\mathbb N A ⊆ B ⊆ N ,那么 B ∈ U B\in\mathcal U B ∈ U ;已经足够多的下标,再增加一些仍然足够多。
如果 A , B ∈ U A,B\in\mathcal U A , B ∈ U ,那么 A ∩ B ∈ U A\cap B\in\mathcal U A ∩ B ∈ U ;两个“足够多”的条件可以同时满足。
对任意 A ⊆ N A\subseteq\mathbb N A ⊆ N ,A A A 和它的补集 N ∖ A \mathbb N\setminus A N ∖ A 恰好有一个属于 U \mathcal U U ;每次都要作出一致的选择。
“自由”还要求 U \mathcal U U 不包含任何有限集。因此,任何只差有限个下标的例外都可以忽略:所有补集为有限集的集合都属于 U \mathcal U U 。 例如,对于偶数下标集合与奇数下标集合,自由超滤子一定选择其中一个,但上述条件并没有预先指定选择哪一个。不同的自由超滤子可以有不同选择。
超滤子并不是说某个无限集合天然“占多数”,而是为全部下标集合提供一套前后一致的判断规则。
这样的规则真的存在吗?在通常采用的集合论公理体系(包括选择公理)下,答案是肯定的:先考虑所有“补集有限”的自然数子集组成的滤子,再利用超滤子引理将它扩充为一个超滤子,就能得到自由超滤子。其存在性有严格的数学定理保证,但这里不需要给出一套能逐个算出所有选择结果的算法。
第三步
选定一个自由超滤子 U \mathcal U U 。对两个实数列 a = ( a n ) a=(a_n) a = ( a n ) 和 b = ( b n ) b=(b_n) b = ( b n ) ,规定
a ∼ b ⟺ { n ∈ N : a n = b n } ∈ U . a\sim b \Longleftrightarrow \{n\in\mathbb N:a_n=b_n\}\in\mathcal U. a ∼ b ⟺ { n ∈ N : a n = b n } ∈ U .
也就是说:如果两个数列在足够多的下标处相等,就认为它们代表同一个超实数。例如,对数列
( 0 , 1 , 0 , 1 , … ) (0,1,0,1,\ldots) ( 0 , 1 , 0 , 1 , … ) :如果偶数下标集合属于
U \mathcal U U ,它就与常数数列
( 1 , 1 , 1 , … ) (1,1,1,\ldots) ( 1 , 1 , 1 , … ) 等价;如果奇数下标集合属于
U \mathcal U U ,它就与
( 0 , 0 , 0 , … ) (0,0,0,\ldots) ( 0 , 0 , 0 , … ) 等价。两种情况恰好发生一种。 这确实是一种等价关系:每个数列都与自己等价;交换两个数列不影响结果;如果
a ∼ b a\sim b a ∼ b 且
b ∼ c b\sim c b ∼ c ,那么利用超滤子对交集和更大集合的封闭性,可以得到
a ∼ c a\sim c a ∼ c 。 我们把与
a a a 等价的所有数列归在一起,叫作它的等价类,记为
[ a n ] [a_n] [ a n ] 。一个超实数就是这样一个等价类。全体超实数组成的集合记为
∗ R = R N / U . {}^*\mathbb R=\mathbb R^{\mathbb N}/\mathcal U. ∗ R = R N / U .
这里
R N \mathbb R^{\mathbb N} R N 表示所有实数列,右边的记号表示按照刚才的等价关系把数列分组。每个普通实数
r r r 都对应常数数列的等价类
[ r , r , r , … ] [r,r,r,\ldots] [ r , r , r , … ] ,所以普通实数可以看作超实数的一部分。 特别要注意:两个数列代表同一个超实数不等于它们的极限相同。例如,
( 1 , 1 2 , 1 3 , … ) (1,\frac12,\frac13,\ldots) ( 1 , 2 1 , 3 1 , … ) 虽然收敛到
0 0 0 ,但它没有任何一项等于
0 0 0 ,因此它的等价类并不等于零数列的等价类。
第四步
我们按照数列的对应项定义加法、乘法和大小比较:
[ a n ] + [ b n ] = [ a n + b n ] , [ a n ] [ b n ] = [ a n b n ] , [a_n]+[b_n]=[a_n+b_n], [a_n]\,[b_n]=[a_nb_n], [ a n ] + [ b n ] = [ a n + b n ] , [ a n ] [ b n ] = [ a n b n ] ,
[ a n ] < [ b n ] ⟺ { n ∈ N : a n < b n } ∈ U . [a_n]<[b_n] \Longleftrightarrow \{n\in\mathbb N:a_n<b_n\}\in\mathcal U. [ a n ] < [ b n ] ⟺ { n ∈ N : a n < b n } ∈ U .
这些规定有两个关键保证。首先,运算不依赖于我们选取哪个代表数列:如果换成等价的数列,因为两组数列各自在足够多的下标处相等,它们在这些下标的交集上进行相同运算,结果仍然等价。其次,由超滤子的第四条规则可知,对于两个超实数,
< < < 、
= = = 、
> > > 三种关系中恰好有一种成立。 加法逆元也很自然:
[ a n ] [a_n] [ a n ] 的相反数是
[ − a n ] [-a_n] [ − a n ] ,相加得到
[ 0 , 0 , 0 , … ] = 0 [0,0,0,\ldots]=0 [ 0 , 0 , 0 , … ] = 0 。至于除法,如果
[ b n ] ≠ 0 [b_n]\ne0 [ b n ] = 0 ,那么
b n ≠ 0 b_n\ne0 b n = 0 的下标集合属于
U \mathcal U U 。在这些下标上取
1 / b n 1/b_n 1/ b n ,其余位置随意补上一个实数(例如
0 0 0 ),便得到
[ b n ] [b_n] [ b n ] 的乘法逆元。这样就避免了除以零的问题。 其余交换律、结合律、分配律等都继承自对应项上的实数运算。因此,这套构造得到的确实是一个有序域:它像实数一样能够进行四则运算并比较大小,但又不只有普通实数。
第五步
考虑两个超实数:
ε = [ 1 , 1 2 , 1 3 , … ] , H = [ 1 , 2 , 3 , … ] . \varepsilon=[1,\tfrac12,\tfrac13,\ldots], \qquad H=[1,2,3,\ldots]. ε = [ 1 , 2 1 , 3 1 , … ] , H = [ 1 , 2 , 3 , … ] .
由于
1 / n > 0 1/n>0 1/ n > 0 对所有
n n n 都成立,所以
ε > 0 \varepsilon>0 ε > 0 。另一方面,给定任意普通的正实数
r r r ,当
n n n 足够大时总有
1 / n < r 1/n<r 1/ n < r ;满足这个条件的下标只有有限个例外,因此属于自由超滤子。于是
0 < ε < r 对任意普通实数 r > 0 都成立 . 0<\varepsilon<r \ \text{对任意普通实数 }r>0 \text{ 都成立}. 0 < ε < r 对任意普通实数 r > 0 都成立 .
这正是非零无穷小量的定义。注意,
ε \varepsilon ε 是一个确定的超实数,不是“一个正在变成零的普通实数”,也没有被直接规定为零。它的标准部分才是
st ( ε ) = 0 \operatorname{st}(\varepsilon)=0 st ( ε ) = 0 。 同理,对任意普通实数
M M M ,当
n n n 足够大时都有
n > M n>M n > M ,因此
H > M H>M H > M 。所以
H H H 是一个正无穷大量。更有意思的是,逐项相乘得到
ε H = [ 1 , 1 , 1 , … ] = 1. \varepsilon H=[1,1,1,\ldots]=1. ε H = [ 1 , 1 , 1 , … ] = 1.
也就是说,无穷小量可以是无穷大量的乘法逆元;而
− H = [ − 1 , − 2 , − 3 , … ] -H=[-1,-2,-3,\ldots] − H = [ − 1 , − 2 , − 3 , … ] 是
H H H 的加法逆元,满足
H + ( − H ) = 0 H+(-H)=0 H + ( − H ) = 0 。两种逆元不要混淆。
第六步
到这里,我们已经构造了一个包含无穷小量的有序域。但还需要解释:为什么第 4.1 节所说的转移原理成立? 对于普通实函数 f : R → R f:\mathbb R\to\mathbb R f : R → R ,我们可以同样逐项定义它的超实数版本:
∗ f ( [ a n ] ) = [ f ( a n ) ] . {}^*f([a_n])=[f(a_n)]. ∗ f ([ a n ]) = [ f ( a n )] .
由于等价的数列在足够多的下标处取值相同,这个定义不会因为更换代表数列而改变。
现在考虑一个只对数进行“任意”“存在”等量化、由等式、不等式、固定函数及逻辑连接词组成的一阶逻辑命题。数学中的 Łoś 定理告诉我们:把命题中的数、运算和函数换成超实数中的对应对象以后,这个命题对给定超实数成立,当且仅当它对代表数列在属于 U \mathcal U U 的下标集合上成立。 这一定理背后的机制与超滤子的规则一致:两个条件同时成立,对应下标集合取交集;一个条件不成立,对应取补集;“存在某个数”的命题,则可以在满足条件的各个下标处分别选出一个数,再把这些数排成一个数列。完整的证明还需要处理所有逻辑表达式,但基本思路是这样。 例如,普通实数满足
∀ x , y ∈ R , ( x + y ) 2 = x 2 + 2 x y + y 2 . \forall x,y\in\mathbb R,\qquad (x+y)^2=x^2+2xy+y^2. ∀ x , y ∈ R , ( x + y ) 2 = x 2 + 2 x y + y 2 .
因为这个恒等式在每个下标上都成立,转移到超实数后便得到
∀ x , y ∈ ∗ R , ( x + y ) 2 = x 2 + 2 x y + y 2 . \forall x,y\in{}^*\mathbb R,\qquad (x+y)^2=x^2+2xy+y^2. ∀ x , y ∈ ∗ R , ( x + y ) 2 = x 2 + 2 x y + y 2 .
这就是转移原理的一个例子。它不只适用于这个恒等式,而是适用于相应数学语言中所有一阶命题。
但这并不表示任何关于实数的说法都能直接照搬;例如,“某个数是标准实数”以及取标准部分的操作,都不能直接当作这里的普通一阶语言来使用。 因此,非标准分析并不是随意发明了无穷小量,再假定它们服从熟悉的规则。它先用实数列和自由超滤子构造出新数,再通过有序域性质和 Łoś 定理证明运算与一阶性质得以保留。前面用无穷小量计算导数的做法,正是建立在这样的严格基础上。
4.4 非标准分析的意义
非标准分析用前期的复杂性换取后期的简洁性。利用前期的复杂的理论推导,我们可以直接书写类似于莱布尼茨微积分的表达式。
比如以下是几个在经典分析学中需要依赖复杂的极限定义的几个概念在非标准分析中的对应:
连续性 :f f f 在 x x x 处连续,当且仅当对于所有无穷小 d x \mathrm{d}x d x ,f ( x + d x ) − f ( x ) f(x + \mathrm{d}x) - f(x) f ( x + d x ) − f ( x ) 也是无穷小。即,无穷小的输入扰动,只引起无穷小的输出变化。
一致连续 :f f f 在区间 I I I 上一致连续,当且仅当对于 I I I 中所有无限接近的 x x x 和 y y y ,f ( x ) f(x) f ( x ) 和 f ( y ) f(y) f ( y ) 也无限接近。
定积分也可以直观地定义为无穷多个无穷小矩形面积之和的标准部分。
鲁滨逊的这一套非标准分析理论随后被发展成了作为一门全新的数学分支,被广大数学家进行着研究。其中最有名的是鲁滨逊和 A. R. Bernstein 一起用非标准分析方法解决了标准泛函分析中的一个公开问题:Hilbert 空间上的多项式紧算子必有非平凡的不变闭子空间(即 Halmos 问题)。 现在的非标准分析也在数学家们的不断努力下为解决更多抽象的数学难题做着贡献。
V · 结尾——王者归来的史诗
纵观这一段关于“无穷小量”的争议,从最早被牛顿和莱布尼茨“莫名其妙”地略去,再到被严格的ϵ − δ \epsilon - \delta ϵ − δ 语言定义成一个不带“运动”“趋近”色彩的静态命题, 最后被非标准分析提升为一个实际存在的”实无穷”,背后是数学家们在“直观”和“严谨”的矛盾中不断探索新的平衡的努力。从最开始最符合人类直觉但极为不严谨的计算步骤,到符合绝对正确的逻辑,但令学生眼花缭乱的极限定义,最后再到既严谨又直观,只是需要人脑洞大开的非标准分析,数学家们用他们的智慧和努力向世人谱写一篇对于人类与生俱来追求理性,又追求直观的天性的颂歌。
参考文献
《流数法与无穷级数》:牛顿留给世界的数学宝库
《微积分概念发展史》笔记之莱布尼茨篇
贝克莱悖论
吴文忠:极限(Limit)发展的前世今生[教学研究]
ε-δ语言 --数学天地
非标准分析课程讲义--复旦大学哲学院暑期学校
非标准分析 --数学天地