src/HOL/Hyperreal/HyperPow.thy
changeset 20541 f614c619b1e1
parent 19765 dfe940911617
child 20730 da903f59e9ba
equal deleted inserted replaced
20540:588ba06ba867 20541:f614c619b1e1
    84 subsection{*Literal Arithmetic Involving Powers and Type @{typ hypreal}*}
    84 subsection{*Literal Arithmetic Involving Powers and Type @{typ hypreal}*}
    85 
    85 
    86 lemma power_hypreal_of_real_number_of:
    86 lemma power_hypreal_of_real_number_of:
    87      "(number_of v :: hypreal) ^ n = hypreal_of_real ((number_of v) ^ n)"
    87      "(number_of v :: hypreal) ^ n = hypreal_of_real ((number_of v) ^ n)"
    88 by simp
    88 by simp
    89 (* why is this a simp rule? - BH *)
       
    90 declare power_hypreal_of_real_number_of [of _ "number_of w", standard, simp]
    89 declare power_hypreal_of_real_number_of [of _ "number_of w", standard, simp]
    91 
    90 
    92 lemma hrealpow_HFinite: "x \<in> HFinite ==> x ^ n \<in> HFinite"
    91 lemma hrealpow_HFinite:
       
    92   fixes x :: "'a::{real_normed_algebra,recpower} star"
       
    93   shows "x \<in> HFinite ==> x ^ n \<in> HFinite"
    93 apply (induct_tac "n")
    94 apply (induct_tac "n")
    94 apply (auto intro: HFinite_mult)
    95 apply (auto simp add: power_Suc intro: HFinite_mult)
    95 done
    96 done
    96 
    97 
    97 
    98 
    98 subsection{*Powers with Hypernatural Exponents*}
    99 subsection{*Powers with Hypernatural Exponents*}
    99 
   100 
   227 apply (cases x)
   228 apply (cases x)
   228 apply (simp add: hrealpow hyperpow hypnat_of_nat_eq)
   229 apply (simp add: hrealpow hyperpow hypnat_of_nat_eq)
   229 done
   230 done
   230 
   231 
   231 lemma Infinitesimal_hrealpow:
   232 lemma Infinitesimal_hrealpow:
   232      "[| x \<in> Infinitesimal; 0 < n |] ==> x ^ n \<in> Infinitesimal"
   233      "[| (x::hypreal) \<in> Infinitesimal; 0 < n |] ==> x ^ n \<in> Infinitesimal"
   233 by (simp add: hrealpow_hyperpow_Infinitesimal_iff Infinitesimal_hyperpow)
   234 by (simp add: hrealpow_hyperpow_Infinitesimal_iff Infinitesimal_hyperpow)
   234 
   235 
   235 end
   236 end