File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -41,6 +41,24 @@ lemma rank_spec [h : FG G] : ∃ S : Finset G, S.card = rank G ∧ .closure S =
4141lemma rank_le [h : FG G] {S : Finset G} (hS : .closure S = (⊤ : Subgroup G)) : rank G ≤ S.card :=
4242 @Nat.find_le _ _ (Classical.decPred _) (fg_iff'.mp h) ⟨S, rfl, hS⟩
4343
44+ variable (G) in
45+ @ [to_additive (attr := nontriviality)]
46+ theorem rank_eq_zero [Subsingleton G] : rank G = 0 := by
47+ rw [← le_zero_iff, ← Finset.card_empty]
48+ exact rank_le (Subsingleton.elim _ _)
49+
50+ @[to_additive]
51+ theorem rank_eq_zero_iff [FG G] : rank G = 0 ↔ Subsingleton G := by
52+ refine ⟨fun h ↦ ?_, fun _ ↦ rank_eq_zero G⟩
53+ obtain ⟨s, hs, hs'⟩ := rank_spec G
54+ rw [h, Finset.card_eq_zero] at hs
55+ simpa [hs, subsingleton_iff_bot_eq_top] using hs'
56+
57+ variable (G) in
58+ @[to_additive]
59+ theorem rank_pos [Nontrivial G] [FG G] : 0 < rank G := by
60+ rwa [pos_iff_ne_zero, ne_eq, rank_eq_zero_iff, not_subsingleton_iff_nontrivial]
61+
4462@[to_additive]
4563lemma rank_le_of_surjective [FG G] [FG H] (f : G →* H) (hf : Surjective f) : rank H ≤ rank G := by
4664 classical
You can’t perform that action at this time.
0 commit comments