目录
Agda康托尔定理 ▹
前置知识 ▹
康托尔定理(直接证) ▹
Lawvere不动点定理 ▹
存在不可数集合 ▹
康托尔定理(用Lawvere不动点定理证) ▹
延伸阅读 ▹
Agda康托尔定理
康托尔定理是集合论中的一个基本定理, 它断言任何集合都不能满射到它的幂集. 本文将在原味Agda中证明这个定理, 这将说明它也是构造主义成立的.
前置知识
我们假设读者熟悉原味 Agda 以及标准库中的以下概念:
open import Data.Bool using (Bool; true; false; not)
open import Data.Empty using (⊥)
open import Data.Nat using (ℕ; suc)
open import Data.Product using (∃-syntax; _×_; _,_; proj₁; proj₂)
open import Function using (id; _$_)
open import Level using (Level)
open import Relation.Nullary using (¬_)
open import Relation.Binary.PropositionalEquality using (_≡_; refl; sym; subst; cong-app)
我们约定用A 和 B 表示任意宇宙的任意集合. 由CH同构, 它们也可以表示命题.
variable
ℓ ℓ′ : Level
A B : Set ℓ
A 的幂集定义为 A 到集合宇宙 Set 的函数 A → Set, 记作 ℙ A.
ℙ : Set ℓ → Set _
ℙ A = A → Set
我们说A 与 B 逻辑等价, 记作 A ↔ B, 当且仅当 A 蕴含 B 且 B 蕴含 A.
infix 2 _↔_
_↔_ : Set ℓ → Set ℓ′ → Set _
A ↔ B = (A → B) × (B → A)
逻辑等价是自反关系.
↔-refl : A ↔ A
↔-refl = id , id
相等的命题逻辑等价.
≡→↔ : A ≡ B → (A ↔ B)
≡→↔ refl = ↔-refl
任意命题不等价于自身的否定.
A↮¬A : ¬ (A ↔ ¬ A)
A↮¬A (p , q) = p (q (λ x → p x x)) (q λ x → p x x)
我们说A 到 B 的函数 f : A → B 是满射, 当且仅当对任意 b : B, 存在 a : A 使得 f a ≡ b.
surjective : (f : A → B) → Set _
surjective f = ∀ b → ∃[ a ] f a ≡ b
康托尔定理 (直接证)
定理 (Cantor) 不存在 A 到其幂集 ℙ A 的满射 f : A → ℙ A.
_ : (f : A → ℙ A) → surjective f → ⊥
证明 假设存在这样的 f, 构造子集 S : A → Set = λ x → ¬ f x x, 或者用传统符号表达即
S={x ∈ A|x ∉ f(x) }
由于f 是满射, 存在 a : A 使得 eq : f a ≡ S.
用cong-app 对 eq 两边同时运用 a 得到 f a a ≡ ¬ f a a, 即
α ∈ f(α) ↔ α ∉ f(α)
矛盾 ∎
_ = λ f H → let (a , eq) = H (λ x → ¬ f x x) in
A↮¬A $ ≡→↔ $ cong-app eq a
这种证法也叫对角线证法, 哥德尔不完备定理以及停机定理的证明都具有类似的形式. 以下是它们的一般化.
Lawvere不动点定理
定理 (Lawvere) 如果存在 A 到 A → B 的满射 f : A → A → B, 那么任意 g : B → B 都有不动点 b : B 使得 g b ≡ b.
Lawvere : (f : A → A → B) → surjective f → (g : B → B) → ∃[ b ] g b ≡ b
证明 留作练习 (提示: 将 g 看作对康托尔定理证明中出现的 ¬_ 的一般化) ∎
Lawvere f H g = let (a , eq) = H (λ x → g (f x x)) in
f a a , subst (λ h → g (f a a) ≡ h a) (sym eq) refl
存在不可数集合
令Lawvere 中的 g 为布尔值的否定函数 not 立即可知 𝔹ℕ 不可数, 因为 not 没有不动点.
2^ℕ-uncountable : (f : ℕ → ℕ → Bool) → surjective f → ⊥
2^ℕ-uncountable f H with Lawvere f H not
... | true , ()
... | false , ()
令Lawvere 中的 g 为自然数的后继函数 suc 立即可知 ℕℕ 不可数, 因为 suc 没有不动点.
ℕ^ℕ-uncountable : (f : ℕ → ℕ → ℕ) → surjective f → ⊥
ℕ^ℕ-uncountable f H with Lawvere f H suc
... | (_ , ())
康托尔定理 (用Lawvere不动点定理证)
令Lawvere 中的 g 为命题的否定函数 ¬_ 立即可知 A 不能满射到 ℙ A, 因为 ¬_ 没有不动点, 否则与 A↮¬A 矛盾.
Cantor : (f : A → ℙ A) → surjective f → ⊥
Cantor f H = A↮¬A $ ≡→↔ $ sym $ proj₂ $ Lawvere f H ¬_
延伸阅读
康托尔的著名定理指出,幂集的基数P(A)大于的基数 A有几种等同的配方,我想考虑的是
定理(康托尔):地图上没有A → P(A).
在这篇文章中,我想分析康托尔定理的通常证明,并提出一个有洞察力的重新表述,它在集合论之外具有应用。这里写的所有内容都很容易,远非新的,但在我看来,仍然足够有趣,可以呈现给更多的观众。
如果我们打开一本关于集合论的书,我们会发现康托尔定理的证明,它明确地表明,对于每个映射e:A → P(A)有一个子集A在其形象之外,即
S={x ∈A│x ∉ e(x)}
如果我们有S=e(y)对于一些人来说y∈A它将遵循这两个y是,也不是S.第一个观察是,这是一个构造有效的证明,因此康托尔定理在直觉集合论中同样成立。但这个定理的范围到底有多宽呢?让我们尽可能抽象地重新设计它,使它具有更广泛的适用性。
首先我们更换电源组 P(A) 使用函数集 Ωᴬ 其中 Ω 是真理值的集合。在经典逻辑的情况下Ω={0,1}但没有必要依赖这个事实。我们更愿意考虑真值对应于单例集子集的一般情况{0},使Ω=P({0}).之间的双射P(A)和 Ωᴬ 然后,只是子集和它们的特征映射之间的通常一个:一个子集 SsubseteqA对应于地图 χs(x)={u ∈ {0}│x ∈ S},而一张地图χ:A → Ω 对应于子集
{x ∈ A│0 ∈ χ(x)}.
逻辑取反 ¬ 可以看作是一张地图 N:Ω → Ω 定义由N(p)={u ∈ {0}│0 ∉ p}.请注意 N 没有固定点,因为如果有 p∈Ω 使得 N(p)=p 那我们就两个都有了 0∈p 和0 ∉ p.
现在我们的证明如下:假设我们有一张地图e:A → Ωᴬ 考虑地图 s:A → Ω 定义由
s(x)=N(e(x)(x)).如果有y∈A使得s=e(y),我们会 e(y)(y)=s(y)=N(e(y)(y)),矛盾。因此 e不在。QED。这怎么比我们以前好?它给了我们一个机会来思考 正的情况的各个方面:如果e然后,我们就开始了 Ω 没有固定点就不能有内图。因为证据中没有任何东西特别依赖于 Ω 作为通过值的集合,我们可以用一般集合替换它,以获得:
定理(劳维尔):如果有地图 e:A → Bᴬ 然后每 f:B → B 有一个固定点。
我们已经知道如何证明这一点:考虑地图s:A → B 定义由s(x)=f(e(x)(x)).因为 e 是上,有y∈A使得e(y)=s.那么我们有 e(y)(y)=s(y)=f(e(y)(y)),因此 e(y)(y) 是一个固定点 f.
QED。
康托尔定理是劳维尔定理的推论B=Ω而观察比否定没有不动点。
现在孤立地考虑劳维尔定理,以及如何证明它,也许是这样的:我怎么能有这样的地图e:A → Bᴬ?当然 B 不能有太多的元素,事实上,只有在 B 是单例或空例。我可以看到劳维尔定理显然是正确的,但它是垃圾,因为它只在微不足道的情况下成立。最后一句有一个错误:正如我们很快将看到的,劳维尔定理在有趣的情况下是正确的,但是 你(想象中的数学家,而不是本博客的读者......)只能在琐碎的情况下想象它,因为你懒得去看狭窄的集合论范围之外。
劳维尔定理是康托尔定理的核心对角线化技巧的积极重新表述。它可以在任何笛卡尔闭范畴中表述,它的证明只使用了方程推理和少量的一阶逻辑。我们应该期望它比康托尔定理有更广泛的适用性。事实上,我们立即看到,其他众所周知的对角线证明是推论,例如:
1.数字序列的集合 ℕ → ℕ 是不可数的,因为后继操作没有固定点。
2.没有连续的涌动 ℝ → C(ℝ,ℝ)从实线到连续实函数的Banach空间,配备了紧开放拓扑,因为实图 x↦x+1 是连续的,没有固定点。
更有趣的是,劳维尔定理也有积极的结果:
1.为了对比上面的第二种情况,我们问是否有一个连续的推测 ℝ 上 C (ℝ,[0,1]),连续实函数在闭区间上取值的空间,并配备了超度量。如果存在这样的映射,则闭合区间具有定点性质,而且每个立方体 [0,1]ⁿ 也有定点属性(练习)。所以这可能是一个很好的方法来证明 布劳尔不动点定理,即使它不起作用,它也是一个好主意,会让你思考 空间填充曲线有一段时间。
2.在 有效的 托波斯的 c.e 集 被表示为地图Σℕ其中 Σ 是一组 半决定的真理价值观。因为有一个有效的枚举c.e.集合,在有效的拓扑图中,有一个onmap W:ℕ → Σℕ,这立即告诉我们Σ具有定点属性,也是 Σℕ 因为它同构于(Σℕ)ℕ因此,我们得到了可计算性理论中的一个定理,指出每 枚举运算符有一个固定点。
最后,让我评论一下 保罗·斯塔德曼的问题在FOM邮件列表中。他想知道分离的公理(又名)证明康托尔定理需要子集公理。如果我们只在直集理论中工作,那么 有界的分离当然足够了。(这是分离的形式,定义谓词只有形式的有界量词∀x ∈ A 和 ∃x ∈ A,但没有任何形式∀x和∃x.)但是,有界分离只需要建立一个关于集合宇宙的一般事实,即它形成了一个笛卡尔闭范畴。在那之后,劳维尔定理就开始了,并完成了任务。所以我想说,分离在这里并不是以一种基本的方式使用的(例如,拓扑理论直接将指数公理化,因此在那里根本不需要分离).
评论
安德烈鲍尔
2008年3月5日00:01
我突然想到,我应该参考劳维尔的不动点定理。可在《范畴的
理论与应用再版》2006年第15期,第5页。1△13’,是 可在线获取
EtienneJacques
2008年3月16日00:26
<a href='http://xxx.lanl.gov/abs/math.LO/0305282"/rel="no跟随'>
这是劳维尔论文的介绍。</a>
EtienneJacques
2008年3月16日00:27
可通过以下网址在线获取:
http://xxx.lanl.gov/abs/math.LO/0305282
归纳型的要素|数学与计算
2013年8月28日16:13
函数的[...] mαthttnαttomαthttnαt 是可数的吗?这与通常的对
角线证明如何协词 mαthttnαttomαthttnαt is [...]
习
05 September 2016 at 16:18
‘如果有这样的映射,那么闭合区间具有定点属性.…’
恐怕前提是错误的。
安德烈鲍尔
06 September 2016 at 15:24
是的,当然是。
如何评论此博客: 目前注释已禁用,因为相关脚本已死。 乳齿象 提到 andrejbauer@mathstodon.xyz也欢迎你来 联系我 直接。
© 2023年 安德烈鲍尔 RSS feed
数学联邦政治世界观提示您:看后求收藏(笔尖小说网http://www.bjxsw.cc),接着再看更方便。