diff -r 3610e0a7693c -r 36489d77c484 src/HOL/Deriv.thy --- a/src/HOL/Deriv.thy Fri Apr 04 16:43:47 2014 +0200 +++ b/src/HOL/Deriv.thy Thu Apr 03 23:51:52 2014 +0100 @@ -825,7 +825,7 @@ lemma DERIV_mirror: "(DERIV f (- x) :> y) \ (DERIV (\x. f (- x::real) :: real) x :> - y)" - by (simp add: DERIV_def filterlim_at_split filterlim_at_left_to_right + by (simp add: DERIV_def filterlim_at_split filterlim_at_left_to_right divide_minus_right tendsto_minus_cancel_left field_simps conj_commute) text {* Caratheodory formulation of derivative at a point *} @@ -908,8 +908,8 @@ fix h::real assume "0 < h" "h < s" with all [of "-h"] show "f x < f (x-h)" - proof (simp add: abs_if pos_less_divide_eq split add: split_if_asm) - assume " - ((f (x-h) - f x) / h) < l" and h: "0 < h" + proof (simp add: abs_if pos_less_divide_eq divide_minus_right split add: split_if_asm) + assume "- ((f (x-h) - f x) / h) < l" and h: "0 < h" with l have "0 < (f (x-h) - f x) / h" by arith thus "f x < f (x-h)" @@ -1628,7 +1628,8 @@ ((\ x. (f' x / g' x)) ---> y) (at_left x) \ ((\ x. f x / g x) ---> y) (at_left x)" unfolding eventually_at_left_to_right filterlim_at_left_to_right DERIV_mirror - by (rule lhopital_right[where f'="\x. - f' (- x)"]) (auto simp: DERIV_mirror) + by (rule lhopital_right[where f'="\x. - f' (- x)"]) + (auto simp: DERIV_mirror divide_minus_left divide_minus_right) lemma lhopital: "((f::real \ real) ---> 0) (at x) \ (g ---> 0) (at x) \ @@ -1739,7 +1740,8 @@ ((\ x. (f' x / g' x)) ---> y) (at_left x) \ ((\ x. f x / g x) ---> y) (at_left x)" unfolding eventually_at_left_to_right filterlim_at_left_to_right DERIV_mirror - by (rule lhopital_right_at_top[where f'="\x. - f' (- x)"]) (auto simp: DERIV_mirror) + by (rule lhopital_right_at_top[where f'="\x. - f' (- x)"]) + (auto simp: divide_minus_left divide_minus_right DERIV_mirror) lemma lhopital_at_top: "LIM x at x. (g::real \ real) x :> at_top \ @@ -1796,7 +1798,7 @@ unfolding filterlim_at_right_to_top apply (intro filterlim_cong[THEN iffD2, OF refl refl _ lim]) using eventually_ge_at_top[where c="1::real"] - by eventually_elim simp + by eventually_elim (simp add: divide_minus_left divide_minus_right) qed end