case mk
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
τ : { x // x ∈ alternatingGroup α }
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑τ
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
⊢ IsConj { val := σ, property := hσ✝ } τ
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ τ : { x // x ∈ alternatingGroup α }
hc : IsConj ↑σ ↑τ
hσ : Finset.card (support ↑σ) + 2 ≤ card α
⊢ IsConj σ τ
obtain ⟨σ, hσ⟩ := σ
case mk.mk
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
τ : { x // x ∈ alternatingGroup α }
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑τ
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
⊢ IsConj { val := σ, property := hσ✝ } τ
obtain ⟨τ, hτ⟩ := τ
case mk.mk.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * ↑{ val := σ, property := hσ✝ } * π⁻¹ = ↑{ val := τ, property := hτ }
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk.mk
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
obtain ⟨π, hπ⟩ := isConj_iff.1 hc
case mk.mk.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk.mk.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * ↑{ val := σ, property := hσ✝ } * π⁻¹ = ↑{ val := τ, property := hτ }
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
rw [Subtype.coe_mk, Subtype.coe_mk] at hπ
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }

case mk.mk.intro.inr
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk.mk.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
cases' Int.units_eq_one_or (Perm.sign π) with h h
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ ∃ c, c * { val := σ, property := hσ✝ } * c⁻¹ = { val := τ, property := hτ }
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
rw [isConj_iff]
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ ↑({ val := π, property := (_ : ↑sign π = 1) } * { val := σ, property := hσ✝ } *
        { val := π, property := (_ : ↑sign π = 1) }⁻¹) =
    ↑{ val := τ, property := hτ }
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ ∃ c, c * { val := σ, property := hσ✝ } * c⁻¹ = { val := τ, property := hτ }
refine' ⟨⟨π, mem_alternatingGroup.mp h⟩, Subtype.val_injective _⟩
no goals
case mk.mk.intro.inl
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = 1
⊢ ↑({ val := π, property := (_ : ↑sign π = 1) } * { val := σ, property := hσ✝ } *
        { val := π, property := (_ : ↑sign π = 1) }⁻¹) =
    ↑{ val := τ, property := hτ }
simpa only [Subtype.val, Subgroup.coe_mul, coe_inv, coe_mk] using hπ
case mk.mk.intro.inr
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk.mk.intro.inr
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
have h2 : 2 ≤ σ.supportᶜ.card := by
  rw [Finset.card_compl, le_tsub_iff_left σ.support.card_le_univ]
  exact hσ
case mk.mk.intro.inr.intro.intro.intro.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
case mk.mk.intro.inr
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
obtain ⟨a, ha, b, hb, ab⟩ := Finset.one_lt_card.1 h2
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_1
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ π * swap a b ∈ alternatingGroup α

case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ ↑({ val := π * swap a b, property := ?mk.mk.intro.inr.intro.intro.intro.intro.refine'_1 } *
          { val := σ, property := hσ✝ } *
        { val := π * swap a b, property := ?mk.mk.intro.inr.intro.intro.intro.intro.refine'_1 }⁻¹) =
    ↑{ val := τ, property := hτ }
case mk.mk.intro.inr.intro.intro.intro.intro
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ IsConj { val := σ, property := hσ✝ } { val := τ, property := hτ }
refine' isConj_iff.2 ⟨⟨π * swap a b, _⟩, Subtype.val_injective _⟩
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
⊢ Finset.card (support σ) + 2 ≤ card α
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
⊢ 2 ≤ Finset.card (support σᶜ)
rw [Finset.card_compl, le_tsub_iff_left σ.support.card_le_univ]
no goals
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
⊢ Finset.card (support σ) + 2 ≤ card α
exact hσ
no goals
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_1
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ π * swap a b ∈ alternatingGroup α
rw [mem_alternatingGroup, MonoidHom.map_mul, h, sign_swap ab, Int.units_mul_self]
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ π * swap a b * σ * ↑{ val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) }⁻¹ = π * σ * π⁻¹
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ ↑({ val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) } * { val := σ, property := hσ✝ } *
        { val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) }⁻¹) =
    ↑{ val := τ, property := hτ }
simp only [← hπ, coe_mk, Subgroup.coe_mul, Subtype.val]
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
hd : Perm.Disjoint (swap a b) σ
⊢ π * swap a b * σ * ↑{ val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) }⁻¹ = π * σ * π⁻¹
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ π * swap a b * σ * ↑{ val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) }⁻¹ = π * σ * π⁻¹
have hd : Disjoint (swap a b) σ := by
  rw [disjoint_iff_disjoint_support, support_swap ab, Finset.disjoint_insert_left,
    Finset.disjoint_singleton_left]
  exact ⟨Finset.mem_compl.1 ha, Finset.mem_compl.1 hb⟩
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
hd : Perm.Disjoint (swap a b) σ
⊢ π * (σ * swap a b) * (π * swap a b)⁻¹ = π * σ * π⁻¹
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
hd : Perm.Disjoint (swap a b) σ
⊢ π * swap a b * σ * ↑{ val := π * swap a b, property := (_ : π * swap a b ∈ alternatingGroup α) }⁻¹ = π * σ * π⁻¹
rw [mul_assoc π _ σ, hd.commute.eq, coe_inv, coe_mk]
no goals
case mk.mk.intro.inr.intro.intro.intro.intro.refine'_2
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
hd : Perm.Disjoint (swap a b) σ
⊢ π * (σ * swap a b) * (π * swap a b)⁻¹ = π * σ * π⁻¹
simp [mul_assoc]
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ ¬a ∈ support σ ∧ ¬b ∈ support σ
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ Perm.Disjoint (swap a b) σ
rw [disjoint_iff_disjoint_support, support_swap ab, Finset.disjoint_insert_left,
  Finset.disjoint_singleton_left]
no goals
α : Type u_1
inst✝¹ : Fintype α
inst✝ : DecidableEq α
σ : Perm α
hσ✝ : σ ∈ alternatingGroup α
hσ : Finset.card (support ↑{ val := σ, property := hσ✝ }) + 2 ≤ card α
τ : Perm α
hτ : τ ∈ alternatingGroup α
hc : IsConj ↑{ val := σ, property := hσ✝ } ↑{ val := τ, property := hτ }
π : Perm α
hπ : π * σ * π⁻¹ = τ
h : ↑sign π = -1
h2 : 2 ≤ Finset.card (support σᶜ)
a : α
ha : a ∈ support σᶜ
b : α
hb : b ∈ support σᶜ
ab : a ≠ b
⊢ ¬a ∈ support σ ∧ ¬b ∈ support σ
exact ⟨Finset.mem_compl.1 ha, Finset.mem_compl.1 hb⟩