File tree Expand file tree Collapse file tree 1 file changed +12
-0
lines changed
Mathlib/Algebra/Polynomial Expand file tree Collapse file tree 1 file changed +12
-0
lines changed Original file line number Diff line number Diff line change @@ -322,6 +322,18 @@ theorem eq_prod_roots_of_splits_id {p : K[X]} (hsplit : Splits (RingHom.id K) p)
322322 p = C p.leadingCoeff * (p.roots.map fun a => X - C a).prod := by
323323 simpa using eq_prod_roots_of_splits hsplit
324324
325+ theorem Splits.dvd_of_roots_le_roots {p q : K[X]} (hp : p.Splits (RingHom.id _)) (hp0 : p ≠ 0 )
326+ (hq : p.roots ≤ q.roots) : p ∣ q := by
327+ rw [eq_prod_roots_of_splits_id hp, C_mul_dvd (leadingCoeff_ne_zero.2 hp0)]
328+ exact dvd_trans
329+ (Multiset.prod_dvd_prod_of_le (Multiset.map_le_map hq))
330+ (prod_multiset_X_sub_C_dvd _)
331+
332+ theorem Splits.dvd_iff_roots_le_roots {p q : K[X]}
333+ (hp : p.Splits (RingHom.id _)) (hp0 : p ≠ 0 ) (hq0 : q ≠ 0 ) :
334+ p ∣ q ↔ p.roots ≤ q.roots :=
335+ ⟨Polynomial.roots.le_of_dvd hq0, hp.dvd_of_roots_le_roots hp0⟩
336+
325337theorem aeval_eq_prod_aroots_sub_of_splits [Algebra K L] {p : K[X]}
326338 (hsplit : Splits (algebraMap K L) p) (v : L) :
327339 aeval v p = algebraMap K L p.leadingCoeff * ((p.aroots L).map fun a ↦ v - a).prod := by
You can’t perform that action at this time.
0 commit comments