Module

Exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_isAlgClosed.lean

Nyll.AlgebraicCurves.FunctionFields.Exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_isAlgClosed
1 declaration indexed from sourceView source ↗

Exists finite Dimensional is Separable adjoin of constant Field Extension of is Alg Closed

Declarations

AlgebraicCurve.exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_isAlgClosed
Source context 5 commands

Surrounding namespaces, section variables, and local commands at this declaration.

section ProofImplementation
section PublicStatement
open _root_.IntermediateField
open _root_.AlgebraicCurves.FunctionFields.Proofs.ExistsFiniteDimSeparableAdjoin
namespace AlgebraicCurve
theorem exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_isAlgClosed
    (K F K' F' : Type*)
    [Field K] [Field F] [Field K'] [Field F'] [Algebra K F] [Algebra K' F']
    [Algebra K K'] [Algebra F F'] [Algebra K F'] [IsScalarTower K K' F'] [IsScalarTower K F F']
    [IsAlgClosed K]
    (hfg : ∃ x : F, Transcendental K x ∧
      FiniteDimensional (IntermediateField.adjoin K ({x} : Set F)) F)
    (_hfg' : ∃ x : F', Transcendental K' x ∧
      FiniteDimensional (IntermediateField.adjoin K' ({x} : Set F')) F')
    (hgen : IntermediateField.adjoin K' (Set.range (algebraMap F F')) = ⊤) :
    ∃ t' : F', FiniteDimensional (IntermediateField.adjoin K' ({t'} : Set F')) F' ∧
      Algebra.IsSeparable (IntermediateField.adjoin K' ({t'} : Set F')) F'