src/HOL/Hyperreal/HTranscendental.thy
changeset 21840 e3a7205fcb01
parent 21810 b2d23672b003
child 21841 1701f05aa1b0
equal deleted inserted replaced
21839:54018ed3b99d 21840:e3a7205fcb01
   359 done
   359 done
   360 
   360 
   361 lemma starfun_ln_inverse: "!!x. 0 < x ==> ( *f* ln) (inverse x) = -( *f* ln) x"
   361 lemma starfun_ln_inverse: "!!x. 0 < x ==> ( *f* ln) (inverse x) = -( *f* ln) x"
   362 by (transfer, rule ln_inverse)
   362 by (transfer, rule ln_inverse)
   363 
   363 
       
   364 lemma starfun_abs_exp_cancel: "\<And>x. \<bar>( *f* exp) x\<bar> = ( *f* exp) x"
       
   365 by transfer (rule abs_exp_cancel)
       
   366 
       
   367 lemma starfun_exp_less_mono: "\<And>x y. x < y \<Longrightarrow> ( *f* exp) x < ( *f* exp) y"
       
   368 by transfer (rule exp_less_mono)
       
   369 
   364 lemma starfun_exp_HFinite: "x \<in> HFinite ==> ( *f* exp) x \<in> HFinite"
   370 lemma starfun_exp_HFinite: "x \<in> HFinite ==> ( *f* exp) x \<in> HFinite"
   365 apply (cases x)
   371 apply (auto simp add: HFinite_def, rename_tac u)
   366 apply (auto simp add: starfun HFinite_FreeUltrafilterNat_iff)
   372 apply (rule_tac x="( *f* exp) u" in rev_bexI)
   367 apply (rule_tac x = "exp u" in exI)
   373 apply (simp add: Reals_eq_Standard)
   368 apply ultra
   374 apply (simp add: starfun_abs_exp_cancel)
       
   375 apply (simp add: starfun_exp_less_mono)
   369 done
   376 done
   370 
   377 
   371 lemma starfun_exp_add_HFinite_Infinitesimal_approx:
   378 lemma starfun_exp_add_HFinite_Infinitesimal_approx:
   372      "[|x \<in> Infinitesimal; z \<in> HFinite |] ==> ( *f* exp) (z + x) @= ( *f* exp) z"
   379      "[|x \<in> Infinitesimal; z \<in> HFinite |] ==> ( *f* exp) (z + x) @= ( *f* exp) z"
   373 apply (simp add: STAR_exp_add)
   380 apply (simp add: STAR_exp_add)