Theorem: card_sylow_modEq_one
File: Mathlib/GroupTheory/Sylow.lean

tactic: refine Sylow.nonempty.elim fun P : Sylow p G => ?_
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
⊢ card (Sylow p G) ≡ 1 [MOD p]
state_after: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
⊢ card (Sylow p G) ≡ 1 [MOD p]

tactic: have : fixedPoints P.1 (Sylow p G) = {P} :=
  Set.ext fun Q : Sylow p G =>
    calc
      Q ∈ fixedPoints P (Sylow p G) ↔ P.1 ≤ Q := P.2.sylow_mem_fixedPoints_iff
      _ ↔ Q.1 = P.1 := ⟨P.3 Q.2, ge_of_eq⟩
      _ ↔ Q ∈ {P} := Sylow.ext_iff.symm.trans Set.mem_singleton_iff.symm
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
⊢ card (Sylow p G) ≡ 1 [MOD p]
state_after: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
⊢ card (Sylow p G) ≡ 1 [MOD p]

tactic: have fin : Fintype (fixedPoints P.1 (Sylow p G)) := by
  rw [this]
  infer_instance
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
⊢ card (Sylow p G) ≡ 1 [MOD p]
state_after: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
⊢ card (Sylow p G) ≡ 1 [MOD p]

tactic: have : card (fixedPoints P.1 (Sylow p G)) = 1 := by simp [this]
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
⊢ card (Sylow p G) ≡ 1 [MOD p]
state_after: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this✝ : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
this : card ↑(fixedPoints (↥↑P) (Sylow p G)) = 1
⊢ card (Sylow p G) ≡ 1 [MOD p]

tactic: exact (P.2.card_modEq_card_fixedPoints (Sylow p G)).trans (by rw [this])
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this✝ : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
this : card ↑(fixedPoints (↥↑P) (Sylow p G)) = 1
⊢ card (Sylow p G) ≡ 1 [MOD p]
state_after: no goals

tactic: rw [this]
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
⊢ Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
state_after: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
⊢ Fintype ↑{P}

tactic: infer_instance
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
⊢ Fintype ↑{P}
state_after: no goals

tactic: simp [this]
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
⊢ card ↑(fixedPoints (↥↑P) (Sylow p G)) = 1
state_after: no goals

tactic: rw [this]
state_before: p : ℕ
G : Type u_1
inst✝² : Group G
inst✝¹ : Fact (Nat.Prime p)
inst✝ : Fintype (Sylow p G)
P : Sylow p G
this✝ : fixedPoints (↥↑P) (Sylow p G) = {P}
fin : Fintype ↑(fixedPoints (↥↑P) (Sylow p G))
this : card ↑(fixedPoints (↥↑P) (Sylow p G)) = 1
⊢ card ↑(fixedPoints (↥↑P) (Sylow p G)) ≡ 1 [MOD p]
state_after: no goals