ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- pow_ne_of_irreducible_X_pow_sub_C
theorem pow_ne_of_irreducible_X_pow_sub_C {n : ℕ} {a : K}
    (H : Irreducible (X ^ n - C a)) {m : ℕ} (hm : m ∣ n) (hm' : m ≠ 1) (b : K) : b ^ m ≠ a 
Arguments: {K : Type u} [Field K] {n : ℕ} {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) {m : ℕ} (hm : m ∣ n) (hm' : m ≠ 1) (b : K)
Goal: b ^ m ≠ a
-- X_pow_sub_C_irreducible_of_prime
theorem X_pow_sub_C_irreducible_of_prime {p : ℕ} (hp : p.Prime) {a : K} (ha : ∀ b : K, b ^ p ≠ a) :
    Irreducible (X ^ p - C a) 
Arguments: {K : Type u} [Field K] {p : ℕ} (hp : Nat.Prime p) {a : K} (ha : ∀ (b : K), b ^ p ≠ a)
Goal: Irreducible (Polynomial.X ^ p - Polynomial.C a)
-- X_pow_sub_C_irreducible_iff_of_prime
theorem X_pow_sub_C_irreducible_iff_of_prime {p : ℕ} (hp : p.Prime) {a : K} :
    Irreducible (X ^ p - C a) ↔ ∀ b, b ^ p ≠ a 
Arguments: {K : Type u} [Field K] {p : ℕ} (hp : Nat.Prime p) {a : K}
Goal: Irreducible (Polynomial.X ^ p - Polynomial.C a) ↔ ∀ (b : K), b ^ p ≠ a
-- X_pow_mul_sub_C_irreducible
theorem X_pow_mul_sub_C_irreducible
    {n m : ℕ} {a : K} (hm : Irreducible (X ^ m - C a))
    (hn : ∀ (E : Type u) [Field E] [Algebra K E] (x : E) (hx : minpoly K x = X ^ m - C a),
      Irreducible (X ^ n - C (AdjoinSimple.gen K x))) :
    Irreducible (X ^ (n * m) - C a) 
Arguments: {K : Type u} [Field K] {n m : ℕ} {a : K} (hm : Irreducible (Polynomial.X ^ m - Polynomial.C a)) (hn :
  ∀ (E : Type u) [inst : Field E] [inst_1 : Algebra K E] (x : E),
    minpoly K x = Polynomial.X ^ m - Polynomial.C a →
      Irreducible (Polynomial.X ^ n - Polynomial.C (IntermediateField.AdjoinSimple.gen K x)))
Goal: Irreducible (Polynomial.X ^ (n * m) - Polynomial.C a)
-- X_pow_sub_C_irreducible_of_odd
theorem X_pow_sub_C_irreducible_of_odd
    {n : ℕ} (hn : Odd n) {a : K} (ha : ∀ p : ℕ, p.Prime → p ∣ n → ∀ b : K, b ^ p ≠ a) :
    Irreducible (X ^ n - C a) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hn : Odd n) {a : K} (ha : ∀ (p : ℕ), Nat.Prime p → p ∣ n → ∀ (b : K), b ^ p ≠ a)
Goal: Irreducible (Polynomial.X ^ n - Polynomial.C a)
-- X_pow_sub_C_irreducible_iff_forall_prime_of_odd
theorem X_pow_sub_C_irreducible_iff_forall_prime_of_odd {n : ℕ} (hn : Odd n) {a : K} :
    Irreducible (X ^ n - C a) ↔ (∀ p : ℕ, p.Prime → p ∣ n → ∀ b : K, b ^ p ≠ a) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hn : Odd n) {a : K}
Goal: Irreducible (Polynomial.X ^ n - Polynomial.C a) ↔ ∀ (p : ℕ), Nat.Prime p → p ∣ n → ∀ (b : K), b ^ p ≠ a
-- X_pow_sub_C_irreducible_iff_of_odd
theorem X_pow_sub_C_irreducible_iff_of_odd {n : ℕ} (hn : Odd n) {a : K} :
    Irreducible (X ^ n - C a) ↔ (∀ d, d ∣ n → d ≠ 1 → ∀ b : K, b ^ d ≠ a) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hn : Odd n) {a : K}
Goal: Irreducible (Polynomial.X ^ n - Polynomial.C a) ↔ ∀ (d : ℕ), d ∣ n → d ≠ 1 → ∀ (b : K), b ^ d ≠ a
-- X_pow_sub_C_irreducible_of_prime_pow
theorem X_pow_sub_C_irreducible_of_prime_pow
    {p : ℕ} (hp : p.Prime) (hp' : p ≠ 2) (n : ℕ) {a : K} (ha : ∀ b : K, b ^ p ≠ a) :
    Irreducible (X ^ (p ^ n) - C a) 
Arguments: {K : Type u} [Field K] {p : ℕ} (hp : Nat.Prime p) (hp' : p ≠ 2) (n : ℕ) {a : K} (ha : ∀ (b : K), b ^ p ≠ a)
Goal: Irreducible (Polynomial.X ^ p ^ n - Polynomial.C a)
-- X_pow_sub_C_irreducible_iff_of_prime_pow
theorem X_pow_sub_C_irreducible_iff_of_prime_pow
    {p : ℕ} (hp : p.Prime) (hp' : p ≠ 2) {n} (hn : n ≠ 0) {a : K} :
    Irreducible (X ^ p ^ n - C a) ↔ ∀ b, b ^ p ≠ a 
Arguments: {K : Type u} [Field K] {p : ℕ} (hp : Nat.Prime p) (hp' : p ≠ 2) {n : ℕ} (hn : n ≠ 0) {a : K}
Goal: Irreducible (Polynomial.X ^ p ^ n - Polynomial.C a) ↔ ∀ (b : K), b ^ p ≠ a
-- Polynomial.separable_X_pow_sub_C_of_irreducible
theorem Polynomial.separable_X_pow_sub_C_of_irreducible : (X ^ n - C a).Separable 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) (a : K) (H : Irreducible (Polynomial.X ^ n - Polynomial.C a))
Goal: (Polynomial.X ^ n - Polynomial.C a).Separable
-- autAdjoinRootXPowSubC_root
lemma autAdjoinRootXPowSubC_root (η) :
    autAdjoinRootXPowSubC hn a η (root _) = ((η : Kˣ) : K) • root _ 
Arguments: {K : Type u} [Field K] {n : ℕ} (hn : 0 < n) (a : K) (η : ↥(rootsOfUnity ⟨n, hn⟩ K))
Goal: ((autAdjoinRootXPowSubC hn a) η) (AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)) =
  ↑↑η • AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)
-- autAdjoinRootXPowSubCEquiv_root
lemma autAdjoinRootXPowSubCEquiv_root (η) :
    autAdjoinRootXPowSubCEquiv hζ hn H η (root _) = ((η : Kˣ) : K) • root _ 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) (hn : 0 < n) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (η : ↥(rootsOfUnity ⟨n, hn⟩ K))
Goal: ((autAdjoinRootXPowSubCEquiv hζ hn H) η) (AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)) =
  ↑↑η • AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)
-- autAdjoinRootXPowSubCEquiv_symm_smul
lemma autAdjoinRootXPowSubCEquiv_symm_smul (σ) :
    ((autAdjoinRootXPowSubCEquiv hζ hn H).symm σ : Kˣ) • (root _ : K[n√a]) = σ (root _) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) (hn : 0 < n) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (σ : K[n√a] ≃ₐ[K] K[n√a])
Goal: ↑((autAdjoinRootXPowSubCEquiv hζ hn H).symm σ) • AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a) =
  σ (AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a))
-- isSplittingField_AdjoinRoot_X_pow_sub_C
lemma isSplittingField_AdjoinRoot_X_pow_sub_C :
    haveI := Fact.mk H
    letI : Algebra K K[n√a] := inferInstance
    IsSplittingField K K[n√a] (X ^ n - C a) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a))
Goal: Polynomial.IsSplittingField K K[n√a] (Polynomial.X ^ n - Polynomial.C a)
-- adjoinRootXPowSubCEquiv_root
lemma adjoinRootXPowSubCEquiv_root :
    adjoinRootXPowSubCEquiv hζ H hα (root _) = α 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) {L : Type u_1} [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a)
Goal: (adjoinRootXPowSubCEquiv hζ H hα) (AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)) = α
-- adjoinRootXPowSubCEquiv_symm_eq_root
lemma adjoinRootXPowSubCEquiv_symm_eq_root :
    (adjoinRootXPowSubCEquiv hζ H hα).symm α = root _ 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) {L : Type u_1} [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a)
Goal: (adjoinRootXPowSubCEquiv hζ H hα).symm α = AdjoinRoot.root (Polynomial.X ^ n - Polynomial.C a)
-- Algebra.adjoin_root_eq_top_of_isSplittingField
lemma Algebra.adjoin_root_eq_top_of_isSplittingField :
    Algebra.adjoin K {α} = ⊤ 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) {L : Type u_1} [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a)
Goal: Algebra.adjoin K {α} = ⊤
-- IntermediateField.adjoin_root_eq_top_of_isSplittingField
lemma IntermediateField.adjoin_root_eq_top_of_isSplittingField :
    K⟮α⟯ = ⊤ 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) {L : Type u_1} [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a)
Goal: K⟮α⟯ = ⊤
-- rootOfSplitsXPowSubC_pow
lemma rootOfSplitsXPowSubC_pow :
    (rootOfSplitsXPowSubC hn a L) ^ n = algebraMap K L a 
Arguments: {K : Type u} [Field K] {n : ℕ} (hn : 0 < n) (a : K) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)]
Goal: rootOfSplitsXPowSubC hn a L ^ n = (algebraMap K L) a
-- autEquivRootsOfUnity_apply_rootOfSplit
lemma autEquivRootsOfUnity_apply_rootOfSplit (σ : L ≃ₐ[K] L) :
    σ (rootOfSplitsXPowSubC hn a L) =
      autEquivRootsOfUnity hζ hn H L σ • (rootOfSplitsXPowSubC hn a L) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) (hn : 0 < n) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] (σ : L ≃ₐ[K] L)
Goal: σ (rootOfSplitsXPowSubC hn a L) = (autEquivRootsOfUnity hζ hn H L) σ • rootOfSplitsXPowSubC hn a L
-- autEquivRootsOfUnity_smul
lemma autEquivRootsOfUnity_smul (σ : L ≃ₐ[K] L) :
    autEquivRootsOfUnity hζ hn H L σ • α = σ α 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) (hn : 0 < n) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a) (σ : L ≃ₐ[K] L)
Goal: (autEquivRootsOfUnity hζ hn H L) σ • α = σ α
-- autEquivZmod_symm_apply_intCast
lemma autEquivZmod_symm_apply_intCast {ζ : K} (hζ : IsPrimitiveRoot ζ n) (m : ℤ) :
    (autEquivZmod H L hζ).symm (Multiplicative.ofAdd (m : ZMod n)) α = ζ ^ m • α 
Arguments: {K : Type u} [Field K] {n : ℕ} {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a) {ζ : K} (hζ : IsPrimitiveRoot ζ n) (m : ℤ)
Goal: ((autEquivZmod H L hζ).symm (Multiplicative.ofAdd ↑m)) α = ζ ^ m • α
-- autEquivZmod_symm_apply_natCast
lemma autEquivZmod_symm_apply_natCast {ζ : K} (hζ : IsPrimitiveRoot ζ n) (m : ℕ) :
    (autEquivZmod H L hζ).symm (Multiplicative.ofAdd (m : ZMod n)) α = ζ ^ m • α 
Arguments: {K : Type u} [Field K] {n : ℕ} {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)] {α : L} (hα : α ^ n = (algebraMap K L) a) {ζ : K} (hζ : IsPrimitiveRoot ζ n) (m : ℕ)
Goal: ((autEquivZmod H L hζ).symm (Multiplicative.ofAdd ↑m)) α = ζ ^ m • α
-- isCyclic_of_isSplittingField_X_pow_sub_C
lemma isCyclic_of_isSplittingField_X_pow_sub_C : IsCyclic (L ≃ₐ[K] L) 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)]
Goal: IsCyclic (L ≃ₐ[K] L)
-- isGalois_of_isSplittingField_X_pow_sub_C
lemma isGalois_of_isSplittingField_X_pow_sub_C : IsGalois K L 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)]
Goal: IsGalois K L
-- finrank_of_isSplittingField_X_pow_sub_C
lemma finrank_of_isSplittingField_X_pow_sub_C : FiniteDimensional.finrank K L = n 
Arguments: {K : Type u} [Field K] {n : ℕ} (hζ : (primitiveRoots n K).Nonempty) {a : K} (H : Irreducible (Polynomial.X ^ n - Polynomial.C a)) (L : Type u_1) [Field L] [Algebra K L] [Polynomial.IsSplittingField K L (Polynomial.X ^ n - Polynomial.C a)]
Goal: FiniteDimensional.finrank K L = n
-- exists_root_adjoin_eq_top_of_isCyclic
lemma exists_root_adjoin_eq_top_of_isCyclic :
    ∃ (α : L), α ^ (finrank K L) ∈ Set.range (algebraMap K L) ∧ K⟮α⟯ = ⊤ 
Arguments: (K : Type u) [Field K] (L : Type u_1) [Field L] [Algebra K L] [IsGalois K L] [FiniteDimensional K L] [IsCyclic (L ≃ₐ[K] L)] (hK : (primitiveRoots (FiniteDimensional.finrank K L) K).Nonempty)
Goal: ∃ α, α ^ FiniteDimensional.finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤
-- irreducible_X_pow_sub_C_of_root_adjoin_eq_top
lemma irreducible_X_pow_sub_C_of_root_adjoin_eq_top
    {a : K} {α : L} (ha : α ^ (finrank K L) = algebraMap K L a) (hα : K⟮α⟯ = ⊤) :
    Irreducible (X ^ (finrank K L) - C a) 
Arguments: {K : Type u} [Field K] {L : Type u_1} [Field L] [Algebra K L] [FiniteDimensional K L] {a : K} {α : L} (ha : α ^ FiniteDimensional.finrank K L = (algebraMap K L) a) (hα : K⟮α⟯ = ⊤)
Goal: Irreducible (Polynomial.X ^ FiniteDimensional.finrank K L - Polynomial.C a)
-- isSplittingField_X_pow_sub_C_of_root_adjoin_eq_top
lemma isSplittingField_X_pow_sub_C_of_root_adjoin_eq_top
    {a : K} {α : L} (ha : α ^ (finrank K L) = algebraMap K L a) (hα : K⟮α⟯ = ⊤) :
    IsSplittingField K L (X ^ (finrank K L) - C a) 
Arguments: {K : Type u} [Field K] {L : Type u_1} [Field L] [Algebra K L] [FiniteDimensional K L] (hK : (primitiveRoots (FiniteDimensional.finrank K L) K).Nonempty) {a : K} {α : L} (ha : α ^ FiniteDimensional.finrank K L = (algebraMap K L) a) (hα : K⟮α⟯ = ⊤)
Goal: Polynomial.IsSplittingField K L (Polynomial.X ^ FiniteDimensional.finrank K L - Polynomial.C a)
-- isCyclic_tfae
lemma isCyclic_tfae (K L) [Field K] [Field L] [Algebra K L] [FiniteDimensional K L]
    (hK : (primitiveRoots (FiniteDimensional.finrank K L) K).Nonempty) :
    List.TFAE [
      IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
      ∃ a : K, Irreducible (X ^ (finrank K L) - C a) ∧
        IsSplittingField K L (X ^ (finrank K L) - C a),
      ∃ (α : L), α ^ (finrank K L) ∈ Set.range (algebraMap K L) ∧ K⟮α⟯ = ⊤] 
Arguments: (K : Type u_1) (L : Type u_2) [Field K] [Field L] [Algebra K L] [FiniteDimensional K L] (hK : (primitiveRoots (FiniteDimensional.finrank K L) K).Nonempty)
Goal: [IsGalois K L ∧ IsCyclic (L ≃ₐ[K] L),
    ∃ a,
      Irreducible (Polynomial.X ^ FiniteDimensional.finrank K L - Polynomial.C a) ∧
        Polynomial.IsSplittingField K L (Polynomial.X ^ FiniteDimensional.finrank K L - Polynomial.C a),
    ∃ α, α ^ FiniteDimensional.finrank K L ∈ Set.range ⇑(algebraMap K L) ∧ K⟮α⟯ = ⊤].TFAE
-- CategoryTheory.Quotient.functor_additive
lemma functor_additive
    (hr : ∀ ⦃X Y : C⦄ (f₁ f₂ g₁ g₂ : X ⟶ Y) (_ : r f₁ f₂) (_ : r g₁ g₂), r (f₁ + g₁) (f₂ + g₂)) :
    letI := preadditive r hr
    (functor r).Additive 
Arguments: {C : Type u_2} [CategoryTheory.Category.{u_1, u_2} C] [CategoryTheory.Preadditive C] (r : HomRel C) [CategoryTheory.Congruence r] (hr : ∀ ⦃X Y : C⦄ (f₁ f₂ g₁ g₂ : X ⟶ Y), r f₁ f₂ → r g₁ g₂ → r (f₁ + g₁) (f₂ + g₂))
Goal: (CategoryTheory.Quotient.functor r).Additive
-- Normal.splits'
class Normal extends Algebra.IsAlgebraic F K : Prop where
  splits' (x : K) : Splits (algebraMap F K) (minpoly F x)
Arguments: {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K] [self : Normal F K] (x : K)
Goal: Polynomial.Splits (algebraMap F K) (minpoly F x)
-- Normal.isIntegral
theorem Normal.isIntegral (_ : Normal F K) (x : K) : IsIntegral F x 
Arguments: {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K]
Goal: Normal F K → ∀ (x : K), IsIntegral F x
-- Normal.splits
theorem Normal.splits (_ : Normal F K) (x : K) : Splits (algebraMap F K) (minpoly F x) 
Arguments: {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K]
Goal: Normal F K → ∀ (x : K), Polynomial.Splits (algebraMap F K) (minpoly F x)
-- normal_iff
theorem normal_iff : Normal F K ↔ ∀ x : K, IsIntegral F x ∧ Splits (algebraMap F K) (minpoly F x) 
Arguments: {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K]
Goal: Normal F K ↔ ∀ (x : K), IsIntegral F x ∧ Polynomial.Splits (algebraMap F K) (minpoly F x)
-- Normal.out
theorem Normal.out : Normal F K → ∀ x : K, IsIntegral F x ∧ Splits (algebraMap F K) (minpoly F x) 
Arguments: {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K]
Goal: Normal F K → ∀ (x : K), IsIntegral F x ∧ Polynomial.Splits (algebraMap F K) (minpoly F x)
-- Normal.exists_isSplittingField
theorem Normal.exists_isSplittingField [h : Normal F K] [FiniteDimensional F K] :
    ∃ p : F[X], IsSplittingField F K p 
Arguments: (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] [h : Normal F K] [FiniteDimensional F K]
Goal: ∃ p, Polynomial.IsSplittingField F K p
-- Normal.tower_top_of_normal
theorem Normal.tower_top_of_normal [h : Normal F E] : Normal K E 
Arguments: (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] (E : Type u_3) [Field E] [Algebra F E] [Algebra K E] [IsScalarTower F K E] [h : Normal F E]
Goal: Normal K E
-- AlgHom.normal_bijective
theorem AlgHom.normal_bijective [h : Normal F E] (ϕ : E →ₐ[F] K) : Function.Bijective ϕ 
Arguments: (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] (E : Type u_3) [Field E] [Algebra F E] [Algebra K E] [IsScalarTower F K E] [h : Normal F E] (ϕ : E →ₐ[F] K)
Goal: Function.Bijective ⇑ϕ
-- Normal.of_algEquiv
theorem Normal.of_algEquiv [h : Normal F E] (f : E ≃ₐ[F] E') : Normal F E' 
Arguments: {F : Type u_1} {E : Type u_3} {E' : Type u_4} [Field F] [Field E] [Algebra F E] [Field E'] [Algebra F E'] [h : Normal F E] (f : E ≃ₐ[F] E')
Goal: Normal F E'
-- AlgEquiv.transfer_normal
theorem AlgEquiv.transfer_normal (f : E ≃ₐ[F] E') : Normal F E ↔ Normal F E' 
Arguments: {F : Type u_1} {E : Type u_3} {E' : Type u_4} [Field F] [Field E] [Algebra F E] [Field E'] [Algebra F E'] (f : E ≃ₐ[F] E')
Goal: Normal F E ↔ Normal F E'
-- Normal.of_isSplittingField
theorem Normal.of_isSplittingField (p : F[X]) [hFEp : IsSplittingField F E p] : Normal F E 
Arguments: {F : Type u_1} {E : Type u_3} [Field F] [Field E] [Algebra F E] (p : F[X]) [hFEp : Polynomial.IsSplittingField F E p]
Goal: Normal F E
-- IntermediateField.splits_of_mem_adjoin
theorem splits_of_mem_adjoin {L} [Field L] [Algebra F L] {S : Set K}
    (splits : ∀ x ∈ S, IsIntegral F x ∧ (minpoly F x).Splits (algebraMap F L)) {x : K}
    (hx : x ∈ adjoin F S) : (minpoly F x).Splits (algebraMap F L) 
Arguments: (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] {L : Type u_3} [Field L] [Algebra F L] {S : Set K} (splits : ∀ x ∈ S, IsIntegral F x ∧ Polynomial.Splits (algebraMap F L) (minpoly F x)) {x : K} (hx : x ∈ IntermediateField.adjoin F S)
Goal: Polynomial.Splits (algebraMap F L) (minpoly F x)
-- IntermediateField.restrictScalars_normal
@[simp]
theorem restrictScalars_normal {E : IntermediateField K L} :
    Normal F (E.restrictScalars F) ↔ Normal F E 
Arguments: {F : Type u_1} {K : Type u_2} {L : Type u_3} [Field F] [Field K] [Field L] [Algebra F L] [Algebra K L] [Algebra F K] [IsScalarTower F K L] {E : IntermediateField K L}
Goal: Normal F ↥(IntermediateField.restrictScalars F E) ↔ Normal F ↥E
-- AlgHom.restrictNormal_commutes
@[simp]
theorem AlgHom.restrictNormal_commutes [Normal F E] (x : E) :
    algebraMap E K₂ (ϕ.restrictNormal E x) = ϕ (algebraMap E K₁ x) 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} [Field F] [Field K₁] [Field K₂] [Algebra F K₁] [Algebra F K₂] (ϕ : K₁ →ₐ[F] K₂) (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [Algebra E K₂] [IsScalarTower F E K₁] [IsScalarTower F E K₂] [Normal F E] (x : E)
Goal: (algebraMap E K₂) ((ϕ.restrictNormal E) x) = ϕ ((algebraMap E K₁) x)
-- AlgHom.restrictNormal_comp
theorem AlgHom.restrictNormal_comp [Normal F E] :
    (ψ.restrictNormal E).comp (ϕ.restrictNormal E) = (ψ.comp ϕ).restrictNormal E 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} {K₃ : Type u_5} [Field F] [Field K₁] [Field K₂] [Field K₃] [Algebra F K₁] [Algebra F K₂] [Algebra F K₃] (ϕ : K₁ →ₐ[F] K₂) (ψ : K₂ →ₐ[F] K₃) (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [Algebra E K₂] [Algebra E K₃] [IsScalarTower F E K₁] [IsScalarTower F E K₂] [IsScalarTower F E K₃] [Normal F E]
Goal: (ψ.restrictNormal E).comp (ϕ.restrictNormal E) = (ψ.comp ϕ).restrictNormal E
-- AlgHom.fieldRange_of_normal
theorem AlgHom.fieldRange_of_normal [Algebra F K] {E : IntermediateField F K} [Normal F E]
    (f : E →ₐ[F] K) : f.fieldRange = E 
Arguments: {F : Type u_1} {K : Type u_2} [Field K] [Field F] [Algebra F K] {E : IntermediateField F K} [Normal F ↥E] (f : ↥E →ₐ[F] K)
Goal: f.fieldRange = E
-- AlgEquiv.restrictNormal_commutes
@[simp]
theorem AlgEquiv.restrictNormal_commutes [Normal F E] (x : E) :
    algebraMap E K₂ (χ.restrictNormal E x) = χ (algebraMap E K₁ x) 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} [Field F] [Field K₁] [Field K₂] [Algebra F K₁] [Algebra F K₂] (χ : K₁ ≃ₐ[F] K₂) (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [Algebra E K₂] [IsScalarTower F E K₁] [IsScalarTower F E K₂] [Normal F E] (x : E)
Goal: (algebraMap E K₂) ((χ.restrictNormal E) x) = χ ((algebraMap E K₁) x)
-- AlgEquiv.restrictNormal_trans
theorem AlgEquiv.restrictNormal_trans [Normal F E] :
    (χ.trans ω).restrictNormal E = (χ.restrictNormal E).trans (ω.restrictNormal E) 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} {K₃ : Type u_5} [Field F] [Field K₁] [Field K₂] [Field K₃] [Algebra F K₁] [Algebra F K₂] [Algebra F K₃] (χ : K₁ ≃ₐ[F] K₂) (ω : K₂ ≃ₐ[F] K₃) (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [Algebra E K₂] [Algebra E K₃] [IsScalarTower F E K₁] [IsScalarTower F E K₂] [IsScalarTower F E K₃] [Normal F E]
Goal: (χ.trans ω).restrictNormal E = (χ.restrictNormal E).trans (ω.restrictNormal E)
-- Normal.algHomEquivAut_symm_apply
@[simps]
def Normal.algHomEquivAut [Normal F E] : (E →ₐ[F] K₁) ≃ E ≃ₐ[F] E 
Arguments: (F : Type u_1) (K₁ : Type u_3) [Field F] [Field K₁] [Algebra F K₁] (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [IsScalarTower F E K₁] [Normal F E] (σ : E ≃ₐ[F] E)
Goal: (Normal.algHomEquivAut F K₁ E).symm σ = (IsScalarTower.toAlgHom F E K₁).comp ↑σ
-- Normal.algHomEquivAut_apply
@[simps]
def Normal.algHomEquivAut [Normal F E] : (E →ₐ[F] K₁) ≃ E ≃ₐ[F] E 
Arguments: (F : Type u_1) (K₁ : Type u_3) [Field F] [Field K₁] [Algebra F K₁] (E : Type u_6) [Field E] [Algebra F E] [Algebra E K₁] [IsScalarTower F E K₁] [Normal F E] (σ : E →ₐ[F] K₁)
Goal: (Normal.algHomEquivAut F K₁ E) σ = σ.restrictNormal' E
-- AlgHom.liftNormal_commutes
@[simp]
theorem AlgHom.liftNormal_commutes [Normal F E] (x : K₁) :
    ϕ.liftNormal E (algebraMap K₁ E x) = algebraMap K₂ E (ϕ x) 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} [Field F] [Field K₁] [Field K₂] [Algebra F K₁] [Algebra F K₂] (ϕ : K₁ →ₐ[F] K₂) (E : Type u_6) [Field E] [Algebra F E] [Algebra K₁ E] [Algebra K₂ E] [IsScalarTower F K₁ E] [IsScalarTower F K₂ E] [Normal F E] (x : K₁)
Goal: (ϕ.liftNormal E) ((algebraMap K₁ E) x) = (algebraMap K₂ E) (ϕ x)
-- AlgHom.restrict_liftNormal
@[simp]
theorem AlgHom.restrict_liftNormal (ϕ : K₁ →ₐ[F] K₁) [Normal F K₁] [Normal F E] :
    (ϕ.liftNormal E).restrictNormal K₁ = ϕ 
Arguments: {F : Type u_1} {K₁ : Type u_3} [Field F] [Field K₁] [Algebra F K₁] (E : Type u_6) [Field E] [Algebra F E] [Algebra K₁ E] [IsScalarTower F K₁ E] (ϕ : K₁ →ₐ[F] K₁) [Normal F K₁] [Normal F E]
Goal: (ϕ.liftNormal E).restrictNormal K₁ = ϕ
-- AlgEquiv.liftNormal_commutes
@[simp]
theorem AlgEquiv.liftNormal_commutes [Normal F E] (x : K₁) :
    χ.liftNormal E (algebraMap K₁ E x) = algebraMap K₂ E (χ x) 
Arguments: {F : Type u_1} {K₁ : Type u_3} {K₂ : Type u_4} [Field F] [Field K₁] [Field K₂] [Algebra F K₁] [Algebra F K₂] (χ : K₁ ≃ₐ[F] K₂) (E : Type u_6) [Field E] [Algebra F E] [Algebra K₁ E] [Algebra K₂ E] [IsScalarTower F K₁ E] [IsScalarTower F K₂ E] [Normal F E] (x : K₁)
Goal: (χ.liftNormal E) ((algebraMap K₁ E) x) = (algebraMap K₂ E) (χ x)
-- AlgEquiv.restrict_liftNormal
@[simp]
theorem AlgEquiv.restrict_liftNormal (χ : K₁ ≃ₐ[F] K₁) [Normal F K₁] [Normal F E] :
    (χ.liftNormal E).restrictNormal K₁ = χ 
Arguments: {F : Type u_1} {K₁ : Type u_3} [Field F] [Field K₁] [Algebra F K₁] (E : Type u_6) [Field E] [Algebra F E] [Algebra K₁ E] [IsScalarTower F K₁ E] (χ : K₁ ≃ₐ[F] K₁) [Normal F K₁] [Normal F E]
Goal: (χ.liftNormal E).restrictNormal K₁ = χ
-- AlgEquiv.restrictNormalHom_surjective
theorem AlgEquiv.restrictNormalHom_surjective [Normal F K₁] [Normal F E] :
    Function.Surjective (AlgEquiv.restrictNormalHom K₁ : (E ≃ₐ[F] E) → K₁ ≃ₐ[F] K₁) 
Arguments: {F : Type u_1} {K₁ : Type u_3} [Field F] [Field K₁] [Algebra F K₁] (E : Type u_6) [Field E] [Algebra F E] [Algebra K₁ E] [IsScalarTower F K₁ E] [Normal F K₁] [Normal F E]
Goal: Function.Surjective ⇑(AlgEquiv.restrictNormalHom K₁)
-- Normal.minpoly_eq_iff_mem_orbit
theorem Normal.minpoly_eq_iff_mem_orbit [h : Normal F E] {x y : E} :
    minpoly F x = minpoly F y ↔ x ∈ MulAction.orbit (E ≃ₐ[F] E) y 
Arguments: {F : Type u_1} [Field F] (E : Type u_6) [Field E] [Algebra F E] [h : Normal F E] {x y : E}
Goal: minpoly F x = minpoly F y ↔ x ∈ MulAction.orbit (E ≃ₐ[F] E) y