Theorem: isCyclic_tfae
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)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
state_after: case tfae_1_to_3
K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
⊢ IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤

K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
tactic: tfae_have 1 → 3
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)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
state_after: case tfae_3_to_2
K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
⊢ (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)

K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
tfae_3_to_2 :
  (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
tactic: tfae_have 3 → 2
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)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
tfae_3_to_2 :
  (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
state_after: case tfae_2_to_1
K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
tfae_3_to_2 :
  (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)
⊢ (∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)) →
    IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L)

K✝ : Type u
inst✝⁴ : Field K✝
n : ℕ
hζ : (primitiveRoots n K✝).Nonempty
hn : 0 < n
a : K✝
H : Irreducible (X ^ n - C a)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
tfae_3_to_2 :
  (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)
tfae_2_to_1 :
  (∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)) →
    IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L)
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
tactic: tfae_have 2 → 1
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)
K : Type u_1
L : Type u_2
inst✝³ : Field K
inst✝² : Field L
inst✝¹ : Algebra K L
inst✝ : FiniteDimensional K L
hK : (primitiveRoots (finrank K L) K).Nonempty
tfae_1_to_3 : IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L) → ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
tfae_3_to_2 :
  (∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤) →
    ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)
tfae_2_to_1 :
  (∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a)) →
    IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L)
⊢ [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a, Irreducible (X ^ finrank K L - C a) ∧ IsSplittingField K L (X ^ finrank K L - C a),
      ∃ α, α ^ finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
state_after: no goals
tactic: tfae_finish