src/HOL/Computational_Algebra/Polynomial.thy
changeset 69022 e2858770997a
parent 68790 851a9d9746c6
child 69064 5840724b1d71
equal deleted inserted replaced
69021:4dee7d326703 69022:e2858770997a
  2620   by (metis less_not_sym mult_less_0_iff poly_IVT_neg poly_IVT_pos)
  2620   by (metis less_not_sym mult_less_0_iff poly_IVT_neg poly_IVT_pos)
  2621 
  2621 
  2622 lemma poly_MVT: "a < b \<Longrightarrow> \<exists>x. a < x \<and> x < b \<and> poly p b - poly p a = (b - a) * poly (pderiv p) x"
  2622 lemma poly_MVT: "a < b \<Longrightarrow> \<exists>x. a < x \<and> x < b \<and> poly p b - poly p a = (b - a) * poly (pderiv p) x"
  2623   for a b :: real
  2623   for a b :: real
  2624   using MVT [of a b "poly p"]
  2624   using MVT [of a b "poly p"]
  2625   apply auto
  2625   apply simp
  2626   apply (rule_tac x = z in exI)
  2626   by (metis (full_types) DERIV_continuous_on DERIV_unique has_field_derivative_at_within poly_DERIV)
  2627   apply (auto simp add: mult_left_cancel poly_DERIV [THEN DERIV_unique])
       
  2628   done
       
  2629 
  2627 
  2630 lemma poly_MVT':
  2628 lemma poly_MVT':
  2631   fixes a b :: real
  2629   fixes a b :: real
  2632   assumes "{min a b..max a b} \<subseteq> A"
  2630   assumes "{min a b..max a b} \<subseteq> A"
  2633   shows "\<exists>x\<in>A. poly p b - poly p a = (b - a) * poly (pderiv p) x"
  2631   shows "\<exists>x\<in>A. poly p b - poly p a = (b - a) * poly (pderiv p) x"