equal
deleted
inserted
replaced
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 |