Skip to content

Commit bb6ed24

Browse files
feat: Units.{continuous_map,isOpenMap_map} (#29780)
Co-authored-by: James Sundstrom <James.Sundstrom@gmail.com>
1 parent 213ff10 commit bb6ed24

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

Mathlib/Topology/Algebra/Constructions.lean

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ topological space, opposite monoid, units
1919
-/
2020

2121

22-
variable {M X : Type*}
22+
variable {M N X : Type*}
2323

2424
open Filter Topology
2525

@@ -91,7 +91,7 @@ namespace Units
9191

9292
open MulOpposite
9393

94-
variable [TopologicalSpace M] [Monoid M] [TopologicalSpace X]
94+
variable [TopologicalSpace M] [Monoid M] [TopologicalSpace N] [Monoid N] [TopologicalSpace X]
9595

9696
/-- The units of a monoid are equipped with a topology, via the embedding into `M × M`. -/
9797
@[to_additive
@@ -160,4 +160,20 @@ protected theorem continuous_iff {f : X → Mˣ} :
160160
theorem continuous_coe_inv : Continuous (fun u => ↑u⁻¹ : Mˣ → M) :=
161161
(Units.continuous_iff.1 continuous_id).2
162162

163+
@[to_additive]
164+
lemma continuous_map {f : M →* N} (hf : Continuous f) : Continuous (map f) :=
165+
Units.continuous_iff.mpr ⟨hf.comp continuous_val, hf.comp continuous_coe_inv⟩
166+
167+
@[to_additive]
168+
lemma isOpenMap_map {f : M →* N} (hf_inj : Function.Injective f) (hf : IsOpenMap f) :
169+
IsOpenMap (map f) := by
170+
rintro _ ⟨U, hU, rfl⟩
171+
have hg_openMap := hf.prodMap <| opHomeomorph.isOpenMap.comp (hf.comp opHomeomorph.symm.isOpenMap)
172+
refine ⟨_, hg_openMap U hU, Set.ext fun y ↦ ?_⟩
173+
simp only [embedProduct, OneHom.coe_mk, Set.mem_preimage, Set.mem_image, Prod.mk.injEq,
174+
Prod.map, Prod.exists, MulOpposite.exists, MonoidHom.coe_mk]
175+
refine ⟨fun ⟨a, b, h, ha, hb⟩ ↦ ⟨⟨a, b, hf_inj ?_, hf_inj ?_⟩, ?_⟩,
176+
fun ⟨x, hxV, hx⟩ ↦ ⟨x, x.inv, by simp [hxV, ← hx]⟩⟩
177+
all_goals simp_all
178+
163179
end Units

0 commit comments

Comments
 (0)