Lecture 15: The Continuity of Sine and Cosine and the Many Discontinuities of Dirichlet’s Function(正弦余弦的连续性与 Dirichlet 函数的处处不连续)
Lecture 15: The Continuity of Sine and Cosine and the Many Discontinuities of Dirichlet’s Function(正弦余弦的连续性与 Dirichlet 函数的处处不连续)
概述
上一讲(Lecture 14)我们有了连续性的 $\epsilon$-$\delta$ 定义(Definition 167),也第一次见到了”用序列来刻画函数极限”的想法。本讲要做的第一件事,是把这个想法升级成一条可以真正干活的定理:Theorem 171 指出,$f$ 在 $c$ 连续当且仅当“任何收敛到 $c$ 的序列 $x_n$,其像序列 $f(x_n)$ 都收敛到 $f(c)$”。这条序列刻画 (sequential characterization of continuity) 是整门课此后最常用的工具——本讲几乎所有的证明都建立在它上面。
有了这台机器,本讲一口气解决两类问题:
- 证明”好函数”是连续的:Theorem 172 证明 $\sin x$ 与 $\cos x$ 在整个 $\mathbb{R}$ 上连续;Theorem 173 证明多项式处处连续;Theorem 174 证明连续函数的和、积、商连续;Theorem 175 证明复合保持连续。它们的证明都不再需要从零开始凑 $\delta$,而是”把已知的连续函数拼装起来”。
- 造出”坏函数”:Question 177 问”是否每个 $f:\mathbb{R}\to\mathbb{R}$ 都至少在某一点连续?” Theorem 178 用 Dirichlet 函数 (Dirichlet function) \(f(x)=\begin{cases}1,&x\in\mathbb{Q}\\0,&x\in\mathbb{R}\setminus\mathbb{Q}\end{cases}\) 给出了否定回答:它在每一个实数点都不连续。
所以本讲回答的问题是:连续性如何用序列来检验?三角函数的连续性为什么如此容易?以及”处处不连续的函数”到底长什么样?
核心定义与直观解释
(定义:连续,源文件 Definition 167,回顾)
严格定义:设 $S\subset\mathbb{R}$,$c\in S$。称 $f:S\to\mathbb{R}$ 在 $c$ 连续 (continuous at $c$),如果 \(\forall\epsilon>0\ \exists\delta>0\ \text{s.t.}\ \forall x\in S,\ \vert x-c\vert <\delta\ \Longrightarrow\ \vert f(x)-f(c)\vert <\epsilon .\) 若 $f$ 在 $U\subset S$ 的每一点都连续,称 $f$ 在 $U$ 上连续。
直观解释(”它到底在说什么?”):想象你在画 $y=f(x)$ 的图像。你希望”输出的小误差由输入的小误差保证”。挑战者给你一个误差预算 $\epsilon$(比如 $\epsilon=0.01$),你必须报出一个”安全半径” $\delta$,使得只要输入落在 $c$ 的 $\delta$-邻域里,输出就一定落在 $f(c)$ 的 $\epsilon$-邻域里。
y
↑
f(c)+ε ─ ─ ─┼─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─
│ ┌─────────┐
│ │ 图像必须 │
f(c) ─ ─ ┼─ ─ ─ ─│ 完全落在 │─ ─ ─
│ │ 这个盒子里│
f(c)-ε ─ ─ ─┼─ ─ ─ ─┴─────────┴─ ─ ─
│ ↑ ↑
│ c-δ c c+δ → x
为什么需要”$\delta$ 可以依赖 $c$”这个条件? 因为这是逐点连续的定义。Lecture 17 会把它升级成”一致连续 (uniform continuity)”,要求一个 $\delta$ 对全体 $c$ 同时有效。本讲 $\sin,\cos$ 的证明之所以漂亮,就是因为算出来的 $\delta=\epsilon$ 根本不依赖 $c$——这正是它们一致连续(乃至 Lipschitz 连续)的伏笔。
具体示例(把 $\epsilon$ 取成具体数字):取 $f=\sin$,$c=\pi/6$,$\epsilon=0.01$。Theorem 172 的证明将给出 $\delta=\epsilon=0.01$。验算(
python3,math.sin):$\sin(\pi/6)=0.4999999999999999$,而 \(\left\vert \sin\!\left(\tfrac{\pi}{6}+0.01\right)-\sin\!\left(\tfrac{\pi}{6}\right)\right\vert =0.0086351099093314<0.01 .\) 在 $\vert x-c\vert <0.01$ 的整个窗口上取上确界也可数值求得: \(\sup_{\vert x-\pi/6\vert <0.01}\vert \sin x-\sin(\pi/6)\vert \approx 0.0086807546<0.01 .\) 可见 $\delta=0.01$ 是够用的(而且有余量——因为真实的 Lipschitz 常数是 $1$,而上确界出现在窗口端点,比 $\delta$ 略小是因为 $\cos$ 因子 $<1$)。
反例(条件不可省):源文件 Example 169 的 \(f(x)=\begin{cases}1,&x\neq0\\2,&x=0\end{cases}\) 在 $c=0$ 不连续。它的否定形式(源文件 Negation 170)是: \(f\ \text{在}\ c\ \text{不连续}\iff \exists\epsilon_0>0\ \forall\delta>0\ \exists x\in S:\ \vert x-c\vert <\delta\ \text{且}\ \vert f(x)-f(c)\vert \ge\epsilon_0 .\) 源文件的证明取 $\epsilon_0=1$,对任意 $\delta>0$ 取 $x=\delta/2$: \(\vert x-0\vert =\delta/2<\delta,\qquad \vert f(x)-f(0)\vert =\vert 1-2\vert =1\ge1=\epsilon_0 .\) 注意这里$\delta$ 依赖的对象:$\epsilon_0$ 是”存在一个坏的预算”,$\delta$ 是”任给”,$x$ 是”存在一个反例点”。三个量词的顺序一个都不能动。
(定义:Dirichlet 函数,源文件 Theorem 178 中定义)
严格定义: \(f:\mathbb{R}\to\mathbb{R},\qquad f(x)=\begin{cases}1,&x\in\mathbb{Q}\\0,&x\in\mathbb{R}\setminus\mathbb{Q}\end{cases}\) 源文件在 Theorem 178 中给出这个定义,并称它为 Dirichlet 函数 (Dirichlet function)。
直观解释(”它到底在说什么?”):请把这个函数的图像在脑子里画出来。它在有理点上高度为 $1$,在无理点上高度为 $0$。由于有理数与无理数在实数轴上互相缠绕、彼此稠密(Lecture 5 Theorem 43),你在任何一个开区间 $(a,b)$ 里都能同时找到有理数和无理数——所以它的图像在每一条竖直线附近都同时在高度 $0$ 和高度 $1$ 上”闪”。它不是一条曲线,而是两条稠密点云的叠加。
Dirichlet 函数在任意小区间里的"密集跳跃"(示意)
y=1 • • •• • •• • •• • • •• • •• • • ← 有理点(稠密)
│╲ │╱ │╲│╱│╲╱│╲│╱╲│╱│╲╱│╲│╱╲│╱│╲╱│ ← 没有"跳跃线",
│ ╲│╱ ╲╱ ╲│╱ ╲│╱ ╲╱ ╲│╱ ╲│╱ ╲╱ ╲│╱ 只有孤立点,
y=0 • • ••• • ••• • •• • • • • ••• • •• ← 无理点(也稠密)
└──┬───┬────┬───┬────┬───┬────┬──→ x
0 0.2 0.4 0.6 0.8 1.0
放大任意一段 (c-δ, c+δ):
里面既有无数的 •(高 1),也有无数的 •(高 0)。
所以无论 δ 多小,"输出误差"都能达到 |1-0| = 1。
为什么需要这个函数? 因为在微积分里形成的直觉是”函数图像都是连着的曲线”。Dirichlet 函数彻底打破了这个直觉:它是一个在每一点都”碎掉”的函数。更深刻的是,它说明了“连续”是一个非常强的条件,而不是”默认成立”的性质——Question 177 问”是否存在一点 $c$ 使 $f$ 在 $c$ 连续”,答案竟然是”不一定”。
- 具体示例(把 $\epsilon/\delta$ 取成具体数字):取 $c=\sqrt{2}$(无理点,$f(c)=0$),$\epsilon_0=1/2$。检验者声称 $\delta=0.001$ 可以工作。我们只需在 $(\sqrt2-0.001,\ \sqrt2+0.001)$ 里找到一个有理数 $q$,就有 $\vert q-\sqrt2\vert <0.001$ 而 $\vert f(q)-f(c)\vert =\vert 1-0\vert =1\ge\epsilon_0$。数值上(
python3,fractions):- $140/99=1.4141414141\cdots$,$\vert 140/99-\sqrt2\vert =7.2148\times10^{-5}<0.001$。✓
- 所以 $\delta=0.001$ 立刻被击破。若把 $\delta$ 缩小到 $10^{-6}$,取 $1393/985=1.4142131979\cdots$,$\vert 1393/985-\sqrt2\vert =3.6440\times10^{-7}<10^{-6}$,照样击破。无论 $\delta$ 多小,稠密性总是愿意提供一个反例——这正是证明的关键机制。
- 反例(对照):作为对照,Assignment 8 第 2 题的函数 \(f(x)=\begin{cases}0,&x\in\mathbb{Q}\\2x,&x\notin\mathbb{Q}\end{cases}\) 在 $x=0$ 连续、在 $x=1$ 不连续。可见”有理/无理型病态定义”并不必然处处不连续:在 $x=0$ 处两个分支的值吻合($0$ 与 $2\cdot0=0$),所以它幸免。
(定义:Lipschitz 连续,补充概念,源文件未定义,来自 Assignment 9)
【补充/前向引用】 本讲源文件没有给出下面这个定义。但 Theorem 172 的证明会顺带产生它,而它在 Lecture 17 与 Assignment 9 中会正式登场,所以在这里提前点出。
严格定义:设 $S\subset\mathbb{R}$,$f:S\to\mathbb{R}$。若 $\exists L\ge0$ 使得 \(\forall x,y\in S,\quad \vert f(x)-f(y)\vert \le L\vert x-y\vert ,\) 则称 $f$ 在 $S$ 上 Lipschitz 连续 (Lipschitz continuous),$L$ 称为一个 Lipschitz 常数。
直观解释:这是连续性的定量加强版。”$\epsilon$-$\delta$ 版”只要求”输入小 $\Rightarrow$ 输出小”,而 Lipschitz 版直接给出统一的汇率:输出差不超过输入差的 $L$ 倍。几何上,$L$ 是图像所有割线斜率的绝对值上界。
为什么需要这个条件? 因为它自动蕴含一致连续(Assignment 9 第 4 题要你证:取 $\delta=\epsilon/L$ 即可),而一致连续是 Lecture 17 的主角。但反过来不成立:Assignment 9 第 5(b) 题要你证 $f(x)=x^{1/3}$ 在 $[0,1]$ 上一致连续但不是 Lipschitz 连续——因为它在 $0$ 附近割线斜率趋于 $\infty$。
具体示例:本讲定理将给出 $\vert \sin x-\sin c\vert \le\vert x-c\vert $,故 $\sin$ 在 $\mathbb{R}$ 上 Lipschitz 连续,$L=1$。数值验证:在 $[-10,10]$ 上网格扫描所有割线斜率 $\frac{\vert \sin x-\sin y\vert }{\vert x-y\vert }$,最大值 $\approx 0.9999999992<1$,与 $L=1$ 吻合(
python3验证)。$\cos$ 同理,最大值 $\approx 0.9999999991$。反例:$f(x)=x^{2}$ 在 $[0,1]$ 上 Lipschitz($L=2$,因为 $\vert x^2-c^2\vert \le\vert x+c\vert \vert x-c\vert \le2\vert x-c\vert $),但在 $\mathbb{R}$ 上不 Lipschitz(割线斜率 $\vert x+c\vert $ 无界)——这正说明 Lipschitz 性质依赖定义域。
(定义:间断点的三类,补充概念)
【补充】 本讲源文件没有给间断点分类(源文件 Lecture 14 的 Negation 170 只写了”不连续”的否定)。下面三类是标准教材内容,在此作为背景补上,并在”定理与完整证明”里各配一个完整验证。
设 $c$ 是定义域 $S$ 的聚点(cluster point,源文件 Definition 148),$f$ 在 $c$ 不连续。
| 类型 | 严格条件 | 直观图像 | 本讲/本课程例子 |
|---|---|---|---|
| 可去间断 (removable discontinuity) | 单侧极限 $\lim_{x\to c^-}f$、$\lim_{x\to c^+}f$ 存在且相等(记作 $L$),但 $f(c)\neq L$ 或 $f(c)$ 无定义 | 图像上只有一个”洞”或”挪错的点” | Example 169 的 $f$($L=1\neq2=f(0)$) |
| 跳跃间断 (jump discontinuity) | 两个单侧极限存在但不相等 | 图像在某处”跳一下” | Lecture 14 Example 165 的阶跃函数 $\lim_{x\to0^-}=0,\ \lim_{x\to0^+}=1$ |
| 本质间断 (essential discontinuity) | 至少一个单侧极限不存在 | 图像剧烈振荡或爆掉 | $f(x)=\sin(1/x)$ 在 $c=0$;Dirichlet 函数在任意 $c$(见下文) |
为什么需要把间断点分类? 因为”不连续”这个否定命题信息量太少:它只告诉你”$\exists\epsilon_0\forall\delta\exists x$”,却分不清”图像只是破了个洞”还是”图像彻底失控”。分类让你知道能补救多少:可去间断改一个点就能变连续;跳跃间断只需在两个区间上分别连续;本质间断则无可救药。
具体示例:$f(x)=1/x$ 在 $c=0$(若扩充定义 $f(0)=0$)属于本质间断,因为 $\lim_{x\to0^+}1/x$ 不存在(无界)。
反例:$f(x)=\sin(1/x)$($x\neq0$,$f(0)=0$)在 $0$ 处不是跳跃间断。数值验证(python3):取 $x_n=\frac{1}{\pi/2+2\pi n}$,得 $x_0=0.63661977,\ x_1=0.12732395,\ x_2=0.07073553,\ x_3=0.04897075$,而 $\sin(1/x_n)=1$ 对每个 $n$ 都成立。于是 $x_n\to0^+$ 但 $f(x_n)=1\not\to0$,右极限不存在,故为本质间断。
定理与完整证明(核心)
定理 171(连续性的序列刻画;源文件 Theorem 171)
- 定理陈述:设 $S\subset\mathbb{R}$,$c\in S$,$f:S\to\mathbb{R}$。则
- 若 $c$ 不是 $S$ 的聚点,则 $f$ 在 $c$ 连续。
- 若 $c$ 是 $S$ 的聚点,则 $f$ 在 $c$ 连续 $\iff$ $\lim_{x\to c}f(x)=f(c)$。
- $f$ 在 $c$ 连续 $\iff$ 对每一个满足 $x_n\in S$、$x_n\to c$ 的序列 $\{x_n\}$,都有 $f(x_n)\to f(c)$。
- 证明策略:三个部分各有各的武器。
- 第 1 部分用“邻域里只剩 $c$ 一个点”这一事实:非聚点意味着存在一个空邻域,那么 $x$ 除了等于 $c$ 之外别无选择,误差恒为 $0$,因此任何 $\delta$ 都行。
- 第 2 部分比较两个定义的唯一差别:函数极限定义里有 $0<\vert x-c\vert $(排除 $c$ 本身),连续定义里没有。补上 $x=c$ 这一点不会破坏不等式,因为那时左右都是 $0$。源文件把这一部分”留作练习”,下面给出完整证明。
- 第 3 部分是本讲的发动机。正向是”$\epsilon$-$\delta$ 与 $\epsilon$-$N$ 的接力”;反向用反证 + 取 $\delta=1/n$ 造序列,这是分析里极其常用的”对角线式构造”。
逐步推导:
(1) 证明第 1 部分。
- 设 $\epsilon>0$。(依据:要证 $\forall\epsilon>0\exists\delta$)
- 因 $c$ 不是聚点,由聚点定义(Definition 148)的否定,$\exists\delta_0>0$ 使 $(c-\delta_0,c+\delta_0)\cap S=\{c\}$。(依据:非聚点的定义)
- 取 $\delta=\delta_0$。(依据:构造)
- 设 $x\in S$ 且 $\vert x-c\vert <\delta$。则 $x\in(c-\delta,c+\delta)\cap S=\{c\}$,故 $x=c$。(依据:第 2 步)
- 于是 $\vert f(x)-f(c)\vert =\vert f(c)-f(c)\vert =0<\epsilon$。(依据:$x=c$ 与 $\epsilon>0$)
- 故 $f$ 在 $c$ 连续。$\blacksquare$
(2) 证明第 2 部分(源文件留作练习,此处补全)。 设 $c$ 是 $S$ 的聚点。
($\Leftarrow$)设 $\lim_{x\to c}f(x)=f(c)$。
- 设 $\epsilon>0$。(依据:$\forall\epsilon>0$)
- 由函数极限的 $\epsilon$-$\delta$ 定义(源文件 Definition 150),$\exists\delta>0$ 使得若 $x\in S$ 且 $0<\vert x-c\vert <\delta$,则 $\vert f(x)-f(c)\vert <\epsilon$。(依据:极限定义)
- 现设 $x\in S$ 且 $\vert x-c\vert <\delta$。分两种情形:
- 若 $x\neq c$,则 $0<\vert x-c\vert <\delta$,由第 2 步得 $\vert f(x)-f(c)\vert <\epsilon$;
- 若 $x=c$,则 $\vert f(x)-f(c)\vert =0<\epsilon$。
- 两种情形都成立,故 $f$ 在 $c$ 连续。$\blacksquare$
($\Rightarrow$)设 $f$ 在 $c$ 连续。
- 设 $\epsilon>0$。(依据:要证极限定义中的 $\forall\epsilon>0\exists\delta$)
- 由连续性定义,$\exists\delta>0$ 使得 $\forall x\in S$,$\vert x-c\vert <\delta\Rightarrow\vert f(x)-f(c)\vert <\epsilon$。(依据:Definition 167)
- 若 $x\in S$ 且 $0<\vert x-c\vert <\delta$,则特别有 $\vert x-c\vert <\delta$,故由第 2 步 $\vert f(x)-f(c)\vert <\epsilon$。(依据:条件的加强化——$0<\vert x-c\vert <\delta$ 蕴含 $\vert x-c\vert <\delta$)
- 故按 Definition 150 有 $\lim_{x\to c}f(x)=f(c)$。$\blacksquare$
(3) 证明第 3 部分之正向:连续 $\Rightarrow$ 序列刻画。
- 假设 $f$ 在 $c$ 连续。设 $\{x_n\}$ 满足 $x_n\in S$ 且 $x_n\to c$。(依据:命题的假设)
- 设 $\epsilon>0$。(依据:要证 $f(x_n)\to f(c)$,即 $\forall\epsilon>0\exists M\forall n\ge M$)
- 由连续性,$\exists\delta>0$ 使得若 $x\in S$ 且 $\vert x-c\vert <\delta$,则 $\vert f(x)-f(c)\vert <\epsilon$。(依据:Definition 167)
- 因 $x_n\to c$($\epsilon$-$N$ 定义,取同一个 $\epsilon$ 换成 $\delta$ 的角色),$\exists M_0\in\mathbb{N}$ 使得 $\forall n\ge M_0$,$\vert x_n-c\vert <\delta$。(依据:收敛的 $\epsilon$-$N$ 定义)
- 取 $M=M_0$。则 $\forall n\ge M$:$\vert x_n-c\vert <\delta$,且 $x_n\in S$,故由第 3 步 $\vert f(x_n)-f(c)\vert <\epsilon$。(依据:第 3、4 步)
- 故 $f(x_n)\to f(c)$。(依据:$\epsilon$-$N$ 定义)$\blacksquare$
(4) 证明第 3 部分之反向:序列刻画 $\Rightarrow$ 连续(反证)。
- 假设:对每个满足 $x_n\in S,\ x_n\to c$ 的序列都有 $f(x_n)\to f(c)$。(依据:命题假设)
- 反设 $f$ 在 $c$ 不连续。(依据:反证法)
- 则 $\exists\epsilon_0>0$ 使得 $\forall\delta>0$,$\exists x\in S$ 满足 $\vert x-c\vert <\delta$ 且 $\vert f(x)-f(c)\vert \ge\epsilon_0$。(依据:源文件 Negation 170,即连续性定义的否定)
- 对每个 $n\in\mathbb{N}$,取 $\delta=1/n>0$,由第 3 步得到 $x_n\in S$ 满足 \(\vert x_n-c\vert <\frac1n\quad\text{且}\quad\vert f(x_n)-f(c)\vert \ge\epsilon_0 .\) (依据:第 3 步 + 选择公理式的逐项选取,这是”构造序列”的标准手法)
- $0\le\vert x_n-c\vert <\frac1n$ 且 $\frac1n\to0$,由夹逼定理 (Squeeze Theorem)(Lecture 8 Theorem 82)得 $\vert x_n-c\vert \to0$,即 $x_n\to c$。(依据:夹逼定理)
- 由第 1 步的假设($x_n\to c$ 且 $x_n\in S$),应有 $f(x_n)\to f(c)$。由 Lecture 8 Theorem 84($x_n\to x\iff\vert x_n-x\vert \to0$),$f(x_n)\to f(c)$ 等价于 $\vert f(x_n)-f(c)\vert \to0$,故该序列的极限为 $0$。(依据:第 1 步 + Theorem 84)
- 另一方面,第 4 步给出 $\vert f(x_n)-f(c)\vert \ge\epsilon_0>0$ 对所有 $n$ 成立。由 Lecture 8 Theorem 87(1)(若 $x_n\le y_n$ 对全体 $n$ 且两者收敛,则 $\lim x_n\le\lim y_n$),把常数列 $\{\epsilon_0\}$ 与 $\{\vert f(x_n)-f(c)\vert \}$ 相比,得 $\epsilon_0\le\lim_{n\to\infty}\vert f(x_n)-f(c)\vert $,于是 \(0=\lim_{n\to\infty}\vert f(x_n)-f(c)\vert \ge\epsilon_0>0,\) 矛盾。(依据:第 6 步与序关系的传递性)
- 矛盾说明反设不成立,故 $f$ 在 $c$ 连续。$\blacksquare$
【证明机制解说】 这个证明的精髓全在第 (4) 部分。我们面对的是一个否定命题:”$f$ 不连续”意味着 \(\exists\epsilon_0\ \forall\delta\ \exists x\ \bigl(\vert x-c\vert <\delta\ \wedge\ \vert f(x)-f(c)\vert \ge\epsilon_0\bigr).\) 注意这个命题里有一个自由变量 $\delta$:只要 $\delta$ 一变,反例点 $x$ 就可以跟着变。我们要把它升级成一条序列——方法是把 $\delta$ 依次取成 $\delta=1,1/2,1/3,\dots$,于是得到一串反例点 $x_1,x_2,x_3,\dots$,每个都满足 $\vert x_n-c\vert <1/n$。取 $1/n$ 而不是别的,是因为我们需要一个趋于 $0$ 的量来做夹逼,而 $1/n$ 是课程里现成的、被 Archimedes 性质保证趋于 $0$ 的序列(Lecture 5 Theorem 43(i))。
这个”把 $\forall\delta$ 的自由选择实例化成 $\delta=1/n$,从而把逐点存在性拧成一条序列“是分析中最重要的构造技巧之一。Lecture 9 的 Bolzano–Weierstrass 证明里有它的影子,Lecture 16 的极值定理证明里也用它。如果你要自己重新发明这个证明,思路应该是这样:
“序列刻画说’每个序列都行’。反证就是找一条不行的序列。连续性的否定给了我一堆零散的坏点,每给定一个半径都能抓到一个。我需要把它们串起来让半径趋于 $0$——那就让半径本身是 $1/n$。”
另外,正向证明里有一个漂亮的变量角色互换:收敛定义里的”$\epsilon$”位置,被我们塞进了连续性的”$\delta$”。同一句话”$\forall\epsilon>0\exists N$”,既可以读成”误差”,也可以读成”半径”。$\epsilon$ 和 $\delta$ 只是字母,它们是可以互相扮演对方的。
- 【证明技巧总结】
- ”$\delta=1/n$ 造序列”(反证不连续 $\Rightarrow$ 造出坏序列)——本讲及 Lecture 16、17 反复使用。
- ”$\epsilon/\delta$ 角色互换”(用连续性的 $\delta$ 去当收敛定义里的 $\epsilon$)——从”函数的一致性”翻译到”序列的收敛性”的通用桥。
- “极限保不等式方向”($y_n\ge\epsilon_0\ \forall n\Rightarrow\lim y_n\ge\epsilon_0$)——把开的 $\epsilon$ 结论升级为闭的 $\ge$ 结论,从而与 $0$ 相撞产生矛盾。
- “补上被排除的那一点”(第 2 部分:把 $0<\vert x-c\vert $ 改成 $\vert x-c\vert $ 不影响结果,因为 $x=c$ 时误差为 $0$)。
引理 15.A(三角函数的四条前置事实;源文件 Theorem 172 证明开头所列)
- 引理陈述:本课程从单位圆的几何定义出发,把下列事实当作已知(源文件原话:”From their definitions in terms of the unit circle, we have that $\sin^2(x)+\cos^2(x)=1$. Also note the following:”):
- $\forall x\in\mathbb{R}$,$\vert \sin x\vert \le1$ 且 $\vert \cos x\vert \le1$;
- $\forall x\in\mathbb{R}$,$\vert \sin x\vert \le\vert x\vert $;
- 和角公式:$\sin(a+b)=\cos a\sin b+\sin a\cos b$;
- 和差化积公式:$\sin a-\sin b=2\sin\!\left(\dfrac{a-b}{2}\right)\cos\!\left(\dfrac{a+b}{2}\right)$;
- (由 1 得到的)$\sin^2x+\cos^2x=1$。
【关于”这些事实从哪来”的诚实交代】 本课程是分析课,但它在三角函数上不重起炉灶。源文件明确写着这些事实来自”单位圆定义”,并把它们与 $\sin^2+\cos^2=1$ 并列列出,没有在 Lecture 15 里证明它们。这与 Final Assignment 首页的明确授权完全一致:
“You may freely use any knowledge of the functions $\sin x$, $\cos x$, $e^x$ and $\log x$ (the natural logarithm) that you retained from calculus.”
也就是说:在本课程中,三角函数的几何定义与基本恒等式是被”自由使用”的已知知识。$\vert \sin x\vert \le\vert x\vert $ 的几何来源是”弦长不超过弧长“:单位圆上角度为 $x$ 的弦长为 $2\vert \sin(x/2)\vert $,对应弧长为 $\vert x\vert $,于是 $2\vert \sin(x/2)\vert \le\vert x\vert $,即 $\vert \sin(x/2)\vert \le\vert x\vert /2$;把 $x$ 换成 $2x$ 就得到 $\vert \sin x\vert \le\vert x\vert $。这个不等式在本讲里是关键的一步(见下文定理 172 的第 5 步)。
若要在分析体系内部严格重建三角函数(完全不依赖几何直观),标准做法是用幂级数 \(\sin x:=\sum_{n=0}^\infty\frac{(-1)^n x^{2n+1}}{(2n+1)!},\qquad \cos x:=\sum_{n=0}^\infty\frac{(-1)^n x^{2n}}{(2n)!}\) 定义它们,再从级数推出全部恒等式。这属于本教材第二卷 §11.4(Complex exponential and trigonometric functions)的内容,本课程不展开。
- 由上述事实推出的两条”补充推论”(源文件未列出,此处标明为补充,并给出推导):
- 补充推论 1(倍角/半角):$\cos 2x=1-2\sin^2x$,等价地 $\sin^2x=\dfrac{1-\cos 2x}{2}$。 推导:由和角公式的”$\cos$ 版本”。先用事实 3 导出 $\cos$ 的和角公式:对任意 $t$ 有 $\cos t=\sin(t+\pi/2)$(这是单位圆定义中 $\cos,\sin$ 相差 $\pi/2$ 相位的直接结果,也是源文件证明 $\cos$ 连续时所使用的等式)。于是 \(\cos(x+y)=\sin\!\left(x+y+\tfrac{\pi}{2}\right)=\sin\!\left(x+\left(y+\tfrac{\pi}{2}\right)\right)=\cos x\sin\!\left(y+\tfrac{\pi}{2}\right)+\sin x\cos\!\left(y+\tfrac{\pi}{2}\right)=\cos x\cos y-\sin x\sin y,\) 最后一步用了 $\sin(y+\pi/2)=\cos y$ 与 $\cos(y+\pi/2)=-\sin y$。取 $y=x$ 得 $\cos 2x=\cos^2x-\sin^2x$;再由事实 5 的 $\cos^2x=1-\sin^2x$,得 $\cos 2x=1-2\sin^2x$。$\blacksquare$ 数值核对(
python3):$x=1.2$ 时 $\cos 2.4=-0.7373937155$,$1-2\sin^2 1.2=-0.7373937155$。✓ - 补充推论 2($\cos$ 的和差化积): \(\cos x-\cos c=-2\sin\!\left(\frac{x+c}{2}\right)\sin\!\left(\frac{x-c}{2}\right).\) 推导:$\cos x-\cos c=\sin(x+\pi/2)-\sin(c+\pi/2)$,对事实 4 取 $a=x+\pi/2,\ b=c+\pi/2$: \(=2\sin\!\left(\frac{x-c}{2}\right)\cos\!\left(\frac{x+c}{2}+\frac{\pi}{2}\right)=2\sin\!\left(\frac{x-c}{2}\right)\cdot\left(-\sin\!\left(\frac{x+c}{2}\right)\right),\) 即得。$\blacksquare$ 数值核对(
python3):$x=1.0,c=0.5$ 时两式之差为 $0.0$(机器精度内);$x=3.0,c=2.0$ 时为 $1.1\times10^{-16}$。✓
- 补充推论 1(倍角/半角):$\cos 2x=1-2\sin^2x$,等价地 $\sin^2x=\dfrac{1-\cos 2x}{2}$。 推导:由和角公式的”$\cos$ 版本”。先用事实 3 导出 $\cos$ 的和角公式:对任意 $t$ 有 $\cos t=\sin(t+\pi/2)$(这是单位圆定义中 $\cos,\sin$ 相差 $\pi/2$ 相位的直接结果,也是源文件证明 $\cos$ 连续时所使用的等式)。于是 \(\cos(x+y)=\sin\!\left(x+y+\tfrac{\pi}{2}\right)=\sin\!\left(x+\left(y+\tfrac{\pi}{2}\right)\right)=\cos x\sin\!\left(y+\tfrac{\pi}{2}\right)+\sin x\cos\!\left(y+\tfrac{\pi}{2}\right)=\cos x\cos y-\sin x\sin y,\) 最后一步用了 $\sin(y+\pi/2)=\cos y$ 与 $\cos(y+\pi/2)=-\sin y$。取 $y=x$ 得 $\cos 2x=\cos^2x-\sin^2x$;再由事实 5 的 $\cos^2x=1-\sin^2x$,得 $\cos 2x=1-2\sin^2x$。$\blacksquare$ 数值核对(
【证明机制解说】 值得停下来看清一件事:源文件把 $\vert \sin x\vert \le\vert x\vert $ 与和角公式并列成”注意以下事实”,而不是当成定理去证。这是刻意的课程设计:Lecture 15 的目标不是重建三角函数,而是展示连续性的序列/拼装机器有多强。把三角恒等式当”零件”,把连续性定理当”机床”——这正是为什么 Lecture 14–15 之后,你可以一口气宣布”$\cos(1/x^2)^2$ 在 $(0,\infty)$ 上连续”(源文件 Example 176(ii))而不写任何 $\epsilon$-$\delta$。
- 【证明技巧总结】
- “承认零件、专注装配”:分析课允许你把初等函数的初等性质当作既得知识(Final Assignment 明确授权),把精力放在逻辑结构上。
- “弦长 ≤ 弧长” 是 $\vert \sin x\vert \le\vert x\vert $ 的唯一几何来源——记住这个图像,比记公式可靠。
- ”$\cos t=\sin(t+\pi/2)$” 是把 $\sin$ 的全部结果免费搬运给 $\cos$ 的传送带(源文件正是这么做的)。
定理 172($\sin$ 与 $\cos$ 在 $\mathbb{R}$ 上连续;源文件 Theorem 172)
定理陈述:函数 $f(x)=\sin x$ 与 $g(x)=\cos x$ 都在 $\mathbb{R}$ 上连续。
证明策略:目标是控制 $\vert \sin x-\sin c\vert $。直接摊开 $\epsilon$-$\delta$ 无从下手,因为 $\sin$ 本身没有代数表达式。关键动作是”和差化积”:把 $\sin x-\sin c$ 写成两个因子的乘积 \(2\sin\!\left(\frac{x-c}{2}\right)\cos\!\left(\frac{x+c}{2}\right).\) 这个分解的好处是一个因子只含 $x-c$(可控),另一个因子的绝对值被 $1$ 卡住(一致有界)。于是乘积被”$2\times$(可控量)$\times1$”控制住,而可控量 $\vert \sin((x-c)/2)\vert $ 又被 $\vert x-c\vert /2$ 控制。三块拼起来恰好给出 $\vert x-c\vert $,于是 $\delta=\epsilon$ 就够了。
这个”拆成一个可控因子乘一个一致有界因子“的结构,与 Lecture 8 证明乘积极限 $\lim x_ny_n=xy$ 时把 $x_ny_n-xy$ 拆成 $(x_n-x)y_n+(y_n-y)x$、再用”$\{y_n\}$ 有界”吸收掉 $\vert x_n-x\vert $ 前面的系数,是同一个思想。请看下表对照:
| 步骤 | Lecture 8 乘积极限 | Lecture 15 $\sin$ 连续 |
|---|---|---|
| 目标 | $\lvert x_ny_n-xy\rvert$ | $\lvert\sin x-\sin c\rvert$ |
| 关键变形 | 加一项减一项:$(x_n-x)y_n+(y_n-y)x$ | 和差化积:$2\sin\frac{x-c}{2}\cos\frac{x+c}{2}$ |
| 有界因子 | $\exists B\ge0,\ \lvert y_n\rvert\le B$(因收敛必有界) | $\left\lvert\cos\frac{x+c}{2}\right\rvert\le1$(因余弦值域在 $[-1,1]$) |
| 小因子 | $\lvert x_n-x\rvert\to0$ | $\left\lvert\sin\frac{x-c}{2}\right\rvert\le\frac{\lvert x-c\rvert}{2}$ |
| 结论 | 乘积 $\to0$,用夹逼定理 | 乘积 $\le\lvert x-c\rvert<\delta=\epsilon$ |
逐步推导:
- 设 $c\in\mathbb{R}$ 任意固定。(依据:要证在每一点连续,即 $\forall c$)
- 设 $\epsilon>0$。(依据:$\forall\epsilon>0\exists\delta$)
- 取 $\delta=\epsilon$。(依据:构造;注意这个 $\delta$ 不依赖 $c$,这是后面要强调的)
- 设 $x\in\mathbb{R}$ 且 $\vert x-c\vert <\delta$。(依据:连续性定义的条件部分)
- 和差化积:由引理 15.A 事实 4,取 $a=x,\ b=c$: \(\sin x-\sin c=2\sin\!\left(\frac{x-c}{2}\right)\cos\!\left(\frac{x+c}{2}\right).\) (依据:和差化积公式)
- 取绝对值(利用 $\vert uv\vert =\vert u\vert \vert v\vert $,源文件 Lecture 5 Theorem 50(3)): \(\vert \sin x-\sin c\vert =\left\vert 2\sin\!\left(\frac{x-c}{2}\right)\cos\!\left(\frac{x+c}{2}\right)\right\vert =2\left\vert \sin\!\left(\frac{x-c}{2}\right)\right\vert \cdot\left\vert \cos\!\left(\frac{x+c}{2}\right)\right\vert .\) (依据:绝对值的乘法性质)
- 下界界住余弦因子:对任意实数 $u=\frac{x+c}{2}$,由引理 15.A 事实 1, \(\left\vert \cos\!\left(\frac{x+c}{2}\right)\right\vert \le1 .\) (依据:$\vert \cos u\vert \le1$)
- 界住正弦因子:对 $u=\frac{x-c}{2}$,由引理 15.A 事实 2, \(\left\vert \sin\!\left(\frac{x-c}{2}\right)\right\vert \le\left\vert \frac{x-c}{2}\right\vert =\frac{\vert x-c\vert }{2}.\) (依据:$\vert \sin u\vert \le\vert u\vert $)
- 合并第 6–8 步: \(\vert \sin x-\sin c\vert \le2\cdot\frac{\vert x-c\vert }{2}\cdot1=\vert x-c\vert .\) (依据:第 7、8 步代入第 6 步;乘法的不等式保序性,因为两个因子都非负)
- 代入 $\delta$:$\vert x-c\vert <\delta=\epsilon$。(依据:第 3、4 步)
- 故 $\vert \sin x-\sin c\vert <\epsilon$。(依据:第 9、10 步的传递性)
- 由于 $c$ 任意,$\sin$ 在 $\mathbb{R}$ 上连续。$\blacksquare$
源文件此处写作 \(\vert \sin x-\sin c\vert =2\left\vert \sin\frac{x-c}{2}\cos\frac{x+c}{2}\right\vert \le2\left\vert \sin\frac{x-c}{2}\right\vert \le2\frac{\vert x-c\vert }{2}=\vert x-c\vert <\delta=\epsilon .\) 中间的第二步(丢掉 $\vert \cos\vert $ 因子)用的就是 $\vert \cos\vert \le1$,第三步用的就是 $\vert \sin u\vert \le\vert u\vert $。与上面第 6–9 步完全一致,只是省略了拆开写的中间量。
(2) $\cos$ 的连续性——源文件的路线(用复合 + 序列刻画)。
- 回忆恒等式 $\forall x\in\mathbb{R}$,$\cos x=\sin(x+\pi/2)$。(依据:单位圆定义)
- 设 $c\in\mathbb{R}$,设 $\{x_n\}$ 满足 $x_n\to c$。(依据:准备使用序列刻画 Theorem 171(3))
- 由收敛序列的加法律(Lecture 8),$x_n+\pi/2\to c+\pi/2$。(依据:$\lim(x_n+a)=\lim x_n+a$)
- 第 1 步已证 $\sin$ 在 $\mathbb{R}$ 上连续,故由序列刻画, \(\lim_{n\to\infty}\sin\!\left(x_n+\frac{\pi}{2}\right)=\sin\!\left(c+\frac{\pi}{2}\right).\) (依据:Theorem 171(3) 的正向)
- 于是 \(\lim_{n\to\infty}\cos x_n=\lim_{n\to\infty}\sin\!\left(x_n+\frac{\pi}{2}\right)=\sin\!\left(c+\frac{\pi}{2}\right)=\cos c .\) (依据:第 1、3、4 步)
- 由序列刻画(Theorem 171(3) 的反向),$\cos$ 在 $c$ 连续;$c$ 任意,故 $\cos$ 在 $\mathbb{R}$ 上连续。$\blacksquare$
(3) $\cos$ 的连续性——直接的和差化积路线(补充写法,与原路线等价)。
- 设 $c\in\mathbb{R}$,$\epsilon>0$,取 $\delta=\epsilon$。(依据:构造)
- 设 $\vert x-c\vert <\delta$。由补充推论 2, \(\cos x-\cos c=-2\sin\!\left(\frac{x+c}{2}\right)\sin\!\left(\frac{x-c}{2}\right).\) (依据:补充推论 2)
- 取绝对值并用 $\vert {-1}\vert =1$、$\vert uv\vert =\vert u\vert \vert v\vert $: \(\vert \cos x-\cos c\vert =2\left\vert \sin\!\left(\frac{x+c}{2}\right)\right\vert \cdot\left\vert \sin\!\left(\frac{x-c}{2}\right)\right\vert .\) (依据:绝对值的乘法性质,Lecture 5 Theorem 50(2)(3))
- 由 $\vert \sin u\vert \le1$(引理 15.A 事实 1)与 $\vert \sin u\vert \le\vert u\vert $(事实 2): \(\vert \cos x-\cos c\vert \le2\cdot1\cdot\frac{\vert x-c\vert }{2}=\vert x-c\vert <\delta=\epsilon .\) (依据:与 $\sin$ 的情形完全平行的两步估计)
- 故 $\cos$ 在 $c$ 连续,$c$ 任意故在 $\mathbb{R}$ 上连续。$\blacksquare$
【证明机制解说】 这个证明的”灵光一现”在于:我们不必知道 $\sin$ 具体是多少,只需要知道它”差得不多”。而”差得不多”的信息恰好可以被和差化积打包成”一半的差角”——角减半是个压缩动作,$\vert x-c\vert $ 变成 $\vert x-c\vert /2$,再乘上前面的系数 $2$ 恰好抵消,只剩下 $\cos$ 因子需要被封顶,而它的封顶值是现成的 $1$。
如果你要自己重新发明它,思考路径是这样的:
“我要估 $\vert \sin x-\sin c\vert $。$\sin$ 没有代数表达式,但我有一堆恒等式。哪个恒等式能把差变成乘积?——和差化积。为什么我要乘积?因为我需要其中一个因子随 $x\to c$ 变小,另一个因子不随 $x$ 乱跑。$\sin((x-c)/2)$ 随 $x\to c$ 变小,$\cos((x+c)/2)$ 反正有界。完美。”
这正是“小 × 有界 = 小”这条黄金法则的又一次胜利。请把这条法则背下来,它在 Lecture 8(乘积极限)、Lecture 15(三角函数连续)、Lecture 21(黎曼积分估计)、Lecture 24(Weierstrass M-判别法)里会以不同面目反复出现。
下面是这个证明的分解结构图——把 $\vert \sin x-\sin c\vert $ 看成两棵”因子树”,一棵负责变小,一棵负责封顶:
|sin x - sin c|
|
| 和差化积(引理 15.A 事实 4)
v
2 · | sin((x-c)/2) | · | cos((x+c)/2) |
\_______/ \________/
| |
"可控因子"(随 x→c 变小) "有界因子"(被 1 封顶)
| |
|sin u| <= |u| |cos u| <= 1
| |
v v
|x-c| / 2 1
\_______ _______/
\/
2 · (|x-c|/2) · 1 = |x-c| < delta = epsilon
^ ^
| |
连续性定义的条件 我们选的 δ(不依赖 c!)
与 Lecture 8 乘积极限证明的同构关系:
|x_n y_n - x y| = |(x_n-x) y_n + (y_n-y) x|
\_____/ \__/ \_____/ \_/
可控 有界 可控 有界
(→0) (|y_n|≤B)(→0) (|x|固定)
---------------------------------------------------------
共同骨架:把目标量拆成一个"会变小的因子"×"被封顶的因子",
再乘上一个常数。变小的部分负责吃掉 epsilon,
有界的部分保证它不会被放大到失控。
另一个值得注意的机制是源文件处理 $\cos$ 的方式:它没有重新做一遍估计,而是用 $\cos x=\sin(x+\pi/2)$ 把一个新问题归约到一个旧问题。这是数学中最高效的思维模式——“能不能不改证明,只改问题?”
- 【证明技巧总结】
- “和差化积”:证三角函数的连续性 = 和差化积 + 把 $\vert \sin u\vert \le\vert u\vert $ 用上。$\sin$ 与 $\cos$ 各自走一遍(或把 $\cos$ 归约到 $\sin$)。
- “小 × 有界”:$2\left\vert \sin\frac{x-c}{2}\right\vert \left\vert \cos\frac{x+c}{2}\right\vert \le 2\cdot\frac{\vert x-c\vert }{2}\cdot1$。与 Lecture 8 乘积极限同构。
- ”$\delta=\epsilon$ 而且不依赖 $c$”:算出来的 $\delta$ 恰好只含 $\epsilon$。这不是巧合,而是副产品——Lipschitz 连续性。
- “归约而非重做”:$\cos x=\sin(x+\pi/2)$ 让 $\cos$ 的结果免费得到。
- “序列刻画搬运加法律”:$x_n\to c\Rightarrow x_n+a\to c+a$ 用的是 Lecture 8 的序列极限运算,而不是 $\epsilon$-$\delta$。
【副产品:Lipschitz 连续(前向引用)】 第 9 步给出的是更强的结论: \(\vert \sin x-\sin c\vert \le 1\cdot\vert x-c\vert \quad\text{与}\quad\vert \cos x-\cos c\vert \le1\cdot\vert x-c\vert ,\qquad \forall x,c\in\mathbb{R}.\) 也就是说 $\sin$ 与 $\cos$ 都是 Lipschitz 连续 的,Lipschitz 常数 $L=1$。这件事将在下面几处被反复使用:
- Lecture 17:一致连续 (uniform continuity) 的正式定义要求 $\delta$ 不许依赖 $c$,而本讲的 $\delta=\epsilon$ 已经满足这一点;
- Assignment 9 第 4 题:Lipschitz $\Rightarrow$ 一致连续,取 $\delta=\epsilon/L$;
- Assignment 9 第 5(a) 题:”Prove that $f(x)=\cos x$ is Lipschitz continuous on $\mathbb{R}$” —— 正是本讲的副产品。
现在就把它记下来:本讲顺手证明了 Assignment 9 第 5(a) 题。
定理 173(多项式处处连续;源文件 Theorem 173)
定理陈述:设 $f$ 是多项式,即 $f(x)=a_dx^d+\cdots+a_1x+a_0$($a_0,\dots,a_d\in\mathbb{R}$,$d\in\mathbb{N}\cup\{0\}$)。则 $f$ 在整个 $\mathbb{R}$ 上连续。
证明策略:不再做任何估计,而是把多项式看成”常数函数与恒等函数的反复乘加”,然后用序列刻画 + Lecture 8 的极限运算法则一次性升级。这是”拼装式证明“的第一次示范。
- 逐步推导:
- 设 $c\in\mathbb{R}$,设 $\{x_n\}$ 满足 $x_n\to c$。(依据:准备用序列刻画 Theorem 171(3))
- 由 Lecture 8 中”$\lim x_n^k=(\lim x_n)^k$”(可由乘法律对 $k$ 归纳证明),$\forall k$,$x_n^k\to c^k$。(依据:序列乘法的归纳)
- 由数乘法则,$a_kx_n^k\to a_kc^k$。(依据:Lecture 8 数乘法则)
- 由加法律(对有限项反复使用), \(\lim_{n\to\infty}f(x_n)=\lim_{n\to\infty}\left(a_dx_n^d+\cdots+a_1x_n+a_0\right)=a_dc^d+\cdots+a_1c+a_0=f(c).\) (依据:Lecture 8 极限的加法与数乘法则,有限次使用)
- 由序列刻画,$f$ 在 $c$ 连续;$c$ 任意,故 $f$ 在 $\mathbb{R}$ 上连续。$\blacksquare$
【证明机制解说】 源文件此处跳过了”$x_n^k\to c^k$”的说明,直接写 $\lim(a_dx_n^d+\cdots)=a_d(\lim x_n)^d+\cdots$。这一步用到的正是 Lecture 8 建立的极限四则运算。要注意的是:“有限次”这个限定是必需的。若求和有无穷多项,加法律不保证可以搬进极限里面——这正是 Lecture 24 要花整讲讨论的”极限能否交换”问题。
- 【证明技巧总结】
- “把函数表达式翻译成一串极限运算”:多项式 = 有限次加法 + 乘法 + 数乘,每一种都在 Lecture 8 里被证明过对极限兼容。
- “有限 vs 无限是分水岭”:四则运算可以搬进极限,是因为只用有限次;无限次的和需要一致收敛(Lecture 24)。
定理 174(连续函数的和、积、商;源文件 Theorem 174)
- 定理陈述:若 $f:S\to\mathbb{R}$、$g:S\to\mathbb{R}$ 在 $c\in S$ 连续,则
- $f+g$ 在 $c$ 连续;
- $f\cdot g$ 在 $c$ 连续;
- 且若 $\forall x\in S,\ g(x)\neq0$,则 $\dfrac{f}{g}$ 在 $c$ 连续。
证明策略:源文件写”These proofs are left to the reader”(留给读者)。方法是序列刻画 + Lecture 8 的相应法则,逐条照搬。下面补全。
- 逐步推导:
- 设 $\{x_n\}$ 满足 $x_n\in S$、$x_n\to c$。(依据:序列刻画)
- 由 $f,g$ 在 $c$ 连续及 Theorem 171(3):$f(x_n)\to f(c)$ 且 $g(x_n)\to g(c)$。(依据:Theorem 171(3) 正向)
- 第 1 条:由 Lecture 8 加法律,$(f+g)(x_n)=f(x_n)+g(x_n)\to f(c)+g(c)=(f+g)(c)$。再由 Theorem 171(3) 反向得 $f+g$ 在 $c$ 连续。$\blacksquare$
- 第 2 条:由 Lecture 8 乘法律,$(f\cdot g)(x_n)=f(x_n)g(x_n)\to f(c)g(c)=(f\cdot g)(c)$。再由 Theorem 171(3) 反向得结论。$\blacksquare$
- 第 3 条:由假设 $g(c)\neq0$(因 $c\in S$ 且 $g$ 处处非零),且 $g(x_n)\neq0$ 对全体 $n$。由 Lecture 8 除法律(其条件正是 $y\neq0$ 且 $y_n\neq0$), \(\left(\frac fg\right)(x_n)=\frac{f(x_n)}{g(x_n)}\to\frac{f(c)}{g(c)}=\left(\frac fg\right)(c).\) 再由 Theorem 171(3) 反向得结论。$\blacksquare$
【证明机制解说】 这里的”读者作业”之所以简单,是因为连续性的序列刻画把所有工作外包给了 Lecture 8。如果不用序列刻画,你要面对的是”给定 $\epsilon$ 找 $\delta$”,还要处理 $\vert f(x)g(x)-f(c)g(c)\vert $ 的”加一项减一项”——那是 Lecture 8 已经做过一遍的苦活。Theorem 171(3) 的全部价值,就是让连续性的证明可以复用序列极限的证明。
- 【证明技巧总结】
- “连续性的代数运算 = 序列极限的代数运算 + 序列刻画”——两行搞定。
- 商的情形必须检查分母:既要有 $g(c)\neq0$,也要有 $g(x_n)\neq0$。源文件在第 3 条里明确写了假设 $\forall x\in S,\ g(x)\neq0$,正是为了喂饱 Lecture 8 除法律的两个前提。
定理 175(复合保持连续;源文件 Theorem 175)
定理陈述:设 $A,B\subset\mathbb{R}$,$f:B\to\mathbb{R}$,$g:A\to B$。若 $g$ 在 $c\in A$ 连续且 $f$ 在 $g(c)\in B$ 连续,则 $f\circ g$ 在 $c$ 连续。
证明策略:这是序列刻画的”三行证明”典范:$x_n\to c$ 推 $g(x_n)\to g(c)$,再推 $f(g(x_n))\to f(g(c))$。
- 逐步推导:
- 设 $\{x_n\}$ 满足 $x_n\in A$、$x_n\to c$。(依据:序列刻画)
- 由 $g$ 在 $c$ 连续及 Theorem 171(3):$g(x_n)\to g(c)$。(依据:Theorem 171(3) 正向)
- 注意 $g(x_n)\in B$ 且 $g(c)\in B$,且 $f$ 在 $g(c)$ 连续,故由 Theorem 171(3) 正向:$f(g(x_n))\to f(g(c))$。(依据:Theorem 171(3) 正向,应用于以 $g(c)$ 为极限的序列 $\{g(x_n)\}$)
- 于是 $(f\circ g)(x_n)\to(f\circ g)(c)$;由 Theorem 171(3) 反向,$f\circ g$ 在 $c$ 连续。$\blacksquare$
【证明机制解说】 这个证明看起来”什么都没做”,其实它示范了复合的传递性:连续性像接力棒一样穿过两层函数。源文件只用了两行,因为序列刻画把”$\epsilon$-$\delta$ 的两级嵌套”(这一般是复合证明中最容易出错的地方)完全藏进了定理 171。这正是抽象的价值:一旦定理被证明,后续使用就变得平凡。
- 【证明技巧总结】
- “$g(x_n)$ 当作新序列”:复合的序列证明只需把中间序列看成”下一段推理的输入序列”。
- “链条式传递”:连续 $\to$ 连续 $\to$ 连续,每一步都调用同一个定理。
例 176(用拼装法免去 $\epsilon$-$\delta$ 大证明;源文件 Example 176)
例 176(i):$\dfrac{1}{x^2}$ 在 $(0,\infty)$ 上连续。 推导:$g(x)=x^2$ 是多项式,由 Theorem 173 在 $\mathbb{R}$ 上连续,特别在 $(0,\infty)$ 上连续;在 $(0,\infty)$ 上 $g(x)=x^2\neq0$;由 Theorem 174(3),$\frac1g(x)=\frac1{x^2}$ 在 $(0,\infty)$ 上连续。$\blacksquare$
例 176(ii):$\left(\cos\dfrac1{x^2}\right)^2$ 在 $(0,\infty)$ 上连续。 推导:设 $h(x)=1/x^2$,由 (i) 在 $(0,\infty)$ 连续;$\cos$ 由 Theorem 172 在 $\mathbb{R}$ 上连续。它们的复合 $k(x)=\cos(1/x^2)$ 由 Theorem 175 在 $(0,\infty)$ 上连续。再由 Theorem 174(2),$k^2(x)=\left(\cos\frac1{x^2}\right)^2$ 在 $(0,\infty)$ 上连续。$\blacksquare$ 对照:若直接从定义出发,你需要对每个 $c>0$ 估计 $\left\vert \cos\frac1{x^2}-\cos\frac1{c^2}\right\vert $ 并凑出一个 $\delta$(实际上由 $\vert \cos u-\cos v\vert \le\vert u-v\vert $ 与 $\left\vert \frac1{x^2}-\frac1{c^2}\right\vert =\frac{\vert x-c\vert \vert x+c\vert }{x^2c^2}$ 配合 $\min\{\cdots\}$ 技巧可以做到,但明显更繁琐)。这就是”定理拼装”的威力。
【证明机制解说】 Example 176 的存在本身就是本讲的教学信息:Lecture 13–14 花了大力气把 $\epsilon$-$\delta$ 一砖一瓦砌好;Lecture 15 起,你要开始住进这栋房子,而不是继续搬砖。
问题 177(源文件 Question 177)
“Let $f:\mathbb{R}\to\mathbb{R}$ be a function. Does there exists a point $c\in\mathbb{R}$ such that $f$ is continuous at $c$?”
源文件紧接着用 Theorem 178 给出答案:不一定存在。这个提问的作用是制造张力——在直觉上,”函数”似乎总该有点连续的地方(哪怕是分段函数也只在”接缝”处断)。Dirichlet 函数把这个直觉击碎。
定理 178(Dirichlet 函数处处不连续;源文件 Theorem 178)
定理陈述:函数 \(f(x)=\begin{cases}1,&x\in\mathbb{Q}\\0,&x\in\mathbb{R}\setminus\mathbb{Q}\end{cases}\) 在 $\mathbb{R}$ 上并非处处连续。(源文件的措辞是 “is not continuous on all of $\mathbb{R}$”;但下面给出的证明实际上给出了更强的结论:$f$ 在每一个 $c\in\mathbb{R}$ 处都不连续。)这个函数被称为 Dirichlet 函数。
证明策略:用序列刻画(Theorem 171(3) 的逆向使用)+ 稠密性(Lecture 5 Theorem 43)。要对每个 $c$ 制造一条 $x_n\to c$ 但 $f(x_n)\not\to f(c)$ 的序列。武器是:$c$ 附近永远有理数,也永远有无理数。因此分成两个情形:
- 若 $c$ 是有理点,就朝它逼近一列无理数:这些点的函数值恒为 $0$,而 $f(c)=1$;
- 若 $c$ 是无理点,就朝它逼近一列有理数:这些点的函数值恒为 $1$,而 $f(c)=0$。
两种情形都会得到”像序列的极限 $\neq f(c)$”,于是违反 Theorem 171(3)。
【关于稠密性的引用与源文件的排版说明】 源文件直接写 “For each $n\in\mathbb{N}$, $\exists x_n\notin\mathbb{Q}$ such that $c<x_n<c+1/n$”,没有解释存在性。它的依据是:
- 有理数稠密性:Lecture 5 Theorem 43(ii)——”If $x,y\in\mathbb{R}$ and $x<y$ then $\exists r\in\mathbb{Q}$ such that $x<r<y$”;
- 无理数稠密性:Assignment 3 第 1 题——”Suppose $x,y\in\mathbb{R}$ and $x<y$. Prove that there exists $i\in\mathbb{R}\setminus\mathbb{Q}$ such that $x<i<y$”。
有了这两条,取 $x=c$、$y=c+1/n$ 即可得 $x_n\in(c,c+1/n)$ 且具有所需的有理/无理属性。
【源文件的一处笔误,必须提醒】 提取出的源文件在证明两个情形时把函数值写反了:情形 1($c\in\mathbb{Q}$)写成 “$\exists x_n\notin\mathbb{Q}$ … but $f(x_n)=1$ for all $n$ so $1=\lim f(x_n)\neq f(c)=0$”;情形 2($c\notin\mathbb{Q}$)写成 “$\exists x_n\in\mathbb{Q}$ … $f(x_n)=0$ … $0=\lim f(x_n)\neq f(c)=1$”。按定义,有理点处函数值为 $1$,无理点处为 $0$,所以这两句里的 $1$ 与 $0$ 恰好互换。下面给出修正后的证明。笔误不影响结论(两个情形照样各自矛盾),但读者若照着原文字面抄写会写出自相矛盾的句子,特此标注。
逐步推导:
- 设 $c\in\mathbb{R}$ 任意。(依据:要证”在每一点都不连续”)
- 情形 A:$c\in\mathbb{Q}$。
- 对每个 $n\in\mathbb{N}$,区间 $(c,\ c+1/n)$ 非空。由无理数稠密性(Assignment 3 第 1 题),$\exists x_n\in\mathbb{R}\setminus\mathbb{Q}$ 使得 $c<x_n<c+1/n$。(依据:无理数稠密性)
- 由 $f$ 的定义,$f(x_n)=0$ 对全体 $n$ 成立。(依据:$x_n\notin\mathbb{Q}$)
- $0<x_n-c<1/n$,故 $\vert x_n-c\vert <1/n$。因 $1/n\to0$,由夹逼定理 $x_n\to c$。(依据:夹逼定理,Lecture 8 Theorem 82)
- 若 $f$ 在 $c$ 连续,则由 Theorem 171(3),$f(x_n)\to f(c)$。但 $f(x_n)\equiv0$,故 $f(x_n)\to0$;而 $f(c)=1$(因 $c\in\mathbb{Q}$)。于是由极限的唯一性(Lecture 6)必须 $0=1$,矛盾。(依据:Theorem 171(3) + 极限唯一性)
- 故 $f$ 在 $c$ 不连续。$\blacksquare$
- 情形 B:$c\notin\mathbb{Q}$。
- 对每个 $n\in\mathbb{N}$,由有理数稠密性(Lecture 5 Theorem 43(ii)),$\exists x_n\in\mathbb{Q}$ 使得 $c<x_n<c+1/n$。(依据:$\mathbb{Q}$ 稠密性)
- 由 $f$ 的定义,$f(x_n)=1$ 对全体 $n$ 成立。(依据:$x_n\in\mathbb{Q}$)
- 同上,$x_n\to c$。(依据:夹逼定理)
- 若 $f$ 在 $c$ 连续,则由 Theorem 171(3),$f(x_n)\to f(c)$。但 $f(x_n)\equiv1$,故 $f(x_n)\to1$;而 $f(c)=0$(因 $c\notin\mathbb{Q}$)。于是必须 $1=0$,矛盾。(依据:Theorem 171(3) + 极限唯一性)
- 故 $f$ 在 $c$ 不连续。$\blacksquare$
- 两种情形穷尽了 $c\in\mathbb{R}$ 的所有可能($\mathbb{R}=\mathbb{Q}\cup(\mathbb{R}\setminus\mathbb{Q})$,且两者不交),故 $f$ 在每一个 $c\in\mathbb{R}$ 处都不连续。$\blacksquare$
- 用 $\epsilon$-$\delta$ 语言重述同一个结论(补充,等价写法):对任意 $c$ 与任意 $\delta>0$,
- 在 $(c-\delta,c+\delta)$ 中取一个有理点 $q$,则 $\vert q-c\vert <\delta$ 但 $\vert f(q)-f(c)\vert $ 等于 $1$ 或 $0$;
- 再取一个无理点 $i$,则 $\vert i-c\vert <\delta$ 但 $\vert f(i)-f(c)\vert $ 等于另一个值;
- 于是 $\max\{\vert f(q)-f(c)\vert ,\ \vert f(i)-f(c)\vert \}=1$。
换句话说,取 $\epsilon_0=1$ 就在每个点上都成立(”坏的 $\epsilon_0$”可以选得与 $c$ 无关!): \(\forall c\in\mathbb{R},\ \ \exists\epsilon_0=1\ \ \text{使得}\ \ \forall\delta>0\ \exists x\in\mathbb{R}:\ \ \vert x-c\vert <\delta\ \ \text{且}\ \ \vert f(x)-f(c)\vert \ge1 .\) 数值验证(
python3):取 $c=\sqrt2$,$\delta=0.001$ 时 $140/99$ 满足 $\vert 140/99-\sqrt2\vert =7.2148\times10^{-5}<0.001$ 且 $\vert f(140/99)-f(\sqrt2)\vert =\vert 1-0\vert =1\ge\epsilon_0$;取 $\delta=10^{-6}$ 时 $1393/985$ 满足 $\vert 1393/985-\sqrt2\vert =3.6440\times10^{-7}<10^{-6}$,同样 $\vert f(1393/985)-f(\sqrt2)\vert =1$。✓ 【证明机制解说】 为什么这个函数如此重要?三个层面:
- 它是”反例工厂”(counterexample factory)。数学史上一大批重要概念都是被病态函数逼出来的:Dirichlet 函数在 Lecture 21 的语境下不是黎曼可积的(因为上和与下和的差恒为区间长度,无法被压到任意小——这一结论请以 Lecture 21 的正式内容为准,此处仅作前向提示);它也没有原函数(在任何区间上都不满足达布性质);它是”不连续点集可以极其庞大”的最极端例子。更重要的是,它证明了一个逻辑事实:“函数处处不连续”是可以实现的,因此”连续”是一个真正的限制,不是自动成立的性质。这就是 Question 177 的答案。
- 它是”稠密性是关键武器”的展示台。整个证明只用了一件事:$\mathbb{Q}$ 与 $\mathbb{R}\setminus\mathbb{Q}$ 都在 $\mathbb{R}$ 中稠密(Lecture 5 Theorem 43(ii) 与 Assignment 3 第 1 题)。如果把定义域换成 $\mathbb{Z}$,$f$ 会在每一点都连续(因为 $\mathbb{Z}$ 的点都是孤立点,Theorem 171(1) 直接给出连续性)。同一个公式,换一个定义域,连续性彻底反转。
- 它是”序列刻画比 $\epsilon$-$\delta$ 更好用”的实证。用 $\epsilon$-$\delta$ 写这个证明,你要反复做”取点 $q\in(c-\delta,c+\delta)\cap\mathbb{Q}$”这种操作;用序列刻画,你只需要”造一条序列,它的像序列有错误的极限”,一切矛盾由极限唯一性(Lecture 6)自动完成。这种”用唯一性制造矛盾”的模式,是本讲最值得带走的证明范式。
如果你要自己重新发明这个证明,思路是:
“我要让 $f$ 在每个点都不连续。连续要求’输入靠近 $\Rightarrow$ 输出靠近’。这里的输出只有两个可能值 $0,1$,任何跨越它们的变化都是距离 $1$ 的大变化。所以我只要保证:在 $c$ 的任意小邻域里,$f$ 同时取到 $0$ 和 $1$。而在实数轴上,任意小邻域里同时有有理数和无理数——这正是稠密性。”
- 【证明技巧总结】
- “两类别 + 互相逼近”:把点按属性分成两类(有理/无理),每类都用对方的序列去逼近,得到”值不动、位置在动”的像序列。
- “取 $\epsilon_0=1$”:当一个函数的取值集合是 $\{0,1\}$ 时,最自然的”坏预算”就是 $1$。
- “用极限唯一性制造矛盾”:$f(x_n)\to0$ 与 $f(x_n)\to1$ 不能同真。
- “稠密性 = 无处可逃”:只要某个集合在两个互补方向上稠密,任何邻域都会露出它的成员。这个模式在 Lecture 16(介值定理的证明里用中点的两侧取点)和 Lecture 21 都会重现。
补充例 15.B(Dirichlet 函数的两个经典变体)
【补充】 源文件没有包含这两个变体,但它们与 Theorem 178 是同一思想的延伸,且Assignment 8 第 2 题与Assignment 8 第 3 题(Exercise 3.2.11)正好在这个主题上训练,所以在此给出,并标明为补充。
变体一(Assignment 8 第 2 题,源文件作业原文) \(f(x)=\begin{cases}0,&x\in\mathbb{Q}\\2x,&x\notin\mathbb{Q}\end{cases}\)
- 结论:$f$ 在 $x=0$ 连续,在 $x=1$ 不连续。
- $x=0$ 连续性的完整证明($\epsilon$-$\delta$ 直接做法):
- 设 $\epsilon>0$,取 $\delta=\epsilon/2$。(依据:构造,我们要用 $\vert 2x\vert =2\vert x\vert $ 的形式)
- 设 $\vert x-0\vert <\delta$。分两种情形:
- 若 $x\in\mathbb{Q}$:$\vert f(x)-f(0)\vert =\vert 0-0\vert =0<\epsilon$。
- 若 $x\notin\mathbb{Q}$:$\vert f(x)-f(0)\vert =\vert 2x-0\vert =2\vert x\vert <2\delta=\epsilon$。
- 两种情形都有 $\vert f(x)-f(0)\vert <\epsilon$,故 $f$ 在 $0$ 连续。$\blacksquare$ 具体数字验算:$\epsilon=0.01\Rightarrow\delta=0.005$。取 $x=0.0049$(无理数,例如 $0.0049$ 的小数有限展开是有理数——严格地说我们应取 $x=0.0049+\sqrt2\times10^{-9}$ 之类的无理数;数值上 $\vert f(x)-0\vert =2\times0.0049=0.0098<0.01$ ✓)。取 $x=0.001$ 时 $\vert f(x)\vert =0.002<0.01$ ✓。(
python3验算:2*0.0049=0.0098,2*0.001=0.002。)
- $x=1$ 不连续的证明(序列刻画):
- 对每个 $n$,由无理数稠密性取 $x_n\notin\mathbb{Q}$ 满足 $1<x_n<1+1/n$。(依据:Assignment 3 第 1 题)
- 则 $x_n\to1$ 而 $f(x_n)=2x_n\to2$。(依据:夹逼 + Lecture 8 数乘法则)
- 但 $f(1)=0$(因 $1\in\mathbb{Q}$)。若 $f$ 在 $1$ 连续,由 Theorem 171(3) 须有 $2=f(1)=0$,矛盾。(依据:Theorem 171(3) + 极限唯一性)
- 故 $f$ 在 $1$ 不连续。$\blacksquare$
- 【机制解说】 连续性要求两个分支在 $c$ 处会师:$0=c$ 的”有理分支值”与”无理分支极限值 $2c$”必须相等。$0=2\cdot0$ 成立,$0\neq2\cdot1$ 不成立。这正是 Dirichlet 函数”处处断”的量化原因:它的两个分支在每一点都差 $1$。
变体二(Thomae 函数 / 爆米花函数,popcorn function) \(T(x)=\begin{cases}\dfrac1q,&x=\dfrac pq\ \text{为既约分数},\ q>0\\[4pt]0,&x\notin\mathbb{Q}\end{cases}\)
- 结论:$T$ 在每个无理点连续,在每个有理点不连续。这是”不连续点集可以是可数稠密集“的经典例子——与 Dirichlet 函数(处处不连续)形成鲜明对照。
- 证明思路(无理点 $c$ 处连续):
- 设 $\epsilon>0$,取 $Q=\lceil1/\epsilon\rceil$(即分母 $q\le Q$ 时 $1/q\ge\epsilon$)。(依据:Archimedes 性质)
- 分母 $\le Q$ 的有理数在 $c$ 的某个有限邻域内只有有限多个(因为固定分母 $q$ 时,$c$ 附近最多 $1$ 个这样的点)。设它们中离 $c$ 最近的距离为 $d>0$(因 $c$ 无理,$d>0$)。(依据:有限集有最小值)
- 取 $\delta=d$。若 $\vert x-c\vert <\delta$ 且 $x$ 是有理数 $p/q$(既约),则必须 $q>Q$,故 $\vert T(x)-T(c)\vert =1/q<1/Q\le\epsilon$;若 $x$ 无理,则 $\vert T(x)-T(c)\vert =0<\epsilon$。(依据:构造)
- 故 $T$ 在无理点 $c$ 连续。$\blacksquare$ 数值核对(
python3):取 $c=\sqrt2$,$\epsilon=0.1\Rightarrow Q=10$;在 $c$ 附近分母 $\le10$ 的最近有理数是 $7/5=1.4$,距离 $0.014214$;在 $(1.41,1.42)$ 内分母 $\le10$ 的有理数个数为 $0$。$\epsilon=0.01\Rightarrow Q=100$,最近的是 $140/99$,距离 $7.215\times10^{-5}$。可见 $\delta$ 随 $\epsilon\to0$ 缩小,但始终为正——这正是连续性的要求。
- 证明思路(有理点 $c=p/q$ 处不连续):取一列无理数 $i_n\to c$,则 $T(i_n)=0\to0$ 而 $T(c)=1/q>0$;由 Theorem 171(3) 与极限唯一性得矛盾。(依据:不变性同 Theorem 178 情形 A)
- 【为什么这个例子值得记住】 它说明”不连续点集的大小“是一个真正的分析概念:Dirichlet 函数的不连续点集是整个 $\mathbb{R}$(不可数),而 Thomae 函数的不连续点集是 $\mathbb{Q}$(可数)。Lebesgue 的判据(黎曼可积 $\iff$ 不连续点集是零测集)正是在这类例子的推动下产生的——这属于第二卷的内容,此处仅作提示。
补充例 15.C(三类间断点的验证)
【补充】 前面已给出三类间断点的定义表,这里补上每类的完整验证。
(1)可去间断:源文件 Lecture 14 Example 169 的 \(f(x)=\begin{cases}1,&x\neq0\\2,&x=0\end{cases}\) 在 $c=0$ 处:$\lim_{x\to0}f(x)=1$ 存在,但 $f(0)=2\neq1$。故 $0$ 是可去间断点。 验证极限为 $1$:设 $\epsilon>0$,取 $\delta=1$(任何正数都行)。若 $0<\vert x-0\vert <1$,则 $x\neq0$,故 $\vert f(x)-1\vert =\vert 1-1\vert =0<\epsilon$。✓ 注意:如果把 $f(0)$ 改成 $1$,函数立刻在 $0$ 连续——这就是”可去”的含义。
(2)跳跃间断:源文件 Lecture 14 Example 165 的 \(f(x)=\begin{cases}1,&x>0\\0,&x<0\end{cases}\) 在 $c=0$ 处:由源文件 Definition 161/163 与 Example 165,$\lim_{x\to0^-}f(x)=0$ 而 $\lim_{x\to0^+}f(x)=1$;由 Theorem 166,两个单侧极限不等故 $\lim_{x\to0}f(x)$ 不存在,$f$ 在 $0$ 不连续。两极限都存在但不等,故为跳跃间断。 用序列验证:取 $x_n=1/n\to0^+$,$f(x_n)=1\to1$;取 $y_n=-1/n\to0^-$,$f(y_n)=0\to0$。若 $f$ 在 $0$ 连续则两条像序列须同趋于 $f(0)$,不可能。
(3)本质间断:$f(x)=\sin(1/x)$($x\neq0$),$f(0)=0$,在 $c=0$ 处。 证明:取 $x_n=\dfrac{1}{\pi/2+2\pi n}$,则 $x_n\to0^+$ 且 $f(x_n)=\sin(\pi/2+2\pi n)=1$ 对全体 $n$ 成立。若 $f$ 在 $0$ 连续,须 $1=f(0)=0$,矛盾。故右极限不存在,为本质间断。 数值验证(python3):$x_0=0.63661977,\ x_1=0.12732395,\ x_2=0.07073553,\ x_3=0.04897075$,对应的 $\sin(1/x_n)$ 全部等于 $1.0000000000$。✓ 另一个本质间断的例子:若把 Dirichlet 函数在某点考察,其两个单侧极限都不存在(因为每个单侧邻域里都有理数与无理数),故也是本质间断——只不过它”处处”都是本质间断。
补充讨论 15.D($\lim_{x\to0}\sin x=0$、$\lim_{x\to0}\cos x=1$ 与 $\lim_{x\to0}\frac{\sin x}{x}=1$)
【补充,并明确交代课程立场】 源文件 Lecture 15 没有讨论 $\lim_{x\to0}\frac{\sin x}{x}$。这个极限在 Assignment 11 第 3(a) 题(”Compute $\lim_{x\to0}\frac{x-\sin x}{x^3}$”)与 Assignment 11 第 3(b) 题(”Compute $\lim_{x\to\pi/2}\frac{1-\sin x}{\left(x-\frac{\pi}{2}\right)^2}$”)中作为计算题出现,而这两题依赖 Taylor 定理(Lecture 20–21),不是依赖面积不等式。
前两个极限是定理 172 的直接推论:由连续性定义,若 $f$ 在 $0$ 连续则 $\lim_{x\to0}f(x)=f(0)$。故 \(\lim_{x\to0}\sin x=\sin0=0,\qquad \lim_{x\to0}\cos x=\cos0=1 .\) (这里用了 $\sin0=0$、$\cos0=1$,属于引理 15.A 层面上”从单位圆定义可自由使用”的已知值。) $\epsilon$-$\delta$ 的显式版本:由 $\vert \sin x-\sin 0\vert \le\vert x-0\vert $,取 $\delta=\epsilon$ 即可。
关于 $\lim_{x\to0}\frac{\sin x}{x}=1$:经典的几何证明走”面积夹逼”路线: \(0<x<\frac{\pi}{2}\ \Longrightarrow\ \sin x<x<\tan x\ \Longrightarrow\ \cos x<\frac{\sin x}{x}<1 .\) 本课程在这一讲并未建立面积不等式 $\sin x<x<\tan x$;源文件 Theorem 172 只列出了较弱的 $\vert \sin x\vert \le\vert x\vert $。因此,在本课程体系里要说 $\lim_{x\to0}\frac{\sin x}{x}=1$,更自然的路线是先建立 Taylor 展开 $\sin x=x-\frac{x^3}{6}+O(x^5)$(Lecture 20 Theorem 225 (Taylor)),再取极限。Assignment 11 第 3 题正是这条路线:它要求算 $\frac{x-\sin x}{x^3}$,答案 $1/6$ 来自 $\sin$ 的四阶(奇次到三次)Taylor 多项式 —— 数值核对(
python3):$x=0.1$ 时 $\frac{x-\sin x}{x^3}=0.16658335$,$x=0.01$ 时 $=0.16666583$,$x=0.001$ 时 $=0.16666666$,收敛到 $1/6=0.16666666\cdots$ ✓;而第 3(b) 题 $\lim_{x\to\pi/2}\frac{1-\sin x}{(x-\pi/2)^2}$ 的答案是 $1/2$(用 $\sin(\pi/2+h)=\cos h=1-\frac{h^2}{2}+O(h^4)$),数值核对:$h=0.1$ 时 $\frac{1-\sin(\pi/2+h)}{h^2}=0.49958347$,$h=0.01$ 时 $=0.49999583$,收敛到 $0.5$ ✓。所以:不要在本讲用面积不等式去”证明”这个极限,因为本课程尚未把它作为定理列出。
与教材的对应
- 对应 [JL] §3.1(Limits of functions):该节的核心命题是
- 聚点 (cluster point) 的定义与序列刻画(源文件 Lecture 13 Definition 148 / Theorem 149);
- 函数极限的 $\epsilon$-$\delta$ 定义与唯一性(源文件 Definition 150 / Theorem 152);
- $\S3.1.3$ 序列极限:函数极限的序列刻画——这是本讲 Theorem 171 第 2、3 部分的直接来源(源文件 Lecture 14 亦提示 “You may read the end of Section 3.1.3 [L] for this.”);
- $\S3.1.4$ Limits of restrictions and one-sided limits:单侧极限(源文件 Lecture 14 Definition 161/163/Theorem 166),本讲用它来讨论跳跃间断。
- 对应 [JL] §3.2(Continuous functions):
- $\S3.2.1$ Definition and basic properties:连续性的 $\epsilon$-$\delta$ 定义(源文件 Definition 167 = 教材 Definition 3.2.1);连续性的基本性质(源文件 Theorem 171 = 教材 Proposition 3.2.2 的三条)。
- $\S3.2.2$ Composition of continuous functions:复合的连续性(源文件 Theorem 175 = 教材 Theorem 3.2.7 的对应命题),以及连续函数四则运算(源文件 Theorem 174)。
- $\S3.2.3$ Discontinuous functions:间断函数的例子,包含 Dirichlet 函数(源文件 Theorem 178)与可去间断的例子(教材 §3.2.3 讨论 removable discontinuity,源文件 Lecture 14 Example 169 是其对应)。
- $\S3.2.4$ Exercises:见下面的作业对应。
- 对应 OCW Assignment 8(Reading Sections 3.1, 3.2):
- Exercise 3.1.3 —— 练习 §3.1 的函数极限/聚点基础(给定题号,OCW 作业原文未附题干)。
- 第 2 题(原文):”Let $f(x)=0$ if $x\in\mathbb{Q}$, $f(x)=2x$ if $x\notin\mathbb{Q}$. Prove that $f$ is continuous at $x=0$ and discontinuous at $x=1$.” —— 直接演练本讲 Theorem 178 的”两类点互相逼近”技巧,但结论相反(在 $0$ 连续);本讲已给出完整解答(补充例 15.B 变体一)。
- Exercise 3.2.11 —— §3.2 的连续性判定题(给定题号)。就本讲主题而言,它训练”用定义/序列刻画判定一个分段函数的连续与间断”(该题涉及在 $0$ 处含 $\sin(1/x)$ 型表达式的分段函数)。
- Exercise 3.2.14 —— §3.2 的连续性习题(给定题号;OCW 作业原文仅列题号,未附题干)。
- 第 5 题(原文):”Let $f:\mathbb{R}\to\mathbb{R}$. Recall that if $U\subset\mathbb{R}$, the inverse image of $U$ is the set $f^{-1}(U):=\{x\in\mathbb{R}:f(x)\in U\}$. Prove that $f$ is continuous if and only if for every open set $U\subset\mathbb{R}$, $f^{-1}(U)$ is open.” —— 这是本讲连续性的”拓扑刻画”。它的证明要同时用到 Definition 167($\epsilon$-$\delta$)与”开集”的定义(Assignment 3 第 5 题定义的 open set);它与 Theorem 171(3) 是同一枚硬币的两面(一个用序列,一个用开集)。注意本课程为了这道题,在 Assignment 3 第 5 题里已经建立了开集的基本性质($(-\infty,a),(a,b),(b,\infty)$ 是开的;任意并是开的;有限交是开的;$\mathbb{Q}$ 不是开的)。
- 对应 OCW Assignment 9(Reading Sections 3.3, 3.4, 3.5):
- Exercise 3.3.11 —— §3.3(极值定理 / 介值定理)的习题(给定题号)。它与本讲的连接在于:本讲证明的连续性是 Lecture 16 全部结论的前提。
- Exercise 3.4.3、Exercise 3.4.8 —— §3.4(一致连续)的习题(给定题号)。
- 第 4 题(原文):”Let $S\subset\mathbb{R}$. We say that $f:S\to\mathbb{R}$ is Lipschitz continuous on $S$ if there exists $L\ge0$ such that for all $x,y\in S$, $\vert f(x)-f(y)\vert \le L\vert x-y\vert $. Prove that if $f:S\to\mathbb{R}$ is Lipschitz continuous on $S$ then $f$ is uniformly continuous on $S$.” —— 本讲定理 172 的副产品($L=1$)在此被正式使用。
- 第 5(a) 题(原文):”Prove that $f(x)=\cos x$ is Lipschitz continuous on $\mathbb{R}$.” —— 本讲已证完($\vert \cos x-\cos c\vert \le\vert x-c\vert $,取 $L=1$)。
- 第 5(b) 题(原文):”Prove that $f(x)=x^{1/3}$ is uniformly continuous on $[0,1]$ and is not Lipschitz continuous on $[0,1]$.” —— 反面例子,说明 Lipschitz 严格强于一致连续。
- 第 6(b) 题(原文):”Prove that $\lim_{x\to\infty}\sin x$ does not exist.” —— 这题的直接工具是本讲的连续性 + 序列刻画:取 $x_n=2\pi n\to\infty$ 得 $\sin x_n\to0$,取 $y_n=\pi/2+2\pi n\to\infty$ 得 $\sin y_n\to1$;两个”沿不同路径的极限”不同,故极限不存在。同样的”取两条路径”思想就是本讲 Theorem 178 的证明骨架。
- 对应 Midterm / Final(
hw_all.txt):- Final Assignment 第 1(i) 题:”Let $S\subset\mathbb{R}$. A function $f:S\to\mathbb{R}$ is not continuous at $c\in S$ if ___” —— 要求写出不连续的精确定义。这正是源文件 Negation 170(本讲反复使用的工具)。
- Final Assignment 第 1(ii) 题(非一致连续的否定)与 Lecture 17 相关,但同样以本讲的量词结构为基础。
- Final Assignment 第 2(b) 题:”Let $f,g:S\to\mathbb{R}$ be functions continuous at $c\in S$. Prove that the product $fg$ is continuous at $c$.” —— 本讲 Theorem 174 第 2 条。
- Final Assignment 第 3(b) 题(连续函数把 $[a,b]$ 映成紧集)与 Lecture 16 相关,前提是本讲的连续性。
- Final Assignment 第 4(a)(ii) 题:”Give an explicit example of a function showing the converse of part (i) is false.”(可微 $\Rightarrow$ 连续,反之不真)—— 可用绝对值的折点,也可用本讲 Dirichlet 型的病态构造来强化印象。
- Final Assignment 第 4(b) 题:$f(x)=x^2\sin(1/x)$($x\neq0$),$f(0)=0$,用导数定义证 $f$ 在 $0$ 可微 —— 这题要用 $\vert \sin u\vert \le\vert u\vert $(引理 15.A 事实 2)与夹逼,与本讲 $\sin$ 连续性证明用的是同一把钥匙。
- Final Assignment 首页的授权:”You may freely use any knowledge of the functions $\sin x$, $\cos x$, $e^x$ and $\log x$ … that you retained from calculus.” —— 这是引理 15.A 中”三角函数基本事实可自由使用”的官方依据。
与其他讲次的关联
- ← Lecture 5(Theorem 43(ii),稠密性):Theorem 178 的证明完全依赖“任意两个实数之间有有理数”。而情形 A($c$ 有理)还需要”任意两个实数之间有无理数”——这是 Assignment 3 第 1 题的结果。没有稠密性,Dirichlet 函数处处不连续这个结论根本无法证明:在 $\mathbb{Z}$ 上同一个公式处处连续。
- ← Lecture 8(Theorem 84 加法律、Theorem 87/89 乘法律与除法律、Theorem 82 夹逼定理):Theorem 173(多项式)、Theorem 174(和积商)、Theorem 175(复合)的证明没有一步是自己的:全部搬运 Lecture 8 的序列极限运算。而 Theorem 171(3) 反向证明的收尾用的也是夹逼定理与”极限保不等式”。这就是 Lecture 8 存在的意义。
- ← Lecture 13–14(Definition 148/150/167、Negation 170、Theorem 166):本讲的 Theorem 171 是 Lecture 13–14 的直接延续:Definition 167 给了连续性的 $\epsilon$-$\delta$ 版本,Theorem 171(3) 给了它的序列版本;Negation 170 是 Theorem 171(3) 反向证明与 Final Assignment 第 1(i) 题的模板;Theorem 166(单侧极限)用来鉴别跳跃间断。
- → Lecture 16(极值定理 Theorem 182、介值定理 Theorem 187):本讲建立的 $\sin,\cos$ 连续性 + 多项式连续性 + 四则运算 + 复合,立刻成为 Lecture 16 的函数库存。例如介值定理可以直接用来证明”$\cos x$ 在 $[0,\pi/2]$ 上有零点”这类存在性命题。
- → Lecture 17(一致连续 Definition 193 与导数 Definition 198):本讲的副产品 $\vert \sin x-\sin c\vert \le\vert x-c\vert $、$\vert \cos x-\cos c\vert \le\vert x-c\vert $ 是 Lecture 17 中”$\delta$ 不依赖 $c$”的第一个完整例子;而 Assignment 9 第 4、5 题正式把 Lipschitz $\Rightarrow$ 一致连续写进作业。另外,Lecture 17 证明 $(\sin x)’=\cos x$ 时要用到 $\frac{\sin h}{h}\to1$ 与和角公式——和角公式正是本讲引理 15.A 事实 3。
- → Lecture 21(连续函数黎曼可积 Theorem 235):该定理的前提是 $f\in C([a,b])$,而”哪些函数属于 $C([a,b])$”这个清单正是本讲给出的(三角、多项式、四则、复合)。同时,Dirichlet 函数作为不可积的极端反例,正是 Lecture 21 讨论”连续这个假设不能去掉”时最有力的素材。
- → Lecture 25 / 第二卷 §11.4:若要在分析内部重建三角函数(不依赖单位圆几何),需要用幂级数定义 $\sin,\cos$ 并证明全部恒等式;这是本课程故意留在后面的内容,也解释了为什么本讲可以把三角恒等式”当作零件”。
关键要点
- 连续性有第三个等价刻画(序列刻画,Theorem 171(3)): \(f\ \text{在}\ c\ \text{连续}\iff \forall\{x_n\}\subset S,\ \bigl(x_n\to c\Rightarrow f(x_n)\to f(c)\bigr).\) 它的实用价值在于:一切关于序列极限的定理(Lecture 8)都可以免费搬到连续性上。本讲 4 个定理(173、174、175 及 178)中有 3 个只用了这一条。
- 三角函数连续性的证明骨架: \(\vert \sin x-\sin c\vert \;\overset{\text{和差化积}}{=}\;2\left\vert \sin\tfrac{x-c}{2}\right\vert \left\vert \cos\tfrac{x+c}{2}\right\vert \;\le\;2\cdot\tfrac{\vert x-c\vert }{2}\cdot1\;=\;\vert x-c\vert \;\overset{\delta=\epsilon}{<}\;\epsilon .\) 记住三件事:和差化积、$\vert \sin u\vert \le\vert u\vert $、$\vert \cos u\vert \le1$。$\cos$ 可以走同样的和差化积路线,也可以用 $\cos x=\sin(x+\pi/2)$ 归约到 $\sin$。
- 副产品(Lipschitz,$L=1$):$\forall x,c\in\mathbb{R}$, \(\vert \sin x-\sin c\vert \le\vert x-c\vert ,\qquad \vert \cos x-\cos c\vert \le\vert x-c\vert .\) $\delta=\epsilon$ 不依赖 $c$,这预告了 Lecture 17 的一致连续,并且直接解决 Assignment 9 第 5(a) 题。
- Dirichlet 函数处处不连续(Theorem 178): \(f(x)=\begin{cases}1,&x\in\mathbb{Q}\\0,&x\notin\mathbb{Q}\end{cases}\qquad\Longrightarrow\qquad \forall c\in\mathbb{R},\ f\ \text{在}\ c\ \text{不连续}.\) 证明模板:每个 $c$ 的每个邻域里既有有理数又有无理数(稠密性)→ 存在一列点趋近 $c$ 而函数值恒为 $0$ 或恒为 $1$ → 用 Theorem 171(3) 与极限唯一性得 $0=1$ 矛盾。
- 工具清单(Lecture 15 之后你可以宣布连续的函数):多项式(Theorem 173);$\sin,\cos$(Theorem 172);它们的和、积、商(分母非零,Theorem 174);它们的复合(Theorem 175)。示范:$\left(\cos\frac1{x^2}\right)^2$ 在 $(0,\infty)$ 连续(Example 176(ii))。
常见误区与注意事项
错误做法:证明 $\sin$ 连续时写 “$\lim_{x\to c}\sin x=\sin(\lim_{x\to c}x)=\sin c$,故连续”。 为什么错:这是在假设结论。把极限搬进函数内部($\lim f(x_n)=f(\lim x_n)$)正是连续性本身,”$f$ 可以把极限符号吃掉”就是连续的定义内容。用它来证明它自己,是循环论证。 正确做法:从 $\vert \sin x-\sin c\vert $ 出发做具体估计(和差化积 + $\vert \sin u\vert \le\vert u\vert $ + $\vert \cos u\vert \le1$),或先证 $\sin$ 连续再用序列刻画搬运 $\cos$(源文件路线)。
错误做法:在 Theorem 178 的证明里写 “因为 $\mathbb{Q}$ 在 $\mathbb{R}$ 中稠密,所以存在有理数列 $q_n\to c$;又因为 $\mathbb{R}\setminus\mathbb{Q}$ 稠密,所以存在无理数列 $i_n\to c$;所以 $f$ 在 $c$ 不连续“。 为什么错:缺了最后的推理环节。存在两条不同极限的像序列本身还不构成矛盾——必须援引 Theorem 171(3)(”若连续,则每条序列的像都收敛到 $f(c)$”)与极限唯一性。少了这一步,逻辑链条是断的。 正确做法:明确写出”若 $f$ 在 $c$ 连续,则由 Theorem 171(3) 须有 $f(q_n)\to f(c)$ 与 $f(i_n)\to f(c)$;但左边两个极限分别是 $1$ 与 $0$,故 $f(c)=1$ 且 $f(c)=0$,矛盾”。
错误做法:把 Dirichlet 函数的不连续说成”因为它在有理点和无理点取值不同”。 为什么错:取值不同只是一半原因,另一半是定义域的这个点本身属于其中一类。对照 Assignment 8 第 2 题的 $f(x)=0$($x\in\mathbb{Q}$)、$f(x)=2x$($x\notin\mathbb{Q}$):它在 $0$ 处两个分支的值会师(都是 $0$),所以连续。可见”分支值不同”不是本质,“分支值与另一分支的极限是否吻合”才是本质。 正确做法:对每个 $c$ 分别计算”$c$ 所属分支的值”与”另一分支沿序列的极限”,比较二者。
错误做法:认为 $\vert \sin x\vert \le\vert x\vert $ 是”显然”的,或认为它在 $\vert x\vert >1$ 时也需要证明。 为什么错:这个不等式在 $\vert x\vert \ge1$ 时确实”看起来显然”(因为 $\vert \sin x\vert \le1\le\vert x\vert $),但在 $\vert x\vert <1$ 时它是弦长 ≤ 弧长的几何事实,需要几何输入。本课程把它列为可自由使用的已知事实(源文件 Theorem 172 证明开头 + Final Assignment 首页授权),但不等于它不需要依据。 正确做法:引用时说明来源(单位圆上弦长 $\le$ 弧长;严格重建则用 Vol. II §11.4 的幂级数)。同时注意:真正需要小 $x$ 情形的是 $\vert \sin u\vert \le\vert u\vert $ 用在 $u=(x-c)/2$ 上——当 $\vert x-c\vert $ 很小、$c$ 很大时,$u$ 仍可能不小,但不等式对一切实数 $u$ 都成立,所以没问题。
错误做法:把 Theorem 171(3) 的量词记成”存在一个序列”。 为什么错:Theorem 171(3) 要求的是”每一个满足 $x_n\to c$ 的序列”。若记成”存在”,则证明反向时就会把”找到一条坏序列”误当成”不连续”的充分条件——实际上能用坏序列否定连续,是因为”连续 $\Rightarrow$ 每条序列都好”这个全称命题的否定恰好是”存在一条坏序列”(Negation 170 的序列版)。量词全称/存在的位置一错,逻辑就整体崩塌。 正确做法:写成 \(\text{连续}:\ \forall\{x_n\}\bigl(x_n\to c\Rightarrow f(x_n)\to f(c)\bigr);\qquad \text{不连续}:\ \exists\{x_n\}\bigl(x_n\to c\ \wedge\ f(x_n)\not\to f(c)\bigr).\)
错误做法:在 Theorem 178 中取 $x_n=c+1/n$ 并要求它是无理数(或直接写”取无理数 $x_n=c+1/n$”)。 为什么错:$c+1/n$ 是否无理数是不可控的(例如 $c=0$ 时它是有理数)。稠密性只保证区间 $(c,c+1/n)$ 里存在无理数,不保证某个具体形式是无理数。 正确做法:先用稠密性存在性地取到 $x_n$(无理数稠密性 / 有理数稠密性各自给出),再对这批选定的 $x_n$ 用夹逼 $\vert x_n-c\vert <1/n$ 得 $x_n\to c$。
思考题(带答案)
Q1(概念理解):下面的”证明”错在哪里?
待证:$\sin$ 在 $c=0$ 连续。 “证明”:取 $x_n=1/n$。则 $x_n\to0$,且 $\sin x_n\to\sin0=0$。所以 $\sin$ 在 $0$ 连续。$\blacksquare$
答案
**错误**:Theorem 171(3) 要求"**每一条**满足 $x_n\\to0$ 的序列都使 $f(x_n)\\to f(0)$",而不是"**存在某一条**"。 这个"证明"只检验了一条**特别听话**的序列 $x_n=1/n$。但连续性是一个**全称命题**: $$\forall\{x_n\}\subset S,\quad \bigl(x_n\to c\ \Longrightarrow\ f(x_n)\to f(c)\bigr).$$ 要**证明**它,你不能只抽查一个例子;要**否定**它,找一条坏序列就够了——这就是为什么 Theorem 178 的证明只需要**构造一条**坏序列就能宣告不连续,而 Q1 里的写法方向完全反了。 **正确的做法**(回到定义):设 $\\epsilon>0$,取 $\\delta=\\epsilon$。若 $\\vert x-0\\vert <\\delta$,则由引理 15.A 事实 2, $$\vert \sin x-\sin0\vert =\vert \sin x\vert \le\vert x\vert <\delta=\epsilon .$$ 故 $\\sin$ 在 $0$ 连续。(也可以直接引用定理 172:$\\sin$ 在 $\\mathbb{R}$ 上连续,故在 $0$ 连续。) **教训**:序列刻画里的量词方向是它全部力量的来源——**正向是"对每一条序列",反向(不连续)是"存在一条序列"**。请把这两个式子并排写下来背熟(见"常见误区"第 5 条)。Q2(完整的 $\epsilon$-$\delta$ 计算):取 $f(x)=\cos x$,$c=\dfrac{\pi}{3}$,$\epsilon=0.01$。
(a) 按定理 172 的证明思路,给出一个显式的 $\delta$,并证明它在 $\epsilon$-$\delta$ 定义下确实有效。 (b) 用数值验算:在 $\vert x-c\vert <\delta$ 的窗口上,$\vert f(x)-f(c)\vert $ 的最大值是多少?是否 $<\epsilon$?有多大的余量? (c) 如果把 $\epsilon$ 改成 $\epsilon=10^{-3}$,$\delta$ 应取多少?
答案
**(a)** 由定理 172 的补充证明路线(用补充推论 2 的 $\\cos$ 和差化积),对任意 $x,c\\in\\mathbb{R}$ 有 $$\vert \cos x-\cos c\vert =2\left\vert \sin\left(\frac{x+c}{2}\right)\right\vert \cdot\left\vert \sin\left(\frac{x-c}{2}\right)\right\vert \le 2\cdot1\cdot\frac{\vert x-c\vert }{2}=\vert x-c\vert .$$ **取 $\\delta=\\epsilon=0.01$**。验证:设 $\\vert x-\\pi/3\\vert <0.01$,则 $$\vert \cos x-\cos(\pi/3)\vert \le\vert x-\pi/3\vert <0.01=\epsilon .\qquad\blacksquare$$ 注意这个 $\\delta$ 只依赖 $\\epsilon$,**不依赖 $c=\\pi/3$**(Lipschitz 常数 $1$ 的证据)。 **(b)** 数值验算(`python3`,`math.cos`):在 $\\vert x-\\pi/3\\vert <0.01$ 上以步长 $0.01/2000$ 扫描: $$\sup_{\vert x-\pi/3\vert <0.01}\vert \cos x-\cos(\pi/3)\vert \approx 0.0086807546<0.01 .$$ 端点处(即 $x=\\pi/3+0.01$ 与 $x=\\pi/3-0.01$)误差最大: $$\cos(\pi/3)=0.5000000000000001,\qquad \cos(\pi/3+0.01)=0.4913148905073340,$$ $$\vert \cos(\pi/3+0.01)-\cos(\pi/3)\vert =0.0086851094926662<0.01 .$$ **余量**:$0.01-0.0086851=0.0013149$,约为预算的 $13.1\\%$。余量的来源是:真实的表达式是 $$\vert \cos x-\cos c\vert =2\left\vert \sin\frac{x+c}{2}\right\vert \cdot\left\vert \sin\frac{x-c}{2}\right\vert ,$$ 其中正弦因子恰好贡献 $\\left\\vert \\sin\\frac{x-c}{2}\\right\\vert $,而余弦-正弦耦合因子 $2\\left\\vert \\sin\\frac{x+c}{2}\\right\\vert $ 在最坏点 $x=c+\\delta=\\pi/3+0.01$ 处等于 $$2\left\vert \sin\!\left(\frac{\pi}{3}+\frac{0.01}{2}\right)\right\vert =2\sin(1.0521977\ldots)=2\times0.86851456=1.73702913<2 .$$ 于是 $\\vert \\cos x-\\cos c\\vert \\le1.73702913\\times\\left\\vert \\sin\\frac{x-c}{2}\\right\\vert \\approx1.73702913\\times0.0049999792=0.008685109$,与扫描所得的上确界 $0.0086808$ 及端点精确值 $0.0086851$ 完全吻合。也就是说,在这个点上"有效割线斜率"为 $$\frac{\vert \cos(\pi/3+0.01)-\cos(\pi/3)\vert }{0.01}=\frac{0.0086851}{0.01}\approx0.8685<1,$$ 比最坏情况的 Lipschitz 常数 $1$ 小,故有约 $13\\%$ 的余量。 **(c)** 由 $\\vert \\cos x-\\cos c\\vert \\le\\vert x-c\\vert $,取 $\\delta=\\epsilon=10^{-3}$ 即可。数值核对:在 $\\vert x-\\pi/3\\vert <10^{-3}$ 上扫描得上确界 $\\approx0.0008662753<10^{-3}$。✓(若想省一点篇幅,也可以说"$\\delta=\\epsilon$ 对一切 $\\epsilon>0$ 都行"。)Q3(Dirichlet 函数及其变体):设
\[g(x)=\begin{cases}1,&x\in\mathbb{Q}\\0,&x\notin\mathbb{Q}\end{cases}\qquad\text{(Dirichlet 函数)},\qquad h(x)=\begin{cases}0,&x\in\mathbb{Q}\\x,&x\notin\mathbb{Q}\end{cases}.\](a) 证明 $g$ 在 $\mathbb{R}$ 上处处不连续。 (b) 证明 $h$ 在 $c=0$ 连续,而在任意 $c\neq0$ 不连续。 (c) 比较 (a)(b):为什么 $h$ 能在 $0$ 处”幸存”?请用一句话说出判别准则。
