@@ -87,6 +87,11 @@ instance compactOpen : TopologicalSpace C(α, β) :=
8787 { m | ∃ (s : Set α) (_ : IsCompact s) (u : Set β) (_ : IsOpen u), m = CompactOpen.gen s u }
8888#align continuous_map.compact_open ContinuousMap.compactOpen
8989
90+ /-- Definition of `ContinuousMap.compactOpen` in terms of `Set.image2`. -/
91+ theorem compactOpen_eq : @compactOpen α β _ _ =
92+ .generateFrom (Set.image2 CompactOpen.gen {s | IsCompact s} {t | IsOpen t}) :=
93+ congr_arg TopologicalSpace.generateFrom <| Set.ext fun _ ↦ by simp [eq_comm]
94+
9095protected theorem isOpen_gen {s : Set α} (hs : IsCompact s) {u : Set β} (hu : IsOpen u) :
9196 IsOpen (CompactOpen.gen s u) :=
9297 TopologicalSpace.GenerateOpen.basic _ (by dsimp [mem_setOf_eq]; tauto)
@@ -96,19 +101,30 @@ section Functorial
96101
97102variable (g : C(β, γ))
98103
99- private theorem preimage_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpen u) :
104+ private theorem preimage_gen {s : Set α} {u : Set γ} :
100105 ContinuousMap.comp g ⁻¹' CompactOpen.gen s u = CompactOpen.gen s (g ⁻¹' u) := by
101106 ext ⟨f, _⟩
102107 change g ∘ f '' s ⊆ u ↔ f '' s ⊆ g ⁻¹' u
103108 rw [image_comp, image_subset_iff]
104- --#align continuous_map.preimage_gen ContinuousMap.preimage_gen
105109
106110/-- C(α, -) is a functor. -/
107111theorem continuous_comp : Continuous (ContinuousMap.comp g : C(α, β) → C(α, γ)) :=
108112 continuous_generateFrom fun m ⟨s, hs, u, hu, hm⟩ => by
109- rw [hm, preimage_gen g hs hu ]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2 )
113+ rw [hm, preimage_gen g]; exact ContinuousMap.isOpen_gen hs (hu.preimage g.2 )
110114#align continuous_map.continuous_comp ContinuousMap.continuous_comp
111115
116+ /-- If `g : C(β, γ)` is a topology inducing map, then the composition
117+ `ContinuousMap.comp g : C(α, β) → C(α, γ)` is a topology inducing map too. -/
118+ theorem inducing_comp (hg : Inducing g) : Inducing (g.comp : C(α, β) → C(α, γ)) where
119+ induced := by
120+ simp only [compactOpen_eq, induced_generateFrom_eq, image_image2, preimage_gen,
121+ hg.setOf_isOpen, image2_image_right]
122+
123+ /-- If `g : C(β, γ)` is a topological embedding, then the composition
124+ `ContinuousMap.comp g : C(α, β) → C(α, γ)` is an embedding too. -/
125+ theorem embedding_comp (hg : Embedding g) : Embedding (g.comp : C(α, β) → C(α, γ)) :=
126+ ⟨inducing_comp g hg.1 , fun _ _ ↦ (cancel_left hg.2 ).1 ⟩
127+
112128variable (f : C(α, β))
113129
114130private theorem image_gen {s : Set α} (_ : IsCompact s) {u : Set γ} (_ : IsOpen u) :
0 commit comments