tuned proofs
authorhaftmann
Fri, 14 Jun 2019 08:34:28 +0000
changeset 70346 408e15cbd2a6
parent 70345 80a1aa30e24d
child 70347 e5cd5471c18a
tuned proofs
src/HOL/Analysis/Conformal_Mappings.thy
src/HOL/Analysis/Derivative.thy
src/HOL/Analysis/Elementary_Normed_Spaces.thy
src/HOL/Deriv.thy
src/HOL/Library/Extended_Nonnegative_Real.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)) \<le> 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) \<le> 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"
--- 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) \<in> S"
-      using that \<open>convex S\<close> unfolding convex_alt by (metis (no_types) atLeastAtMost_iff linordered_field_class.sign_simps(2) pth_c(3) scaleR_collapse x y)
+      using that \<open>convex S\<close> x y by (simp add: convex_alt)
+        (metis pth_b(2) pth_c(1) scaleR_collapse)
   qed
   have "\<And>z. z \<in> (\<lambda>u. x + u *\<^sub>R (y - x)) ` {0..1} \<Longrightarrow>
           (f has_derivative f' z) (at z within (\<lambda>u. x + u *\<^sub>R (y - x)) ` {0..1})"
--- 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 "\<lbrakk>\<not> 0 \<le> m; a \<le> b;  x \<in> {m *\<^sub>R b + c..m *\<^sub>R a + c}\<rbrakk>
             \<Longrightarrow> x \<in> (\<lambda>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
--- 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: "\<And>x. \<lbrakk>a < x; x < b\<rbrakk> \<Longrightarrow> f differentiable (at x)"
   shows "\<exists>l z. a < z \<and> z < b \<and> DERIV f z :> l \<and> f b - f a = (b - a) * l"
 proof -
-  obtain f' where derf: "\<And>x. \<lbrakk>a < x; x < b\<rbrakk> \<Longrightarrow> (f has_derivative f' x) (at x)"
+  obtain f' :: "real \<Rightarrow> real \<Rightarrow> real"
+    where derf: "\<And>x. a < x \<Longrightarrow> x < b \<Longrightarrow> (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:
--- 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 \<open>The next lemma is wrong for $a = top$, for $b = c = 1$ for instance.\<close>
 
 lemma ennreal_right_diff_distrib:
-  fixes a b c::ennreal
+  fixes a b c :: ennreal
   assumes "a \<noteq> 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 \<open>auto simp add: ennreal_mult_top ennreal_minus ennreal_mult' [symmetric]\<close>)
+  apply (simp add: algebra_simps)
   done
 
 lemma SUP_diff_ennreal: