Zulip Chat Archive
Stream: maths
Topic: finite subgroup of group iso to Fˣ lies within finite field
Alex Brodbelt (Jan 15 2025 at 14:15):
Hi!
Potentially #xy, so overall result I need to prove that a finite subgroup of a group isomorphic to the units of a field has cardinality dividing and hence coprime to (where is the characteristic of the field, so prime).
Maths question/would like to know if this is sensible or if there is an easier proof:
My reasoning so far is that, if and . I know every element of is algebraic as every element satisfies . And taking and the extending the field by every element is finite as it is algebraic(? I believe this is true, but my basic galois theory knowledge is not too deep yet)*so is finite (by induction) and hence of order and given it the group lies within the gorup of units of this field, has order dividing .
Have not used it in the proof but could be useful, I have formalized is cyclic.
*I believe this is true as the elements in are of the form and so is finite as has order at most .
Lean question:
How do I relate a finite subgroup which is initially not related to a field (it is related to field after an isomorphism MulEquiv
between the group it is contained in and the units of the field) to a finite field.
These are the current relationships between subgroups and groups: (acting by conjugation) in a chain of homomorphisms:
If more context is useful:
- is the group of diagonal matrices of .
- is alg closed field (so infinite).
- finite subgroup of which will be eventually classified through the so called maximal abelian class equation.
- finite maximal abelian group which is isomorphic to a finite subgroup of .
Assuming the argument above is correct, how can I translate it to lean in a way which is idiomatic?
Thanks in advance
Mitchell Lee (Jan 15 2025 at 15:18):
A finite group has order coprime to (and thus, its order divides a number of the form with ) if and only if it has no element of order . This is Cauchy's theorem: https://en.m.wikipedia.org/wiki/Cauchy%27s_theorem_(group_theory)
Alex Brodbelt (Jan 15 2025 at 15:22):
Hmm so I show there is no element of order , seems plausible. I don't follow why the order has to divide though (I suppose this part of the result is not strictly necessary, but I am curious to know why it follows without using the argument I use).
Edward van de Meent (Jan 15 2025 at 15:29):
overall result I need to prove that a finite subgroup of a group isomorphic to the units of a field has cardinality dividing and hence coprime to p (where p is the characteristic of the field, so prime).
surely this is just "since is a finite field, it has cardinality for some prime and natural . Then, has size by definition. finally, the size of a subgroup divides the size of the ambient group"?
Alex Brodbelt (Jan 15 2025 at 15:29):
is not a finite field, it is infinite as it is algebraically closed.
Edward van de Meent (Jan 15 2025 at 15:29):
ah, i missed that bit
Johan Commelin (Jan 15 2025 at 15:31):
Alex Brodbelt said:
Have not used it in the proof but could be useful, I have formalized is cyclic.
This is already in mathlib, I'm quite sure.
Alex Brodbelt (Jan 15 2025 at 15:33):
Indeed, I used the mathlib to formalize this result. I contructed the monoid homomorphism and then used docs#isCyclic_of_subgroup_isDomain (lol don't know how to link to mathlib theorem)
:lol:
Michael Stoll (Jan 15 2025 at 15:34):
docs#isCyclic_of_subgroup_isDomain
Alex Brodbelt (Jan 15 2025 at 15:34):
Aha yes, thank you
Mitchell Lee (Jan 15 2025 at 15:51):
- A field of characteristic cannot have any element of multiplicative order . Assume for the sake of contradiction that is such an element. Then (see https://en.m.wikipedia.org/wiki/Frobenius_endomorphism), so , which is a contradiction.
- If an integer is coprime to , then divides for some . This follows fron Euler's totient theorem: https://en.m.wikipedia.org/wiki/Euler%27s_theorem
Alex Brodbelt (Jan 15 2025 at 15:57):
Mitchell Lee said:
A finite group has order coprime to (and thus, its order divides a number of the form with ) if and only if it has no element of order . This is Cauchy's theorem: https://en.m.wikipedia.org/wiki/Cauchy%27s_theorem_(group_theory)
- Makes sense!
- Ah yes, of course! silly me.
Thank you @Mitchell Lee ! Much simpler than my approach, I will try formalize this.
Alex Brodbelt (Jan 15 2025 at 16:46):
1.
import Mathlib
lemma order_ne_char (F : Type*) [Field F] {p : ℕ} [hp' : Fact (Nat.Prime p)] [hC : CharP F p]
(x : Fˣ) :
orderOf x ≠ p := by
intro order_eq_p
have x_pow_p_eq_one : x^p = 1 := by rw [← order_eq_p, pow_orderOf_eq_one x]
have x_pow_p_eq_one' : (x : F)^p = 1 := by
simp [Units.ext_iff] at x_pow_p_eq_one
exact x_pow_p_eq_one
suffices frobenius F p (x - 1) = 0 by
rw [← frobenius_zero F p] at this
apply frobenius_inj at this
rw [sub_eq_zero] at this
simp at this
rw [← orderOf_eq_one_iff] at this
rw [this] at order_eq_p
have hp : Nat.Prime p := hp'.out
have p_ne_one : 1 ≠ p := (Nat.Prime.ne_one hp).symm
contradiction
dsimp [frobenius]
rw [sub_eq_add_neg, add_pow_char_of_commute (h := Commute.neg_one_right _),
x_pow_p_eq_one', ExpChar.neg_one_pow_expChar, add_neg_cancel]
Riccardo Brasca (Jan 15 2025 at 17:07):
You can golf it a little.
import Mathlib
lemma order_ne_char (F : Type*) [Field F] {p : ℕ} [hp' : Fact (Nat.Prime p)] [hC : CharP F p]
(x : Fˣ) : orderOf x ≠ p := by
intro h
suffices (x : F) ≠ 1 by
apply Function.Injective.ne (frobenius_inj F p) this
simp only [frobenius, RingHom.coe_mk, powMonoidHom_apply, one_pow, ← Units.val_pow_eq_pow_val]
have := pow_orderOf_eq_one x
rw [h] at this
rw [this, Units.val_one]
intro H
rw [Units.val_eq_one] at H
rw [H, orderOf_one] at h
exact hp'.out.ne_one h.symm
Riccardo Brasca (Jan 15 2025 at 17:08):
(It can surely be golfed even more, but who cares)
Filippo A. E. Nuccio (Jan 16 2025 at 09:04):
For example like this
import Mathlib
lemma order_ne_char (F : Type*) [Field F] {p : ℕ} [hp' : Fact (Nat.Prime p)] [hC : CharP F p]
(x : Fˣ) : orderOf x ≠ p := by
by_contra H
have := ExpChar.pow_prime_pow_mul_eq_one_iff p 1 1 (x : F)
simp only [← H, pow_one, mul_one, ← Units.val_pow_eq_pow_val, pow_orderOf_eq_one x, Units.val_one,
Units.val_eq_one, true_iff] at this
exact hp'.out.ne_one (@orderOf_one Fˣ _ ▸ (this ▸ H)).symm
(not that I care, but had to kill some time :golf: )
Alex Brodbelt (Jan 16 2025 at 11:10):
always love a :golf:
Antoine Chambert-Loir (Jan 16 2025 at 15:16):
Why not prove that orderOf x
is not divisible by p
?
Antoine Chambert-Loir (Jan 16 2025 at 15:16):
(OK, if x
has infinite order, then orderOf x
is zero…)
Alex Brodbelt (Jan 16 2025 at 15:32):
- this one could be simpler but given its over MOD rather than ZMOD I don't have access to docs#sub_eq_zero
import Mathlib
lemma dvd_pow_totient_sub_one_of_coprime {m p : ℕ} (hp : Nat.Prime p) (h : Nat.Coprime m p) :
m ∣ p^Nat.totient m - 1 := by
rw [← Nat.modEq_zero_iff_dvd]
suffices p ^ m.totient ≡ 1 [MOD m] by
rw [← add_zero (p ^ Nat.totient m), ← Nat.sub_self 1] at this
nth_rewrite 3 [← zero_add 1] at this
rw [← Nat.add_sub_assoc (le_refl _), Nat.sub_add_comm (one_le_pow₀ hp.one_le)] at this
apply Nat.ModEq.add_right_cancel' 1 this
exact Nat.ModEq.pow_totient h.symm
Alex Brodbelt (Jan 16 2025 at 16:00):
Overall
import Mathlib
lemma coprime_card_fin_subgroup_of_inj_hom_group_iso_units {F G : Type*} [Field F] {p : ℕ} [hp' : Fact (Nat.Prime p)]
[hC : CharP F p] [Group G] (H : Subgroup G) [Finite H] (f : G →* Fˣ) (hf : Injective f) :
Nat.Coprime (Nat.card H) p := by
rw [Nat.coprime_comm, Nat.Prime.coprime_iff_not_dvd hp'.out]
have order_ne_p := @order_ne_char F _ p _ _
contrapose! order_ne_p
let H_fintype : Fintype H := Fintype.ofFinite ↥H
simp only [Nat.card_eq_fintype_card] at order_ne_p
obtain ⟨h, hh⟩ := @exists_prime_orderOf_dvd_card H _ _ p _ order_ne_p
use f h
rw [orderOf_injective f hf ↑h, ← hh, orderOf_submonoid]
Thank you Mitchell for the nice argument and everyone else for helping out :)
Last updated: May 02 2025 at 03:31 UTC