src/HOL/Analysis/Derivative.thy
changeset 64969 a6953714799d
parent 64394 141e1ed8d5a0
child 66394 32084d7e6b59
equal deleted inserted replaced
64967:1ab49aa7f3c0 64969:a6953714799d
  2410 lemma DERIV_deriv_iff_real_differentiable:
  2410 lemma DERIV_deriv_iff_real_differentiable:
  2411   fixes x :: real
  2411   fixes x :: real
  2412   shows "DERIV f x :> deriv f x \<longleftrightarrow> f differentiable at x"
  2412   shows "DERIV f x :> deriv f x \<longleftrightarrow> f differentiable at x"
  2413   unfolding differentiable_def by (metis DERIV_imp_deriv has_real_derivative_iff)
  2413   unfolding differentiable_def by (metis DERIV_imp_deriv has_real_derivative_iff)
  2414 
  2414 
       
  2415 lemma deriv_cong_ev:
       
  2416   assumes "eventually (\<lambda>x. f x = g x) (nhds x)" "x = y"
       
  2417   shows   "deriv f x = deriv g y"
       
  2418 proof -
       
  2419   have "(\<lambda>D. (f has_field_derivative D) (at x)) = (\<lambda>D. (g has_field_derivative D) (at y))"
       
  2420     by (intro ext DERIV_cong_ev refl assms)
       
  2421   thus ?thesis by (simp add: deriv_def assms)
       
  2422 qed
       
  2423 
  2415 lemma real_derivative_chain:
  2424 lemma real_derivative_chain:
  2416   fixes x :: real
  2425   fixes x :: real
  2417   shows "f differentiable at x \<Longrightarrow> g differentiable at (f x)
  2426   shows "f differentiable at x \<Longrightarrow> g differentiable at (f x)
  2418     \<Longrightarrow> deriv (g o f) x = deriv g (f x) * deriv f x"
  2427     \<Longrightarrow> deriv (g o f) x = deriv g (f x) * deriv f x"
  2419   by (metis DERIV_deriv_iff_real_differentiable DERIV_chain DERIV_imp_deriv)
  2428   by (metis DERIV_deriv_iff_real_differentiable DERIV_chain DERIV_imp_deriv)