@@ -1062,6 +1062,7 @@ lemma upperCentralSeries.card_image_eq_of_le_nilpotencyClass {a : ℕ}
10621062
10631063end Subgroup
10641064
1065+ /-- Any nontrivial normal subgroup of a nilpotent group intersects the center nontrivially. -/
10651066@[to_additive] theorem Group.IsNilpotent.inf_center_ne_bot_of_normal [Group.IsNilpotent G]
10661067 {H : Subgroup G} [H.Normal] (hH : H ≠ ⊥) : H ⊓ center G ≠ ⊥ := by
10671068 classical
@@ -1292,6 +1293,8 @@ theorem Group.isNilpotent_of_finite_tfae :
12921293instance [IsNilpotent G] {p : ℕ} [Fact p.Prime] {P : Sylow p G} : P.Normal :=
12931294 isNilpotent_of_finite_tfae.out 1 4 rfl rfl |>.mp ‹_› p ‹_› P
12941295
1296+ /-- An extension of `Group.IsNilpotent.center_ne_bot` for finite nilpotent groups: every prime
1297+ diving `Nat.card G` divides the cardinality of the center. -/
12951298lemma Group.IsNilpotent.prime_dvd_card_center [IsNilpotent G] {p : ℕ} [Fact p.Prime]
12961299 (hp : p ∣ Nat.card G) : p ∣ Nat.card (center G) := by
12971300 obtain P : Sylow p G := Classical.arbitrary ..
@@ -1301,13 +1304,14 @@ lemma Group.IsNilpotent.prime_dvd_card_center [IsNilpotent G] {p : ℕ} [Fact p.
13011304 grind [one_lt_card_iff_ne_bot, hPGrp.card_eq_or_dvd]
13021305
13031306private lemma Group.IsNilpotent.exists_normal_card_eq_prime [IsNilpotent G] {p : ℕ} [Fact p.Prime]
1304- (hp : p ∣ Nat.card G) : ∃ H : Subgroup G, H.Normal ∧ Nat.card H = p := by
1307+ (hp : p ∣ Nat.card G) : ∃ H : Subgroup G, Nat.card H = p ∧ H.Normal := by
13051308 obtain P : Sylow p G := Classical.arbitrary ..
13061309 have : ∃ (H : Subgroup G), Nat.card H = p ^ 1 ∧ ⊥ ≤ H ∧ H ≤ center G :=
13071310 Sylow.exists_subgroup_card_pow_prime_le_le Fact.out (by simp)
13081311 (by simpa using prime_dvd_card_center hp) bot_le
13091312 grind [normal_of_le_center]
13101313
1314+ /-- A finite nilpotent group has normal subgroups of every possible order. -/
13111315theorem Group.IsNilpotent.exists_normal_of_dvd_card [IsNilpotent G] {n : ℕ} (hn : n ≠ 0 )
13121316 (hcard : n ∣ Nat.card G) : ∃ H : Subgroup G, Nat.card H = n ∧ H.Normal := by
13131317 induction hm : Nat.card G using Nat.strong_induction_on generalizing n G with | h m ih =>
@@ -1316,8 +1320,8 @@ theorem Group.IsNilpotent.exists_normal_of_dvd_card [IsNilpotent G] {n : ℕ} (h
13161320 · exact ⟨⊥, by simp [hn'], normal_bot⟩
13171321 · obtain ⟨p, hp, a, rfl⟩ : ∃ p, p.Prime ∧ p ∣ n := by grind [n.ne_one_iff_exists_prime_dvd]
13181322 have : Fact p.Prime := ⟨hp⟩
1319- obtain ⟨N, hN, hNcard ⟩ := exists_normal_card_eq_prime (Dvd.dvd.trans ⟨a, rfl⟩ hcard)
1320- obtain ⟨K, hK, hKcard ⟩ : ∃ K : Subgroup (G ⧸ N), Nat.card K = a ∧ K.Normal := by
1323+ obtain ⟨N, hNcard, hN ⟩ := exists_normal_card_eq_prime (Dvd.dvd.trans ⟨a, rfl⟩ hcard)
1324+ obtain ⟨K, hKcard, hK ⟩ : ∃ K : Subgroup (G ⧸ N), Nat.card K = a ∧ K.Normal := by
13211325 refine ih (Nat.card (G ⧸ N)) ?_ (Nat.ne_zero_of_mul_ne_zero_right hn) ?_ rfl
13221326 · rw [N.card_eq_card_quotient_mul_card_subgroup]
13231327 apply lt_mul_right (by simp) (hNcard ▸ hp.one_lt)
@@ -1326,7 +1330,7 @@ theorem Group.IsNilpotent.exists_normal_of_dvd_card [IsNilpotent G] {n : ℕ} (h
13261330 refine ⟨K.comap (QuotientGroup.mk' N), ?_, normal_comap ..⟩
13271331 convert ← QuotientGroup.card_preimage_mk N K
13281332 · simp
1329- · exact hK
1333+ · exact hKcard
13301334
13311335end WithFiniteGroup
13321336
0 commit comments