Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 18 additions & 1 deletion Mathlib/FieldTheory/Galois/Basic.lean
Original file line number Diff line number Diff line change
Expand Up @@ -575,7 +575,24 @@ end GaloisEquivalentDefinitions
section normalClosure

variable (k K F : Type*) [Field k] [Field K] [Field F] [Algebra k K] [Algebra k F] [Algebra K F]
[IsScalarTower k K F] [IsGalois k F]
[IsScalarTower k K F]

/-- Let $F / K / k$ be a tower of field extensions. If $K$ is separable over $k$,
then the normal closure of $K$ over $k$ in $F$ is separable over $k$. -/
instance IntermediateField.normalClosure.isSeparable [Algebra.IsSeparable k K] :
Algebra.IsSeparable k (normalClosure k K F) := by
rw [← le_separableClosure_iff]
refine normalClosure_le_iff.mpr fun f ↦ ?_
have : Algebra.IsSeparable k f.fieldRange :=
AlgEquiv.Algebra.isSeparable (AlgEquiv.ofInjectiveField f)
exact le_separableClosure k F f.fieldRange
Comment on lines +580 to +588

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
/-- Let $F / K / k$ be a tower of field extensions. If $K$ is separable over $k$,
then the normal closure of $K$ over $k$ in $F$ is separable over $k$. -/
instance IntermediateField.normalClosure.isSeparable [Algebra.IsSeparable k K] :
Algebra.IsSeparable k (normalClosure k K F) := by
rw [← le_separableClosure_iff]
refine normalClosure_le_iff.mpr fun f ↦ ?_
have : Algebra.IsSeparable k f.fieldRange :=
AlgEquiv.Algebra.isSeparable (AlgEquiv.ofInjectiveField f)
exact le_separableClosure k F f.fieldRange
/-- Let `F / K / k` be a tower of field extensions. If `K` is separable over `k`,
then the normal closure of `K/k` in `F` is separable over `k`. -/
instance IntermediateField.normalClosure.isSeparable [Algebra.IsSeparable k K] :
Algebra.IsSeparable k (normalClosure k K F) := by
refine (le_separableClosure_iff _ _ _).mp <| normalClosure_le_iff.mpr fun f ↦ ?_
have : Algebra.IsSeparable k f.fieldRange :=
AlgEquiv.Algebra.isSeparable (AlgEquiv.ofInjectiveField f)
exact le_separableClosure k F f.fieldRange

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it seems the $ notation is also used in this file so you can disregard the part about the docstring


/-- Let $F / K / k$ be a tower of field extensions. If $K$ is separable over $k$ and $F$ is normal
over $k$, then the normal closure of $K$ over $k$ in $F$ is Galois over $k$. -/
instance IsGalois.normalClosure_of_isSeparable [Algebra.IsSeparable k K] [Normal k F] :
IsGalois k (normalClosure k K F) where

variable [IsGalois k F]

/-- Let $F / K / k$ be a tower of field extensions. If $F$ is Galois over $k$,
then the normal closure of $K$ over $k$ in $F$ is Galois over $k$. -/
Expand Down
5 changes: 4 additions & 1 deletion Mathlib/RingTheory/Ideal/Norm/RelNorm.lean
Original file line number Diff line number Diff line change
Expand Up @@ -434,7 +434,10 @@ theorem relNorm_eq_pow_of_isPrime_isGalois [p.IsMaximal] [P.IsPrime]
rw [one_eq_top]
exact IsMaximal.ne_top inferInstance

theorem relNorm_eq_pow_of_isMaximal [PerfectField (FractionRing R)] [P.IsMaximal] [p.IsMaximal] :
/-- The relative norm of a maximal ideal is the prime below it raised to the inertia degree,
Comment thread
vaca22 marked this conversation as resolved.
whenever the extension of fraction fields is separable. -/
theorem relNorm_eq_pow_of_isMaximal [Algebra.IsSeparable (FractionRing R) (FractionRing S)]
[P.IsMaximal] [p.IsMaximal] :
relNorm R P = p ^ P.inertiaDeg R := by
let T := Ring.NormalClosure R S
obtain ⟨Q, hQ₁, hQ₂⟩ : ∃ Q : Ideal T, Q.IsMaximal ∧ Q.LiesOver P :=
Expand Down
2 changes: 1 addition & 1 deletion Mathlib/RingTheory/NormalClosure.lean
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ local instance : IsFractionRing T E :=
instance : IsIntegrallyClosed T :=
integralClosure.isIntegrallyClosedOfFiniteExtension L

variable [PerfectField (FractionRing R)]
variable [Algebra.IsSeparable (FractionRing R) (FractionRing S)]

local instance : Algebra.IsSeparable L E :=
Algebra.isSeparable_tower_top_of_isSeparable K L E
Expand Down
Loading