Skip to content

Commit 4fdaa87

Browse files
committed
feat(Subgroup/Ker): generalize codomain in some lemmas (#34429)
These lemmas work if the codomain is a `MulOneClass`, not necessarily a group.
1 parent 58d8468 commit 4fdaa87

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

Mathlib/Algebra/Group/Subgroup/Ker.lean

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -230,8 +230,10 @@ theorem mem_ker {f : G →* M} {x : G} : x ∈ f.ker ↔ f x = 1 :=
230230
Iff.rfl
231231

232232
@[to_additive]
233-
theorem div_mem_ker_iff (f : G →* N) {x y : G} : x / y ∈ ker f ↔ f x = f y := by
234-
rw [mem_ker, map_div, div_eq_one]
233+
theorem div_mem_ker_iff (f : G →* M) {x y : G} : x / y ∈ ker f ↔ f x = f y := by
234+
constructor <;> intro h
235+
· rw [← div_mul_cancel x y, map_mul, mem_ker.mp h, one_mul]
236+
· rw [mem_ker, div_eq_mul_inv, map_mul, h, ← map_mul, mul_inv_cancel, map_one]
235237

236238
@[to_additive]
237239
theorem coe_ker (f : G →* M) : (f.ker : Set G) = (f : G → M) ⁻¹' {1} :=
@@ -262,7 +264,7 @@ theorem comap_bot (f : G →* N) : (⊥ : Subgroup N).comap f = f.ker :=
262264
rfl
263265

264266
@[to_additive (attr := simp)]
265-
theorem ker_restrict (f : G →* N) : (f.restrict K).ker = f.ker.subgroupOf K :=
267+
theorem ker_restrict (f : G →* M) : (f.restrict K).ker = f.ker.subgroupOf K :=
266268
rfl
267269

268270
@[to_additive (attr := simp)]
@@ -307,7 +309,7 @@ theorem ker_prod {M N : Type*} [MulOneClass M] [MulOneClass N] (f : G →* M) (g
307309
SetLike.ext fun _ => Prod.mk_eq_one
308310

309311
@[to_additive]
310-
theorem range_le_ker_iff (f : G →* G') (g : G' →* G'') : f.range ≤ g.ker ↔ g.comp f = 1 :=
312+
theorem range_le_ker_iff (f : G →* G') (g : G' →* M) : f.range ≤ g.ker ↔ g.comp f = 1 :=
311313
fun h => ext fun x => h ⟨x, rfl⟩, by rintro h _ ⟨y, rfl⟩; exact DFunLike.congr_fun h y⟩
312314

313315
@[to_additive]

0 commit comments

Comments
 (0)