Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 0959766

Browse files
committed
chore(group_theory/quotient_group): open function, use rfl (#18014)
1 parent 986c4d5 commit 0959766

1 file changed

Lines changed: 14 additions & 16 deletions

File tree

src/group_theory/quotient_group.lean

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ proves Noether's first and second isomorphism theorems.
3838
isomorphism theorems, quotient groups
3939
-/
4040

41+
open function
4142
universes u v
4243

4344
namespace quotient_group
@@ -69,7 +70,7 @@ lemma coe_mk' : (mk' N : G → G ⧸ N) = coe := rfl
6970
lemma mk'_apply (x : G) : mk' N x = x := rfl
7071

7172
@[to_additive]
72-
lemma mk'_surjective : function.surjective $ mk' N := @mk_surjective _ _ N
73+
lemma mk'_surjective : surjective $ mk' N := @mk_surjective _ _ N
7374

7475
@[to_additive]
7576
lemma mk'_eq_mk' {x y : G} : mk' N x = mk' N y ↔ ∃ z ∈ N, x * z = y :=
@@ -163,19 +164,16 @@ end
163164
@[simp, to_additive] lemma map_coe (M : subgroup H) [M.normal] (f : G →* H) (h : N ≤ M.comap f)
164165
(x : G) :
165166
map N M f h ↑x = ↑(f x) :=
166-
lift_mk' _ _ x
167+
rfl
167168

168169
@[to_additive] lemma map_mk' (M : subgroup H) [M.normal] (f : G →* H) (h : N ≤ M.comap f) (x : G) :
169170
map N M f h (mk' _ x) = ↑(f x) :=
170-
quotient_group.lift_mk' _ _ x
171+
rfl
171172

172173
@[to_additive]
173174
lemma map_id_apply (h : N ≤ subgroup.comap (monoid_hom.id _) N := (subgroup.comap_id N).le) (x) :
174175
map N N (monoid_hom.id _) h x = x :=
175-
begin
176-
refine induction_on' x (λ x, _),
177-
simp only [map_coe, monoid_hom.id_apply]
178-
end
176+
induction_on' x $ λ x, rfl
179177

180178
@[simp, to_additive]
181179
lemma map_id (h : N ≤ subgroup.comap (monoid_hom.id _) N := (subgroup.comap_id N).le) :
@@ -226,19 +224,19 @@ def congr (e : G ≃* H) (he : G'.map ↑e = H') : G ⧸ G' ≃* H ⧸ H' :=
226224

227225
@[simp] lemma congr_mk (e : G ≃* H) (he : G'.map ↑e = H')
228226
(x) : congr G' H' e he (mk x) = e x :=
229-
map_mk' G' _ _ (he ▸ G'.le_comap_map e) _
227+
rfl
230228

231229
lemma congr_mk' (e : G ≃* H) (he : G'.map ↑e = H')
232230
(x) : congr G' H' e he (mk' G' x) = mk' H' (e x) :=
233-
map_mk' G' _ _ (he ▸ G'.le_comap_map e) _
231+
rfl
234232

235233
@[simp] lemma congr_apply (e : G ≃* H) (he : G'.map ↑e = H')
236234
(x : G) : congr G' H' e he x = mk' H' (e x) :=
237-
map_mk' G' _ _ (he ▸ G'.le_comap_map e) _
235+
rfl
238236

239237
@[simp] lemma congr_refl (he : G'.map (mul_equiv.refl G : G →* G) = G' := subgroup.map_id G') :
240238
congr G' G' (mul_equiv.refl G) he = mul_equiv.refl (G ⧸ G') :=
241-
by ext x; refine induction_on' x (λ x', _); simp
239+
by { ext ⟨x⟩, refl }
242240

243241
@[simp] lemma congr_symm (e : G ≃* H) (he : G'.map ↑e = H') :
244242
(congr G' H' e he).symm = congr H' G' e.symm ((subgroup.map_symm_eq_iff_map_eq _).mpr he) :=
@@ -248,7 +246,7 @@ end congr
248246

249247
variables (φ : G →* H)
250248

251-
open function monoid_hom
249+
open monoid_hom
252250

253251
/-- The induced map from the quotient by the kernel to the codomain. -/
254252
@[to_additive "The induced map from the quotient by the kernel to the codomain."]
@@ -301,11 +299,11 @@ mul_equiv.of_bijective (range_ker_lift φ) ⟨range_ker_lift_injective φ, range
301299
with a right inverse `ψ : H → G`. -/
302300
@[to_additive "The canonical isomorphism `G/(ker φ) ≃+ H` induced by a homomorphism `φ : G →+ H`
303301
with a right inverse `ψ : H → G`.", simps]
304-
def quotient_ker_equiv_of_right_inverse (ψ : H → G) (hφ : function.right_inverse ψ φ) :
302+
def quotient_ker_equiv_of_right_inverse (ψ : H → G) (hφ : right_inverse ψ φ) :
305303
G ⧸ ker φ ≃* H :=
306304
{ to_fun := ker_lift φ,
307305
inv_fun := mk ∘ ψ,
308-
left_inv := λ x, ker_lift_injective φ (by rw [function.comp_app, ker_lift_mk', hφ]),
306+
left_inv := λ x, ker_lift_injective φ (by rw [comp_app, ker_lift_mk', hφ]),
309307
right_inv := hφ,
310308
.. ker_lift φ }
311309

@@ -321,7 +319,7 @@ For a `computable` version, see `quotient_group.quotient_ker_equiv_of_right_inve
321319
@[to_additive "The canonical isomorphism `G/(ker φ) ≃+ H` induced by a surjection `φ : G →+ H`.
322320
323321
For a `computable` version, see `quotient_add_group.quotient_ker_equiv_of_right_inverse`."]
324-
noncomputable def quotient_ker_equiv_of_surjective (hφ : function.surjective φ) :
322+
noncomputable def quotient_ker_equiv_of_surjective (hφ : surjective φ) :
325323
G ⧸ (ker φ) ≃* H :=
326324
quotient_ker_equiv_of_right_inverse φ _ hφ.has_right_inverse.some_spec
327325

@@ -445,7 +443,7 @@ noncomputable def quotient_inf_equiv_prod_normal_quotient (H N : subgroup G) [N.
445443
/- φ is the natural homomorphism H →* (HN)/N. -/
446444
let φ : H →* _ ⧸ (N.subgroup_of (H ⊔ N)) :=
447445
(mk' $ N.subgroup_of (H ⊔ N)).comp (inclusion le_sup_left) in
448-
have φ_surjective : function.surjective φ := λ x, x.induction_on' $
446+
have φ_surjective : surjective φ := λ x, x.induction_on' $
449447
begin
450448
rintro ⟨y, (hy : y ∈ ↑(H ⊔ N))⟩, rw mul_normal H N at hy,
451449
rcases hy with ⟨h, n, hh, hn, rfl⟩,

0 commit comments

Comments
 (0)