src/HOL/Library/Float.thy
changeset 30181 05629f28f0f7
parent 30122 1c912a9d8200
child 30242 aea5d7fa7ef5
     1.1 --- a/src/HOL/Library/Float.thy	Sun Mar 01 10:24:57 2009 +0100
     1.2 +++ b/src/HOL/Library/Float.thy	Sun Mar 01 12:01:57 2009 +0100
     1.3 @@ -1093,7 +1093,7 @@
     1.4    { have "2^(prec - 1) * m \<le> 2^(prec - 1) * 2^?b" using `m < 2^?b`[THEN less_imp_le] by (rule mult_left_mono, auto)
     1.5      also have "\<dots> = 2 ^ nat (int prec + bitlen m - 1)" unfolding pow_split zpower_zadd_distrib by auto
     1.6      finally have "2^(prec - 1) * m div m \<le> 2 ^ nat (int prec + bitlen m - 1) div m" using `0 < m` by (rule zdiv_mono1)
     1.7 -    hence "2^(prec - 1) \<le> 2 ^ nat (int prec + bitlen m - 1) div m" unfolding zdiv_zmult_self1[OF `m \<noteq> 0`] .
     1.8 +    hence "2^(prec - 1) \<le> 2 ^ nat (int prec + bitlen m - 1) div m" unfolding div_mult_self2_is_id[OF `m \<noteq> 0`] .
     1.9      hence "2^(prec - 1) * inverse (2 ^ nat (int prec + bitlen m - 1)) \<le> ?d"
    1.10        unfolding real_of_int_le_iff[of "2^(prec - 1)", symmetric] by auto }
    1.11    from mult_left_mono[OF this[unfolded pow_split power_add inverse_mult_distrib real_mult_assoc[symmetric] right_inverse[OF pow_not0] real_mult_1], of "2^?e"]