equal
deleted
inserted
replaced
424 done |
424 done |
425 *) |
425 *) |
426 |
426 |
427 subsection{*Powers with Hypernatural Exponents*} |
427 subsection{*Powers with Hypernatural Exponents*} |
428 |
428 |
429 definition pow :: "['a::recpower star, nat star] \<Rightarrow> 'a star" (infixr "pow" 80) where |
429 definition pow :: "['a::power star, nat star] \<Rightarrow> 'a star" (infixr "pow" 80) where |
430 hyperpow_def [transfer_unfold, code del]: "R pow N = ( *f2* op ^) R N" |
430 hyperpow_def [transfer_unfold, code del]: "R pow N = ( *f2* op ^) R N" |
431 (* hypernatural powers of hyperreals *) |
431 (* hypernatural powers of hyperreals *) |
432 |
432 |
433 lemma Standard_hyperpow [simp]: |
433 lemma Standard_hyperpow [simp]: |
434 "\<lbrakk>r \<in> Standard; n \<in> Standard\<rbrakk> \<Longrightarrow> r pow n \<in> Standard" |
434 "\<lbrakk>r \<in> Standard; n \<in> Standard\<rbrakk> \<Longrightarrow> r pow n \<in> Standard" |
457 lemma hyperpow_add: |
457 lemma hyperpow_add: |
458 "\<And>r n m. (r::'a::recpower star) pow (n + m) = (r pow n) * (r pow m)" |
458 "\<And>r n m. (r::'a::recpower star) pow (n + m) = (r pow n) * (r pow m)" |
459 by transfer (rule power_add) |
459 by transfer (rule power_add) |
460 |
460 |
461 lemma hyperpow_one [simp]: |
461 lemma hyperpow_one [simp]: |
462 "\<And>r. (r::'a::recpower star) pow (1::hypnat) = r" |
462 "\<And>r. (r::'a::monoid_mult star) pow (1::hypnat) = r" |
463 by transfer (rule power_one_right) |
463 by transfer (rule power_one_right) |
464 |
464 |
465 lemma hyperpow_two: |
465 lemma hyperpow_two: |
466 "\<And>r. (r::'a::recpower star) pow ((1::hypnat) + (1::hypnat)) = r * r" |
466 "\<And>r. (r::'a::recpower star) pow ((1::hypnat) + (1::hypnat)) = r * r" |
467 by transfer (simp add: power_Suc) |
467 by transfer (simp add: power_Suc) |