108 |
108 |
109 |
109 |
110 (* |
110 (* |
111 Prove that abs for hypreal is a nonstandard extension of abs for real w/o |
111 Prove that abs for hypreal is a nonstandard extension of abs for real w/o |
112 use of congruence property (proved after this for general |
112 use of congruence property (proved after this for general |
113 nonstandard extensions of real valued functions). |
113 nonstandard extensions of real valued functions). |
114 |
114 |
115 Proof now Uses the ultrafilter tactic! |
115 Proof now Uses the ultrafilter tactic! |
116 *) |
116 *) |
117 |
117 |
118 lemma hrabs_is_starext_rabs: "is_starext abs abs" |
118 lemma hrabs_is_starext_rabs: "is_starext abs abs" |
305 move both theorems??*} |
305 move both theorems??*} |
306 lemma Infinitesimal_FreeUltrafilterNat_iff2: |
306 lemma Infinitesimal_FreeUltrafilterNat_iff2: |
307 "(star_n X \<in> Infinitesimal) = (\<forall>m. eventually (\<lambda>n. norm(X n) < inverse(real(Suc m))) \<U>)" |
307 "(star_n X \<in> Infinitesimal) = (\<forall>m. eventually (\<lambda>n. norm(X n) < inverse(real(Suc m))) \<U>)" |
308 by (simp add: Infinitesimal_hypreal_of_nat_iff star_of_def |
308 by (simp add: Infinitesimal_hypreal_of_nat_iff star_of_def |
309 hnorm_def star_of_nat_def starfun_star_n |
309 hnorm_def star_of_nat_def starfun_star_n |
310 star_n_inverse star_n_less real_of_nat_def) |
310 star_n_inverse star_n_less) |
311 |
311 |
312 lemma HNatInfinite_inverse_Infinitesimal [simp]: |
312 lemma HNatInfinite_inverse_Infinitesimal [simp]: |
313 "n \<in> HNatInfinite ==> inverse (hypreal_of_hypnat n) \<in> Infinitesimal" |
313 "n \<in> HNatInfinite ==> inverse (hypreal_of_hypnat n) \<in> Infinitesimal" |
314 apply (cases n) |
314 apply (cases n) |
315 apply (auto simp add: of_hypnat_def starfun_star_n real_of_nat_def [symmetric] star_n_inverse real_norm_def |
315 apply (auto simp add: of_hypnat_def starfun_star_n star_n_inverse real_norm_def |
316 HNatInfinite_FreeUltrafilterNat_iff |
316 HNatInfinite_FreeUltrafilterNat_iff |
317 Infinitesimal_FreeUltrafilterNat_iff2) |
317 Infinitesimal_FreeUltrafilterNat_iff2) |
318 apply (drule_tac x="Suc m" in spec) |
318 apply (drule_tac x="Suc m" in spec) |
319 apply (auto elim!: eventually_elim1) |
319 apply (auto elim!: eventually_elim1) |
320 done |
320 done |