首先我们先定义 R 上的开区间:
An open interval in R is any set of the form:
{x∈R: a<x<b},where a,b∈R∪{−∞,+∞}.
Definition. (Open sets in R)
对于实数集 R 的一个子集 O,若它可以被表示为一些开区间的并集,即 O=∪α∈ΛIα,则称 O 在 R 上是开的。
等价地,如果 O 可以被表示为可数不相交的开区间的并集,那么 O 是一个开集。
注意,“R 上的开集能被写作可数个不相交的开区间的并”是在 R 上的特有性质,而 Rn∈N+ 中广义开集的定义不需要可数。
显然地,任意两个开集的并集也是开集。证明很显然:假设有两个开集 A,B⊂R,根据定义,它们能分别被写成一些开区间的并集,例如:
A=⋃n∈Λ1 JnB=⋃n∈Λ2 Kn
那么:
A∪B=(⋃n∈Λ1 Jn)∪(⋃n∈Λ2 Kn)=⋃m∈Λ Kn
其中 Λ=Λ1∪Λ2,说白了就是把两个由开区间构成的集合并在一起,结果还是一个由开区间构成的集合,则符合定义。
Corollary 4.1 (开集的等价定义)
对于子集 O⊂R,若有:
∀x∈O: ∃ε>0: ∀y∈(x−ε, x+ε): y∈O
则 O 为 R 上的开集。
(这意味着:every point in O is internal。想象若 O 在边界上某处不为开,当 x 在此处取值时,则无论 ε 如何取值,以 x 为“圆心”,ε 为“半径"的超球始终会包括外部的点,因此,开集的“集合边界”必须处处为开。)
Proof. (Corollary 4.1)
⟹:
假设集合 O⊂R 为开集,由开集的定义,O 可以被表示为开区间的并:
O=⋃n∈Λ In
假设有 x∈O,这意味着必定存在 α∈N+,使得 x∈Iα。设 Iα=(a, b),其中 a, b∈R∪{−∞,+∞} (w.l.o.g. 假设 a, b∈R),有 a<x<b。那么对于:
∀x∈(a, b): ∃ε=min(b−x, x−a)2>0: ∀y∈(x−ε, x+ε): y∈(a, b)⊂O
⟸:
假设集合 O⊂R 满足:
∀x∈O: ∃ε>0: ∀y∈(x−ε, x+ε): y∈O
由以上条件,对于任意一点 α∈O,对于相应的 ϵ=ϵα>0,令 Iα=(x−ϵα, x+ϵα),则有 ∀y∈Iα: y∈O,等价于 Ia⊂O。
这说明对于 O 中的任何一点 α,我们都能构建一个开区间 Iα⊂O 且满足 α∈Iα,那么自然有:O=⋃α∈OIα。
这是因为:
-
对于 ∀α∈O: α∈Iα⊂⋃α∈OIα⟹O⊂⋃α∈OIα。
-
对于 ∀α∈⋃α∈OIα: α∈O⟹⋃α∈OIα⊂O
(下标的定义方式,我都写这么清楚了初中生也能看懂吧...)
因此集合 O 可以表示为 若干个开区间 Iα 的并(即使这个“若干个”既可以是可数个也可以是不可数个)。由定义,集合 O⊂R 为开集。
Notes (Corollary 4.1)
在我看来,与其使用这个等价定义,不如用超球直接给出推广至度量空间 (X, d) 中开集的定义,如下。其中 X 可以为 Rn∈N+,d 为 X 中的一个度量(metric)或距离(distance)。(我可能以后会写具体涉及度量空间的文章)
∀x∈O: ∃ϵ>0: ∀y∈Bϵ(x): y∈O
或更直接地:
∀x∈O: ∃ϵ>0: Bϵ(x)⊂O
补充:
Bϵ(x):={p∈X: d(p, x)<ϵ}¯Bϵ(x):={p∈X: d(p, x)≤ϵ}
(open or closed ball of radius ϵ centered at point x∈X )
Definition. (Closed sets in R)
一个集合被称作闭集,如果它的补集为开集。
Definition. (Limiting Point:极限点)
如果对于 ∀x∈R,若对于 ∀ϵ>0,都 ∃y∈A,使得 y∈(x−ϵ, x+ϵ),则称 x 为 A 的一个极限点(limiting point),即:
∀x∈R: ∀ϵ>0: ∃y∈A:y∈(x−ϵ, x+ϵ)⟺∀x∈R: ∀ϵ>0: A∩(x−ϵ, x+ϵ)≠∅
Corollary 4.2 (闭集的等价定义)
集合 A∈R 为闭集 ⟺ 集合 A∈R 包含了 A 所有的极限点。
Notes (Corollary 4.2)
注意,极限点的定义方式 implies that,一个集合的极限点可能不在这个集合中。
Proof. (Corollary 4.2)
⟹:
若 A∈R 为闭集,则 Ac 为开集。由定义,后者可以写作 Ac=⋃α∈ΛIα,其中 Iα 皆为开区间。由于在讨论 R 上的情况,则 Λ 可以是可数集,且对于 ∀i,j∈Λ, i≠j: Ii∩Ij=∅。
假设存在 A 的极限点 x0 且满足 x0∈Ac,可知,存在确定且唯一的开区间 Iα 使 x0∈Iα⊂Ac。设 Iα=(a, b),其中 a,b∈R∪{−∞,+∞}, 显然有 a<x0<b。因为 x0 为极限点,由极限点的定义,则对于:
∀ϵ>0: A∩(x0−ϵ, x0+ϵ)≠∅
但如果令 ϵ0=min(x0−a, b−x0)>0,此时:(x0−ϵ0, x0+ϵ0)⊂Iα,而 A∩Iα=∅,所以产生矛盾。故不存在极限点 x0∈A,使 x0∈Ac,即:所有 A 的极限点 ∈A。
⟸:
若集合 A∈R 包含了其所有的极限点,则 Ac 中不含任何 A 的极限点,i.e.,
∀x∈Ac: ∃ϵ>0: A∩(x−ϵ, x+ϵ)=∅
可以发现,开区间 (x−ϵ, x+ϵ) 为 R 上的一维开球:Bϵ(x),则 A∩Bϵ(x)=∅,因此必有 Bϵ(x)⊂Ac,否则:
∃a∈Bϵ(x) s.t. a∈A ⟹ A∩Bϵ(x)≠∅
则产生矛盾。所以,
∀x∈Ac: ∃ϵ>0: Bϵ(x)⊂Ac
即 Ac 中的所有点都为 internal point,这是 Ac 为开集的等价定义(Corollay 4.1)。故:若 A 包含其所有的极限点 ⟹ A 为闭集。
Corollary 4.3
任意有限个开集的交集依旧为交集。
Notes. (Corollary 4.3)
此处针对“任意有限个开集”的证明,实际等价于针对“任意两个开集”的证明,因为后者可以直接 by induction 推至前者。注意,这里也只能推至“有限交”的情况,而不能推至“可数交”的情况。数学归纳法仅仅是证明对于任意 n∈N 时的情况,不能推广至 infinity,因为一旦我们讨论 n∈N 的情况,n 已经固定为一个有限的自然数。另一方面,在第一篇文章中我已经指出了所谓“看似能类比而实则不能的问题”,见:测度论:Measure Theory (1)
Proof. (Corollary 4.3)
设 A1,A2 为 R 上的两个开集,由定义可以分别写作:
A1=⋃α∈Λ1Iα,A2=⋃β∈Λ2Jβ
其中 Iα,Jβ 为开区间,Λ1,Λ2 为可数集,并且:
∀m,n∈Λ1, m≠n: Im∩In=∅∀m,n∈Λ2, m≠n: Jm∩Jn=∅
那么:
A1∩A2=(⋃α∈Λ1Iα)∩A2=⋃α∈Λ1(Iα∩A2)=⋃α∈Λ1⎛⎝Iα∩(⋃β∈Λ2Jβ)⎞⎠=⋃α⋃β(Iα∩Jβ)
Without loss of generality,假设我们不知道两个开区间的交集依然为开区间的性质:
-
若 Iα⊂Jβ⟹Iα∩Jβ=Iα 为开集。
-
若 Iα∩Jβ=∅,而空集也是开集(即一个开区间 (a, a), ∀a∈R)。
-
若 Iα∩Jβ=K,其中 K 为非空开区间。那么 (Iα∩Jβ) 为一个非空开区间,则在 Λ1,Λ2 上做可数并运算后,由定义可知 ⋃α⋃β(Iα∩Jβ) 为一个开集。
综上所述,两个开集 A1,A2⊂R 的交集也为开集。
Definition. (Borel σ−field)
在 Rn 中,包含所有开集的最小 σ−field 称作 Borel σ−field,通常记作 B=B(Rn),Borel σ−field 中的集合称作 Borel sets(which are Borel-measurable)。
注意: 在 R 上的 Borel σ−field: B=B(R) 中不止包含开集,因为σ−field 对可数交运算封闭,而可数个开集的交集可以不为开集。例如:⋂n∈N+(0, 1+1n)=(0, 1]。
Definition. (Topology)
对于全集 Ω 上的一个集类 τ,如果满足:
- ∅, Ω∈τ。
- τ 对于任意(即可以为不可数)并运算封闭。
- τ 对于有限交运算封闭。
则称集类 τ 为 Ω 上的一个拓扑(topology)。(Ω,τ) 称作是一个拓扑空间(topological space)。
例如,R 上的空集定义了一个拓扑,因此它与 R 构成了一个拓扑空间。
Rn (n>1) 空间中的空集,可以被定义为 R 上若干开区间的 n 重笛卡尔积的并集。
Definition. (Continuity)
对于实值函数 f:Rn→R,如果对于任意开集 O⊂R 的完整原象(complete preimage):f−1(O) 在 Rn 上也为开集,那么称函数 f 连续。
Example.
假设有函数:f(x)=x2: R→R
-
如果 0≤a<b 那么 f−1((a, b))=(−√b, −√a)∪(√a, √b);
-
如果 a<0<b 那么 f−1((a, b))=(−√b, √b);
-
如果 a<b≤0 那么 f−1((a, b))=∅.
因此对于任意开区间 I,f−1(I) 为开集。因此对于任意开集 O=⋃α∈ΛIα,f−1(O)=⋃α∈Λf−1(Iα) 为若干开集的并集,因此也为开集。故函数 f 是连续函数。
注意在该例中,为了得到最终的结论,必须证明:
f−1(O)=f−1(⋃α∈ΛIα)=⋃α∈Λf−1(Iα)
Proof.
-
对于 ∀x∈f−1(⋃α∈ΛIα),有:
f(x)∈f(f−1(⋃α∈ΛIα))=⋃α∈ΛIα
由于 Iα 为互不相交的开区间,则存在唯一确定的 Iα0 使:f(x)∈Iα0,并且:
f(x)∉⋃α∈Λ∖{α0}Iα
那么:
f(x)∈Iα0⟹x∈f−1(Iα0)
又因为:
f−1(Iα0)⊂⎛⎝f−1(Iα0)∪(⋃α∈Λ∖{α0}Iα)⎞⎠=⋃α∈Λf−1(Iα)
则:x∈⋃α∈Λf−1(Iα)。综上:
∀x∈f−1(⋃α∈ΛIα): x∈⋃α∈Λf−1(Iα) ⟹ f−1(⋃α∈ΛIα)⊂⋃α∈Λf−1(Iα)
-
对于 ∀x∈⋃α∈Λf−1(Iα),必定至少存在一个 α0 使:
x∈f−1(Iα0) ⟹ f(x)∈Iα0
又因为:Iα0⊂⋃α∈ΛIα,则:
f(x)∈⋃α∈ΛIα ⟹ x∈f−1(⋃α∈ΛIα)
因此:
∀x∈⋃α∈Λf−1(Iα): x∈f−1(⋃α∈ΛIα) ⟹ ⋃α∈Λf−1(Iα)⊂f−1(⋃α∈ΛIα)
结合 1、2 两点,得证:
f−1(⋃α∈ΛIα)=⋃α∈Λf−1(Iα)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构