介值定理:连续曲线必穿过中间的高度
Intermediate Value Theorem
把一根温度计从冰水里拿到沸水上。读数从接近 0 变到接近 100。中间会不会跳过 37?日常经验说不会。介值定理把这句经验收成一条分析命题:闭区间上的连续函数,必取到两端值之间的每一个中间值。
1817 年,伯恩哈德·波尔查诺给出了今天还能认出来的证明骨架。对象不是“图象看起来连着”,而是:连续加上实数完备,强制存在性。没有完备性,连续函数可以在有理数上永远不碰到 。
破除误解:这不是“画得出来就取得到”
第一个误解,是把介值当成作图定理。图象不断开,只是启发式。严格定义是:对每个 ,存在 ,输入差小于 时输出差小于 。定理用的是这句,不是铅笔有没有离开纸。
第二个误解,是把它和达布定理混在一起。导数即使不连续,也具有介值性质。那是达布定理,假设更弱、结论更窄。介值定理要求函数本身连续。把两者收成“凡变化必取中间值”,会把不连续的阶跃函数也包括进来。单位阶跃在 0 两侧取值 0 和 1,中间的 $1/2$ 可以永远不出现。
第三个误解,是以为定理给出了那个点。它是存在性命题。证明常常用区间套或上确界,并不构造出可写成根式的 $c$。数值上用二分法逼近,停机条件是区间宽度,不是“函数值已经等于零”。浮点世界里,恰好等于零这一步不再保证成立。
定理到底断言什么
设 $f$ 在闭区间 $[a,b]$ 上连续,$k$ 介于 $f(a)$ 与 $f(b)$ 之间(含端点)。则存在 使得 $f(c)=k$。若 $k$ 等于端点值,可取 $c=a$ 或 $c=b$。有趣的是严格中间的情形。
标准约化是考虑 $g(x)=f(x)-k$,于是变成:连续函数在两端异号时必有根。波尔查诺的策略是:看集合 $S=\{x\in[a,b]:g\text{ 在 }[a,x]\text{ 上非正}\}$。$S$ 非空有上界,取 。连续性把 $g(c)=0$ 逼出来:若 $g(c)>0$,附近全正,上确界还能左移;若 $g(c)<0$,附近全负,上确界还能右移。两边都不许,只剩零。
这里用到的不是“连续很平滑”,而是实数的上确界性质。有理数作为有序域不完备。函数 在有理数上连续,从负变到正,却没有任何有理根。介值在 上失败,不是连续失败,是数系失败。把定理写成“连续所以取得到”,漏掉了完备性这根梁。
区间必须是闭的、连通的。开区间上的连续函数不必取到端点附近的值,因为端点根本不在定义域里。定义在 上的函数可以在第一段取 0、第二段取 1,中间的 $1/2$ 不出现——定义域已经不连通。拓扑语言把同一句话写得更干净:连续映射把连通集送到连通集; 里的连通集正是区间。介值是这句话在实直线上的翻译。
二分法怎样把存在变成算法
存在性证明几乎立刻给出一种搜索。若 $g(a)<0<g(b)$,看中点。中点为零则停;为负则根在右半;为正则根在左半。每一步区间长度减半。$n$ 步之后宽度是 。这就是二分求根。
它依赖介值,也依赖你能比较符号。若函数在区间里抖过零许多次,二分仍然只保证找到某一个根,不保证找到全部,也不保证找到“最左边那个”。教材例题爱用单调函数,是为了把唯一性另买一张票。介值本身不卖唯一性。
计算机上的二分必须改写停机条件。比较的是浮点值,不是实数。函数值可能跳过零,区间却已经窄到机器精度。正确的终止是宽度足够小,或函数值足够接近零且两端仍异号。把“等于零”写成停机,是把实数定理直接粘到 IEEE 754 上。二分查找 在有序数组里找键,靠的是单调性;二分求根靠的是介值。两者都在砍区间,比较的对象不同。
牛顿法收敛更快,但局部。它要用导数,还要初值够近。介值加二分慢,却全局:只要两端异号且连续,就能开始。教材把它们排在一起,不是因为一个淘汰另一个,而是因为存在性与效率是两笔账。
它在微积分里干什么
介值是后面许多定理的前置,不是装饰。闭区间上连续函数必有最大最小值,常用介值或同样的上确界语言。若连续函数在 $[a,b]$ 上从负变到正,根的存在让你能讨论因式、讨论变号。
微积分基本定理 需要原函数。介值不直接给出原函数,但它保证:若导函数连续,差商作为连续函数会取到导数的中间值,这与中值定理是一条河的两岸。中值定理另需可导。介值只要求连续。教学顺序把介值放在前,是因为假设更弱,也因为二分法在还没有导数的时候就能用。
方程 $f(x)=x$ 在连续自映射 上必有不动点。证明看 $g(x)=f(x)-x$ 两端异号或为零。这是布劳威尔在一维的影子。高维不能再用介值这句话,需要完全不同的拓扑。把一维不动点说成“介值所以一切映射都有不动点”,会在二维立刻翻车。
物理里的平衡也常被随口调用介值。温度连续分布时,两点之间的等温线是否存在,还要看定义域是否连通、场是否真连续。把介值当成“凡过程必经过中间态”,会把相变的不连续也包括进来。沸点附近,温度计读数仍连续,物态却可以跳。连续的是那条读数曲线,不是“所有描述状态的量”。
波尔查诺要解决的是什么危机
十九世纪初,分析还大量依赖几何直觉和无穷小神话。波尔查诺要的是不画图也能写的证明。1817 年的论文标题就标明:纯分析的证明。他同时给了连续性定义和介值。柯西 1821 年的《分析教程》把同类语言系统化。魏尔斯特拉斯后来用 - 把句法钉死。
波尔查诺的历史位置容易被写成“比柯西更早”。更有用的读法是:他把存在性从图像里抢救出来,交给完备性。没有这一步,极限、连续、积分都会停在“看起来如此”。看起来如此的函数,包括那些处处连续却无处可导的例子,那些例子要等到更晚才出现。介值用不到那么病态的例子。它只要求你承认:连续加上实直线,中间值不是可选的。
反例课也要上。函数在有理点取 0、无理点取 1,处处不连续,当然没有介值。托马函数更细。这些反例不是为了羞辱直觉,而是标明定理的假设哪一条都不能删。删掉闭区间、删掉连续、删掉完备,各死一次。
争议与边界
教学争议的第一线,是要不要在介值课上引入完备性公理。有的课只用“连续图象不断开”混过去,把完备性留到实数构造。代价是学生无法理解为何有理函数会失败。有的课一上来就上确界,代价是微积分 I 的负担前移。两条路都要在某处把账补上。不补的话,介值会变成一句正确的口号。
第二线是构造性。经典证明用上确界或排中律切开区间。直觉主义分析里,介值需要额外条件,例如不能无限抖过零。这不是教室里必须展开的哲学,但它解释了为何数值分析从不声称“已经拿到那个 $c$”,而只声称“已经把 $c$ 关进足够小的区间”。
第三线是多维。向量值连续函数没有直接的介值。从 $(0,0)$ 走到 $(1,1)$ 的连续路径可以绕开 $(1/2,0)$。介值是一维连通性的特产。需要中间值时,应对标量函数或对某个坐标函数用一维定理,而不是对整条向量曲线喊介值。
把介值写成“连续等于可画”,会在后续的一致连续、一致收敛课上报复。可画的图象太粗。定理保存的是:输入可控则输出可控,再加一条连通的实直线。两条合在一起,中间的高度无法被跳过。跳过发生时,不是自然界打了折,而是那条函数并不连续,或你根本不在实数上工作。
深一层:完备性、误差与不该用介值的地方
介值课最容易被删掉的半句,是“我们在实数上工作”。实数的完备性可以写成柯西列收敛,也可以写成有上界的非空集合必有上确界。波尔查诺用的是后者。少了这一句,证明里的 没有着落。有理数上每个有上界的集合仍可有有理上界,却仍缺 。函数在有理点连续,不能强迫它在缺失的那个实根处取值。学生若只记住“连着就能取到”,会把数系当成透明的背景。背景并不透明。换数系,定理可以死。
误差分析把同一句话翻译成停机。设区间长度为 $L$,二分 $n$ 次后宽度 。若只要根的绝对误差小于 ,需要 。这与函数有多陡无关。陡度影响的是函数值离零有多近,不是 $x$ 落在多窄的区间。把“函数值已经很小”当成“根已经找到”,会在平坦函数上提前停机,在陡函数上又舍不得停。介值保证的是符号变化这一侧;精度是另一侧。两侧都要写进算法说明。
不该用介值的地方同样具体。周期函数在一个周期里可以多次过零,介值只保证至少一次。反函数存在需要严格单调,介值不提供。隐函数定理需要导数非零,介值也不提供。经济学里有时把超额需求连续且两端异号写成均衡存在,那是在一维价格上借用介值;高维商品空间要用布劳威尔或角谷。借用必须声明维数。声明维数,不是为了吓退微积分学生,而是避免把一维门票当成所有市场的通行证。
导数 出现之后,拉格朗日中值定理会给出“某点切线平行于弦”。那条定理要可导。介值不要可导。顺序上,先有连续与介值,再有导数与中值,再有泰勒。把中值提前教成“介值的加强版”,会把假设搞混。加强的不是结论的中间值,而是结论里出现了导数。两个中间,两个对象。
一致连续在闭区间上由连续自动得出,海涅–康托尔。介值用不到一致连续。它用得到的是点点连续加上连通。开区间上连续函数可以不是一致连续,介值对闭区间的表述也不适用。边界条件不是装饰。删掉闭区间,端点的函数值可能根本不存在,中间值的“中间”就没有两端。
计算机代数系统可以给出某些多项式的根式。介值不竞争这件事。它对超越方程、对只知道符号的黑盒函数,仍然是入场券。入场券的价格是慢。牛顿法、割线法、布伦特法,都在介值保证的括号里加速。括号先在,加速才合法。没有括号,加速是赌博。
教材例题爱用 或 。它们的教学价值不在方程本身,而在逼你先检查连续与异号,再谈算法。不检查就开牛顿迭代,可能收敛到你没问的根。检查过再开,介值已经把根关进括号。括号是对象。根的十位小数是括号里的工艺。工艺可以换,对象不能换。换对象,例如改成不连续的符号函数,括号里可以是空的。空的时候算法不该假装仍有根。假装有根,是把定理的假设当成已经自动满足。假设从来不会自动满足,必须被写在第一步。
连续函数在闭区间上必取最大最小值,常常被称作最值定理。它与介值是一对:一个管高度方向上没有缺口,一个管水平方向上最大值被取到。证明技术相近,都要上确界或紧性。教学上把它们拆成两天,是为了让存在性出现两次。出现两次不是重复,而是训练:连续把图象关进一个足够好的集合里,好到中间值和端点值都不能逃。逃发生时,先查定义域是不是闭区间,再查函数是不是连续。两查都过,存在性才开口。开口之后,算法才有括号可砍。
跨域连接
- 连续性:介值把点上的 - 承诺连成区间上的取值。局部控制若不能推出中间高度存在,连续就还只是每一点各自的稳定性,不是一条不能跳号的曲线。定理是那张连票,连票依赖完备性,不依赖“能一笔画”。
- 二分查找:有序数组比较的是键的大小;求根二分比较的是函数符号。两者都在砍区间。浮点求根不能把“等于零”当停机,必须改成宽度或残差。这一改写,正是介值从实数搬到机器时不能省略的一步,也标明离散世界不再保证恰好取到中间值。
- 牛顿法:局部二次收敛要导数,还要初值落在吸引盆。全局起步常常仍要两端异号这张介值入场券。没有入场券,迭代可以跳到远处的根,或发散。存在与效率在这里分工:介值负责“有”,牛顿负责“快”,两者互相冒充都会在例题里翻车。
- 微积分基本定理:变上限积分需要被积函数足够规则,积出来的对象仍然连续。介值保证连续函数的值域还是区间,累积过程不会在值域上突然缺一块。缺一块的函数可以积分,但那已经不是“从这一端连续走到那一端”的教材图景。
- 拓扑学:连续映射保持连通。介值是实直线上连通集等于区间这句话的推论。换到圆、曲面或离散空间,中间值要重新定义,不能把闭区间定理原样粘贴。粘贴失败不是拓扑在刁难微积分,而是对象已经换了。
参考文献
- Bolzano, Bernard. Rein analytischer Beweis des Lehrsatzes, dass zwischen je zwey Werthen, die ein entgegengesetztes Resultat gewähren, wenigstens eine reelle Wurzel der Gleichung liege. Prague, 1817.
- Cauchy, Augustin-Louis. Cours d'analyse de l'École Royale Polytechnique. Paris: Imprimerie Royale, 1821.
- Rudin, Walter. Principles of Mathematical Analysis. 3rd ed. New York: McGraw-Hill, 1976. 第 4 章对连续与介值的标准陈述。
- Abbott, Stephen. Understanding Analysis. 2nd ed. New York: Springer, 2015.
延伸阅读
- Spivak, Michael. Calculus. 4th ed. Houston: Publish or Perish, 2008. 把介值写成分析入门的存在性训练。
- Corry, Leo. A Brief History of Numbers. Oxford University Press, 2015. 完备性进入分析的历史线索。