@@ -285,48 +285,25 @@ alias eval_derivative_of_splits := Splits.eval_derivative
285285@ [deprecated (since := "2025-12-08" )]
286286alias aeval_root_derivative_of_splits := Splits.eval_root_derivative
287287
288- theorem eval_derivative_eq_eval_mul_sum_of_splits {p : K[X]} {x : K}
289- (h : p.Splits) (hx : p.eval x ≠ 0 ) :
290- p.derivative.eval x = p.eval x * (p.roots.map fun z ↦ 1 / (x - z)).sum := by
291- classical
292- suffices p.roots.map (fun z ↦ p.leadingCoeff * ((p.roots.erase z).map (fun w ↦ x - w) ).prod) =
293- p.roots.map fun i ↦ p.leadingCoeff * ((x - i)⁻¹ * (p.roots.map (fun z ↦ x - z)).prod) by
294- nth_rw 2 [Splits.eq_prod_roots h]
295- simp [h.eval_derivative, ← Multiset.sum_map_mul_left, this, eval_multiset_prod,
296- mul_comm, mul_left_comm]
297- refine Multiset.map_congr rfl fun z hz ↦ ?_
298- rw [← Multiset.prod_map_erase hz, inv_mul_cancel_left₀]
299- aesop (add simp sub_eq_zero)
300-
301- theorem eval_derivative_div_eval_of_ne_zero_of_splits {p : K[X]} {x : K}
302- (h : p.Splits) (hx : p.eval x ≠ 0 ) :
303- p.derivative.eval x / p.eval x = (p.roots.map fun z ↦ 1 / (x - z)).sum := by
304- rw [eval_derivative_eq_eval_mul_sum_of_splits h hx]
305- exact mul_div_cancel_left₀ _ hx
306-
307- theorem coeff_zero_eq_leadingCoeff_mul_prod_roots_of_splits {P : K[X]}
308- (hP : P.Splits) :
309- P.coeff 0 = (-1 ) ^ P.natDegree * P.leadingCoeff * P.roots.prod := by
310- nth_rw 1 [hP.eq_prod_roots]
311- simp only [coeff_zero_eq_eval_zero, eval_mul, eval_C, eval_multiset_prod, Function.comp_apply,
312- Multiset.map_map, eval_sub, eval_X, zero_sub, Multiset.prod_map_neg]
313- grind [splits_iff_card_roots]
314-
315- /-- If `P` is a monic polynomial that splits, then `coeff P 0` equals the product of the roots. -/
316- theorem coeff_zero_eq_prod_roots_of_monic_of_splits {P : K[X]} (hmo : P.Monic)
317- (hP : P.Splits) : coeff P 0 = (-1 ) ^ P.natDegree * P.roots.prod := by
318- simp [hmo, coeff_zero_eq_leadingCoeff_mul_prod_roots_of_splits hP]
319-
320- theorem nextCoeff_eq_neg_sum_roots_mul_leadingCoeff_of_splits {P : K[X]}
321- (hP : P.Splits) : P.nextCoeff = -P.leadingCoeff * P.roots.sum := by
322- nth_rw 1 [Splits.eq_prod_roots hP]
323- simp [Multiset.sum_map_neg', monic_X_sub_C, Monic.nextCoeff_multiset_prod]
324-
325- /-- If `P` is a monic polynomial that splits, then `P.nextCoeff` equals the negative of the sum
326- of the roots. -/
327- theorem nextCoeff_eq_neg_sum_roots_of_monic_of_splits {P : K[X]} (hmo : P.Monic)
328- (hP : P.Splits) : P.nextCoeff = -P.roots.sum := by
329- simp [hmo, nextCoeff_eq_neg_sum_roots_mul_leadingCoeff_of_splits hP]
288+ @ [deprecated (since := "2025-12-12" )]
289+ alias eval_derivative_eq_eval_mul_sum_of_splits := Splits.eval_derivative_eq_eval_mul_sum
290+
291+ @ [deprecated (since := "2025-12-12" )]
292+ alias eval_derivative_div_eval_of_ne_zero_of_splits := Splits.eval_derivative_div_eval_of_ne_zero
293+
294+ @ [deprecated (since := "2025-12-12" )]
295+ alias coeff_zero_eq_leadingCoeff_mul_prod_roots_of_splits :=
296+ Splits.coeff_zero_eq_leadingCoeff_mul_prod_roots
297+
298+ @ [deprecated (since := "2025-12-12" )]
299+ alias coeff_zero_eq_prod_roots_of_monic_of_splits := Splits.coeff_zero_eq_prod_roots_of_monic
300+
301+ @ [deprecated (since := "2025-12-12" )]
302+ alias nextCoeff_eq_neg_sum_roots_mul_leadingCoeff_of_splits :=
303+ Splits.nextCoeff_eq_neg_sum_roots_mul_leadingCoeff
304+
305+ @ [deprecated (since := "2025-12-12" )]
306+ alias nextCoeff_eq_neg_sum_roots_of_monic_of_splits := Splits.nextCoeff_eq_neg_sum_roots_of_monic
330307
331308@ [deprecated (since := "2025-10-08" )]
332309alias prod_roots_eq_coeff_zero_of_monic_of_splits := coeff_zero_eq_prod_roots_of_monic_of_splits
0 commit comments