@@ -60,7 +60,7 @@ as a congruence relation.
6060@ [to_additive
6161"The additive congruence relation defined by the kernel of an additive group homomorphism is
6262equal to its kernel as an additive congruence relation." ]
63- theorem con_ker_eq_Con_ker {M : Type *} [Monoid M] (f : G →* M) :
63+ theorem con_ker_eq_conKer {M : Type *} [Monoid M] (f : G →* M) :
6464 QuotientGroup.con f.ker = Con.ker f := by
6565 ext
6666 rw [QuotientGroup.con, Con.rel_mk, Setoid.comm', leftRel_apply, Con.ker_rel, MonoidHom.eq_iff]
@@ -169,31 +169,32 @@ The subgroup defined by the class of `1` for a congruence relation on a group.
169169"The `AddSubgroup` defined by the class of `0` for an additive congruence relation
170170on an `AddGroup`." ]
171171protected def _root_.Con.subgroup (c : Con G) : Subgroup G where
172- carrier := { x | c 1 x }
172+ carrier := { x | c x 1 }
173173 one_mem' := c.refl 1
174174 mul_mem' hx hy := by simpa using c.mul hx hy
175175 inv_mem' h := by simpa using c.inv h
176176
177177@ [to_additive (attr := simp)]
178- theorem _root_.Con.subgroup_mem_iff {c : Con G} {x : G} :
179- x ∈ c.subgroup ↔ c 1 x := Iff.rfl
178+ theorem _root_.Con.mem_subgroup_iff {c : Con G} {x : G} :
179+ x ∈ c.subgroup ↔ c x 1 := Iff.rfl
180180
181181@[to_additive]
182182instance (c : Con G) : c.subgroup.Normal :=
183183 ⟨fun x hx g ↦ by simpa using (c.mul (c.mul (c.refl g) hx) (c.refl g⁻¹))⟩
184184
185185@[to_additive]
186- theorem _root_.Con.subgroup_QuotientGroup_con (H : Subgroup G) [H.Normal] :
186+ theorem _root_.Con.subgroup_quotientGroupCon (H : Subgroup G) [H.Normal] :
187187 (QuotientGroup.con H).subgroup = H := by
188188 ext
189189 simp [QuotientGroup.con, leftRel_apply]
190190
191- @[to_additive]
191+ @ [to_additive (attr := simp) ]
192192theorem con_subgroup (c : Con G) :
193193 QuotientGroup.con c.subgroup = c := by
194194 ext x y
195- rw [QuotientGroup.con, Con.rel_mk, leftRel_apply, Con.subgroup_mem_iff]
196- exact ⟨fun h ↦ by simpa using c.mul (c.refl x) h, fun h ↦ by simpa using c.mul (c.refl x⁻¹) h⟩
195+ rw [QuotientGroup.con, Con.rel_mk, leftRel_apply, Con.mem_subgroup_iff]
196+ exact ⟨fun h ↦ by simpa using c.mul (c.refl x) (c.symm h),
197+ fun h ↦ by simpa using c.mul (c.refl x⁻¹) (c.symm h)⟩
197198
198199/--
199200The normal subgroups correspond to the congruence relations on a group.
@@ -204,7 +205,7 @@ def _root_.Subgroup.orderIsoCon :
204205 { N : Subgroup G // N.Normal } ≃o Con G where
205206 toFun := fun ⟨N, _⟩ ↦ QuotientGroup.con N
206207 invFun c := ⟨c.subgroup, inferInstance⟩
207- left_inv := fun ⟨N, _⟩ ↦ Subtype.mk_eq_mk.mpr (Con.subgroup_QuotientGroup_con N)
208+ left_inv := fun ⟨N, _⟩ ↦ Subtype.mk_eq_mk.mpr (Con.subgroup_quotientGroupCon N)
208209 right_inv c := QuotientGroup.con_subgroup c
209210 map_rel_iff' := by
210211 simp only [QuotientGroup.con, Equiv.coe_fn_mk, Con.le_def, Con.rel_mk, leftRel_apply]
@@ -214,15 +215,20 @@ def _root_.Subgroup.orderIsoCon :
214215
215216@[to_additive]
216217lemma con_le_iff {N M : Subgroup G} [N.Normal] [M.Normal] :
217- N ≤ M ↔ QuotientGroup.con N ≤ QuotientGroup.con M :=
218- (Subgroup.orderIsoCon.map_rel_iff (a := ⟨N, inferInstance⟩) (b := ⟨M, inferInstance⟩)).symm
218+ QuotientGroup.con N ≤ QuotientGroup.con M ↔ N ≤ M :=
219+ (Subgroup.orderIsoCon.map_rel_iff (a := ⟨N, inferInstance⟩) (b := ⟨M, inferInstance⟩))
220+
221+ @[to_additive]
222+ lemma con_mono {N M : Subgroup G} [hN : N.Normal] [hM : M.Normal] (h : N ≤ M) :
223+ QuotientGroup.con N ≤ QuotientGroup.con M :=
224+ con_le_iff.mpr h
219225
220226/-- A group homomorphism `φ : G →* M` with `N ⊆ ker(φ)` descends (i.e. `lift`s) to a
221227group homomorphism `G/N →* M`. -/
222228@ [to_additive "An `AddGroup` homomorphism `φ : G →+ M` with `N ⊆ ker(φ)` descends (i.e. `lift`s)
223229 to a group homomorphism `G/N →* M`." ]
224230def lift (φ : G →* M) (HN : N ≤ φ.ker) : Q →* M :=
225- (QuotientGroup.con N).lift φ <| con_ker_eq_Con_ker φ ▸ con_le_iff.mp HN
231+ (QuotientGroup.con N).lift φ <| con_ker_eq_conKer φ ▸ con_mono HN
226232
227233@ [to_additive (attr := simp)]
228234theorem lift_mk {φ : G →* M} (HN : N ≤ φ.ker) (g : G) : lift N φ HN (g : Q) = φ g :=
0 commit comments