Skip to content

Commit e09fd6d

Browse files
committed
feat(FieldTheory/Separable): add AlgEquiv.isSeparable, AlgEquiv.isSeparable_iff and IsSeparable.isAlgebraic (#8861)
- add `AlgEquiv.isSeparable`, `AlgEquiv.isSeparable_iff` which states that `IsSeparable` is invariant under `AlgEquiv` - also add `IsSeparable.isAlgebraic` which states that separable extension is algebraic
1 parent 5522fc3 commit e09fd6d

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

Mathlib/FieldTheory/Separable.lean

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -502,7 +502,7 @@ is needed for a proof.
502502
separable' (x : K) : (minpoly F x).Separable
503503
#align is_separable IsSeparable
504504

505-
variable (F : Type*) {K : Type*} [CommRing F] [Ring K] [Algebra F K]
505+
variable {K}
506506

507507
theorem IsSeparable.separable [IsSeparable F K] : ∀ x : K, (minpoly F x).Separable :=
508508
IsSeparable.separable'
@@ -515,12 +515,26 @@ theorem IsSeparable.isIntegral [IsSeparable F K] : ∀ x : K, IsIntegral F x :=
515515
· exact of_not_not fun h ↦ not_separable_zero (minpoly.eq_zero h ▸ IsSeparable.separable F x)
516516
#align is_separable.is_integral IsSeparable.isIntegral
517517

518-
variable {F K : Type*} [CommRing F] [Ring K] [Algebra F K]
518+
variable {F}
519519

520520
theorem isSeparable_iff : IsSeparable F K ↔ ∀ x : K, IsIntegral F x ∧ (minpoly F x).Separable :=
521521
fun _ x => ⟨IsSeparable.isIntegral F x, IsSeparable.separable F x⟩, fun h => ⟨fun x => (h x).2⟩⟩
522522
#align is_separable_iff isSeparable_iff
523523

524+
variable {E : Type*} [Ring E] [Algebra F E] (e : K ≃ₐ[F] E)
525+
526+
/-- Transfer `IsSeparable` across an `AlgEquiv`. -/
527+
theorem AlgEquiv.isSeparable [IsSeparable F K] : IsSeparable F E :=
528+
fun _ ↦ by rw [← minpoly.algEquiv_eq e.symm]; exact IsSeparable.separable F _⟩
529+
530+
theorem AlgEquiv.isSeparable_iff : IsSeparable F K ↔ IsSeparable F E :=
531+
fun _ ↦ e.isSeparable, fun _ ↦ e.symm.isSeparable⟩
532+
533+
variable (F K)
534+
535+
theorem IsSeparable.isAlgebraic [Nontrivial F] [IsSeparable F K] : Algebra.IsAlgebraic F K :=
536+
fun x ↦ (IsSeparable.isIntegral F x).isAlgebraic
537+
524538
end CommRing
525539

526540
instance isSeparable_self (F : Type*) [Field F] : IsSeparable F F :=

0 commit comments

Comments
 (0)