Skip to content

Commit

Permalink
feat(group_theory/coset): card_dvd_of_injective (#8485)
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisHughes24 committed Aug 2, 2021
1 parent 0f168d3 commit 1b771af
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/group_theory/coset.lean
Expand Up @@ -362,6 +362,28 @@ lemma card_quotient_dvd_card [fintype α] (s : subgroup α) [decidable_pred (λ
[fintype s] : fintype.card (quotient s) ∣ fintype.card α :=
by simp [card_eq_card_quotient_mul_card_subgroup s]

open fintype

variables {H : Type*} [group H]

lemma card_dvd_of_injective [fintype α] [fintype H] (f : α →* H) (hf : function.injective f) :
card α ∣ card H :=
by classical;
calc card α = card (f.range : subgroup H) : card_congr (equiv.of_injective f hf)
...∣ card H : card_subgroup_dvd_card _

lemma card_dvd_of_le {H K : subgroup α} [fintype H] [fintype K] (hHK : H ≤ K) : card H ∣ card K :=
card_dvd_of_injective (inclusion hHK) (inclusion_injective hHK)

lemma card_comap_dvd_of_injective (K : subgroup H) [fintype K]
(f : α →* H) [fintype (K.comap f)] (hf : function.injective f) :
fintype.card (K.comap f) ∣ fintype.card K :=
by haveI : fintype ((K.comap f).map f) :=
fintype.of_equiv _ (equiv_map_of_injective _ _ hf).to_equiv;
calc fintype.card (K.comap f) = fintype.card ((K.comap f).map f) :
fintype.card_congr (equiv_map_of_injective _ _ hf).to_equiv
... ∣ fintype.card K : card_dvd_of_le (map_comap_le _ _)

end subgroup

namespace quotient_group
Expand Down

0 comments on commit 1b771af

Please sign in to comment.