File tree Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Expand file tree Collapse file tree 2 files changed +13
-7
lines changed Original file line number Diff line number Diff line change @@ -57,28 +57,31 @@ see `IsAlgClosed.splits_codomain` and `IsAlgClosed.splits_domain`.
5757-/
5858@[stacks 09GR "The definition of `IsAlgClosed` in mathlib is 09GR (4)"]
5959class IsAlgClosed : Prop where
60- splits : ∀ p : k[X], p.Splits <| RingHom.id k
60+ factors : ∀ p : k[X], p.Factors
6161
6262/-- Every polynomial splits in the field extension `f : K →+* k` if `k` is algebraically closed.
6363
6464See also `IsAlgClosed.splits_domain` for the case where `K` is algebraically closed.
6565-/
6666theorem IsAlgClosed.splits_codomain {k K : Type *} [Field k] [IsAlgClosed k] [CommRing K]
67- {f : K →+* k} (p : K[X]) : p.Splits f := by
68- convert IsAlgClosed.splits (p.map f); simp [splits_map_iff]
67+ {f : K →+* k} (p : K[X]) : p.Splits f :=
68+ IsAlgClosed.factors (p.map f)
6969
7070/-- Every polynomial splits in the field extension `f : K →+* k` if `K` is algebraically closed.
7171
7272See also `IsAlgClosed.splits_codomain` for the case where `k` is algebraically closed.
7373-/
7474theorem IsAlgClosed.splits_domain {k K : Type *} [Field k] [IsAlgClosed k] [Field K] {f : k →+* K}
7575 (p : k[X]) : p.Splits f :=
76- Polynomial.splits_of_splits_id _ <| IsAlgClosed.splits _
76+ (IsAlgClosed.factors p).map f
7777
7878namespace IsAlgClosed
7979
8080variable {k}
8181
82+ theorem splits [IsAlgClosed k] (p : k[X]) : p.Splits (RingHom.id k) :=
83+ (IsAlgClosed.factors p).map (RingHom.id k)
84+
8285/--
8386If `k` is algebraically closed, then every nonconstant polynomial has a root.
8487-/
Original file line number Diff line number Diff line change @@ -59,14 +59,18 @@ To show `Polynomial.Splits p f` for an arbitrary ring homomorphism `f`,
5959see `IsSepClosed.splits_codomain` and `IsSepClosed.splits_domain`.
6060-/
6161class IsSepClosed : Prop where
62- splits_of_separable : ∀ p : k[X], p.Separable → (p.Splits <| RingHom.id k)
62+ factors_of_separable : ∀ p : k[X], p.Separable → p.Factors
6363
6464/-- An algebraically closed field is also separably closed. -/
6565instance IsSepClosed.of_isAlgClosed [IsAlgClosed k] : IsSepClosed k :=
66- ⟨fun p _ ↦ IsAlgClosed.splits p⟩
66+ ⟨fun p _ ↦ IsAlgClosed.factors p⟩
6767
6868variable {k} {K}
6969
70+ theorem IsSepClosed.splits_of_separable [IsSepClosed k] (p : k[X]) (hp : p.Separable) :
71+ p.Splits (RingHom.id k) :=
72+ (factors_of_separable p hp).map (RingHom.id k)
73+
7074/-- Every separable polynomial splits in the field extension `f : k →+* K` if `K` is
7175separably closed.
7276
@@ -173,7 +177,6 @@ theorem of_exists_root (H : ∀ p : k[X], p.Monic → Irreducible p → Separabl
173177 IsSepClosed k := by
174178 refine ⟨fun p hsep ↦ factors_iff_splits.mpr <| Or.inr ?_⟩
175179 intro q hq hdvd
176- simp only [map_id] at hdvd
177180 have hlc : IsUnit (leadingCoeff q)⁻¹ := IsUnit.inv <| Ne.isUnit <|
178181 leadingCoeff_ne_zero.2 <| Irreducible.ne_zero hq
179182 have hsep' : Separable (q * C (leadingCoeff q)⁻¹) :=
You can’t perform that action at this time.
0 commit comments