Zulip Chat Archive
Stream: general
Topic: Sylow game - group of order 20 not simple
Edinburgh (Feb 14 2024 at 17:11):
Hi, I am trying to show that a group of order 20 cannot be simple using Sylow's theorems.
I am very much struggling and I would like to learn how to use the Sylow theorems to show that there is a unique Sylow 5-subgroup, so it must be a proper normal subgroup of G, thus G is not simple.
I am currently now trying to show that the number of Sylow 5 subgroups must divide 4 as |G|/|G_5|=20/5=4 and the only number number that divides 4 and is conrguent 1 mod 5 is 1.
I would very much appreaciate your help as I am quite lost with lean.
Thanks in advance.
import Mathlib.GroupTheory.Sylow
import Mathlib.Data.Finset.Card
import Mathlib.Data.ZMod.Basic -- Contains definition of modular equality
import Mathlib.GroupTheory.Index -- Contains definition of group index
import Mathlib.GroupTheory.Subgroup.Basic -- Contains definition of a normal subgroup
import Mathlib.Data.Nat.Prime -- Contains definition of a prime
variable (p : ℕ) [Fact p.Prime] (G : Type*) [Group G] [Fintype G]
-- The example states that a group of order 20 cannot be simple
example (hG : Fintype.card G = 20) : ¬ IsSimpleGroup G := by
-- Establish that 5 is a prime number
have h₀ : Fact (Nat.Prime 5) := fact_iff.mpr (by norm_num)
-- Prove that 5 divides the order of the group G
have h₂ : 5 ∣ Fintype.card G := by use 4 -- 5 divides 20 (20 = 4 * 5)
-- Apply Sylow's theorem to conclude the existence of a Sylow 5-subgroup
-- The theorem guarantees a subgroup of order 5^1, as 5 is a prime dividing the group's order
have h₃ := Sylow.exists_subgroup_card_pow_prime 5 <| (pow_one 5).symm ▸ h₂
-- We extract the actual subgroup Q which satisfies the Sylow p-subgroup conditions for p=5
obtain ⟨Q, hQ⟩ := h₃
have : Fintype Q := Fintype.ofFinite Q
have : (Nat.factorization 20) 5 = 1 := sorry
have card_eq : Fintype.card Q = 5 ^ (Nat.factorization (Fintype.card G)) 5 := by
rw [hG]
convert hQ
have S := Sylow.ofCard Q card_eq
-- Now we use Sylow's theorems to analyse the number of such subgroups
-- Use Sylow's theorems to deduce the number of Sylow p-subgroups is congruent to 1 mod p
have h₄ : Fintype.card (Sylow 5 G) ≡ 1 [MOD 5] := card_sylow_modEq_one 5 G
-- Show that the number of Sylow 5-subgroups divides the order of the group divided by the order of a Sylow 5-subgroup
have h₅ : (Fintype.card (Sylow 5 G)) ∣ (Fintype.card G)/(Fintype.card Q) := by sorry
have h₆ : Fintype.card (Sylow 5 G) = 1 ∨ Fintype.card (Sylow 5 G) = 4 := by sorry
have h₇ : ¬ (4 ≡ 1 [MOD 5]) := by exact of_decide_eq_false rfl
-- Establish that there is exactly one Sylow 5-subgroup in G
have h₈ : Fintype.card (Sylow 5 G) = 1 := by sorry
-- Conclude the existence and uniqueness of the Sylow 5-subgroup, implying it is normal
-- The uniqueness of the Sylow subgroup follows from h₈ and the properties of Sylow subgroups
obtain ⟨P, hP⟩ := Fintype.card_eq_one_iff.mp h₈
-- Prove that the unique Sylow subgroup P is a normal subgroup of G
-- This will use the fact that a unique Sylow subgroup is always normal
have h₁₀ : Subgroup.Normal Q := by sorry
-- Conclude that G is not simple because it has a normal subgroup of order 5
-- This final step uses the definition of a simple group, which cannot have non-trivial normal subgroups
exact h₁₀```
Johan Commelin (Feb 14 2024 at 17:13):
@Edinburgh Please edit your message to add #backticks so that you get syntax highlighting, like so
```
code here
```
Johan Commelin (Feb 14 2024 at 17:17):
have : Fintype ↥Q := Fintype.ofFinite ↥Q -- HERE I GET ERROR (unexpected token '↥'; expected command)
Just drop the ↥
, should work
Johan Commelin (Feb 14 2024 at 17:19):
have h₅ : Fintype.card (Sylow 5 G) = 5 ∨ Fintype.card (Sylow 5 G) = 1 := by sorry
Why the first clause? 5
isn't congruent to 1
mod 5.
Johan Commelin (Feb 14 2024 at 17:19):
In general you seem to be on the right track.
Johan Commelin (Feb 14 2024 at 17:20):
Note the computations about explicit numeral numbers can often be done using norm_num
or decide
.
Edinburgh (Feb 14 2024 at 17:24):
Johan Commelin said:
have h₅ : Fintype.card (Sylow 5 G) = 5 ∨ Fintype.card (Sylow 5 G) = 1 := by sorry
Why the first clause?
5
isn't congruent to1
mod 5.
thanks for spotting that.. my mistake
Johan Commelin (Feb 14 2024 at 17:38):
Ooh, and omega
can also help with calculations with natural numbers.
Notification Bot (Feb 14 2024 at 17:46):
Edinburgh has marked this topic as resolved.
Notification Bot (Feb 14 2024 at 17:49):
Edinburgh has marked this topic as unresolved.
Edinburgh (Feb 14 2024 at 17:57):
I am currently now trying to show that the number of Sylow 5 subgroups must divide 4 as |G|/|G_5|=20/5=4 and the only number number that divides 4 and is conrguent 1 mod 5 is 1. Do you have any idea how to approach it? (using probably:
have h₇ : ¬ (4 ≡ 1 [MOD 5]) := by exact of_decide_eq_false rfl
Julian Berman (Feb 14 2024 at 18:25):
decide
handles that one:
example : ¬ (4 ≡ 1 [MOD 5]) := by decide
Last updated: May 02 2025 at 03:31 UTC