Theorem: OnCycleFactors.k_one (Jordan/ConjClassCount.lean)

State before:
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
⊢ k a 1 = id
Tactic:
ext x
State after:
case h
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
⊢ k a 1 x = id x

State before:
case h
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
⊢ k a 1 x = id x
Tactic:
by_cases hx : x ∈ g.support
State after:
case pos
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : x ∈ Equiv.Perm.support g
⊢ k a 1 x = id x

case neg
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : x ∉ Equiv.Perm.support g
⊢ k a 1 x = id x

State before:
case neg
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : x ∉ Equiv.Perm.support g
⊢ k a 1 x = id x
Tactic:
simp only [id.def, k_apply_of_not_mem_support x hx]
State after:
no goals

State before:
case pos
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : x ∈ Equiv.Perm.support g
⊢ k a 1 x = id x
Tactic:
simp only [mem_support_iff_exists_Kf a] at hx
State after:
case pos
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : ∃ c i, x = Kf a 1 (c, i)
⊢ k a 1 x = id x

State before:
case pos
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
x : α
hx : ∃ c i, x = Kf a 1 (c, i)
⊢ k a 1 x = id x
Tactic:
obtain ⟨c, i, rfl⟩ := hx
State after:
case pos.intro.intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ k a 1 (Kf a 1 (c, i)) = id (Kf a 1 (c, i))

State before:
case pos.intro.intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ k a 1 (Kf a 1 (c, i)) = id (Kf a 1 (c, i))
Tactic:
rw [k_apply]
State after:
case pos.intro.intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ Kf a 1 (c, i) = id (Kf a 1 (c, i))

case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ ∀ (c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }), (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card

State before:
case pos.intro.intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ Kf a 1 (c, i) = id (Kf a 1 (c, i))

case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ ∀ (c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }), (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card
Tactic:
rfl
State after:
case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ ∀ (c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }), (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card

State before:
case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
⊢ ∀ (c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }), (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card
Tactic:
intro c
State after:
case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c✝ : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
⊢ (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card

State before:
case pos.intro.intro.hτ
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
g : Equiv.Perm α
a : Equiv.Perm.Basis g
c✝ : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
i : ℤ
c : { x // x ∈ Equiv.Perm.cycleFactorsFinset g }
⊢ (Equiv.Perm.support ↑(1 c)).card = (Equiv.Perm.support ↑c).card
Tactic:
rfl
State after:
no goals