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

tactic: cases nonempty_fintype (Sylow p G)
state_before: p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
⊢ ¬p ∣ (↑P).index
state_after: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
⊢ ¬p ∣ (↑P).index

tactic: rw [← relindex_mul_index le_normalizer, ← card_sylow_eq_index_normalizer]
state_before: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
⊢ ¬p ∣ (↑P).index
state_after: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)

tactic: haveI : (P.subtype le_normalizer : Subgroup (P : Subgroup G).normalizer).Normal :=
  Subgroup.normal_in_normalizer
state_before: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)
state_after: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
this : (↑(P.subtype ⋯)).Normal
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)

tactic: haveI : FiniteIndex ↑(P.subtype le_normalizer : Subgroup (P : Subgroup G).normalizer) := ⟨hP⟩
state_before: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
this : (↑(P.subtype ⋯)).Normal
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)
state_after: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
this✝ : (↑(P.subtype ⋯)).Normal
this : (↑(P.subtype ⋯)).FiniteIndex
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)

tactic: replace hP := not_dvd_index_sylow' (P.subtype le_normalizer)
state_before: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
hP : (↑P).relindex (↑P).normalizer ≠ 0
val✝ : Fintype (Sylow p G)
this✝ : (↑(P.subtype ⋯)).Normal
this : (↑(P.subtype ⋯)).FiniteIndex
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)
state_after: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
val✝ : Fintype (Sylow p G)
this✝ : (↑(P.subtype ⋯)).Normal
this : (↑(P.subtype ⋯)).FiniteIndex
hP : ¬p ∣ (↑(P.subtype ⋯)).index
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)

tactic: exact hp.1.not_dvd_mul hP (not_dvd_card_sylow p G)
state_before: case intro
p : ℕ
G : Type u_1
inst✝¹ : Group G
hp : Fact (Nat.Prime p)
inst✝ : Finite (Sylow p G)
P : Sylow p G
val✝ : Fintype (Sylow p G)
this✝ : (↑(P.subtype ⋯)).Normal
this : (↑(P.subtype ⋯)).FiniteIndex
hP : ¬p ∣ (↑(P.subtype ⋯)).index
⊢ ¬p ∣ (↑P).relindex (↑P).normalizer * card (Sylow p G)
state_after: no goals