自在学

我们与你共同进步

  • 分类课程
  • 文章
  • 工作台
  • 订阅

  • 关于我们
  • 隐私政策
  • 使用条款

探索

  • 分类课程
  • 文章
  • 工作台
  • 订阅

网站信息

  • 关于我们
  • 隐私政策
  • 使用条款

加入社区

自在学学习社区微信二维码

微信扫码,交流学习

株洲市自在学教育科技有限公司© 2025 - 2026 版权所有

© 2025 - 2026 株洲市自在学教育科技有限公司 版权所有

湘公网安备43020302000292号|湘ICP备2025148919号-1
分类课程工作台文章订阅
分类课程工作台文章价格

实分析 I

  1. 01从微积分到实分析
  2. 02实数系统与完备性
  3. 03有界集、单调性与完备性的第一批应用
  4. 04数列极限的严格定义
  5. 05子列、Cauchy 数列与 Bolzano-Weierstrass 定理
  6. 06无穷级数 I:收敛概念与正项级数
  7. 07无穷级数 II:绝对收敛、条件收敛与幂级数前奏
  8. 08实直线上的拓扑语言
  9. 09函数极限
  10. 10连续性与连续函数的基本性质
  11. 11紧性与连续函数的全局结论
  12. 12导数的定义、法则与局部线性化
  13. 13中值定理及其后果
  14. 14Riemann 积分 I:分割、上和下和与可积性
  15. 15Riemann 积分 II:积分性质与微积分基本定理
  16. 16函数列与一致收敛
  17. 17函数项级数与幂级数
  18. 18度量空间入口与实分析 I 综合
正在加载课程章节内容
课程数学实分析 I紧性与连续函数的全局结论

紧性与连续函数的全局结论

上一章里,我们把连续性说得很精确:固定一个点 ccc,别人先提出函数值误差 ε\varepsilonε,我们再在 ccc 附近找一个合适的 δ\deltaδ。这个定义解决的是“一个点附近会不会突然失控”。它并没有承诺同一个 δ\deltaδ 能照顾整个区间。

这一区别起初很容易被忽略。对每个 c∈(0,1)c\in(0,1)c∈(0,1),函数 1/x1/x1/x 都连续;可越靠近 000,要想控制函数值,允许的输入范围就得越小。若把每个点得到的半径都堆在一起,它们可能一路缩向 000,根本没有一个正的最小值可拿出来给全区间使用。

本章要回答的正是这个问题:什么时候能把“每一点各有一套局部控制”变成“整个集合共用一套控制”?答案不是连续性本身,而是定义域的紧性。紧性会把一大族局部邻域缩成有限多个;有限以后,最大值、最小值和统一的正半径才有机会出现。

闭区间的开覆盖可抽出三个仍覆盖全区间的有限子覆盖的彩色手绘示意图


从无限局部信息到有限控制

先把这里用到的语言说清楚。设 K⊂RK\subset\mathbb{R}K⊂R。一族实直线中的开集 {Uα}α∈A\{U_\alpha\}_{\alpha\in A}{Uα​}α∈A​ 称为 KKK 的一个开覆盖,是指每个 x∈Kx\in Kx∈K 至少落在其中一个 UαU_\alphaUα​ 里,即

K⊂⋃α∈AUα.K\subset\bigcup_{\alpha\in A}U_\alpha.K⊂α∈A⋃​Uα​.

这族开集可以无限多。若能从中挑出有限个 Uα1,…,UαmU_{\alpha_1},\ldots,U_{\alpha_m}Uα1​​,…,Uαm​​,而且仍有

K⊂Uα1∪⋯∪Uαm,K\subset U_{\alpha_1}\cup\cdots\cup U_{\alpha_m},K⊂Uα1​​∪⋯∪Uαm​​,

就称它们是一个有限子覆盖。紧性说的不是“原来的覆盖只有有限个”,而是“无论原覆盖多长,总有有限部分已经够用”。证明中也会遇到形如 K∩OK\cap OK∩O 的相对开集,其中 OOO 在 R\mathbb RR 中开;把这类集合拿来覆盖 KKK 与使用实直线中的开集等价,有限子覆盖性质不变。

在实直线上,紧集有一个极方便的等价刻画:

集合 K⊂RK\subset\mathbb{R}K⊂R 是紧集,当且仅当它既闭又有界。空集也紧;讨论最大值、最小值时会另外要求定义域非空。

这句话把“开覆盖”这个看似抽象的条件变成了可检查的闭有界性。不过在本章的证明里,真正干活的是有限子覆盖性质。闭和有界只是实直线给我们的一个快捷入口;到了更一般的度量空间,“闭且有界”未必足以推出紧,开覆盖才是稳妥的定义。

为什么少一个条件都不行

闭区间 [a,b][a,b][a,b] 既闭又有界,所以紧。相反,下面两类失败分别暴露了“闭”和“有界”各自的作用。

对开区间 (0,1)(0,1)(0,1),考虑开区间族

Un=(1n,1),n=2,3,….U_n=\left(\frac1n,1\right),\qquad n=2,3,\ldots.Un​=(n1​,1),n=2,3,….

它们确实覆盖 (0,1)(0,1)(0,1):给定 x>0x>0x>0,取足够大的 nnn 使 1/n<x1/n<x1/n<x 即可。但有限挑出若干个以后,设其中最大的下标为 NNN,这些集合的并至多是 UN=(1/N,1)U_N=(1/N,1)UN​=(1/N,1),靠近 000 的那一段仍没有覆盖。这里缺掉的是端点 000;局部区间可以不断往它追,却永远不能在有限步封住它。

对无界集合 [0,∞)[0,\infty)[0,∞),考虑

Vn=(−n,n),n∈N.V_n=(-n,n),\qquad n\in\mathbb{N}.Vn​=(−n,n),n∈N.

它们覆盖了整个 [0,∞)[0,\infty)[0,∞),但任意有限部分都被某个 VNV_NVN​ 包住,而 N+1N+1N+1 不在 VNV_NVN​ 中。这里没有漏掉边界点,而是集合一直延伸,有限多个局部范围无法管到无穷远。

有限化到底做了什么

设 f:K→Rf:K\to\mathbb{R}f:K→R 在紧集 KKK 上连续。固定每个 t∈Kt\in Kt∈K,点连续性允许我们取一个开区间 ItI_tIt​,使得

x∈It∩K⟹∣f(x)−f(t)∣<1.x\in I_t\cap K\quad\Longrightarrow\quad |f(x)-f(t)|<1.x∈It​∩K⟹∣f(x)−f(t)∣<1.

所有 ItI_tIt​ 当然覆盖 KKK,因为每个 ttt 都在自己的区间中。紧性把这无限族区间压成

It1,It2,…,Itm.I_{t_1},I_{t_2},\ldots,I_{t_m}.It1​​,It2​​,…,Itm​​.

现在任意 x∈Kx\in Kx∈K 至少落在一个 ItiI_{t_i}Iti​​ 中,于是

∣f(x)∣≤∣f(x)−f(ti)∣+∣f(ti)∣<1+∣f(ti)∣.|f(x)|\le |f(x)-f(t_i)|+|f(t_i)| <1+|f(t_i)|.∣f(x)∣≤∣f(x)−f(ti​)∣+∣f(ti​)∣<1+∣f(ti​)∣.

而右边只涉及有限多个数 f(t1),…,f(tm)f(t_1),\ldots,f(t_m)f(t1​),…,f(tm​)。令

M=1+max⁡1≤i≤m∣f(ti)∣,M=1+\max_{1\le i\le m}|f(t_i)|,M=1+1≤i≤mmax​∣f(ti​)∣,

就得到 ∣f(x)∣≤M|f(x)|\le M∣f(x)∣≤M 对所有 x∈Kx\in Kx∈K 成立。连续性原本只在一个点附近给控制;紧性让我们只需记住有限个点的函数值,于是局部有界性变成了全局有界性。

下面的交互件把这个“从许多小区间中抽出有限个”的动作画出来。它不是一种通用的选取算法;定理保证的是有限选择一定存在。

连续函数把紧集送到紧集

这个结论会把有关定义域的紧性转移到函数值那边。

若 K⊂RK\subset\mathbb{R}K⊂R 紧,且 f:K→Rf:K\to\mathbb{R}f:K→R 连续,那么 f(K)f(K)f(K) 紧。

证明的动作很值得慢慢看。任取 f(K)f(K)f(K) 的一个开覆盖 {Wα}α∈A\{W_\alpha\}_{\alpha\in A}{Wα​}α∈A​。我们不能直接把它当作 KKK 的覆盖,因为这些集合活在函数值轴上。于是把每个集合拉回定义域:

f−1(Wα)={x∈K:f(x)∈Wα}.f^{-1}(W_\alpha)=\{x\in K:f(x)\in W_\alpha\}.f−1(Wα​)={x∈K:f(x)∈Wα​}.

连续性的一个等价表述是:开集的原像在相对定义域 KKK 中开。因此这些原像是刚才说明过的相对开集。又因为每个 f(x)f(x)f(x) 都落在某个 WαW_\alphaWα​ 中,原像族覆盖 KKK:

K⊂⋃α∈Af−1(Wα).K\subset\bigcup_{\alpha\in A}f^{-1}(W_\alpha).K⊂α∈A⋃​f−1(Wα​).

由紧性,可取有限多个原像覆盖 KKK。把它们对应回去,Wα1,…,WαmW_{\alpha_1},\ldots,W_{\alpha_m}Wα1​​,…,Wαm​​ 就覆盖 f(K)f(K)f(K)。这正是 f(K)f(K)f(K) 紧的定义。

在 R\mathbb{R}R 中,紧集闭且有界,所以这一定理立刻给出:连续函数在非空紧集上有界,且它的值域不会在极限处留下缺口。后面的极值定理就是把这句话再推进一步。


连续函数不会跳过中间高度

“图像不跳”是连续性的有用直觉,但它还不是可以证明的说法。真正可用的结论是介值定理。设 a<ba<ba<b,f:[a,b]→Rf:[a,b]\to\mathbb{R}f:[a,b]→R 连续。若实数 μ\muμ 严格位于 f(a)f(a)f(a) 和 f(b)f(b)f(b) 之间,那么存在 c∈(a,b)c\in(a,b)c∈(a,b),使得

f(c)=μ.f(c)=\mu.f(c)=μ.

若 μ=f(a)\mu=f(a)μ=f(a) 或 μ=f(b)\mu=f(b)μ=f(b),结论也成立,不过取到它的点可以就是端点。因此做题时最好先分清“严格在中间”还是“包含端点”。

上确界如何找出那个点

我们证明 f(a)<μ<f(b)f(a)<\mu<f(b)f(a)<μ<f(b) 的情形;另一种方向只需把 fff 换成 −f-f−f。令

S={x∈[a,b]:f(x)≤μ}.S=\{x\in[a,b]:f(x)\le\mu\}.S={x∈[a,b]:f(x)≤μ}.

a∈Sa\in Sa∈S,所以 SSS 非空;bbb 是它的上界。因此实数完备性保证

c=sup⁡Sc=\sup Sc=supS

存在。ccc 可以理解为“函数还没有越过高度 μ\muμ 的最右边界”。证明只剩下排除 f(c)f(c)f(c) 比 μ\muμ 小或大的两种可能。

若 f(c)<μf(c)<\muf(c)<μ,连续性告诉我们:在 ccc 右边足够近的点上,函数值仍小于 μ\muμ。又因 f(b)>μf(b)>\muf(b)>μ,此时 c≠bc\ne bc=b,所以能找一个 ccc 右侧的点仍在 [a,b][a,b][a,b] 内,且属于 SSS。这与 ccc 是 SSS 的上界矛盾。

若 f(c)>μf(c)>\muf(c)>μ,连续性告诉我们:在 ccc 左边足够近的点上,函数值仍大于 μ\muμ。但 c=sup⁡Sc=\sup Sc=supS 的意思是,对任意小的正长度,ccc 左侧都必须有 SSS 中的点;否则可以把上界往左挪。这个点一方面属于 SSS,应满足 f(x)≤μf(x)\le\muf(x)≤μ,另一方面又落在局部的 f(x)>μf(x)>\muf(x)>μ 范围内,仍然矛盾。

两边都排除后,只能有

f(c)=μ.f(c)=\mu.f(c)=μ.

这段证明里,连续性负责让不等式在局部保持,完备性负责保证“最右边界” ccc 存在。少了完备性,集合未必有这样的边界点;少了连续性,函数可以在边界处直接跳过 μ\muμ。

例题:先证明根存在

证明方程

x3−3x+1=0x^3-3x+1=0x3−3x+1=0

在 (0,1)(0,1)(0,1) 内至少有一个实根。

设 p(x)=x3−3x+1p(x)=x^3-3x+1p(x)=x3−3x+1。多项式在 R\mathbb{R}R 上连续,因此 ppp 在闭区间 [0,1][0,1][0,1] 上连续。

端点值为 p(0)=1p(0)=1p(0)=1 和 p(1)=−1p(1)=-1p(1)=−1。零严格夹在这两个数之间。

对 ppp 在 [0,1][0,1][0,1] 上应用介值定理,存在 c∈(0,1)c\in(0,1)c∈(0,1),使 p(c)=0p(c)=0p(c)=0。这一步只说明至少有一个根;不调用后面才会证明的导数工具,就不额外声称根唯一。

这里没有把根写成一个漂亮的公式,也没有妨碍我们得到存在性。二分法之所以可靠,正是因为每次保留一个端点异号的闭区间,介值定理始终保证根还在里面。

连续像为什么仍是区间

设 I⊂RI\subset\mathbb{R}I⊂R 是区间,f:I→Rf:I\to\mathbb{R}f:I→R 连续。任取 u,v∈f(I)u,v\in f(I)u,v∈f(I),并设

u<r<v.u<r<v.u<r<v.

存在 x,y∈Ix,y\in Ix,y∈I 使 f(x)=uf(x)=uf(x)=u、f(y)=vf(y)=vf(y)=v。由于 III 是区间,xxx 与 yyy 之间的整个闭区间仍包含在 III 中;在该闭区间上使用介值定理,就能找到 zzz 使 f(z)=rf(z)=rf(z)=r。因此 f(I)f(I)f(I) 也是区间。

这解释了“不能跳过高度”的精确含义,但要留意定义域必须是一个区间。若定义域是两个彼此分开的区间,函数可以在一块上恒为 000、另一块上恒为 222;它在各自的定义域部分仍连续,值域却跳过了 (0,2)(0,2)(0,2)。

下面的交互件展示端点异号时的二分定位。每一步并不是凭图像猜测,而是在保存介值定理的前提。


最大值不会逃到边界外

有界并不等于取得界。函数 f(x)=xf(x)=xf(x)=x 在 (0,1)(0,1)(0,1) 上连续且有界,值域的上确界是 111,但没有任何输入让函数值等于 111。极值定理补上的正是“上确界真的被函数取到”这一句。

设 K⊂RK\subset\mathbb{R}K⊂R 非空且紧,f:K→Rf:K\to\mathbb{R}f:K→R 连续。则存在 xmin⁡,xmax⁡∈Kx_{\min},x_{\max}\in Kxmin​,xmax​∈K,使得对每个 x∈Kx\in Kx∈K,

f(xmin⁡)≤f(x)≤f(xmax⁡).f(x_{\min})\le f(x)\le f(x_{\max}).f(xmin​)≤f(x)≤f(xmax​).

因此 fff 在 KKK 上取得最小值和最大值。

从连续像紧到极值

由前面的结论,f(K)f(K)f(K) 是实直线中的非空紧集,因此它闭且有界。令

m=inf⁡f(K),M=sup⁡f(K).m=\inf f(K),\qquad M=\sup f(K).m=inff(K),M=supf(K).

有界性保证这两个实数存在。上确界的逼近性质允许我们在 f(K)f(K)f(K) 中取一列数 yny_nyn​,满足

M−1n<yn≤M.M-\frac1n<y_n\le M.M−n1​<yn​≤M.

于是 yn→My_n\to Myn​→M。由于 f(K)f(K)f(K) 闭,它包含自己的极限点,故 M∈f(K)M\in f(K)M∈f(K)。所以存在 xmax⁡∈Kx_{\max}\in Kxmax​∈K 满足 f(xmax⁡)=Mf(x_{\max})=Mf(xmax​)=M。对 mmm 使用同样的论证,就得到 xmin⁡x_{\min}xmin​。

这条证明把逻辑链分得很清楚:紧性先经过连续函数传到值域;在实直线上,紧值域没有漏掉自己的上确界和下确界;最后才把两个数拉回定义域。

另一条路线:逼近最高处,再抽子列

也可以不先谈值域闭性。令

M=sup⁡{f(x):x∈K}.M=\sup\{f(x):x\in K\}.M=sup{f(x):x∈K}.

按上确界定义,对每个 n∈Nn\in\mathbb{N}n∈N 可选 xn∈Kx_n\in Kxn​∈K,使

M−1n<f(xn)≤M.M-\frac1n<f(x_n)\le M.M−n1​<f(xn​)≤M.

实直线中的紧性等价于序列紧性:KKK 中任意数列有一个收敛到 KKK 内点的子列。因此可取

xnj→x∗∈K.x_{n_j}\to x_\ast\in K.xnj​​→x∗​∈K.

连续性把输入的极限传给输出:

f(xnj)→f(x∗).f(x_{n_j})\to f(x_\ast).f(xnj​​)→f(x∗​).

另一方面,上面的夹逼估计说明 f(xnj)→Mf(x_{n_j})\to Mf(xnj​​)→M,所以 f(x∗)=Mf(x_\ast)=Mf(x∗​)=M。这一版本把证明压缩成三个动作:用上确界造接近最高处的点,靠紧性防止这些点逃掉,再靠连续性传递极限。

两个假设都不能顺手删掉

定义域不紧时,连续性救不了极值。f(x)=xf(x)=xf(x)=x 在 (0,1)(0,1)(0,1) 上连续,却没有最大值或最小值;f(x)=x2f(x)=x^2f(x)=x2 在 R\mathbb{R}R 上连续,却没有最大值。前者让极值往缺失端点跑,后者让极值朝无穷远跑。

定义域紧而函数不连续时,结论也会失效。定义 g:[0,1]→Rg:[0,1]\to\mathbb{R}g:[0,1]→R 为

g(x)={x,0≤x<1,0,x=1.g(x)= \begin{cases} x,&0\le x<1,\\ 0,&x=1. \end{cases}g(x)={x,0,​0≤x<1,x=1.​

它在 [0,1][0,1][0,1] 上有界,上确界是 111,但没有点取到 111。问题不在于区间漏了端点,而在于函数到了端点突然把应有的极限值换掉了。

例题:把值域完整写出来

设

q(x)=x2−2x+2,x∈[0,3].q(x)=x^2-2x+2,\qquad x\in[0,3].q(x)=x2−2x+2,x∈[0,3].

求 q([0,3])q([0,3])q([0,3])。

先配方:

q(x)=(x−1)2+1.q(x)=(x-1)^2+1.q(x)=(x−1)2+1.

当 x∈[0,3]x\in[0,3]x∈[0,3] 时,x−1∈[−1,2]x-1\in[-1,2]x−1∈[−1,2],所以

0≤(x−1)2≤4.0\le(x-1)^2\le4.0≤(x−1)2≤4.

下界在 x=1x=1x=1 取到,q(1)=1q(1)=1q(1)=1;上界在 x=3x=3x=3 取到,q(3)=5q(3)=5q(3)=5。极值定理保证连续函数确实能取到它的最小、最大高度,介值定理又保证中间高度没有缺失。因此

q([0,3])=[1,5].q([0,3])=[1,5].q([0,3])=[1,5].

“连续函数把闭区间映成闭区间”就是这两条定理合起来的结论;仅有其中一条都不够。


一致连续:全体点对共用一个半径

设 E⊂RE\subset\mathbb{R}E⊂R,f:E→Rf:E\to\mathbb{R}f:E→R。点连续的量词顺序是

∀x0∈E ∀ε>0 ∃δ>0 ∀x∈E,∣x−x0∣<δ⟹∣f(x)−f(x0)∣<ε.\forall x_0\in E\ \forall\varepsilon>0\ \exists\delta>0\ \forall x\in E,\quad |x-x_0|<\delta\Longrightarrow |f(x)-f(x_0)|<\varepsilon.∀x0​∈E ∀ε>0 ∃δ>0 ∀x∈E,∣x−x0​∣<δ⟹∣f(x)−f(x0​)∣<ε.

这里的 δ\deltaδ 可以依赖于中心点 x0x_0x0​。一致连续把中心点放到 δ\deltaδ 之后:

∀ε>0 ∃δ>0 ∀x,y∈E,∣x−y∣<δ⟹∣f(x)−f(y)∣<ε.\forall\varepsilon>0\ \exists\delta>0\ \forall x,y\in E,\quad |x-y|<\delta\Longrightarrow |f(x)-f(y)|<\varepsilon.∀ε>0 ∃δ>0 ∀x,y∈E,∣x−y∣<δ⟹∣f(x)−f(y)∣<ε.

也就是说,先给定误差要求 ε\varepsilonε,我们只能选一次 δ\deltaδ,随后它要同时处理 EEE 里的每一对近点。

逐点连续和一致连续的差别不在于把 x0x_0x0​ 改成了 yyy,而在于量词顺序。若 δ\deltaδ 能看见当前点的位置,它只是逐点连续;只有 δ\deltaδ 不依赖任何具体点,才是一致连续。

一个直接可算的正例

函数 f(x)=x2f(x)=x^2f(x)=x2 在 [−2,2][-2,2][−2,2] 上一致连续。对任意 x,y∈[−2,2]x,y\in[-2,2]x,y∈[−2,2],

∣f(x)−f(y)∣=∣x−y∣∣x+y∣≤4∣x−y∣.|f(x)-f(y)| =|x-y||x+y| \le4|x-y|.∣f(x)−f(y)∣=∣x−y∣∣x+y∣≤4∣x−y∣.

给定 ε>0\varepsilon>0ε>0,取

δ=ε4.\delta=\frac{\varepsilon}{4}.δ=4ε​.

那么 ∣x−y∣<δ|x-y|<\delta∣x−y∣<δ 就推出 ∣x2−y2∣<ε|x^2-y^2|<\varepsilon∣x2−y2∣<ε。这里能够直接写出统一常数,是因为定义域已经把 ∣x+y∣|x+y|∣x+y∣ 统一压在 444 以下。

两个连续但不一致连续的反例

同一个 x2x^2x2 放到 R\mathbb{R}R 上就不一致连续。假设给定 ε0=1\varepsilon_0=1ε0​=1 后存在某个 δ>0\delta>0δ>0。取

x=n,y=n+δ2.x=n,\qquad y=n+\frac{\delta}{2}.x=n,y=n+2δ​.

两点距离是 δ/2<δ\delta/2<\deltaδ/2<δ,但

∣y2−x2∣=δn+δ24.|y^2-x^2| =\delta n+\frac{\delta^2}{4}.∣y2−x2∣=δn+4δ2​.

只要 n>1/δn>1/\deltan>1/δ,这个量就大于 111,与统一控制矛盾。函数并没有在某个有限点不连续;失败来自远处的变化越来越陡。

另一个不同的失败方式出现在 f(x)=1/xf(x)=1/xf(x)=1/x 的定义域 (0,1)(0,1)(0,1)。令

xn=1n,yn=1n+1(n≥2).x_n=\frac1n,\qquad y_n=\frac1{n+1}\qquad(n\ge2).xn​=n1​,yn​=n+11​(n≥2).

则

∣xn−yn∣=1n(n+1)⟶0,|x_n-y_n|=\frac1{n(n+1)}\longrightarrow0,∣xn​−yn​∣=n(n+1)1​⟶0,

但

∣1xn−1yn∣=∣n−(n+1)∣=1.\left|\frac1{x_n}-\frac1{y_n}\right| =|n-(n+1)|=1.​xn​1​−yn​1​​=∣n−(n+1)∣=1.

输入点已经挤得任意近,输出却始终相差 111。这说明靠近缺失点 000 时,每个局部 δ\deltaδ 都会被迫缩小,无法留下全域统一的正半径。

下面的交互件把几个定义域放在一起比较。看它时请始终抓住同一个问题:固定 ε\varepsilonε 后,是否能在选点之前先选好一个 δ\deltaδ?


紧性怎样制造统一的 δ\deltaδ

现在可以看本章最典型的“有限化”证明了。

若 K⊂RK\subset\mathbb{R}K⊂R 紧,且 f:K→Rf:K\to\mathbb{R}f:K→R 连续,则 fff 在 KKK 上一致连续。

这个结论常被称为闭有界区间上的连续函数自动一致连续。用紧集表述更准确:闭区间只是实直线中最常见的紧集。

覆盖式证明

固定 ε>0\varepsilon>0ε>0。对每个 t∈Kt\in Kt∈K,由 fff 在 ttt 连续,可取 ρt>0\rho_t>0ρt​>0,使得

x∈K,∣x−t∣<2ρt⟹∣f(x)−f(t)∣<ε2.x\in K,\quad |x-t|<2\rho_t \quad\Longrightarrow\quad |f(x)-f(t)|<\frac{\varepsilon}{2}.x∈K,∣x−t∣<2ρt​⟹∣f(x)−f(t)∣<2ε​.

请注意 ρt\rho_tρt​ 现在仍依赖于 ttt;这还不是一致连续。我们把每个局部控制的一半拿来做开区间:

Jt=(t−ρt,t+ρt).J_t=(t-\rho_t,t+\rho_t).Jt​=(t−ρt​,t+ρt​).

它们覆盖 KKK。由紧性,存在 t1,…,tm∈Kt_1,\ldots,t_m\in Kt1​,…,tm​∈K,使

K⊂Jt1∪⋯∪Jtm.K\subset J_{t_1}\cup\cdots\cup J_{t_m}.K⊂Jt1​​∪⋯∪Jtm​​.

这时才可以定义

δ=min⁡{ρt1,…,ρtm}>0.\delta=\min\{\rho_{t_1},\ldots,\rho_{t_m}\}>0.δ=min{ρt1​​,…,ρtm​​}>0.

正性来自“有限”:无限多个正数的下确界可能是 000,有限多个正数的最小值一定仍为正。

任取 x,y∈Kx,y\in Kx,y∈K 且 ∣x−y∣<δ|x-y|<\delta∣x−y∣<δ。有限子覆盖保证 xxx 落入某个 JtiJ_{t_i}Jti​​,所以

∣x−ti∣<ρti.|x-t_i|<\rho_{t_i}.∣x−ti​∣<ρti​​.

再用三角不等式,

∣y−ti∣≤∣y−x∣+∣x−ti∣<δ+ρti≤2ρti.|y-t_i| \le|y-x|+|x-t_i| <\delta+\rho_{t_i} \le2\rho_{t_i}.∣y−ti​∣≤∣y−x∣+∣x−ti​∣<δ+ρti​​≤2ρti​​.

因此 xxx 和 yyy 都落在同一个中心 tit_iti​ 的连续性控制范围内:

∣f(x)−f(ti)∣<ε2,∣f(y)−f(ti)∣<ε2.|f(x)-f(t_i)|<\frac{\varepsilon}{2}, \qquad |f(y)-f(t_i)|<\frac{\varepsilon}{2}.∣f(x)−f(ti​)∣<2ε​,∣f(y)−f(ti​)∣<2ε​.

最后一次三角不等式给出

∣f(x)−f(y)∣≤∣f(x)−f(ti)∣+∣f(ti)−f(y)∣<ε.|f(x)-f(y)| \le|f(x)-f(t_i)|+|f(t_i)-f(y)| <\varepsilon.∣f(x)−f(y)∣≤∣f(x)−f(ti​)∣+∣f(ti​)−f(y)∣<ε.

这里的缩半并不是装饰。xxx 只知道落在半径 ρti\rho_{t_i}ρti​​ 的覆盖区间里;我们还要把离 xxx 很近的 yyy 推进半径 2ρti2\rho_{t_i}2ρti​​ 的原始连续性控制区间,才可以让两点通过同一个中心比较。

数列式反证法

在实直线上,也可以把“不存在统一 δ\deltaδ”翻译成数列。若 fff 不一致连续,则存在 ε0>0\varepsilon_0>0ε0​>0,使得每个 nnn 都能选出 xn,yn∈Kx_n,y_n\in Kxn​,yn​∈K,满足

∣xn−yn∣<1n,∣f(xn)−f(yn)∣≥ε0.|x_n-y_n|<\frac1n, \qquad |f(x_n)-f(y_n)|\ge\varepsilon_0.∣xn​−yn​∣<n1​,∣f(xn​)−f(yn​)∣≥ε0​.

紧性给出 xnx_nxn​ 的收敛子列:

xnj→x∗∈K.x_{n_j}\to x_\ast\in K.xnj​​→x∗​∈K.

而

∣ynj−x∗∣≤∣ynj−xnj∣+∣xnj−x∗∣⟶0,|y_{n_j}-x_\ast| \le|y_{n_j}-x_{n_j}|+|x_{n_j}-x_\ast| \longrightarrow0,∣ynj​​−x∗​∣≤∣ynj​​−xnj​​∣+∣xnj​​−x∗​∣⟶0,

所以 ynj→x∗y_{n_j}\to x_\astynj​​→x∗​。连续性于是给出

f(xnj)→f(x∗),f(ynj)→f(x∗).f(x_{n_j})\to f(x_\ast), \qquad f(y_{n_j})\to f(x_\ast).f(xnj​​)→f(x∗​),f(ynj​​)→f(x∗​).

两列函数值之差应趋于 000,却始终不小于 ε0\varepsilon_0ε0​,矛盾。覆盖式证明让我们看见“取有限个半径再取最小值”;数列证明让我们看见“相近点被紧性迫到同一极限点”。它们说的是同一件事的两种语言。


把全局结论放在一起使用

本章的几个定理容易混成一句“连续函数很好”。真正做题时,应先问结论到底要什么。

若要证明某个中间函数值或某个零点存在,先检查定义域是否包含连接两个点的区间、函数是否连续,并使用实数完备性支撑的介值定理。若要保证最大值和最小值真的取到,检查定义域是否非空紧、函数是否连续。若要得到一个全域统一的误差半径,检查的是紧性和连续性,从而使用一致连续结论。

面对“对所有点同时成立”的问题,不要急着把每个点的局部 δ\deltaδ 直接取最小值。先问这些 δ\deltaδ 有多少个;只有借助紧性把它们化成有限个,取最小值才是合法而且有用的动作。


自检练习

练习一

证明方程

x3+x−3=0x^3+x-3=0x3+x−3=0

在 (1,2)(1,2)(1,2) 内至少有一个解。

设 h(x)=x3+x−3h(x)=x^3+x-3h(x)=x3+x−3。它是多项式,所以在 [1,2][1,2][1,2] 上连续。端点值为

h(1)=−1,h(2)=7.h(1)=-1,\qquad h(2)=7.h(1)=−1,h(2)=7.

零夹在 −1-1−1 和 777 之间。由介值定理,存在 c∈(1,2)c\in(1,2)c∈(1,2),使 h(c)=0h(c)=0h(c)=0。因此原方程在该开区间内至少有一个解。

练习二

不用紧性定理,直接证明 f(x)=xf(x)=\sqrt{x}f(x)=x​ 在 [0,1][0,1][0,1] 上一致连续。

任取 x,y∈[0,1]x,y\in[0,1]x,y∈[0,1]。不妨设 x≥yx\ge yx≥y。因为 x≥y\sqrt{x}\ge\sqrt{y}x​≥y​,有

∣x−y∣2=x+y−2xy≤x−y=∣x−y∣.|\sqrt{x}-\sqrt{y}|^2 =x+y-2\sqrt{xy} \le x-y =|x-y|.∣x​−y​∣2=x+y−2xy​≤x−y=∣x−y∣.

所以

∣x−y∣≤∣x−y∣.|\sqrt{x}-\sqrt{y}|\le\sqrt{|x-y|}.∣x​−y​∣≤∣x−y∣​.

给定 ε>0\varepsilon>0ε>0,取 δ=ε2\delta=\varepsilon^2δ=ε2。若 ∣x−y∣<δ|x-y|<\delta∣x−y∣<δ,便有

∣x−y∣≤∣x−y∣<δ=ε.|\sqrt{x}-\sqrt{y}| \le\sqrt{|x-y|} <\sqrt{\delta} =\varepsilon.∣x​−y​∣≤∣x−y∣​<δ​=ε.

故 fff 在 [0,1][0,1][0,1] 上一致连续。

练习三

证明 f(x)=x3f(x)=x^3f(x)=x3 在 R\mathbb{R}R 上不一致连续。

取 ε0=2\varepsilon_0=2ε0​=2。给定任意 δ>0\delta>0δ>0,选足够大的正整数 nnn,使

1n2<δ.\frac1{n^2}<\delta.n21​<δ.

令

x=n,y=n+1n2.x=n,\qquad y=n+\frac1{n^2}.x=n,y=n+n21​.

则 ∣x−y∣=1/n2<δ|x-y|=1/n^2<\delta∣x−y∣=1/n2<δ。但

∣y3−x3∣=(n+1n2)3−n3=3+3n3+1n6>2.|y^3-x^3| =\left(n+\frac1{n^2}\right)^3-n^3 =3+\frac3{n^3}+\frac1{n^6} >2.∣y3−x3∣=(n+n21​)3−n3=3+n33​+n61​>2.

也就是说,无论把输入距离要求得多小,总能在足够远处找到函数值相差至少 222 的一对点。因此 x3x^3x3 在 R\mathbb{R}R 上不一致连续。

练习四

证明 [0,1)[0,1)[0,1) 不是紧集:给出一个没有有限子覆盖的开覆盖。

对 n=2,3,…n=2,3,\ldotsn=2,3,…,令

Un=(−1,1−1n).U_n=\left(-1,1-\frac1n\right).Un​=(−1,1−n1​).

任取 x∈[0,1)x\in[0,1)x∈[0,1),由于 1−x>01-x>01−x>0,可以选 nnn 足够大,使 1/n<1−x1/n<1-x1/n<1−x,于是 x<1−1/nx<1-1/nx<1−1/n,故 x∈Unx\in U_nx∈Un​。所以 {Un:n≥2}\{U_n:n\ge2\}{Un​:n≥2} 覆盖 [0,1)[0,1)[0,1)。

任取有限子族,令其中最大的下标为 NNN。这些集合嵌套,有限并就是 UNU_NUN​。点

1−12N1-\frac1{2N}1−2N1​

属于 [0,1)[0,1)[0,1),却大于 1−1/N1-1/N1−1/N,不属于 UNU_NUN​。所以这个有限子族不能覆盖 [0,1)[0,1)[0,1)。因此 [0,1)[0,1)[0,1) 不紧。

练习五

设 K⊂RK\subset\mathbb{R}K⊂R 非空紧,f:K→Rf:K\to\mathbb{R}f:K→R 连续。证明存在 x∗∈Kx_\ast\in Kx∗​∈K,使得

∣f(x)∣≤∣f(x∗)∣(x∈K).|f(x)|\le|f(x_\ast)| \qquad(x\in K).∣f(x)∣≤∣f(x∗​)∣(x∈K).

绝对值函数 r↦∣r∣r\mapsto|r|r↦∣r∣ 在 R\mathbb{R}R 上连续,因此复合函数

g(x)=∣f(x)∣g(x)=|f(x)|g(x)=∣f(x)∣

在 KKK 上连续。由极值定理,ggg 在非空紧集 KKK 上取得最大值:存在 x∗∈Kx_\ast\in Kx∗​∈K,使

g(x)≤g(x∗)(x∈K).g(x)\le g(x_\ast) \qquad(x\in K).g(x)≤g(x∗​)(x∈K).

代回 g(x)=∣f(x)∣g(x)=|f(x)|g(x)=∣f(x)∣,正是题目所求的不等式。


下一步:从全局约束回到局部斜率

到这里,我们已经知道:在紧的定义域上,连续函数的值域不会逃向无穷、不会漏掉最大最小,也可以用同一个 δ\deltaδ 控制所有近点。下一章会换一个问题:如果函数值不仅靠近,而且靠近的方式近似一条直线,那么这个局部斜率能否稳定下来?这就需要回到差商极限,正式定义导数。

上一章连续性与连续函数的基本性质下一章导数的定义、法则与局部线性化