@@ -6,22 +6,13 @@ import Munkres.Defs.Basic
66
77namespace Munkres
88
9- -- import Dino.Core.Topology.IsCountableBasisAt
10- -- import Dino.Core.Set.Subcollection
11-
12- open Topology Filter ENNReal NNReal TopologicalSpace
9+ open Topology Filter NNReal
1310
1411universe u
1512
16- variable {α : Type u}
17-
18- -- Equivalence of the idea of convergence. WOH.
19- example [TopologicalSpace α] (f : ℕ → α) (x : α)
20- : Tendsto f atTop (𝓝 x) ↔ ∀ U, x ∈ U → IsOpen U → ∃ N, ∀ k ≥ N, f k ∈ U
21- := by --
22- rw [tendsto_atTop_nhds] -- ∎
13+ variable {α : Type u} [MetricSpace α] {X : Set α}
2314
24- theorem Metric.isComplete_iff [MetricSpace α] {X : Set α}
15+ protected theorem Metric.isComplete_iff
2516 : IsComplete X ↔ ∀ (f : ℕ → X), CauchySeq f → ∃ x, Tendsto f atTop (𝓝 x)
2617 := by --
2718 constructor
@@ -33,59 +24,45 @@ theorem Metric.isComplete_iff [MetricSpace α] {X : Set α}
3324 rw [<-completeSpace_coe_iff_isComplete]
3425 exact UniformSpace.complete_of_cauchySeq_tendsto h -- ∎
3526
36- -- theorem Metric.isCompleteSpace_iff [MetricSpace α]
37- -- : CompleteSpace α ↔ ∀ (f : ℕ → α), CauchySeq f → ∃ x, Tendsto f atTop (𝓝 x)
38- -- := by --
39- -- rw [completeSpace_iff_isComplete_univ, Metric.isComplete_iff]
40- -- constructor
41- -- · intro h f hf
42- -- let X : Set α := Set.univ; let φ : X ≃ α := Equiv.Set.univ α
43- -- let f' : ℕ → X := (φ.invFun <| f ·)
44- -- have hf' : CauchySeq f' := by
45- -- rw [ cauchySeq_iff' ] at hf ⊢
46- -- exact hf
47- -- obtain ⟨x, hx⟩ := h f' hf'
48- -- use x
49- -- rw [ tendsto_atTop ] at hx ⊢
50- -- exact hx
51- -- · intro h f' hf'
52- -- let X : Set α := Set.univ; let φ : X ≃ α := Equiv.Set.univ α
53- -- let f : ℕ → α := φ ∘ f'
54- -- have hf : CauchySeq f := by rw [ cauchySeq_iff' ] at hf' ⊢; exact hf'
55- -- obtain ⟨x, hx⟩ := h f hf
56- -- use ⟨x, trivial⟩
57- -- exact tendsto_subtype_rng.mpr hx -- ∎
27+ protected theorem Metric.CompleteSpace_iff
28+ : CompleteSpace α ↔ ∀ (f : ℕ → α), CauchySeq f → ∃ x, Tendsto f atTop (𝓝 x)
29+ := by --
30+ rw [completeSpace_iff_isComplete_univ, Metric.isComplete_iff]
31+ simp only [Metric.cauchySeq_iff', tendsto_subtype_rng]
32+ simp only [Subtype.exists, Set.mem_univ, exists_const]
33+ let φ := Equiv.Set.univ α
34+ -- exact ⟨fun h f ↦ h (φ.symm ∘ f), fun h f' ↦ h (φ ∘ f')⟩
35+ exact ⟨(· <| φ.symm ∘ ·), (· <| φ ∘ ·)⟩ -- ∎
36+
37+ -- Equivalence for the idea of total boundedness.
38+ example : TotallyBounded X ↔ ∀ ε > 0 , ∃ t : Set α, t.Finite ∧ X ⊆ ⋃ y ∈ t, Metric.ball y ε
39+ := by --
40+ exact Metric.totallyBounded_iff -- ∎
5841
5942section LebesgueNumber
6043
6144universe v
62- variable [MetricSpace α] {ι : Sort v} {c : ι → Set α} {U : Set (Set α)}
45+ variable {ι : Sort v} {c : ι → Set α} {δ : ℝ≥0 }
46+ {U : Set (Set α)} {ho : ∀ i, IsOpen (c i)} {hc : Set.univ ⊆ ⋃ i, c i}
6347
6448/-- Tells us if `δ` is a lebesgue number of the open cover `c`. -/
6549class LebesgueNumber (δ : ℝ≥0 ) (ho : ∀ i, IsOpen (c i)) (hc : Set.univ ⊆ ⋃ i, c i) : Prop where
6650 ne_zero : δ ≠ 0
6751 out : ∀ s : Set α, EMetric.diam s < δ → ∃ i, s ⊆ c i
6852
69- lemma LebesgueNumber.pos {δ : ℝ≥0 } {ho : ∀ i, IsOpen (c i)} {hc : Set.univ ⊆ ⋃ i, c i}
70- (h : LebesgueNumber δ ho hc) : δ > 0 := pos_of_ne_zero h.ne_zero
53+ lemma LebesgueNumber.pos (h : LebesgueNumber δ ho hc) : δ > 0 := pos_of_ne_zero h.ne_zero
7154
72- protected theorem LebesgueNumber.iff {δ : ℝ≥ 0 } { ho : ∀ i, IsOpen (c i)} {hc : Set.univ ⊆ ⋃ i, c i}
73- : LebesgueNumber δ ho hc ↔ δ > 0 ∧ ∀ s : Set α, EMetric.diam s < δ → ∃ i, s ⊆ c i
55+ protected theorem LebesgueNumber.iff : LebesgueNumber δ ho hc
56+ ↔ δ ≠ 0 ∧ ∀ s : Set α, EMetric.diam s < δ → ∃ i, s ⊆ c i
7457 := by --
7558 constructor
7659 · intro h
77- exact ⟨h.pos , h.out⟩
78- · intro ⟨pos , out⟩
79- exact {ne_zero := pos.ne' , out} -- ∎
60+ exact ⟨h.ne_zero , h.out⟩
61+ · intro ⟨ne_zero , out⟩
62+ exact {ne_zero, out} -- ∎
8063
8164-- For more info in Mathlib, look for `lebesgue_number_lemma_of_emetric`.
8265
8366end LebesgueNumber
8467
85- -- Equivalence for the idea of total boundedness.
86- example [MetricSpace α] {X : Set α} :
87- TotallyBounded X ↔ ∀ ε > 0 , ∃ t : Set α, t.Finite ∧ X ⊆ ⋃ y ∈ t, Metric.ball y ε
88- := by --
89- exact Metric.totallyBounded_iff -- ∎
90-
9168end Munkres
0 commit comments