Skip to content

Commit 9ea21ba

Browse files
committed
feat(UniformGroup): add UniformInducing.uniformGroup (#8813)
1 parent befd8b2 commit 9ea21ba

File tree

2 files changed

+23
-22
lines changed

2 files changed

+23
-22
lines changed

Mathlib/Topology/Algebra/Module/StrongTopology.lean

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -110,10 +110,9 @@ theorem strongTopology.embedding_coeFn [UniformSpace F] [UniformAddGroup F] (
110110
theorem strongUniformity.uniformAddGroup [UniformSpace F] [UniformAddGroup F] (𝔖 : Set (Set E)) :
111111
@UniformAddGroup (E →SL[σ] F) (strongUniformity σ F 𝔖) _ := by
112112
letI : UniformSpace (E →SL[σ] F) := strongUniformity σ F 𝔖
113-
rw [strongUniformity, UniformSpace.replaceTopology_eq]
114113
let φ : (E →SL[σ] F) →+ E →ᵤ[𝔖] F :=
115114
⟨⟨(FunLike.coe : (E →SL[σ] F) → E →ᵤ[𝔖] F), rfl⟩, fun _ _ => rfl⟩
116-
exact uniformAddGroup_comap φ
115+
exact (strongUniformity.uniformEmbedding_coeFn _ _ _).uniformAddGroup φ
117116
#align continuous_linear_map.strong_uniformity.uniform_add_group ContinuousLinearMap.strongUniformity.uniformAddGroup
118117

119118
theorem strongTopology.topologicalAddGroup [TopologicalSpace F] [TopologicalAddGroup F]

Mathlib/Topology/Algebra/UniformGroup.lean

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -196,18 +196,6 @@ instance : UniformGroup αᵐᵒᵖ :=
196196

197197
end MulOpposite
198198

199-
namespace Subgroup
200-
201-
@[to_additive]
202-
instance uniformGroup (S : Subgroup α) : UniformGroup S :=
203-
⟨uniformContinuous_comap'
204-
(uniformContinuous_div.comp <|
205-
uniformContinuous_subtype_val.prod_map uniformContinuous_subtype_val)⟩
206-
#align subgroup.uniform_group Subgroup.uniformGroup
207-
#align add_subgroup.uniform_add_group AddSubgroup.uniformAddGroup
208-
209-
end Subgroup
210-
211199
section LatticeOps
212200

213201
variable [Group β]
@@ -240,17 +228,31 @@ theorem uniformGroup_inf {u₁ u₂ : UniformSpace β} (h₁ : @UniformGroup β
240228
#align uniform_add_group_inf uniformAddGroup_inf
241229

242230
@[to_additive]
243-
theorem uniformGroup_comap {γ : Type*} [Group γ] {u : UniformSpace γ} [UniformGroup γ] {F : Type*}
244-
[MonoidHomClass F β γ] (f : F) : @UniformGroup β (u.comap f) _ :=
245-
letI : UniformSpace β := u.comap f
246-
⟨uniformContinuous_comap' <| by
247-
simp_rw [Function.comp, map_div]
248-
exact uniformContinuous_div.comp (uniformContinuous_comap.prod_map uniformContinuous_comap)⟩
249-
#align uniform_group_comap uniformGroup_comap
250-
#align uniform_add_group_comap uniformAddGroup_comap
231+
lemma UniformInducing.uniformGroup {γ : Type*} [Group γ] [UniformSpace γ] [UniformGroup γ]
232+
[UniformSpace β] {F : Type*} [MonoidHomClass F β γ] (f : F) (hf : UniformInducing f) :
233+
UniformGroup β where
234+
uniformContinuous_div := by
235+
simp_rw [hf.uniformContinuous_iff, Function.comp_def, map_div]
236+
exact uniformContinuous_div.comp (hf.uniformContinuous.prod_map hf.uniformContinuous)
237+
238+
@[to_additive]
239+
protected theorem UniformGroup.comap {γ : Type*} [Group γ] {u : UniformSpace γ} [UniformGroup γ]
240+
{F : Type*} [MonoidHomClass F β γ] (f : F) : @UniformGroup β (u.comap f) _ :=
241+
letI : UniformSpace β := u.comap f; UniformInducing.uniformGroup f ⟨rfl⟩
242+
#align uniform_group_comap UniformGroup.comap
243+
#align uniform_add_group_comap UniformAddGroup.comap
251244

252245
end LatticeOps
253246

247+
namespace Subgroup
248+
249+
@[to_additive]
250+
instance uniformGroup (S : Subgroup α) : UniformGroup S := .comap S.subtype
251+
#align subgroup.uniform_group Subgroup.uniformGroup
252+
#align add_subgroup.uniform_add_group AddSubgroup.uniformAddGroup
253+
254+
end Subgroup
255+
254256
section
255257

256258
variable (α)

0 commit comments

Comments
 (0)