src/HOL/Power.thy
changeset 51263 31e786e0e6a7
parent 49824 c26665a197dc
child 52435 6646bb548c6b
equal deleted inserted replaced
51262:e2bdfb2de028 51263:31e786e0e6a7
   719   "i ^ m dvd i ^ n \<Longrightarrow> (1::nat) < i \<Longrightarrow> m \<le> n"
   719   "i ^ m dvd i ^ n \<Longrightarrow> (1::nat) < i \<Longrightarrow> m \<le> n"
   720   apply (rule power_le_imp_le_exp, assumption)
   720   apply (rule power_le_imp_le_exp, assumption)
   721   apply (erule dvd_imp_le, simp)
   721   apply (erule dvd_imp_le, simp)
   722   done
   722   done
   723 
   723 
       
   724 lemma power2_nat_le_eq_le:
       
   725   fixes m n :: nat
       
   726   shows "m\<twosuperior> \<le> n\<twosuperior> \<longleftrightarrow> m \<le> n"
       
   727   by (auto intro: power2_le_imp_le power_mono)
       
   728 
       
   729 lemma power2_nat_le_imp_le:
       
   730   fixes m n :: nat
       
   731   assumes "m\<twosuperior> \<le> n"
       
   732   shows "m \<le> n"
       
   733   using assms by (cases m) (simp_all add: power2_eq_square)
       
   734 
       
   735 
   724 
   736 
   725 subsection {* Code generator tweak *}
   737 subsection {* Code generator tweak *}
   726 
   738 
   727 lemma power_power_power [code]:
   739 lemma power_power_power [code]:
   728   "power = power.power (1::'a::{power}) (op *)"
   740   "power = power.power (1::'a::{power}) (op *)"