Module

Exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_perfectField.lean

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

Exists finite Dimensional is Separable adjoin of constant Field Extension of perfect Field

Declarations

AlgebraicCurve.exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_perfectField
Source context 5 commands

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

section ProofImplementation
namespace AlgebraicCurve
open _root_.AlgebraicCurves.FunctionFields.Proofs in
open Exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_perfectField in
open IntermediateField in
theorem exists_finiteDimensional_isSeparable_adjoin_of_constantFieldExtension_of_perfectField
    (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']
    [PerfectField 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'