@@ -86,23 +86,47 @@ variable {G : Type*} [Group G] [UniformSpace G] [IsRightUniformGroup G]
8686/-- A locally compact right-uniform group is complete. -/
8787@ [to_additive
8888/-- A locally compact right-uniform additive group is complete. -/ ]
89+ -- not an instance for performance reasons, see benchmark on PR #42117
8990theorem completeSpace_of_weaklyLocallyCompactSpace
9091 [WeaklyLocallyCompactSpace G] : CompleteSpace G where
9192 complete {f} hf := by
9293 open scoped RightActions in
9394 have : f.NeBot := hf.1
9495 obtain ⟨K, K_compact, K_mem⟩ := WeaklyLocallyCompactSpace.exists_compact_mem_nhds (1 : G)
95- obtain ⟨x, hx⟩ : ∃ x, ∀ᶠ y in f, y / x ∈ K := by
96- rw [cauchy_iff_le, uniformity_eq_comap_nhds_one , ← tendsto_iff_comap] at hf
96+ obtain ⟨x, hx⟩ : ∃ x, ∀ᶠ y in f, y * x⁻¹ ∈ K := by
97+ rw [cauchy_iff_le, uniformity_eq_comap_mul_inv_nhds_one , ← tendsto_iff_comap] at hf
9798 exact hf.eventually_mem K_mem |>.curry.exists
98- simp_rw [div_eq_mul_inv, ← op_smul_eq_mul, MulOpposite.op_inv,
99- ← mem_smul_set_iff_inv_smul_mem] at hx
99+ simp_rw [← op_smul_eq_mul, MulOpposite.op_inv, ← mem_smul_set_iff_inv_smul_mem] at hx
100100 have Kx_complete : IsComplete (K <• x) := K_compact.smul _ |>.isComplete
101101 obtain ⟨l, -, hl⟩ := Kx_complete f hf (by simpa using hx)
102102 exact ⟨l, hl⟩
103103
104104end IsRightUniformGroup
105105
106+ namespace IsLeftUniformGroup
107+
108+ variable {G : Type *} [Group G] [UniformSpace G] [IsLeftUniformGroup G]
109+
110+ /-- A locally compact left-uniform group is complete. -/
111+ @ [to_additive
112+ /-- A locally compact left-uniform additive group is complete. -/ ]
113+ -- not an instance for performance reasons, see benchmark on PR #42117
114+ theorem completeSpace_of_weaklyLocallyCompactSpace
115+ [WeaklyLocallyCompactSpace G] : CompleteSpace G where
116+ complete {f} hf := by
117+ open scoped RightActions in
118+ have : f.NeBot := hf.1
119+ obtain ⟨K, K_compact, K_mem⟩ := WeaklyLocallyCompactSpace.exists_compact_mem_nhds (1 : G)
120+ obtain ⟨x, hx⟩ : ∃ x, ∀ᶠ y in f, x⁻¹ * y ∈ K := by
121+ rw [cauchy_iff_le, uniformity_eq_comap_inv_mul_nhds_one, ← tendsto_iff_comap] at hf
122+ exact hf.eventually_mem K_mem |>.curry.exists
123+ simp_rw [← smul_eq_mul, ← mem_smul_set_iff_inv_smul_mem] at hx
124+ have Kx_complete : IsComplete (x •> K) := K_compact.smul _ |>.isComplete
125+ obtain ⟨l, -, hl⟩ := Kx_complete f hf (by simpa using hx)
126+ exact ⟨l, hl⟩
127+
128+ end IsLeftUniformGroup
129+
106130namespace Subgroup
107131
108132@[to_additive]
0 commit comments