Skip to content

Commit 97225cd

Browse files
committed
formalize some basics in topology with sorries
1 parent e4025cc commit 97225cd

1 file changed

Lines changed: 77 additions & 0 deletions

File tree

Minimathlib/Topology.lean

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,3 +26,80 @@ theorem isClosed_univ : isClosed (𝒰 : Set X) := by
2626
unfold isClosed
2727
rw [@Set.compl_univ]
2828
exact TopologicalSpace.isOpen_empty
29+
30+
open TopologicalSpace
31+
32+
-- De Morgan's laws for closed sets
33+
theorem isClosed_iUnion : ∀ {ι : Type u} (s : ι → Set X), (∀ i, isClosed (s i)) → isClosed (⋃ s) := by
34+
sorry
35+
36+
theorem isClosed_union : ∀ s t : Set X, isClosed s → isClosed t → isClosed (s ∪ t) := by
37+
sorry
38+
39+
-- Basic subset relation
40+
def subset (s t : Set X) : Prop := ∀ x, x ∈ s → x ∈ t
41+
42+
infixl:50 " ⊆ " => subset
43+
44+
-- Neighborhood definitions and properties
45+
def nhds (x : X) : Set (Set X) := fun s => ∃ t, isOpen t ∧ x ∈ t ∧ t ⊆ s
46+
47+
theorem isOpen_iff_nhds : ∀ s : Set X, isOpen s ↔ ∀ x, x ∈ s → s ∈ nhds x := by
48+
sorry
49+
50+
-- Closure (intersection of all closed supersets)
51+
def closure (s : Set X) : Set X := fun x => ∀ t, isClosed t → s ⊆ t → x ∈ t
52+
53+
-- Interior (union of all open subsets)
54+
def interior (s : Set X) : Set X := fun x => ∃ t, isOpen t ∧ t ⊆ s ∧ x ∈ t
55+
56+
theorem closure_closed : ∀ s : Set X, isClosed (closure s) := by
57+
sorry
58+
59+
theorem interior_open : ∀ s : Set X, isOpen (interior s) := by
60+
sorry
61+
62+
theorem subset_closure : ∀ s : Set X, s ⊆ closure s := by
63+
sorry
64+
65+
theorem interior_subset : ∀ s : Set X, interior s ⊆ s := by
66+
sorry
67+
68+
-- Dense sets
69+
def dense (s : Set X) : Prop := closure s = 𝒰
70+
71+
theorem dense_iff_closure : ∀ s : Set X, dense s ↔ closure s = 𝒰 := by
72+
sorry
73+
74+
-- Preimage of a function
75+
def preimage {Y : Type u} (f : X → Y) (s : Set Y) : Set X := fun x => s (f x)
76+
77+
-- Continuity
78+
def continuous {Y : Type u} [TopologicalSpace Y] (f : X → Y) : Prop :=
79+
∀ s : Set Y, @TopologicalSpace.isOpen Y _ s → isOpen (preimage f s)
80+
81+
theorem continuous_comp {Y Z : Type u} [TopologicalSpace Y] [TopologicalSpace Z]
82+
(f : X → Y) (g : Y → Z) : continuous f → continuous g → continuous (fun x => g (f x)) := by
83+
sorry
84+
85+
-- Homeomorphisms
86+
def homeomorphism {Y : Type u} [TopologicalSpace Y] (f : X → Y) : Prop :=
87+
continuous f ∧ ∃ g : Y → X, continuous g ∧ (∀ y, f (g y) = y) ∧ (∀ x, g (f x) = x)
88+
89+
theorem homeomorphism_equiv {Y : Type u} [TopologicalSpace Y]
90+
(f : X → Y) : homeomorphism f ↔ continuous f ∧ ∃ g : Y → X, continuous g ∧ (∀ y, f (g y) = y) ∧ (∀ x, g (f x) = x) := by
91+
sorry
92+
93+
-- Nonempty predicate for sets
94+
def nonempty (s : Set X) : Prop := ∃ x, x ∈ s
95+
96+
-- Connectedness
97+
def connected (s : Set X) : Prop :=
98+
¬∃ u v : Set X, isOpen u ∧ isOpen v ∧ u ∩ v = ∅ ∧ s ⊆ u ∪ v ∧ nonempty (fun x => s x ∧ u x) ∧ nonempty (fun x => s x ∧ v x)
99+
100+
-- Image of a function
101+
def image {Y : Type u} (f : X → Y) (s : Set X) : Set Y := fun y => ∃ x, s x ∧ f x = y
102+
103+
theorem connected_intermediate_value {Y : Type u} [TopologicalSpace Y]
104+
(f : X → Y) (s : Set X) : connected s → continuous f → connected (image f s) := by
105+
sorry

0 commit comments

Comments
 (0)