src/HOL/NSA/Star.thy
changeset 61609 77b453bd616f
parent 61070 b72a990adfe2
child 61810 3c5040d5694a
equal deleted inserted replaced
61553:933eb9e6a1cc 61609:77b453bd616f
   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