ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
-- IntermediateField.adjoin_finset_isCompactElement
theorem adjoin_finset_isCompactElement (S : Finset E) :
    IsCompactElement (adjoin F S : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (S : Finset E)
Goal: CompleteLattice.IsCompactElement (IntermediateField.adjoin F ↑S)
-- IntermediateField.adjoin_finite_isCompactElement
theorem adjoin_finite_isCompactElement {S : Set E} (h : S.Finite) : IsCompactElement (adjoin F S) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} (h : S.Finite)
Goal: CompleteLattice.IsCompactElement (IntermediateField.adjoin F S)
-- IntermediateField.exists_finset_of_mem_iSup
theorem exists_finset_of_mem_iSup {ι : Type*} {f : ι → IntermediateField F E} {x : E}
    (hx : x ∈ ⨆ i, f i) : ∃ s : Finset ι, x ∈ ⨆ i ∈ s, f i 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ι → IntermediateField F E} {x : E} (hx : x ∈ ⨆ i, f i)
Goal: ∃ s, x ∈ ⨆ i ∈ s, f i
-- IntermediateField.exists_finset_of_mem_supr'
theorem exists_finset_of_mem_supr' {ι : Type*} {f : ι → IntermediateField F E} {x : E}
    (hx : x ∈ ⨆ i, f i) : ∃ s : Finset (Σ i, f i), x ∈ ⨆ i ∈ s, F⟮(i.2 : E)⟯ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ι → IntermediateField F E} {x : E} (hx : x ∈ ⨆ i, f i)
Goal: ∃ s, x ∈ ⨆ i ∈ s, F⟮↑i.snd⟯
-- IntermediateField.exists_finset_of_mem_supr''
theorem exists_finset_of_mem_supr'' {ι : Type*} {f : ι → IntermediateField F E}
    (h : ∀ i, Algebra.IsAlgebraic F (f i)) {x : E} (hx : x ∈ ⨆ i, f i) :
    ∃ s : Finset (Σ i, f i), x ∈ ⨆ i ∈ s, adjoin F ((minpoly F (i.2 : _)).rootSet E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {ι : Type u_3} {f : ι → IntermediateField F E} (h : ∀ (i : ι), Algebra.IsAlgebraic F ↥(f i)) {x : E} (hx : x ∈ ⨆ i, f i)
Goal: ∃ s, x ∈ ⨆ i ∈ s, IntermediateField.adjoin F ((minpoly F i.snd).rootSet E)
-- IntermediateField.exists_finset_of_mem_adjoin
theorem exists_finset_of_mem_adjoin {S : Set E} {x : E} (hx : x ∈ adjoin F S) :
    ∃ T : Finset E, (T : Set E) ⊆ S ∧ x ∈ adjoin F (T : Set E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E} {x : E} (hx : x ∈ IntermediateField.adjoin F S)
Goal: ∃ T, ↑T ⊆ S ∧ x ∈ IntermediateField.adjoin F ↑T
-- IntermediateField.adjoin_eq_bot_iff
@[simp]
theorem adjoin_eq_bot_iff : adjoin F S = ⊥ ↔ S ⊆ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E}
Goal: IntermediateField.adjoin F S = ⊥ ↔ S ⊆ ↑⊥
-- IntermediateField.adjoin_simple_eq_bot_iff
theorem adjoin_simple_eq_bot_iff : F⟮α⟯ = ⊥ ↔ α ∈ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E}
Goal: F⟮α⟯ = ⊥ ↔ α ∈ ⊥
-- IntermediateField.adjoin_zero
@[simp]
theorem adjoin_zero : F⟮(0 : E)⟯ = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: F⟮0⟯ = ⊥
-- IntermediateField.adjoin_one
@[simp]
theorem adjoin_one : F⟮(1 : E)⟯ = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: F⟮1⟯ = ⊥
-- IntermediateField.adjoin_intCast
@[simp]
theorem adjoin_intCast (n : ℤ) : F⟮(n : E)⟯ = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (n : ℤ)
Goal: F⟮↑n⟯ = ⊥
-- IntermediateField.adjoin_natCast
@[simp]
theorem adjoin_natCast (n : ℕ) : F⟮(n : E)⟯ = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (n : ℕ)
Goal: F⟮↑n⟯ = ⊥
-- IntermediateField.rank_eq_one_iff
@[simp]
theorem rank_eq_one_iff : Module.rank F K = 1 ↔ K = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : IntermediateField F E}
Goal: Module.rank F ↥K = 1 ↔ K = ⊥
-- IntermediateField.finrank_eq_one_iff
@[simp]
theorem finrank_eq_one_iff : finrank F K = 1 ↔ K = ⊥ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : IntermediateField F E}
Goal: FiniteDimensional.finrank F ↥K = 1 ↔ K = ⊥
-- IntermediateField.rank_bot
@[simp] protected
theorem rank_bot : Module.rank F (⊥ : IntermediateField F E) = 1 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: Module.rank F ↥⊥ = 1
-- IntermediateField.finrank_bot
@[simp] protected
theorem finrank_bot : finrank F (⊥ : IntermediateField F E) = 1 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: FiniteDimensional.finrank F ↥⊥ = 1
-- IntermediateField.rank_bot'
@[simp] theorem rank_bot' : Module.rank (⊥ : IntermediateField F E) E = Module.rank F E 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: Module.rank (↥⊥) E = Module.rank F E
-- IntermediateField.finrank_bot'
@[simp] theorem finrank_bot' : finrank (⊥ : IntermediateField F E) E = finrank F E 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: FiniteDimensional.finrank (↥⊥) E = FiniteDimensional.finrank F E
-- IntermediateField.rank_top
@[simp] protected theorem rank_top : Module.rank (⊤ : IntermediateField F E) E = 1 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: Module.rank (↥⊤) E = 1
-- IntermediateField.finrank_top
@[simp] protected theorem finrank_top : finrank (⊤ : IntermediateField F E) E = 1 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: FiniteDimensional.finrank (↥⊤) E = 1
-- IntermediateField.rank_top'
@[simp] theorem rank_top' : Module.rank F (⊤ : IntermediateField F E) = Module.rank F E 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: Module.rank F ↥⊤ = Module.rank F E
-- IntermediateField.finrank_top'
@[simp] theorem finrank_top' : finrank F (⊤ : IntermediateField F E) = finrank F E 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: FiniteDimensional.finrank F ↥⊤ = FiniteDimensional.finrank F E
-- IntermediateField.rank_adjoin_eq_one_iff
theorem rank_adjoin_eq_one_iff : Module.rank F (adjoin F S) = 1 ↔ S ⊆ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E}
Goal: Module.rank F ↥(IntermediateField.adjoin F S) = 1 ↔ S ⊆ ↑⊥
-- IntermediateField.rank_adjoin_simple_eq_one_iff
theorem rank_adjoin_simple_eq_one_iff :
    Module.rank F F⟮α⟯ = 1 ↔ α ∈ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E}
Goal: Module.rank F ↥F⟮α⟯ = 1 ↔ α ∈ ⊥
-- IntermediateField.finrank_adjoin_eq_one_iff
theorem finrank_adjoin_eq_one_iff : finrank F (adjoin F S) = 1 ↔ S ⊆ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : Set E}
Goal: FiniteDimensional.finrank F ↥(IntermediateField.adjoin F S) = 1 ↔ S ⊆ ↑⊥
-- IntermediateField.finrank_adjoin_simple_eq_one_iff
theorem finrank_adjoin_simple_eq_one_iff :
    finrank F F⟮α⟯ = 1 ↔ α ∈ (⊥ : IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E}
Goal: FiniteDimensional.finrank F ↥F⟮α⟯ = 1 ↔ α ∈ ⊥
-- IntermediateField.bot_eq_top_of_rank_adjoin_eq_one
theorem bot_eq_top_of_rank_adjoin_eq_one (h : ∀ x : E, Module.rank F F⟮x⟯ = 1) :
    (⊥ : IntermediateField F E) = ⊤ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.rank F ↥F⟮x⟯ = 1)
Goal: ⊥ = ⊤
-- IntermediateField.bot_eq_top_of_finrank_adjoin_eq_one
theorem bot_eq_top_of_finrank_adjoin_eq_one (h : ∀ x : E, finrank F F⟮x⟯ = 1) :
    (⊥ : IntermediateField F E) = ⊤ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), FiniteDimensional.finrank F ↥F⟮x⟯ = 1)
Goal: ⊥ = ⊤
-- IntermediateField.subsingleton_of_rank_adjoin_eq_one
theorem subsingleton_of_rank_adjoin_eq_one (h : ∀ x : E, Module.rank F F⟮x⟯ = 1) :
    Subsingleton (IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), Module.rank F ↥F⟮x⟯ = 1)
Goal: Subsingleton (IntermediateField F E)
-- IntermediateField.subsingleton_of_finrank_adjoin_eq_one
theorem subsingleton_of_finrank_adjoin_eq_one (h : ∀ x : E, finrank F F⟮x⟯ = 1) :
    Subsingleton (IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (h : ∀ (x : E), FiniteDimensional.finrank F ↥F⟮x⟯ = 1)
Goal: Subsingleton (IntermediateField F E)
-- IntermediateField.bot_eq_top_of_finrank_adjoin_le_one
theorem bot_eq_top_of_finrank_adjoin_le_one [FiniteDimensional F E]
    (h : ∀ x : E, finrank F F⟮x⟯ ≤ 1) : (⊥ : IntermediateField F E) = ⊤ 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [FiniteDimensional F E] (h : ∀ (x : E), FiniteDimensional.finrank F ↥F⟮x⟯ ≤ 1)
Goal: ⊥ = ⊤
-- IntermediateField.subsingleton_of_finrank_adjoin_le_one
theorem subsingleton_of_finrank_adjoin_le_one [FiniteDimensional F E]
    (h : ∀ x : E, finrank F F⟮x⟯ ≤ 1) : Subsingleton (IntermediateField F E) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [FiniteDimensional F E] (h : ∀ (x : E), FiniteDimensional.finrank F ↥F⟮x⟯ ≤ 1)
Goal: Subsingleton (IntermediateField F E)
-- IntermediateField.minpoly_gen
theorem minpoly_gen (α : E) :
    minpoly F (AdjoinSimple.gen F α) = minpoly F α 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] (α : E)
Goal: minpoly F (IntermediateField.AdjoinSimple.gen F α) = minpoly F α
-- IntermediateField.aeval_gen_minpoly
theorem aeval_gen_minpoly (α : E) : aeval (AdjoinSimple.gen F α) (minpoly F α) = 0 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] (α : E)
Goal: (Polynomial.aeval (IntermediateField.AdjoinSimple.gen F α)) (minpoly F α) = 0
-- IntermediateField.adjoinRootEquivAdjoin_apply_root
theorem adjoinRootEquivAdjoin_apply_root (h : IsIntegral F α) :
    adjoinRootEquivAdjoin F h (AdjoinRoot.root (minpoly F α)) = AdjoinSimple.gen F α 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} (h : IsIntegral F α)
Goal: (IntermediateField.adjoinRootEquivAdjoin F h) (AdjoinRoot.root (minpoly F α)) = IntermediateField.AdjoinSimple.gen F α
-- IntermediateField.adjoin_root_eq_top
theorem adjoin_root_eq_top (p : K[X]) [Fact (Irreducible p)] : K⟮AdjoinRoot.root p⟯ = ⊤ 
Arguments: {K : Type u} [Field K] (p : K[X]) [Fact (Irreducible p)]
Goal: K⟮AdjoinRoot.root p⟯ = ⊤
-- IntermediateField.adjoin.powerBasis_gen
@[simps]
noncomputable def adjoin.powerBasis {x : L} (hx : IsIntegral K x) : PowerBasis K K⟮x⟯ 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x)
Goal: (IntermediateField.adjoin.powerBasis hx).gen = IntermediateField.AdjoinSimple.gen K x
-- IntermediateField.adjoin.powerBasis_dim
@[simps]
noncomputable def adjoin.powerBasis {x : L} (hx : IsIntegral K x) : PowerBasis K K⟮x⟯ 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x)
Goal: (IntermediateField.adjoin.powerBasis hx).dim = (minpoly K x).natDegree
-- IntermediateField.adjoin.finiteDimensional
theorem adjoin.finiteDimensional {x : L} (hx : IsIntegral K x) : FiniteDimensional K K⟮x⟯ 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x)
Goal: FiniteDimensional K ↥K⟮x⟯
-- IntermediateField.isAlgebraic_adjoin_simple
theorem isAlgebraic_adjoin_simple {x : L} (hx : IsIntegral K x) : Algebra.IsAlgebraic K K⟮x⟯ 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x)
Goal: Algebra.IsAlgebraic K ↥K⟮x⟯
-- IntermediateField.adjoin.finrank
theorem adjoin.finrank {x : L} (hx : IsIntegral K x) :
    FiniteDimensional.finrank K K⟮x⟯ = (minpoly K x).natDegree 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {x : L} (hx : IsIntegral K x)
Goal: FiniteDimensional.finrank K ↥K⟮x⟯ = (minpoly K x).natDegree
-- IntermediateField.adjoin_eq_top_of_adjoin_eq_top
theorem adjoin_eq_top_of_adjoin_eq_top [Algebra E K] [IsScalarTower F E K]
    {S : Set K} (hprim : adjoin F S = ⊤) : adjoin E S = ⊤ 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {K : Type u} [Field K] [Algebra F K] [Algebra E K] [IsScalarTower F E K] {S : Set K} (hprim : IntermediateField.adjoin F S = ⊤)
Goal: IntermediateField.adjoin E S = ⊤
-- IntermediateField.adjoin_minpoly_coeff_of_exists_primitive_element
theorem adjoin_minpoly_coeff_of_exists_primitive_element
    [FiniteDimensional F E] (hprim : adjoin F {α} = ⊤) (K : IntermediateField F E) :
    adjoin F ((minpoly K α).map (algebraMap K E)).coeffs = K 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} [FiniteDimensional F E] (hprim : F⟮α⟯ = ⊤) (K : IntermediateField F E)
Goal: IntermediateField.adjoin F ↑(Polynomial.map (algebraMap (↥K) E) (minpoly (↥K) α)).coeffs = K
-- IntermediateField.exists_lt_finrank_of_infinite_dimensional
theorem exists_lt_finrank_of_infinite_dimensional
    [Algebra.IsAlgebraic F E] (hnfd : ¬ FiniteDimensional F E) (n : ℕ) :
    ∃ L : IntermediateField F E, FiniteDimensional F L ∧ n < finrank F L 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [Algebra.IsAlgebraic F E] (hnfd : ¬FiniteDimensional F E) (n : ℕ)
Goal: ∃ L, FiniteDimensional F ↥L ∧ n < FiniteDimensional.finrank F ↥L
-- minpoly.natDegree_le
theorem _root_.minpoly.natDegree_le (x : L) [FiniteDimensional K L] :
    (minpoly K x).natDegree ≤ finrank K L 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] (x : L) [FiniteDimensional K L]
Goal: (minpoly K x).natDegree ≤ FiniteDimensional.finrank K L
-- minpoly.degree_le
theorem _root_.minpoly.degree_le (x : L) [FiniteDimensional K L] :
    (minpoly K x).degree ≤ finrank K L 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] (x : L) [FiniteDimensional K L]
Goal: (minpoly K x).degree ≤ ↑(FiniteDimensional.finrank K L)
-- IntermediateField.isAlgebraic_iSup
theorem isAlgebraic_iSup {ι : Type*} {t : ι → IntermediateField K L}
    (h : ∀ i, Algebra.IsAlgebraic K (t i)) :
    Algebra.IsAlgebraic K (⨆ i, t i : IntermediateField K L) 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {ι : Type u_4} {t : ι → IntermediateField K L} (h : ∀ (i : ι), Algebra.IsAlgebraic K ↥(t i))
Goal: Algebra.IsAlgebraic K ↥(⨆ i, t i)
-- IntermediateField.isAlgebraic_adjoin
theorem isAlgebraic_adjoin {S : Set L} (hS : ∀ x ∈ S, IsIntegral K x) :
    Algebra.IsAlgebraic K (adjoin K S) 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {S : Set L} (hS : ∀ x ∈ S, IsIntegral K x)
Goal: Algebra.IsAlgebraic K ↥(IntermediateField.adjoin K S)
-- IntermediateField.finiteDimensional_adjoin
theorem finiteDimensional_adjoin {S : Set L} [Finite S] (hS : ∀ x ∈ S, IsIntegral K x) :
    FiniteDimensional K (adjoin K S) 
Arguments: {K : Type u} [Field K] {L : Type u_3} [Field L] [Algebra K L] {S : Set L} [Finite ↑S] (hS : ∀ x ∈ S, IsIntegral K x)
Goal: FiniteDimensional K ↥(IntermediateField.adjoin K S)
-- IntermediateField.algHomAdjoinIntegralEquiv_symm_apply_gen
lemma algHomAdjoinIntegralEquiv_symm_apply_gen (h : IsIntegral F α)
    (x : { x // x ∈ (minpoly F α).aroots K }) :
    (algHomAdjoinIntegralEquiv F h).symm x (AdjoinSimple.gen F α) = x 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) (x : { x // x ∈ (minpoly F α).aroots K })
Goal: ((IntermediateField.algHomAdjoinIntegralEquiv F h).symm x) (IntermediateField.AdjoinSimple.gen F α) = ↑x
-- IntermediateField.card_algHom_adjoin_integral
theorem card_algHom_adjoin_integral (h : IsIntegral F α) (h_sep : IsSeparable F α)
    (h_splits : (minpoly F α).Splits (algebraMap F K)) :
    @Fintype.card (F⟮α⟯ →ₐ[F] K) (fintypeOfAlgHomAdjoinIntegral F h) = (minpoly F α).natDegree 
Arguments: (F : Type u_1) [Field F] {E : Type u_2} [Field E] [Algebra F E] {α : E} {K : Type u} [Field K] [Algebra F K] (h : IsIntegral F α) (h_sep : IsSeparable F α) (h_splits : Polynomial.Splits (algebraMap F K) (minpoly F α))
Goal: Fintype.card (↥F⟮α⟯ →ₐ[F] K) = (minpoly F α).natDegree
-- Polynomial.irreducible_comp
theorem _root_.Polynomial.irreducible_comp {f g : K[X]} (hfm : f.Monic) (hgm : g.Monic)
    (hf : Irreducible f)
    (hg : ∀ (E : Type u) [Field E] [Algebra K E] (x : E) (hx : minpoly K x = f),
      Irreducible (g.map (algebraMap _ _) - C (AdjoinSimple.gen K x))) :
    Irreducible (f.comp g) 
Arguments: {K : Type u} [Field K] {f g : K[X]} (hfm : f.Monic) (hgm : g.Monic) (hf : Irreducible f) (hg :
  ∀ (E : Type u) [inst : Field E] [inst_1 : Algebra K E] (x : E),
    minpoly K x = f →
      Irreducible (Polynomial.map (algebraMap K ↥K⟮x⟯) g - Polynomial.C (IntermediateField.AdjoinSimple.gen K x)))
Goal: Irreducible (f.comp g)
-- IntermediateField.fg_adjoin_finset
theorem fg_adjoin_finset (t : Finset E) : (adjoin F (↑t : Set E)).FG 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (t : Finset E)
Goal: (IntermediateField.adjoin F ↑t).FG
-- IntermediateField.fg_def
theorem fg_def {S : IntermediateField F E} : S.FG ↔ ∃ t : Set E, Set.Finite t ∧ adjoin F t = S 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] {S : IntermediateField F E}
Goal: S.FG ↔ ∃ t, t.Finite ∧ IntermediateField.adjoin F t = S
-- IntermediateField.fg_bot
theorem fg_bot : (⊥ : IntermediateField F E).FG 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E]
Goal: ⊥.FG
-- IntermediateField.fG_of_fG_toSubalgebra
theorem fG_of_fG_toSubalgebra (S : IntermediateField F E) (h : S.toSubalgebra.FG) : S.FG 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (S : IntermediateField F E) (h : S.FG)
Goal: S.FG
-- IntermediateField.fg_of_noetherian
theorem fg_of_noetherian (S : IntermediateField F E) [IsNoetherian F E] : S.FG 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (S : IntermediateField F E) [IsNoetherian F E]
Goal: S.FG
-- IntermediateField.induction_on_adjoin_finset
theorem induction_on_adjoin_finset (S : Finset E) (P : IntermediateField F E → Prop) (base : P ⊥)
    (ih : ∀ (K : IntermediateField F E), ∀ x ∈ S, P K → P (K⟮x⟯.restrictScalars F)) :
    P (adjoin F S) 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (S : Finset E) (P : IntermediateField F E → Prop) (base : P ⊥) (ih : ∀ (K : IntermediateField F E), ∀ x ∈ S, P K → P (IntermediateField.restrictScalars F (↥K)⟮x⟯))
Goal: P (IntermediateField.adjoin F ↑S)
-- IntermediateField.induction_on_adjoin_fg
theorem induction_on_adjoin_fg (P : IntermediateField F E → Prop) (base : P ⊥)
    (ih : ∀ (K : IntermediateField F E) (x : E), P K → P (K⟮x⟯.restrictScalars F))
    (K : IntermediateField F E) (hK : K.FG) : P K 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] (P : IntermediateField F E → Prop) (base : P ⊥) (ih : ∀ (K : IntermediateField F E) (x : E), P K → P (IntermediateField.restrictScalars F (↥K)⟮x⟯)) (K : IntermediateField F E) (hK : K.FG)
Goal: P K
-- IntermediateField.induction_on_adjoin
theorem induction_on_adjoin [FiniteDimensional F E] (P : IntermediateField F E → Prop)
    (base : P ⊥) (ih : ∀ (K : IntermediateField F E) (x : E), P K → P (K⟮x⟯.restrictScalars F))
    (K : IntermediateField F E) : P K 
Arguments: {F : Type u_1} [Field F] {E : Type u_2} [Field E] [Algebra F E] [FiniteDimensional F E] (P : IntermediateField F E → Prop) (base : P ⊥) (ih : ∀ (K : IntermediateField F E) (x : E), P K → P (IntermediateField.restrictScalars F (↥K)⟮x⟯)) (K : IntermediateField F E)
Goal: P K
-- AdjoinRoot.coe_algHomOfDvd
theorem coe_algHomOfDvd {p q : K[X]} (hpq : q ∣ p) :
    (algHomOfDvd hpq).toFun = liftHom p (root q) (by simp only [aeval_eq, mk_eq_zero, hpq]) 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hpq : q ∣ p)
Goal: (↑↑(AdjoinRoot.algHomOfDvd hpq).toRingHom).toFun = ⇑(AdjoinRoot.liftHom p (AdjoinRoot.root q) ⋯)
-- AdjoinRoot.algHomOfDvd_apply_root
theorem algHomOfDvd_apply_root {p q : K[X]} (hpq : q ∣ p) :
    algHomOfDvd hpq (root p) = root q 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hpq : q ∣ p)
Goal: (AdjoinRoot.algHomOfDvd hpq) (AdjoinRoot.root p) = AdjoinRoot.root q
-- AdjoinRoot.coe_algEquivOfEq
theorem coe_algEquivOfEq {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q) :
    (algEquivOfEq hp h_eq).toFun = liftHom p (root q) (by rw [h_eq, aeval_eq, mk_self]) 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q)
Goal: (AdjoinRoot.algEquivOfEq hp h_eq).toFun = ⇑(AdjoinRoot.liftHom p (AdjoinRoot.root q) ⋯)
-- AdjoinRoot.algEquivOfEq_toAlgHom
theorem algEquivOfEq_toAlgHom {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q) :
    (algEquivOfEq hp h_eq).toAlgHom = liftHom p (root q) (by rw [h_eq, aeval_eq, mk_self]) 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q)
Goal: ↑(AdjoinRoot.algEquivOfEq hp h_eq) = AdjoinRoot.liftHom p (AdjoinRoot.root q) ⋯
-- AdjoinRoot.algEquivOfEq_apply_root
theorem algEquivOfEq_apply_root {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q) :
    algEquivOfEq hp h_eq (root p) = root q 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (h_eq : p = q)
Goal: (AdjoinRoot.algEquivOfEq hp h_eq) (AdjoinRoot.root p) = AdjoinRoot.root q
-- AdjoinRoot.coe_algEquivOfAssociated
theorem coe_algEquivOfAssociated {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q) :
    (algEquivOfAssociated hp hpq).toFun =
      liftHom p (root q) (by simp only [aeval_eq, mk_eq_zero, hpq.symm.dvd]) 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q)
Goal: (AdjoinRoot.algEquivOfAssociated hp hpq).toFun = ⇑(AdjoinRoot.liftHom p (AdjoinRoot.root q) ⋯)
-- AdjoinRoot.algEquivOfAssociated_toAlgHom
theorem algEquivOfAssociated_toAlgHom {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q) :
    (algEquivOfAssociated hp hpq).toAlgHom =
      liftHom p (root q) (by simp only [aeval_eq, mk_eq_zero, hpq.symm.dvd]) 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q)
Goal: ↑(AdjoinRoot.algEquivOfAssociated hp hpq) = AdjoinRoot.liftHom p (AdjoinRoot.root q) ⋯
-- AdjoinRoot.algEquivOfAssociated_apply_root
theorem algEquivOfAssociated_apply_root {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q) :
    algEquivOfAssociated hp hpq (root p) = root q 
Arguments: {K : Type u_1} [Field K] {p q : K[X]} (hp : p ≠ 0) (hpq : Associated p q)
Goal: (AdjoinRoot.algEquivOfAssociated hp hpq) (AdjoinRoot.root p) = AdjoinRoot.root q
-- minpoly.eq_of_root
theorem eq_of_root {x y : L} (hx : IsAlgebraic K x)
    (h_ev : (Polynomial.aeval y) (minpoly K x) = 0) : minpoly K y = minpoly K x 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {x y : L} (hx : IsAlgebraic K x) (h_ev : (Polynomial.aeval y) (minpoly K x) = 0)
Goal: minpoly K y = minpoly K x
-- minpoly.algEquiv_apply
theorem algEquiv_apply {x y : L} (hx : IsAlgebraic K x) (h_mp : minpoly K x = minpoly K y) :
    algEquiv hx h_mp (AdjoinSimple.gen K x) = AdjoinSimple.gen K y 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] {x y : L} (hx : IsAlgebraic K x) (h_mp : minpoly K x = minpoly K y)
Goal: (minpoly.algEquiv hx h_mp) (IntermediateField.AdjoinSimple.gen K x) = IntermediateField.AdjoinSimple.gen K y
-- PowerBasis.equivAdjoinSimple_aeval
@[simp]
theorem equivAdjoinSimple_aeval (pb : PowerBasis K L) (f : K[X]) :
    pb.equivAdjoinSimple (aeval (AdjoinSimple.gen K pb.gen) f) = aeval pb.gen f 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L) (f : K[X])
Goal: pb.equivAdjoinSimple ((Polynomial.aeval (IntermediateField.AdjoinSimple.gen K pb.gen)) f) = (Polynomial.aeval pb.gen) f
-- PowerBasis.equivAdjoinSimple_gen
@[simp]
theorem equivAdjoinSimple_gen (pb : PowerBasis K L) :
    pb.equivAdjoinSimple (AdjoinSimple.gen K pb.gen) = pb.gen 
Arguments: {K : Type u_1} {L : Type u_2} [Field K] [Field L] [Algebra K L] (pb : PowerBasis K L)
Goal: pb.equivAdjoinSimple (IntermediateField.AdjoinSimple.gen K pb.gen) = pb.gen