equal
deleted
inserted
replaced
85 |
85 |
86 lemma hypreal_sqrt_sum_squares [simp]: |
86 lemma hypreal_sqrt_sum_squares [simp]: |
87 "(( *f* sqrt)(x*x + y*y + z*z) @= 0) = (x*x + y*y + z*z @= 0)" |
87 "(( *f* sqrt)(x*x + y*y + z*z) @= 0) = (x*x + y*y + z*z @= 0)" |
88 apply (rule hypreal_sqrt_approx_zero2) |
88 apply (rule hypreal_sqrt_approx_zero2) |
89 apply (rule add_nonneg_nonneg)+ |
89 apply (rule add_nonneg_nonneg)+ |
90 apply (auto simp add: zero_le_square) |
90 apply (auto) |
91 done |
91 done |
92 |
92 |
93 lemma hypreal_sqrt_sum_squares2 [simp]: |
93 lemma hypreal_sqrt_sum_squares2 [simp]: |
94 "(( *f* sqrt)(x*x + y*y) @= 0) = (x*x + y*y @= 0)" |
94 "(( *f* sqrt)(x*x + y*y) @= 0) = (x*x + y*y @= 0)" |
95 apply (rule hypreal_sqrt_approx_zero2) |
95 apply (rule hypreal_sqrt_approx_zero2) |
96 apply (rule add_nonneg_nonneg) |
96 apply (rule add_nonneg_nonneg) |
97 apply (auto simp add: zero_le_square) |
97 apply (auto) |
98 done |
98 done |
99 |
99 |
100 lemma hypreal_sqrt_gt_zero: "!!x. 0 < x ==> 0 < ( *f* sqrt)(x)" |
100 lemma hypreal_sqrt_gt_zero: "!!x. 0 < x ==> 0 < ( *f* sqrt)(x)" |
101 apply transfer |
101 apply transfer |
102 apply (auto intro: real_sqrt_gt_zero) |
102 apply (auto intro: real_sqrt_gt_zero) |
155 |
155 |
156 lemma HFinite_sqrt_sum_squares [simp]: |
156 lemma HFinite_sqrt_sum_squares [simp]: |
157 "(( *f* sqrt)(x*x + y*y) \<in> HFinite) = (x*x + y*y \<in> HFinite)" |
157 "(( *f* sqrt)(x*x + y*y) \<in> HFinite) = (x*x + y*y \<in> HFinite)" |
158 apply (rule HFinite_hypreal_sqrt_iff) |
158 apply (rule HFinite_hypreal_sqrt_iff) |
159 apply (rule add_nonneg_nonneg) |
159 apply (rule add_nonneg_nonneg) |
160 apply (auto simp add: zero_le_square) |
160 apply (auto) |
161 done |
161 done |
162 |
162 |
163 lemma Infinitesimal_hypreal_sqrt: |
163 lemma Infinitesimal_hypreal_sqrt: |
164 "[| 0 \<le> x; x \<in> Infinitesimal |] ==> ( *f* sqrt) x \<in> Infinitesimal" |
164 "[| 0 \<le> x; x \<in> Infinitesimal |] ==> ( *f* sqrt) x \<in> Infinitesimal" |
165 apply (auto simp add: order_le_less) |
165 apply (auto simp add: order_le_less) |
182 |
182 |
183 lemma Infinitesimal_sqrt_sum_squares [simp]: |
183 lemma Infinitesimal_sqrt_sum_squares [simp]: |
184 "(( *f* sqrt)(x*x + y*y) \<in> Infinitesimal) = (x*x + y*y \<in> Infinitesimal)" |
184 "(( *f* sqrt)(x*x + y*y) \<in> Infinitesimal) = (x*x + y*y \<in> Infinitesimal)" |
185 apply (rule Infinitesimal_hypreal_sqrt_iff) |
185 apply (rule Infinitesimal_hypreal_sqrt_iff) |
186 apply (rule add_nonneg_nonneg) |
186 apply (rule add_nonneg_nonneg) |
187 apply (auto simp add: zero_le_square) |
187 apply (auto) |
188 done |
188 done |
189 |
189 |
190 lemma HInfinite_hypreal_sqrt: |
190 lemma HInfinite_hypreal_sqrt: |
191 "[| 0 \<le> x; x \<in> HInfinite |] ==> ( *f* sqrt) x \<in> HInfinite" |
191 "[| 0 \<le> x; x \<in> HInfinite |] ==> ( *f* sqrt) x \<in> HInfinite" |
192 apply (auto simp add: order_le_less) |
192 apply (auto simp add: order_le_less) |
209 |
209 |
210 lemma HInfinite_sqrt_sum_squares [simp]: |
210 lemma HInfinite_sqrt_sum_squares [simp]: |
211 "(( *f* sqrt)(x*x + y*y) \<in> HInfinite) = (x*x + y*y \<in> HInfinite)" |
211 "(( *f* sqrt)(x*x + y*y) \<in> HInfinite) = (x*x + y*y \<in> HInfinite)" |
212 apply (rule HInfinite_hypreal_sqrt_iff) |
212 apply (rule HInfinite_hypreal_sqrt_iff) |
213 apply (rule add_nonneg_nonneg) |
213 apply (rule add_nonneg_nonneg) |
214 apply (auto simp add: zero_le_square) |
214 apply (auto) |
215 done |
215 done |
216 |
216 |
217 lemma HFinite_exp [simp]: |
217 lemma HFinite_exp [simp]: |
218 "sumhr (0, whn, %n. inverse (real (fact n)) * x ^ n) \<in> HFinite" |
218 "sumhr (0, whn, %n. inverse (real (fact n)) * x ^ n) \<in> HFinite" |
219 unfolding sumhr_app |
219 unfolding sumhr_app |