为什么闭区间中的数列总有收敛子列?¶
先备知识¶
第二部已经证明 Bolzano–Weierstrass 定理:每个有界实数数列都有收敛子列。本单元 直接调用该结论,不重复区间套证明。你还需要会用极限的保序性处理闭区间端点。
学习目标¶
- 定义本书在实数范围内使用的序列紧致性;
- 证明闭集保留其中收敛数列的极限;
- 建立闭区间的序列紧致性;
- 用反例区分闭、有界和序列紧致。
牵引问题¶
闭区间中可以放入一条无限而杂乱的点列。我们未必能控制整条数列,却能否总从中 抽出一条趋向区间内某点的子列?“有界”负责提供收敛子列,“闭”又负责什么?
探索与猜想¶
在 \((0,1)\) 中,数列 \(x_n=1/n\) 收敛,但极限 \(0\) 跑出了集合;在 \([0,\infty)\) 中,数列 \(x_n=n\) 根本没有收敛子列。闭区间同时排除了“极限跑出 边界”和“数列逃向无穷”两种失败。
概念与理论¶
定义:序列紧致性¶
集合 \(K\subseteq\mathbb R\) 称为序列紧致的,若对每个满足 \(x_n\in K\) 的数列 \((x_n)\),都存在严格递增指标 [ n_1<n_2<\cdots ] 和某个 \(x\in K\),使 [ x_{n_k}\to x. ]
定义同时要求“能抽出收敛子列”和“子列极限仍在集合内”。只满足前半句并不够。
引理:闭集保留数列极限¶
设 \(F\subseteq\mathbb R\) 是闭集,\(x_n\in F\) 且 \(x_n\to x\)。则 \(x\in F\)。
证明。 若 \(x\notin F\),则 \(x\) 属于开集 \(\mathbb R\setminus F\)。 因此存在 \(\varepsilon>0\),使 \((x-\varepsilon,x+\varepsilon)\subseteq\mathbb R\setminus F\)。 由 \(x_n\to x\),充分大的 \(n\) 满足 \(|x_n-x|<\varepsilon\),从而 \(x_n\notin F\),与 \(x_n\in F\) 矛盾。\(\square\)
对闭区间也可直接证明:若 \(a\le x_n\le b\) 且 \(x_n\to x\),由极限保序性得到 \(a\le x\le b\)。
定理:闭区间序列紧致¶
每个闭区间 \([a,b]\) 都是序列紧致的。
证明。 任取数列 \(x_n\in[a,b]\)。因为 [ a\le x_n\le b, ] 该数列有界。由第二部 Bolzano–Weierstrass 定理,存在子列 \(x_{n_k}\to x\in\mathbb R\)。闭区间是闭集,由上一引理,\(x\in[a,b]\)。 因此每条闭区间点列都有收敛到区间内一点的子列。\(\square\)
证明中的两项假设分工清楚:
- 有界性产生实数中的收敛子列;
- 闭性把该子列的极限留在集合内。
命题:序列紧致集必有界且闭¶
实数中的序列紧致集 \(K\) 必有界且闭。
证明。 若 \(K\) 无界,可递归选择 \(x_n\in K\) 使 \(|x_n|>n\)。它的任意 子列仍无界,不可能收敛,与序列紧致矛盾。
若 \(K\) 不闭,则补集 \(\mathbb R\setminus K\) 不是开集,所以存在 \(x\notin K\),使 \(x\) 的每个正半径邻域都与 \(K\) 相交。对每个 \(n\) 选择 [ x_n\in K\cap\left(x-\frac1n,x+\frac1n\right). ] 于是 \(x_n\to x\)。序列紧致性给出某子列 \(x_{n_k}\to y\in K\)。但收敛数列的 每条子列都趋于原极限 \(x\),由极限唯一性 \(y=x\),与 \(x\notin K\) 矛盾。 \(\square\)
结合闭集、有界集在实轴上的结构以及 Bolzano–Weierstrass 定理,可知实数中 “闭且有界”与“序列紧致”等价。本章后续只需要闭区间版本。
例题与迁移¶
例题 1:开区间为什么失败¶
证明 \((0,1)\) 不是序列紧致的。
证明。 取 \(x_n=1/n\in(0,1)\)(从 \(n\ge2\) 开始)。任意子列 \(x_{n_k}\) 仍趋于 \(0\),而 \(0\notin(0,1)\)。因此不存在收敛到集合内一点的 子列,序列紧致性失败。失败原因是集合不闭。\(\square\)
例题 2:闭但无界仍会失败¶
证明 \([0,\infty)\) 不是序列紧致的。
证明。 取 \(x_n=n\)。任意子列满足 \(x_{n_k}=n_k\ge k\),所以仍趋于 \(+\infty\),不可能在实数中收敛。失败原因是集合无界。\(\square\)
即时检验与回望¶
即时检验 1:收敛子列为什么必须落回集合?¶
答案
若只要求在实数中收敛,那么任何有界集合中的点列都能由 Bolzano–Weierstrass 抽出收敛子列,即使极限落在缺失边界上。序列紧致性要求 极限属于原集合,才能把集合内的无限过程封闭起来。
即时检验 2:证明闭区间序列紧致时哪里使用闭性?¶
答案
Bolzano–Weierstrass 只给出某个实数极限 \(x\)。闭性用于从 \(x_{n_k}\in[a,b]\) 且 \(x_{n_k}\to x\) 推出 \(x\in[a,b]\)。
习题与答案¶
习题 1:有限集¶
证明每个有限实数集都是序列紧致的。
答案
设 \(K=\{a_1,\ldots,a_m\}\)。任取 \(x_n\in K\)。至少有一个值 \(a_j\) 出现无穷多次,否则每个值只出现有限次,整条数列只能有有限项。抽取所有等于 \(a_j\) 的项,得到常值子列,收敛到 \(a_j\in K\)。
习题 2:半开区间¶
证明 \([0,1)\) 不是序列紧致的。
答案
取 \(x_n=1-1/n\in[0,1)\)(\(n\ge1\))。整列及其任意子列都趋于 \(1\),但 \(1\notin[0,1)\)。因此没有子列收敛到集合内一点。
习题 3:收敛数列的值集¶
若 \(x_n\to x\),证明集合 \(K=\{x\}\cup\{x_n:n\in\mathbb N\}\) 序列紧致。
答案
任取 \(y_m\in K\)。若某个点在 \(y_m\) 中出现无穷多次,可抽出常值子列。 否则,除去有限重复后可抽出一列互异的 \(x_{n_m}\),其指标必趋于无穷,故 \(x_{n_m}\to x\in K\)。两种情形都得到极限属于 \(K\) 的收敛子列。
习题 4:连续像的预告¶
设 \(K\) 序列紧致,\(f:K\to\mathbb R\) 连续。证明任意数列 \(y_n\in f(K)\) 有收敛子列,且极限仍在 \(f(K)\)。
答案
对每个 \(n\) 选 \(x_n\in K\) 使 \(y_n=f(x_n)\)。由序列紧致性,存在 \(x_{n_k}\to x\in K\)。连续性给出 \(y_{n_k}=f(x_{n_k})\to f(x)\),而 \(f(x)\in f(K)\)。
习题 5:识别缺失条件¶
判断:“每条 \(K\) 中的数列都有实数收敛子列,所以 \(K\) 序列紧致。”哪里不足?
答案
还缺少子列极限属于 \(K\) 的要求。例如 \(K=(0,1)\) 中每条数列都有界,因而 都有实数收敛子列,但 \(1/n\) 的所有子列极限都是缺失端点 \(0\),所以 \(K\) 不序列紧致。
选读前瞻:第七部的开覆盖语言¶
以后学习 Euclid 空间的拓扑语言时,会用开覆盖的有限化性质描述紧致性,并证明它与 本单元的序列刻画在 Euclid 空间中等价。本章的核心定理全部沿序列路线推进,不使用 该语言。
常见误区与后续¶
- 有界只保证存在实数收敛子列,不保证极限属于原集合。
- 闭只保证已有收敛列的极限不跑出集合,不阻止数列逃向无穷。
- Bolzano–Weierstrass 已在第二部证明,本单元只负责把它与闭性拼接。
- 子列指标必须严格递增。
下一单元把序列紧致性传给连续函数值,分别证明有界性和最值确实能够取到。