equal
deleted
inserted
replaced
679 "(f has_field_derivative D) (at x within s) ==> ((\<lambda>x. c * f x) has_field_derivative c * D) (at x within s)" |
679 "(f has_field_derivative D) (at x within s) ==> ((\<lambda>x. c * f x) has_field_derivative c * D) (at x within s)" |
680 by (drule DERIV_mult' [OF DERIV_const], simp) |
680 by (drule DERIV_mult' [OF DERIV_const], simp) |
681 |
681 |
682 lemma DERIV_cmult_right: |
682 lemma DERIV_cmult_right: |
683 "(f has_field_derivative D) (at x within s) ==> ((\<lambda>x. f x * c) has_field_derivative D * c) (at x within s)" |
683 "(f has_field_derivative D) (at x within s) ==> ((\<lambda>x. f x * c) has_field_derivative D * c) (at x within s)" |
684 using DERIV_cmult by (force simp add: mult_ac) |
684 using DERIV_cmult by (force simp add: ac_simps) |
685 |
685 |
686 lemma DERIV_cmult_Id [simp]: "(op * c has_field_derivative c) (at x within s)" |
686 lemma DERIV_cmult_Id [simp]: "(op * c has_field_derivative c) (at x within s)" |
687 by (cut_tac c = c and x = x in DERIV_ident [THEN DERIV_cmult], simp) |
687 by (cut_tac c = c and x = x in DERIV_ident [THEN DERIV_cmult], simp) |
688 |
688 |
689 lemma DERIV_cdivide: |
689 lemma DERIV_cdivide: |
715 text {* Derivative of inverse *} |
715 text {* Derivative of inverse *} |
716 |
716 |
717 lemma DERIV_inverse_fun: |
717 lemma DERIV_inverse_fun: |
718 "(f has_field_derivative d) (at x within s) \<Longrightarrow> f x \<noteq> 0 \<Longrightarrow> |
718 "(f has_field_derivative d) (at x within s) \<Longrightarrow> f x \<noteq> 0 \<Longrightarrow> |
719 ((\<lambda>x. inverse (f x)) has_field_derivative (- (d * inverse(f x ^ Suc (Suc 0))))) (at x within s)" |
719 ((\<lambda>x. inverse (f x)) has_field_derivative (- (d * inverse(f x ^ Suc (Suc 0))))) (at x within s)" |
720 by (drule (1) DERIV_inverse') (simp add: mult_ac nonzero_inverse_mult_distrib) |
720 by (drule (1) DERIV_inverse') (simp add: ac_simps nonzero_inverse_mult_distrib) |
721 |
721 |
722 text {* Derivative of quotient *} |
722 text {* Derivative of quotient *} |
723 |
723 |
724 lemma DERIV_divide[derivative_intros]: |
724 lemma DERIV_divide[derivative_intros]: |
725 "(f has_field_derivative D) (at x within s) \<Longrightarrow> |
725 "(f has_field_derivative D) (at x within s) \<Longrightarrow> |
1477 hence "?h b - ?h a = 0" by auto |
1477 hence "?h b - ?h a = 0" by auto |
1478 } |
1478 } |
1479 ultimately have "(b - a) * (g'c * (f b - f a) - f'c * (g b - g a)) = 0" by auto |
1479 ultimately have "(b - a) * (g'c * (f b - f a) - f'c * (g b - g a)) = 0" by auto |
1480 with alb have "g'c * (f b - f a) - f'c * (g b - g a) = 0" by simp |
1480 with alb have "g'c * (f b - f a) - f'c * (g b - g a) = 0" by simp |
1481 hence "g'c * (f b - f a) = f'c * (g b - g a)" by simp |
1481 hence "g'c * (f b - f a) = f'c * (g b - g a)" by simp |
1482 hence "(f b - f a) * g'c = (g b - g a) * f'c" by (simp add: mult_ac) |
1482 hence "(f b - f a) * g'c = (g b - g a) * f'c" by (simp add: ac_simps) |
1483 |
1483 |
1484 with g'cdef f'cdef cint show ?thesis by auto |
1484 with g'cdef f'cdef cint show ?thesis by auto |
1485 qed |
1485 qed |
1486 |
1486 |
1487 lemma GMVT': |
1487 lemma GMVT': |