@@ -3,9 +3,11 @@ Copyright (c) 2017 Johannes Hölzl. All rights reserved.
3
3
Released under Apache 2.0 license as described in the file LICENSE.
4
4
Authors: Johannes Hölzl, Mario Carneiro, Floris van Doorn
5
5
-/
6
+ import order.hom.complete_lattice
6
7
import topology.bases
7
8
import topology.homeomorph
8
9
import topology.continuous_function.basic
10
+
9
11
/-!
10
12
# Open sets
11
13
@@ -19,9 +21,9 @@ We define the subtype of open sets in a topological space.
19
21
- `open_nhds_of x` is the type of open subsets of a topological space `α` containing `x : α`.
20
22
-/
21
23
22
- open filter set
23
- variables {α : Type *} {β : Type *} {γ : Type *}
24
- [topological_space α] [topological_space β] [topological_space γ]
24
+ open filter order set
25
+
26
+ variables {α β γ : Type *} [topological_space α] [topological_space β] [topological_space γ]
25
27
26
28
namespace topological_space
27
29
variable (α)
@@ -93,10 +95,10 @@ by refl
93
95
94
96
@[simp] lemma mk_inf_mk {U V : set α} {hU : is_open U} {hV : is_open V} :
95
97
(⟨U, hU⟩ ⊓ ⟨V, hV⟩ : opens α) = ⟨U ⊓ V, is_open.inter hU hV⟩ := rfl
96
- @[simp,norm_cast] lemma coe_inf {U V : opens α} :
97
- ((U ⊓ V : opens α) : set α) = (U : set α) ⊓ (V : set α) := rfl
98
+ @[simp, norm_cast] lemma coe_inf {U V : opens α} : ((U ⊓ V : opens α) : set α) = U ∩ V := rfl
98
99
@[simp] lemma coe_bot : ((⊥ : opens α) : set α) = ∅ := rfl
99
100
@[simp] lemma coe_top : ((⊤ : opens α) : set α) = set.univ := rfl
101
+ @[simp] lemma coe_Sup {S : set (opens α)} : (↑(Sup S) : set α) = ⋃ i ∈ S, ↑i := (@gc α _).l_Sup
100
102
101
103
instance : has_inter (opens α) := ⟨λ U V, U ⊓ V⟩
102
104
instance : has_union (opens α) := ⟨λ U V, U ⊔ V⟩
@@ -107,11 +109,8 @@ instance : inhabited (opens α) := ⟨∅⟩
107
109
@[simp] lemma union_eq (U V : opens α) : U ∪ V = U ⊔ V := rfl
108
110
@[simp] lemma empty_eq : (∅ : opens α) = ⊥ := rfl
109
111
110
- @[simp] lemma Sup_s {Us : set (opens α)} : ↑(Sup Us) = ⋃₀ ((coe : _ → set α) '' Us) :=
111
- by { rw [(@gc α _).l_Sup, set.sUnion_image], refl }
112
-
113
112
lemma supr_def {ι} (s : ι → opens α) : (⨆ i, s i) = ⟨⋃ i, s i, is_open_Union $ λ i, (s i).2 ⟩ :=
114
- by { ext, simp only [supr, opens.Sup_s, sUnion_image , bUnion_range], refl }
113
+ by { ext, simp only [supr, coe_Sup , bUnion_range], refl }
115
114
116
115
@[simp] lemma supr_mk {ι} (s : ι → set α) (h : Π i, is_open (s i)) :
117
116
(⨆ i, ⟨s i, h i⟩ : opens α) = ⟨⋃ i, s i, is_open_Union h⟩ :=
@@ -126,6 +125,12 @@ by { rw [←mem_coe], simp, }
126
125
@[simp] lemma mem_Sup {Us : set (opens α)} {x : α} : x ∈ Sup Us ↔ ∃ u ∈ Us, x ∈ u :=
127
126
by simp_rw [Sup_eq_supr, mem_supr]
128
127
128
+ instance : frame (opens α) :=
129
+ { Sup := Sup,
130
+ inf_Sup_le_supr_inf := λ a s,
131
+ (ext $ by simp only [coe_inf, supr_s, coe_Sup, set.inter_Union₂]).le,
132
+ ..opens.complete_lattice }
133
+
129
134
lemma open_embedding_of_le {U V : opens α} (i : U ≤ V) :
130
135
open_embedding (set.inclusion i) :=
131
136
{ inj := set.inclusion_injective i,
@@ -168,8 +173,8 @@ begin
168
173
{ intros hB U,
169
174
refine ⟨{V : opens α | V ∈ B ∧ V ⊆ U}, λ U hU, hU.left, _⟩,
170
175
apply ext,
171
- rw [Sup_s , hB.open_eq_sUnion' U.prop],
172
- simp_rw [sUnion_image, sUnion_eq_bUnion, Union, supr_and, supr_image],
176
+ rw [coe_Sup , hB.open_eq_sUnion' U.prop],
177
+ simp_rw [sUnion_eq_bUnion, Union, supr_and, supr_image],
173
178
refl },
174
179
{ intro h,
175
180
rw is_basis_iff_nbhd,
@@ -180,15 +185,17 @@ begin
180
185
end
181
186
182
187
/-- The preimage of an open set, as an open set. -/
183
- def comap (f : C(α, β)) : opens β →o opens α :=
184
- { to_fun := λ V, ⟨f ⁻¹' V, V.2 .preimage f.continuous⟩,
185
- monotone' := λ V₁ V₂ hle, monotone_preimage hle }
188
+ def comap (f : C(α, β)) : frame_hom (opens β) (opens α) :=
189
+ { to_fun := λ s, ⟨f ⁻¹' s, s.2 .preimage f.continuous⟩,
190
+ map_Sup' := λ s, ext $ by simp only [coe_Sup, preimage_Union, coe_mk, mem_image, Union_exists,
191
+ bUnion_and', Union_Union_eq_right],
192
+ map_inf' := λ a b, rfl }
186
193
187
- @[simp] lemma comap_id : comap (continuous_map.id α) = order_hom.id := by { ext, refl }
194
+ @[simp] lemma comap_id : comap (continuous_map.id α) = frame_hom.id _ :=
195
+ frame_hom.ext $ λ a, ext rfl
188
196
189
- lemma comap_mono (f : C(α, β)) {V W : opens β} (hVW : V ⊆ W) :
190
- comap f V ⊆ comap f W :=
191
- (comap f).monotone hVW
197
+ lemma comap_mono (f : C(α, β)) {s t : opens β} (h : s ≤ t) : comap f s ≤ comap f t :=
198
+ order_hom_class.mono (comap f) h
192
199
193
200
@[simp] lemma coe_comap (f : C(α, β)) (U : opens β) : ↑(comap f U) = f ⁻¹' U := rfl
194
201
0 commit comments