# HG changeset patch # User wenzelm # Date 1257874147 -3600 # Node ID a0a8a40385a2e689efa0107e9294264326b250c1 # Parent 4601372337e4cfc9afb5e73679d8923194f49deb eliminated some old uses of cumulative prems (!) in proof methods; diff -r 4601372337e4 -r a0a8a40385a2 src/HOL/Library/Float.thy --- a/src/HOL/Library/Float.thy Tue Nov 10 18:11:23 2009 +0100 +++ b/src/HOL/Library/Float.thy Tue Nov 10 18:29:07 2009 +0100 @@ -1378,8 +1378,8 @@ assumes "0 < real lb" "real lb \ y" (is "?lb \ y") "y \ real ub" (is "y \ ?ub") shows "real (lb_mod prec x ub lb) \ ?x - ?k * y" proof - - have "?lb \ ?ub" by (auto!) - have "0 \ ?lb" and "?lb \ 0" by (auto!) + have "?lb \ ?ub" using assms by auto + have "0 \ ?lb" and "?lb \ 0" using assms by auto have "?k * y \ ?x" using assms by auto also have "\ \ ?x / ?lb * ?ub" by (metis mult_left_mono[OF `?lb \ ?ub` `0 \ ?x`] divide_right_mono[OF _ `0 \ ?lb` ] times_divide_eq_left nonzero_mult_divide_cancel_right[OF `?lb \ 0`]) also have "\ \ real (ceiling_fl (float_divr prec x lb)) * ?ub" by (metis mult_right_mono order_trans `0 \ ?lb` `?lb \ ?ub` float_divr ceiling_fl) @@ -1390,8 +1390,8 @@ assumes "0 < real lb" "real lb \ y" (is "?lb \ y") "y \ real ub" (is "y \ ?ub") shows "?x - ?k * y \ real (ub_mod prec x ub lb)" proof - - have "?lb \ ?ub" by (auto!) - hence "0 \ ?lb" and "0 \ ?ub" and "?ub \ 0" by (auto!) + have "?lb \ ?ub" using assms by auto + hence "0 \ ?lb" and "0 \ ?ub" and "?ub \ 0" using assms by auto have "real (floor_fl (float_divl prec x ub)) * ?lb \ ?x / ?ub * ?lb" by (metis mult_right_mono order_trans `0 \ ?lb` `?lb \ ?ub` float_divl floor_fl) also have "\ \ ?x" by (metis mult_left_mono[OF `?lb \ ?ub` `0 \ ?x`] divide_right_mono[OF _ `0 \ ?ub` ] times_divide_eq_left nonzero_mult_divide_cancel_right[OF `?ub \ 0`]) also have "\ \ ?k * y" using assms by auto