|
1 | 1 | /- |
2 | 2 | Copyright (c) 2023 Yury Kudryashov. All rights reserved. |
3 | 3 | Released under Apache 2.0 license as described in the file LICENSE. |
4 | | -Authors: Yury Kudryashov |
| 4 | +Authors: Yury Kudryashov, Tian Chen |
5 | 5 | -/ |
6 | 6 | module |
7 | 7 |
|
8 | | -public import Mathlib.Analysis.Real.Cardinality |
9 | | -public import Mathlib.Topology.TietzeExtension |
| 8 | +public import Mathlib.SetTheory.Cardinal.Continuum |
| 9 | +public import Mathlib.Topology.Separation.Regular |
| 10 | + |
10 | 11 | /-! |
11 | 12 | # Not normal topological spaces |
12 | 13 |
|
13 | 14 | In this file we prove (see `IsClosed.not_normal_of_continuum_le_mk`) that a separable space with a |
14 | 15 | discrete subspace of cardinality continuum is not a normal topological space. |
| 16 | +
|
| 17 | +## References |
| 18 | +
|
| 19 | +* [Willard's *General Topology*][zbMATH02107988] |
15 | 20 | -/ |
16 | 21 |
|
17 | 22 | public section |
18 | 23 |
|
19 | | -open Set Function Cardinal Topology TopologicalSpace |
| 24 | +open Set Function Cardinal TopologicalSpace |
20 | 25 |
|
21 | 26 | universe u |
22 | | -variable {X : Type u} [TopologicalSpace X] [SeparableSpace X] |
| 27 | +variable {X : Type u} [TopologicalSpace X] |
23 | 28 |
|
24 | | -/-- Let `s` be a closed set in a separable normal space. If the induced topology on `s` is discrete, |
25 | | -then `s` has cardinality less than continuum. |
26 | | -
|
27 | | -The proof follows |
28 | | -https://en.wikipedia.org/wiki/Moore_plane#Proof_that_the_Moore_plane_is_not_normal -/ |
29 | | -theorem IsClosed.mk_lt_continuum [NormalSpace X] {s : Set X} (hs : IsClosed s) |
30 | | - [DiscreteTopology s] : #s < 𝔠 := by |
31 | | - -- Proof by contradiction: assume `𝔠 ≤ #s` |
32 | | - by_contra! h |
33 | | - -- Choose a countable dense set `t : Set X` |
34 | | - rcases exists_countable_dense X with ⟨t, htc, htd⟩ |
35 | | - haveI := htc.to_subtype |
36 | | - -- To obtain a contradiction, we will prove `2 ^ 𝔠 ≤ 𝔠`. |
37 | | - refine (Cardinal.cantor 𝔠).not_ge ?_ |
| 29 | +namespace IsClosed |
| 30 | + |
| 31 | +/-- Let `s` be a closed set in a normal space and `d` be a dense set. If the induced topology on `s` |
| 32 | +is discrete, then `𝒫 s` has cardinality less than or equal to `𝒫 d`. -/ |
| 33 | +theorem two_pow_mk_le_two_pow_mk_dense [NormalSpace X] {s d : Set X} (hs : IsClosed s) |
| 34 | + [DiscreteTopology s] (hd : Dense d) : (2 : Cardinal) ^ #s ≤ 2 ^ #d := by |
| 35 | + have h_closed (t) (ht : t ∈ 𝒫 s) : IsClosed t := by |
| 36 | + rw [← inter_eq_self_of_subset_right ht, ← Subtype.image_preimage_val] |
| 37 | + exact hs.isClosedMap_subtype_val _ (isClosed_discrete _) |
| 38 | + choose U V hU hV hUs hVs hUV using fun t : 𝒫 s ↦ |
| 39 | + normal_separation (h_closed t t.2) (h_closed _ diff_subset) disjoint_sdiff_right |
| 40 | + have hUd {t₁ t₂} (h : U t₁ ∩ d = U t₂ ∩ d) : t₁.1 ⊆ t₂.1 := by |
| 41 | + by_contra ht |
| 42 | + rw [← diff_nonempty] at ht |
| 43 | + have hUVd := hd.inter_open_nonempty _ ((hU t₁).inter (hV t₂)) <| ht.mono <| |
| 44 | + subset_inter (diff_subset.trans (hUs t₁)) ((diff_subset_diff_left t₁.2).trans (hVs t₂)) |
| 45 | + rw [inter_right_comm, h] at hUVd |
| 46 | + exact hUVd.not_disjoint <| disjoint_of_subset_left inter_subset_left (hUV t₂) |
| 47 | + have h_inj : Injective (U · ∩ d) := fun _ _ h ↦ SetCoe.ext <| (hUd h).antisymm (hUd h.symm) |
| 48 | + rw [← mk_powerset, ← mk_powerset, ← mk_range_eq _ h_inj] |
| 49 | + apply mk_le_mk_of_subset |
| 50 | + rw [range_subset_iff] |
| 51 | + intro |
| 52 | + exact inter_subset_right |
| 53 | + |
| 54 | +theorem mk_lt_two_pow_mk_dense [NormalSpace X] {s d : Set X} (hs : IsClosed s) |
| 55 | + [DiscreteTopology s] (hd : Dense d) : #s < 2 ^ #d := |
| 56 | + (#s).cantor.trans_le <| hs.two_pow_mk_le_two_pow_mk_dense hd |
| 57 | + |
| 58 | +variable [SeparableSpace X] |
| 59 | + |
| 60 | +theorem two_pow_mk_lt_continuum [NormalSpace X] {s : Set X} (hs : IsClosed s) |
| 61 | + [DiscreteTopology s] : 2 ^ #s ≤ 𝔠 := |
| 62 | + have ⟨d, hd_countable, hd_dense⟩ := exists_countable_dense X |
38 | 63 | calc |
39 | | - -- Any function `s → ℝ` is continuous, hence `2 ^ 𝔠 ≤ #C(s, ℝ)` |
40 | | - 2 ^ 𝔠 ≤ #C(s, ℝ) := by |
41 | | - rw [ContinuousMap.equivFnOfDiscrete.cardinal_eq, mk_arrow, mk_real, lift_continuum, |
42 | | - lift_uzero] |
43 | | - exact (power_le_power_left two_ne_zero h).trans (power_le_power_right (nat_lt_continuum 2).le) |
44 | | - -- By the Tietze Extension Theorem, any function `f : C(s, ℝ)` can be extended to `C(X, ℝ)`, |
45 | | - -- hence `#C(s, ℝ) ≤ #C(X, ℝ)` |
46 | | - _ ≤ #C(X, ℝ) := by |
47 | | - choose f hf using ContinuousMap.exists_restrict_eq (Y := ℝ) hs |
48 | | - have hfi : Injective f := LeftInverse.injective hf |
49 | | - exact mk_le_of_injective hfi |
50 | | - -- Since `t` is dense, restriction `C(X, ℝ) → C(t, ℝ)` is injective, hence `#C(X, ℝ) ≤ #C(t, ℝ)` |
51 | | - _ ≤ #C(t, ℝ) := mk_le_of_injective <| ContinuousMap.injective_restrict htd |
52 | | - _ ≤ #(t → ℝ) := mk_le_of_injective DFunLike.coe_injective |
53 | | - -- Since `t` is countable, we have `#(t → ℝ) ≤ 𝔠` |
54 | | - _ ≤ 𝔠 := by |
55 | | - rw [mk_arrow, mk_real, lift_uzero, lift_continuum, continuum, ← power_mul] |
56 | | - exact power_le_power_left two_ne_zero mk_le_aleph0 |
| 64 | + 2 ^ #s ≤ 2 ^ #d := hs.two_pow_mk_le_two_pow_mk_dense hd_dense |
| 65 | + _ ≤ 2 ^ ℵ₀ := power_le_power_left two_ne_zero hd_countable.le_aleph0 |
| 66 | + _ = 𝔠 := two_power_aleph0 |
| 67 | + |
| 68 | +/-- Let `s` be a closed set in a separable normal space. If the induced topology on `s` is discrete, |
| 69 | +then `s` has cardinality less than continuum. -/ |
| 70 | +theorem mk_lt_continuum [NormalSpace X] {s : Set X} (hs : IsClosed s) |
| 71 | + [DiscreteTopology s] : #s < 𝔠 := (#s).cantor.trans_le hs.two_pow_mk_lt_continuum |
57 | 72 |
|
58 | 73 | /-- Let `s` be a closed set in a separable space. If the induced topology on `s` is discrete and `s` |
59 | 74 | has cardinality at least continuum, then the ambient space is not a normal space. -/ |
60 | | -theorem IsClosed.not_normal_of_continuum_le_mk {s : Set X} (hs : IsClosed s) [DiscreteTopology s] |
| 75 | +theorem not_normal_of_continuum_le_mk {s : Set X} (hs : IsClosed s) [DiscreteTopology s] |
61 | 76 | (hmk : 𝔠 ≤ #s) : ¬NormalSpace X := fun _ ↦ hs.mk_lt_continuum.not_ge hmk |
| 77 | + |
| 78 | +end IsClosed |
0 commit comments