@@ -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]
237239theorem 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