Documentation

Mathlib.FieldTheory.Normal.Basic

Normal field extensions #

In this file we prove that for a finite extension, being normal is the same as being a splitting field (Normal.of_isSplittingField and Normal.exists_isSplittingField).

Additional Results #

theorem Normal.exists_isSplittingField (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] [h : Normal F K] [FiniteDimensional F K] :
theorem Normal.of_isSplittingField {F : Type u_1} [Field F] {E : Type u_3} [Field E] [Algebra F E] (p : Polynomial F) [hFEp : Polynomial.IsSplittingField F E p] :
Normal F E

Stacks Tag 09HU (Normal part)

instance IntermediateField.normal_iSup (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] {ฮน : Type u_3} (t : ฮน โ†’ IntermediateField F K) [h : โˆ€ (i : ฮน), Normal F โ†ฅ(t i)] :
Normal F โ†ฅ(โจ† (i : ฮน), t i)

A compositum of normal extensions is normal.

theorem IntermediateField.splits_of_mem_adjoin (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] {L : Type u_3} [Field L] [Algebra F L] {S : Set K} (splits : โˆ€ x โˆˆ S, IsIntegral F x โˆง (Polynomial.map (algebraMap F L) (minpoly F x)).Splits) {x : K} (hx : x โˆˆ adjoin F S) :

If a set of algebraic elements in a field extension K/F have minimal polynomials that split in another extension L/F, then all minimal polynomials in the intermediate field generated by the set also split in L/F.

instance IntermediateField.normal_sup (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] (E E' : IntermediateField F K) [Normal F โ†ฅE] [Normal F โ†ฅE'] :
Normal F โ†ฅ(E โŠ” E')
instance IntermediateField.normal_iInf (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] {ฮน : Type u_3} [hฮน : Nonempty ฮน] (t : ฮน โ†’ IntermediateField F K) [h : โˆ€ (i : ฮน), Normal F โ†ฅ(t i)] :
Normal F โ†ฅ(โจ… (i : ฮน), t i)

An intersection of normal extensions is normal.

instance IntermediateField.normal_inf (F : Type u_1) (K : Type u_2) [Field F] [Field K] [Algebra F K] (E E' : IntermediateField F K) [Normal F โ†ฅE] [Normal F โ†ฅE'] :
Normal F โ†ฅ(E โŠ“ E')

Stacks Tag 09HP

theorem AlgHom.fieldRange_of_normal {F : Type u_1} {K : Type u_2} [Field F] [Field K] [Algebra F K] {E : IntermediateField F K} [Normal F โ†ฅE] (f : โ†ฅE โ†’โ‚[F] K) :
noncomputable def AlgHom.liftNormal {F : Type u_1} [Field F] {Kโ‚ : Type u_3} {Kโ‚‚ : Type u_4} [Field Kโ‚] [Field Kโ‚‚] [Algebra F Kโ‚] [Algebra F Kโ‚‚] (ฯ• : Kโ‚ โ†’โ‚[F] Kโ‚‚) (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [Algebra Kโ‚‚ E] [IsScalarTower F Kโ‚ E] [IsScalarTower F Kโ‚‚ E] [h : Normal F E] :

If E/Kแตข/F are towers of fields with E/F normal then we can lift an algebra homomorphism ฯ• : Kโ‚ โ†’โ‚[F] Kโ‚‚ to ฯ•.liftNormal E : E โ†’โ‚[F] E.

Equations
    Instances For
      @[simp]
      theorem AlgHom.liftNormal_commutes {F : Type u_1} [Field F] {Kโ‚ : Type u_3} {Kโ‚‚ : Type u_4} [Field Kโ‚] [Field Kโ‚‚] [Algebra F Kโ‚] [Algebra F Kโ‚‚] (ฯ• : Kโ‚ โ†’โ‚[F] Kโ‚‚) (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [Algebra Kโ‚‚ E] [IsScalarTower F Kโ‚ E] [IsScalarTower F Kโ‚‚ E] [Normal F E] (x : Kโ‚) :
      (ฯ•.liftNormal E) ((algebraMap Kโ‚ E) x) = (algebraMap Kโ‚‚ E) (ฯ• x)
      @[simp]
      theorem AlgHom.restrict_liftNormal {F : Type u_1} [Field F] {Kโ‚ : Type u_3} [Field Kโ‚] [Algebra F Kโ‚] (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [IsScalarTower F Kโ‚ E] (ฯ• : Kโ‚ โ†’โ‚[F] Kโ‚) [Normal F Kโ‚] [Normal F E] :
      (ฯ•.liftNormal E).restrictNormal Kโ‚ = ฯ•
      noncomputable def AlgEquiv.liftNormal {F : Type u_1} [Field F] {Kโ‚ : Type u_3} {Kโ‚‚ : Type u_4} [Field Kโ‚] [Field Kโ‚‚] [Algebra F Kโ‚] [Algebra F Kโ‚‚] (ฯ‡ : Kโ‚ โ‰ƒโ‚[F] Kโ‚‚) (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [Algebra Kโ‚‚ E] [IsScalarTower F Kโ‚ E] [IsScalarTower F Kโ‚‚ E] [Normal F E] :
      Gal(E/F)

      If E/Kแตข/F are towers of fields with E/F normal then we can lift an algebra isomorphism ฯ• : Kโ‚ โ‰ƒโ‚[F] Kโ‚‚ to ฯ•.liftNormal E : Gal(E/F).

      Equations
        Instances For
          @[simp]
          theorem AlgEquiv.liftNormal_commutes {F : Type u_1} [Field F] {Kโ‚ : Type u_3} {Kโ‚‚ : Type u_4} [Field Kโ‚] [Field Kโ‚‚] [Algebra F Kโ‚] [Algebra F Kโ‚‚] (ฯ‡ : Kโ‚ โ‰ƒโ‚[F] Kโ‚‚) (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [Algebra Kโ‚‚ E] [IsScalarTower F Kโ‚ E] [IsScalarTower F Kโ‚‚ E] [Normal F E] (x : Kโ‚) :
          (ฯ‡.liftNormal E) ((algebraMap Kโ‚ E) x) = (algebraMap Kโ‚‚ E) (ฯ‡ x)
          @[simp]
          theorem AlgEquiv.restrict_liftNormal {F : Type u_1} [Field F] {Kโ‚ : Type u_3} [Field Kโ‚] [Algebra F Kโ‚] (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [IsScalarTower F Kโ‚ E] (ฯ‡ : Gal(Kโ‚/F)) [Normal F Kโ‚] [Normal F E] :
          (ฯ‡.liftNormal E).restrictNormal Kโ‚ = ฯ‡
          theorem AlgEquiv.restrictNormalHom_surjective {F : Type u_1} [Field F] {Kโ‚ : Type u_3} [Field Kโ‚] [Algebra F Kโ‚] (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [IsScalarTower F Kโ‚ E] [Normal F Kโ‚] [Normal F E] :

          The group homomorphism given by restricting an algebra isomorphism to a normal subfield is surjective.

          theorem Normal.minpoly_eq_iff_mem_orbit {F : Type u_1} [Field F] (E : Type u_6) [Field E] [Algebra F E] [h : Normal F E] {x y : E} :
          theorem isSolvable_of_isScalarTower (F : Type u_1) [Field F] (Kโ‚ : Type u_3) [Field Kโ‚] [Algebra F Kโ‚] (E : Type u_6) [Field E] [Algebra F E] [Algebra Kโ‚ E] [IsScalarTower F Kโ‚ E] [Normal F Kโ‚] [h1 : IsSolvable Gal(Kโ‚/F)] [h2 : IsSolvable Gal(E/Kโ‚)] :
          IsSolvable Gal(E/F)
          theorem minpoly.exists_algEquiv_of_root {K : Type u_6} {L : Type u_7} [Field K] [Field L] [Algebra K L] [Normal K L] {x y : L} (hy : IsAlgebraic K y) (h_ev : (Polynomial.aeval x) (minpoly K y) = 0) :
          โˆƒ (ฯƒ : Gal(L/K)), ฯƒ x = y

          If x : L is a root of minpoly K y, then we can find (ฯƒ : Gal(L/K)) with ฯƒ x = y. That is, x and y are Galois conjugates.

          theorem minpoly.exists_algEquiv_of_root' {K : Type u_6} {L : Type u_7} [Field K] [Field L] [Algebra K L] [Normal K L] {x y : L} (hy : IsAlgebraic K y) (h_ev : (Polynomial.aeval x) (minpoly K y) = 0) :
          โˆƒ (ฯƒ : Gal(L/K)), ฯƒ y = x

          If x : L is a root of minpoly K y, then we can find (ฯƒ : Gal(L/K)) with ฯƒ y = x. That is, x and y are Galois conjugates.

          instance Algebra.IsQuadraticExtension.normal (F : Type u_6) (K : Type u_7) [Field F] [Field K] [Algebra F K] [IsQuadraticExtension F K] :
          Normal F K

          A quadratic extension is normal.