Theorem: autEquivRootsOfUnity_apply_rootOfSplit
File: Mathlib/FieldTheory/KummerExtension.lean

Proof steps:
state_before: K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
σ : L ≃ₐ[K] L
⊢ σ (rootOfSplitsXPowSubC hn a L) = (autEquivRootsOfUnity hζ hn H L) σ • rootOfSplitsXPowSubC hn a L
state_after: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ ((autEquivRootsOfUnity hζ hn H L).symm η) (rootOfSplitsXPowSubC hn a L) =
    (autEquivRootsOfUnity hζ hn H L) ((autEquivRootsOfUnity hζ hn H L).symm η) • rootOfSplitsXPowSubC hn a L
tactic: obtain ⟨η, rfl⟩ := (autEquivRootsOfUnity hζ hn H L).symm.surjective σ
state_before: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ ((autEquivRootsOfUnity hζ hn H L).symm η) (rootOfSplitsXPowSubC hn a L) =
    (autEquivRootsOfUnity hζ hn H L) ((autEquivRootsOfUnity hζ hn H L).symm η) • rootOfSplitsXPowSubC hn a L
state_after: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ (((adjoinRootXPowSubCEquiv hζ H ⋯).symm.autCongr.trans (autAdjoinRootXPowSubCEquiv hζ hn H).symm).symm η)
      (rootOfSplitsXPowSubC hn a L) =
    η • rootOfSplitsXPowSubC hn a L
tactic: rw [MulEquiv.apply_symm_apply, autEquivRootsOfUnity]
state_before: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ (((adjoinRootXPowSubCEquiv hζ H ⋯).symm.autCongr.trans (autAdjoinRootXPowSubCEquiv hζ hn H).symm).symm η)
      (rootOfSplitsXPowSubC hn a L) =
    η • rootOfSplitsXPowSubC hn a L
state_after: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ ↑↑η • rootOfSplitsXPowSubC hn a L = η • rootOfSplitsXPowSubC hn a L
tactic: simp only [MulEquiv.symm_trans_apply, AlgEquiv.autCongr_symm, AlgEquiv.symm_symm,
    MulEquiv.symm_symm, AlgEquiv.autCongr_apply, AlgEquiv.trans_apply,
    adjoinRootXPowSubCEquiv_symm_eq_root, autAdjoinRootXPowSubCEquiv_root, map_smul,
    adjoinRootXPowSubCEquiv_root]
state_before: case intro
K : Type u
inst✝³ : Field K
n : ℕ
hζ : (primitiveRoots n K).Nonempty
hn : 0 < n
a : K
H : Irreducible (X ^ n - C a)
L : Type u_1
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : IsSplittingField K L (X ^ n - C a)
α : L
hα : α ^ n = (algebraMap K L) a
η : ↥(rootsOfUnity ⟨n, hn⟩ K)
⊢ ↑↑η • rootOfSplitsXPowSubC hn a L = η • rootOfSplitsXPowSubC hn a L
state_after: no goals
tactic: rfl