摘要:闭区间上的连续函数能够取到最大值,可以沿用有界性引理的证明思路:先由上确界性质选出函数值趋于上确界的数列,再从相应的自变量数列中抽出收敛子列,最后利用连续性得到最大值点。这里真正需要解释的是:为什么“可以任意逼近”,最终能变成“确实能够取到”?
最值定理告诉我们:若函数 f 在闭区间 [a,b] 上连续,则它在这个区间上有最大值与最小值。
教材在证明这个定理之前,先证明了一个有界性引理:闭区间上的连续函数必定有界。
引理采用反证法。反设 f 无界,那么它或者无上界,或者无下界;后一种情形只需把 f 换成 -f,所以不妨设 f 无上界。于是,可以对每个正整数 n 选取 x_n\in[a,b],使
因为 \{x_n\} 有界,可以抽出收敛子列 x_{n_k}\to x_0;又因为区间是闭的,x_0 仍在 [a,b] 内。于是,连续性要求
但 f(x_{n_k})>n_k\to+\infty,矛盾。
读到这里,我想到:既然引理已经使用了“选数列、抽子列、用连续性”的方法,证明最大值存在时,是否也能沿用它?
引理中,我们让函数值趋于无穷大。如果现在让函数值趋于上确界,再利用连续性,是否就能找到一个真正取到上确界的点?
这个想法是成立的。不过,需要先弄清楚上确界究竟保证了什么。
由有界性引理,f 的值域非空且有界。根据实数的确界原理,可以记
M 是一个有限实数,并且对所有 x\in[a,b],都有 f(x)\le M。我们接下来的目标,是证明存在 x_0\in[a,b],使 f(x_0)=M。
由于 M 是最小的上界,对任意 \alpha>0,M-\alpha 都不可能仍是上界。因此,必定存在 x\in[a,b],满足
这里有一个容易混淆的地方:上确界性质并不保证 M-\alpha 本身是某个函数值,它保证的是存在函数值落在 (M-\alpha,M] 中。
例如,对常值函数 f(x)\equiv1,上确界是 1,但任何 1-\alpha(\alpha>0)都取不到。尽管如此,函数值 1 仍然满足上面的不等式。
这已经足够构造我们需要的数列了。
对每个正整数 n,取 \alpha=1/n,便可以选出 x_n\in[a,b],使
由夹逼定理,
到这里,我们已经把“函数值可以任意接近上确界”,变成了一个明确的数列极限。
但证明还没有结束。f(x_n)\to M 只说明函数值的趋向,并不能单独保证存在某个点取到 M,也不能保证 x_n 收敛。例如,对 [-1,1] 上的函数 f(x)=x^2,取 x_n=(-1)^n,函数值始终等于 1,而自变量数列并不收敛。
所幸,我们只需要一个收敛子列。
因为 x_n\in[a,b],数列 \{x_n\} 有界。由有界数列的收敛子列定理,存在子列 \{x_{n_k}\},使
又因为
令 k\to\infty,得到 a\le x_0\le b,所以 x_0 仍属于定义域。
一方面,收敛数列的任意子列都收敛于同一个极限。这是因为 n_k\ge k,当 k\ge N 时必有 n_k\ge N,原数列尾部的估计也就控制着子列的尾部。因此
另一方面,由 f 在 x_0 处连续,
由极限的唯一性,
这就证明了 f 在 [a,b] 上有最大值。由于 -f 同样连续,对 -f 使用上述结论,便得到 f 的最小值也存在。
这个证明中,三个条件分别承担了明确的工作:
| 条件 | 在证明中的作用 |
|---|---|
| 区间有界 | 保证\{x_n\} 有界,从而能抽出收敛子列 |
| 区间闭 | 保证子列的极限x_0 仍属于定义域 |
| 函数连续 | 保证f(x_{n_k})\to f(x_0) |
去掉这些条件后,结论就可能失败。
先看定义域无界的情形:
这个函数连续,定义域也是闭的,函数值还有界,但上确界 1 始终取不到。取 x_n=n,便有 f(x_n)\to1,而自变量数列没有收敛子列。
再看定义域不闭的情形。f(x)=x 在 [0,1) 上连续,其上确界是 1,却没有最大值。我们可以选出越来越接近 1 的点,但它们趋向的点 1 不在定义域中。
最后看连续性。在闭区间 [0,1] 上定义
它的上确界同样是 1,但取不到。此时取 x_n=1-1/(2n),便有 1-1/n<f(x_n)<1,满足前面构造中要求的逼近不等式。虽然 x_n\to1 且 f(x_n)\to1,却有 f(1)=0。极限点留在了定义域中,但函数在这里不连续,最后一步等式便无法成立。
这些例子分别说明,证明中的每一步都需要相应的条件支持。
教材采用的倒数函数证明,也可以从这个角度理解。
假设上确界 M 取不到,那么对所有 x\in[a,b],都有 f(x)<M。于是可以定义
g 在 [a,b] 上连续且为正。由有界性引理,存在 G>0,使
因此
也就是
这说明比 M 更小的数 M-1/G 也是上界,与 M 为上确界矛盾。
倒数函数的作用很清楚:上确界性质允许 M-f(x) 任意接近零;假如这个差始终为正,取倒数就会产生任意大的函数值,从而与连续函数的有界性冲突。
数列证明则直接沿着逼近过程走下去:选出越来越接近 M 的函数值,抽取相应自变量的收敛子列,再通过连续性确认极限点的函数值就是 M。
回头再看“任意逼近”,我发现其中还藏着一个量词上的差别:上确界性质告诉我,对每个 \alpha>0,都可以找到一个相应的点 x;我们想做的,正是把量词顺序换过来,要求存在同一个点 x_0,使它对所有 \alpha>0 都满足 M-\alpha<f(x_0)\le M。后一句等价于 f(x_0)=M。一般说来,这样的交换并不成立;在这里,是有界闭区间和连续性一起保证了它。
这个数列证明让我看清了两者之间的联系:先为不同的精度选择相应的点,再利用区间的有界性和闭性找到一个仍在定义域内的子列极限,最后借助连续性,确认这个极限点就是取到 M 的点。