# HG changeset patch # User paulson # Date 1537795997 -3600 # Node ID 697789794af15e1ecafa77e214b996e0a5455ea4 # Parent 8c240fdeffcb4b8d1364a0d1c2ada8e4d03379f2# Parent c9ea9290880f2bbf92e873bb874ffa9ae7e5826a merged diff -r 8c240fdeffcb -r 697789794af1 src/HOL/Deriv.thy --- a/src/HOL/Deriv.thy Sun Sep 23 21:49:31 2018 +0200 +++ b/src/HOL/Deriv.thy Mon Sep 24 14:33:17 2018 +0100 @@ -1384,19 +1384,19 @@ assumes "a < b" and contf: "continuous_on {a..b} f" and derf: "\x. \a < x; x < b\ \ (f has_derivative f' x) (at x)" - obtains z where "a < z" "z < b" "f b - f a = (f' z) (b - a)" + obtains \ where "a < \" "\ < b" "f b - f a = (f' \) (b - a)" proof - have "\x. a < x \ x < b \ (\y. f' x y - (f b - f a) / (b - a) * y) = (\v. 0)" proof (intro Rolle_deriv[OF \a < b\]) fix x assume x: "a < x" "x < b" - show "((\x. f x - (f b - f a) / (b - a) * x) has_derivative - (\xa. f' x xa - (f b - f a) / (b - a) * xa)) (at x)" + show "((\x. f x - (f b - f a) / (b - a) * x) + has_derivative (\y. f' x y - (f b - f a) / (b - a) * y)) (at x)" by (intro derivative_intros derf[OF x]) qed (use assms in \auto intro!: continuous_intros simp: field_simps\) - then obtain x where - "a < x" "x < b" - "(\y. f' x y - (f b - f a) / (b - a) * y) = (\v. 0)" by metis + then obtain \ where + "a < \" "\ < b" "(\y. f' \ y - (f b - f a) / (b - a) * y) = (\v. 0)" + by metis then show ?thesis by (metis (no_types, hide_lams) that add.right_neutral add_diff_cancel_left' add_diff_eq \a < b\ less_irrefl nonzero_eq_divide_eq)