src/HOL/Library/Float.thy
changeset 31467 f7d2aa438bee
parent 31098 73dd67adf90a
child 31862 e391eee8bf14
     1.1 --- a/src/HOL/Library/Float.thy	Fri Jun 05 14:07:54 2009 +0200
     1.2 +++ b/src/HOL/Library/Float.thy	Thu Jun 04 17:55:47 2009 +0200
     1.3 @@ -28,7 +28,7 @@
     1.4    "scale (Float a b) = b"
     1.5  
     1.6  instantiation float :: zero begin
     1.7 -definition zero_float where "0 = Float 0 0" 
     1.8 +definition zero_float where "0 = Float 0 0"
     1.9  instance ..
    1.10  end
    1.11  
    1.12 @@ -42,6 +42,10 @@
    1.13  instance ..
    1.14  end
    1.15  
    1.16 +lemma number_of_float_Float [code inline, symmetric, code post]:
    1.17 +  "number_of k = Float (number_of k) 0"
    1.18 +  by (simp add: number_of_float_def number_of_is_id)
    1.19 +
    1.20  lemma real_of_float_simp[simp]: "real (Float a b) = real a * pow2 b"
    1.21    unfolding real_of_float_def using of_float.simps .
    1.22  
    1.23 @@ -50,7 +54,7 @@
    1.24  lemma real_of_float_ge0_exp: "0 \<le> e \<Longrightarrow> real (Float m e) = real m * (2^nat e)" by auto
    1.25  
    1.26  lemma Float_num[simp]: shows
    1.27 -   "real (Float 1 0) = 1" and "real (Float 1 1) = 2" and "real (Float 1 2) = 4" and 
    1.28 +   "real (Float 1 0) = 1" and "real (Float 1 1) = 2" and "real (Float 1 2) = 4" and
    1.29     "real (Float 1 -1) = 1/2" and "real (Float 1 -2) = 1/4" and "real (Float 1 -3) = 1/8" and
    1.30     "real (Float -1 0) = -1" and "real (Float (number_of n) 0) = number_of n"
    1.31    by auto