@@ -285,19 +285,6 @@ section Hom
285285
286286variable {G' : Type *} [Group G']
287287
288- /-- For `K ≤ H`, restricting the image `K.map f` to `H.map f` is the same as taking the relative
289- subgroup `K.subgroupOf H` and pushing it through the restricted map `f.subgroupMap H`. -/
290- private theorem map_subgroupOf_map (f : G →* G') {K : Subgroup G} (hK : K ≤ H) :
291- (K.map f).subgroupOf (H.map f) = (K.subgroupOf H).map (f.subgroupMap H) := by
292- ext ⟨y, hy⟩
293- rw [mem_subgroupOf]
294- simp only [mem_map, mem_subgroupOf]
295- constructor
296- · rintro ⟨x, hxK, rfl⟩
297- exact ⟨⟨x, hK hxK⟩, hxK, by ext; rfl⟩
298- · rintro ⟨⟨x, hxH⟩, hxK, hxy⟩
299- exact ⟨x, hxK, by simpa using congrArg Subtype.val hxy⟩
300-
301288/-- A group homomorphism sends the `p`-core of `H` into the `p`-core of `H.map f`. -/
302289theorem map_pCore_le_pCore (f : G →* G') : (pCore p H).map f ≤ pCore p (H.map f) := by
303290 rw [pCore, Subgroup.map_iSup]
@@ -334,7 +321,7 @@ theorem map_pCore_eq_pCore (f : G →* G') (hker : IsPGroup p (f.subgroupMap H).
334321 refine le_antisymm (map_pCore_le_pCore f) ?_
335322 rw [← map_subgroupOf_eq_of_le (pCore_le : pCore p (H.map f) ≤ H.map f),
336323 ← map_subgroupOf_eq_of_le (map_mono pCore_le : (pCore p H).map f ≤ H.map f),
337- map_subgroupOf_map f pCore_le]
324+ subgroupOf_map_eq_map_subgroupOf f pCore_le]
338325 refine map_mono ?_
339326 conv_lhs => rw [← Subgroup.map_comap_eq_self_of_surjective (f.subgroupMap_surjective H)
340327 ((pCore p (H.map f)).subgroupOf (H.map f))]
@@ -348,20 +335,12 @@ theorem map_pCore_eq_pCore_of_ker_isPGroup (f : G →* G') (hker : IsPGroup p f.
348335 map_pCore_eq_pCore f <| by
349336 rw [ker_subgroupMap]; exact hker.comap_of_injective H.subtype H.subtype_injective
350337
351- /-- Restricting the preimage `K.comap f` to `H'.comap f` is the same as taking the relative
352- subgroup `K.subgroupOf H'` and pulling it back through the restricted map `f.subgroupComap H'`. -/
353- private theorem comap_subgroupOf_comap (f : G →* G') (K H' : Subgroup G') :
354- (K.comap f).subgroupOf (H'.comap f) = (K.subgroupOf H').comap (f.subgroupComap H') := by
355- ext ⟨x, hx⟩
356- rw [mem_subgroupOf, mem_comap, mem_comap, mem_subgroupOf]
357- rfl
358-
359338/-- If `f` has `p`-group kernel, the preimage of the `p`-core of `H'` is contained in the
360339`p`-core of `H'.comap f`. -/
361340theorem comap_pCore_le_pCore (f : G →* G') (H' : Subgroup G') (hker : IsPGroup p f.ker) :
362341 (pCore p H').comap f ≤ pCore p (H'.comap f) := by
363342 refine le_pCore_of_le (comap_mono pCore_le) ?_ (isPGroup_pCore.comap_of_ker_isPGroup f hker)
364- rw [comap_subgroupOf_comap ]
343+ rw [subgroupOf_comap_eq_comap_subgroupOf ]
365344 exact pCore_subgroupOf_normal.comap _
366345
367346/-- If `H' ≤ f.range` and `f` has `p`-group kernel, the preimage of the `p`-core of `H'` is exactly
0 commit comments