Skip to content

参考资料:

11. 拓扑学 — Mathematics in Lean 0.1 documentation

传统极限定义的局限

在初等分析中,极限通常按以下几种形式出现:

  • 实数列极限:lim (n → ∞) aₙ = l
  • 实函数极限:lim (x → c) f(x) = L
  • 多元函数、拓扑空间映射的极限等。

每种情况都要单独定义,比如:

  • 对序列要考虑自然数趋于无穷;
  • 对函数要考虑实数趋近某点;
  • 对拓扑空间要换成“邻域”语言。

于是每类极限都需要单独写定义、定理、符号、转换规则 —— 很容易重复劳动。


滤子的核心思想

在数学上,滤子(filter) 是一种抽象的“极限方向”。它描述“沿着某种方式趋近”的概念。

该概念支持两个相关的想法:

  • 极限 ,包括上述讨论过的各种极限:数列的有限极限和无穷极限、函数在某点或无穷远处的有限极限和无穷极限等等。
  • 最终发生的事情 ,包括对于足够大的自然数 n : ℕ 发生的事情,或者在某一点 x 足够近的地方发生的事情,或者对于足够接近的点对发生的事情,或者在测度论意义上几乎处处发生的事情。对偶地,滤子也可以表达 经常发生的事情 的概念:对于任意大的 n ,在给定点的任意邻域内存在某点发生,等等。

例如:

  • 在实数上,点 a : ℝ 的邻域 𝓝 a 是一个滤子;
  • (at_top : filter ℕ) 由所有包含 {n | n ≥ N} 的集合构成,其中 N 是某个自然数。 形式化地:∀ N : ℕ, {n | n ≥ N} ∈ at_top

于是,所有“趋于某物”的概念都可以统一描述为:

x 沿着过滤器 F 变化时,f x 的像沿着过滤器 G 变化。

形式化地:

lean
filter.tendsto f F G

而极限就是一种特殊情况: lim_{x → a} f(x) = L 被表示为

lean
tendsto f (𝓝 a) (𝓝 L)

这种定义的最大优点是统一性

类型传统定义filter 版本
实数列极限lim (n→∞) aₙ = Ltendsto a at_top (𝓝 L)
函数在点的极限lim (x→a) f(x) = Ltendsto f (𝓝 a) (𝓝 L)
无穷远处极限lim (x→∞) f(x) = Ltendsto f at_top (𝓝 L)
左/右极限lim (x→a⁺) f(x)tendsto f (𝓝[>] a) (𝓝 L)

同一个 tendsto 定义可以涵盖所有这些情况。 于是理论结果(如极限的复合律、极限定理、连续性定义)都只需证明一次。


💡 5. 与拓扑定义的关系

事实上,filter 是拓扑中定义收敛(convergence)的一种更强而优雅的方式。 一个点 lfF 下的极限,当且仅当:

对任意 G ∈ 𝓝 l,有 f⁻¹(G) ∈ F

这就是 mathlib 中 tendsto f F (𝓝 l) 的本质。


🧾 6. 小结

优点说明
统一性统一描述序列极限、函数极限、无穷极限等
简洁性一次定义,广泛使用
抽象性与拓扑学的邻域系统完美契合
可组合性极限复合律、连续性、导数等性质容易形式化
可扩展性可推广到任意拓扑空间、范畴、度量空间等

如果你想更深入理解,可以看看 mathlib 中的定义:

lean
def filter.tendsto (f : α → β) (F : filter α) (G : filter β) :=
  ∀ ⦃S : set β⦄, S ∈ G → f ⁻¹' S ∈ F

它精确地表达了“当 x 沿着 F 变化时,f(x) 沿着 G 变化”。


要不要我帮你画一张图,对比一下“传统 ε-δ 定义”和 “filter 定义” 在逻辑结构上的对应?