File: Mathlib/FieldTheory/SplittingField/IsSplittingField.lean

full_name: Polynomial.IsSplittingField.adjoin_rootSet'
code: /-- Typeclass characterising splitting fields. -/
class IsSplittingField (f : K[X]) : Prop where
  splits' : Splits (algebraMap K L) f
  adjoin_rootSet' : Algebra.adjoin K (f.rootSet L : Set L) = ⊤
goal: Algebra.adjoin K (f.rootSet L) = ⊤

full_name: Polynomial.IsSplittingField
code: /-- Typeclass characterising splitting fields. -/
class IsSplittingField (f : K[X]) : Prop where
  splits' : Splits (algebraMap K L) f
  adjoin_rootSet' : Algebra.adjoin K (f.rootSet L : Set L) = ⊤
goal: Prop

full_name: Polynomial.IsSplittingField.splits'
code: /-- Typeclass characterising splitting fields. -/
class IsSplittingField (f : K[X]) : Prop where
  splits' : Splits (algebraMap K L) f
  adjoin_rootSet' : Algebra.adjoin K (f.rootSet L : Set L) = ⊤
goal: Polynomial.Splits (algebraMap K L) f

full_name: Polynomial.IsSplittingField.splits
code: theorem splits (f : K[X]) [IsSplittingField K L f] : Splits (algebraMap K L) f 
goal: Polynomial.Splits (algebraMap K L) f

full_name: Polynomial.IsSplittingField.adjoin_rootSet
code: theorem adjoin_rootSet (f : K[X]) [IsSplittingField K L f] :
    Algebra.adjoin K (f.rootSet L : Set L) = ⊤ 
goal: Algebra.adjoin K (f.rootSet L) = ⊤

full_name: Polynomial.IsSplittingField.map
code: instance map (f : F[X]) [IsSplittingField F L f] : IsSplittingField K L (f.map <| algebraMap F K) 
goal: Polynomial.IsSplittingField K L (Polynomial.map (algebraMap F K) f)

full_name: Polynomial.IsSplittingField.splits_iff
code: theorem splits_iff (f : K[X]) [IsSplittingField K L f] :
    Splits (RingHom.id K) f ↔ (⊤ : Subalgebra K L) = ⊥ 
goal: Polynomial.Splits (RingHom.id K) f ↔ ⊤ = ⊥

full_name: Polynomial.IsSplittingField.mul
code: theorem mul (f g : F[X]) (hf : f ≠ 0) (hg : g ≠ 0) [IsSplittingField F K f]
    [IsSplittingField K L (g.map <| algebraMap F K)] : IsSplittingField F L (f * g) 
goal: Polynomial.IsSplittingField F L (f * g)

full_name: Polynomial.IsSplittingField.lift
code: /-- Splitting field of `f` embeds into any field that splits `f`. -/
def lift [Algebra K F] (f : K[X]) [IsSplittingField K L f]
    (hf : Splits (algebraMap K F) f) : L →ₐ[K] F 
goal: L →ₐ[K] F

full_name: Polynomial.IsSplittingField.finiteDimensional
code: theorem finiteDimensional (f : K[X]) [IsSplittingField K L f] : FiniteDimensional K L 
goal: FiniteDimensional K L

full_name: Polynomial.IsSplittingField.of_algEquiv
code: theorem of_algEquiv [Algebra K F] (p : K[X]) (f : F ≃ₐ[K] L) [IsSplittingField K F p] :
    IsSplittingField K L p 
goal: Polynomial.IsSplittingField K L p

full_name: Polynomial.IsSplittingField.adjoin_rootSet_eq_range
code: theorem adjoin_rootSet_eq_range [Algebra K F] (f : K[X]) [IsSplittingField K L f] (i : L →ₐ[K] F) :
    Algebra.adjoin K (rootSet f F) = i.range 
goal: Algebra.adjoin K (f.rootSet F) = i.range

full_name: IntermediateField.splits_of_splits
code: theorem IntermediateField.splits_of_splits (h : p.Splits (algebraMap K L))
    (hF : ∀ x ∈ p.rootSet L, x ∈ F) : p.Splits (algebraMap K F) 
goal: Polynomial.Splits (algebraMap K ↥F) p

full_name: IsIntegral.mem_intermediateField_of_minpoly_splits
code: theorem IsIntegral.mem_intermediateField_of_minpoly_splits {x : L} (int : IsIntegral K x)
    {F : IntermediateField K L} (h : Splits (algebraMap K F) (minpoly K x)) : x ∈ F 
goal: x ∈ F