# HG changeset patch # User haftmann # Date 1560501268 0 # Node ID 408e15cbd2a60eee68dde9ecd1d039b2c415378a # Parent 80a1aa30e24d42386f695f0812cb39abe1a0cea6 tuned proofs diff -r 80a1aa30e24d -r 408e15cbd2a6 src/HOL/Analysis/Conformal_Mappings.thy --- a/src/HOL/Analysis/Conformal_Mappings.thy Fri Jun 14 08:34:27 2019 +0000 +++ b/src/HOL/Analysis/Conformal_Mappings.thy Fri Jun 14 08:34:28 2019 +0000 @@ -1878,9 +1878,9 @@ apply (simp add: power2_eq_square divide_simps C_def norm_mult) proof - have "norm z * (norm (deriv f 0) * (r - norm z - norm z)) \ norm z * (norm (deriv f 0) * (r - norm z) - norm (deriv f 0) * norm z)" - by (simp add: linordered_field_class.sign_simps(38)) + by (simp add: sign_simps) then show "(norm z * (r - norm z) - norm z * norm z) * norm (deriv f 0) \ norm (deriv f 0) * norm z * (r - norm z) - norm z * norm z * norm (deriv f 0)" - by (simp add: linordered_field_class.sign_simps(38) mult.commute mult.left_commute) + by (simp add: sign_simps) qed qed have sq201 [simp]: "0 < (1 - sqrt 2 / 2)" "(1 - sqrt 2 / 2) < 1" diff -r 80a1aa30e24d -r 408e15cbd2a6 src/HOL/Analysis/Derivative.thy --- a/src/HOL/Analysis/Derivative.thy Fri Jun 14 08:34:27 2019 +0000 +++ b/src/HOL/Analysis/Derivative.thy Fri Jun 14 08:34:28 2019 +0000 @@ -862,7 +862,8 @@ have "u *\<^sub>R y = u *\<^sub>R (y - x) + u *\<^sub>R x" by (simp add: scale_right_diff_distrib) then show "x + u *\<^sub>R (y - x) \ S" - using that \convex S\ unfolding convex_alt by (metis (no_types) atLeastAtMost_iff linordered_field_class.sign_simps(2) pth_c(3) scaleR_collapse x y) + using that \convex S\ x y by (simp add: convex_alt) + (metis pth_b(2) pth_c(1) scaleR_collapse) qed have "\z. z \ (\u. x + u *\<^sub>R (y - x)) ` {0..1} \ (f has_derivative f' z) (at z within (\u. x + u *\<^sub>R (y - x)) ` {0..1})" diff -r 80a1aa30e24d -r 408e15cbd2a6 src/HOL/Analysis/Elementary_Normed_Spaces.thy --- a/src/HOL/Analysis/Elementary_Normed_Spaces.thy Fri Jun 14 08:34:27 2019 +0000 +++ b/src/HOL/Analysis/Elementary_Normed_Spaces.thy Fri Jun 14 08:34:28 2019 +0000 @@ -131,8 +131,10 @@ show "\\ 0 \ m; a \ b; x \ {m *\<^sub>R b + c..m *\<^sub>R a + c}\ \ x \ (\x. m *\<^sub>R x + c) ` {a..b}" for x apply (rule_tac x="inverse m *\<^sub>R (x-c)" in rev_image_eqI) - apply (auto simp: diff_le_eq neg_le_divideR_eq) - using diff_eq_diff_less_eq linordered_field_class.sign_simps(11) minus_diff_eq not_less scaleR_le_cancel_left_neg by fastforce + apply (auto simp add: neg_le_divideR_eq not_le) + apply (auto simp: field_simps) + apply (metis (no_types, lifting) add_diff_cancel_left' add_le_imp_le_right diff_add_cancel inverse_eq_divide neg_le_divideR_eq neg_le_iff_le scale_minus_right) + done qed qed qed diff -r 80a1aa30e24d -r 408e15cbd2a6 src/HOL/Deriv.thy --- a/src/HOL/Deriv.thy Fri Jun 14 08:34:27 2019 +0000 +++ b/src/HOL/Deriv.thy Fri Jun 14 08:34:28 2019 +0000 @@ -1409,12 +1409,14 @@ and dif: "\x. \a < x; x < b\ \ f differentiable (at x)" shows "\l z. a < z \ z < b \ DERIV f z :> l \ f b - f a = (b - a) * l" proof - - obtain f' where derf: "\x. \a < x; x < b\ \ (f has_derivative f' x) (at x)" + obtain f' :: "real \ real \ real" + where derf: "\x. a < x \ x < b \ (f has_derivative f' x) (at x)" using dif unfolding differentiable_def by metis then obtain z where "a < z" "z < b" "f b - f a = (f' z) (b - a)" using mvt [OF lt contf] by blast then show ?thesis - by (metis derf dif has_derivative_unique has_field_derivative_imp_has_derivative linordered_field_class.sign_simps(5) real_differentiable_def) + by (simp add: ac_simps) + (metis derf dif has_derivative_unique has_field_derivative_imp_has_derivative real_differentiable_def) qed corollary MVT2: diff -r 80a1aa30e24d -r 408e15cbd2a6 src/HOL/Library/Extended_Nonnegative_Real.thy --- a/src/HOL/Library/Extended_Nonnegative_Real.thy Fri Jun 14 08:34:27 2019 +0000 +++ b/src/HOL/Library/Extended_Nonnegative_Real.thy Fri Jun 14 08:34:28 2019 +0000 @@ -1928,13 +1928,12 @@ text \The next lemma is wrong for $a = top$, for $b = c = 1$ for instance.\ lemma ennreal_right_diff_distrib: - fixes a b c::ennreal + fixes a b c :: ennreal assumes "a \ top" shows "a * (b - c) = a * b - a * c" - apply (cases a, cases b, cases c, auto simp add: assms) - apply (metis (mono_tags, lifting) ennreal_minus ennreal_mult' linordered_field_class.sign_simps(38) split_mult_pos_le) - apply (metis ennreal_minus_zero ennreal_mult_cancel_left ennreal_top_eq_mult_iff minus_top_ennreal mult_eq_0_iff top_neq_ennreal) - apply (metis ennreal_minus_eq_top ennreal_minus_zero ennreal_mult_eq_top_iff mult_eq_0_iff) + apply (cases a; cases b; cases c) + apply (use assms in \auto simp add: ennreal_mult_top ennreal_minus ennreal_mult' [symmetric]\) + apply (simp add: algebra_simps) done lemma SUP_diff_ennreal: