src/HOL/Power.thy
changeset 70365 4df0628e8545
parent 70331 caa2bbf8475d
child 70688 3d894e1cfc75
equal deleted inserted replaced
70363:6d96ee03b62e 70365:4df0628e8545
   473 lemma power_less_imp_less_exp: "1 < a \<Longrightarrow> a ^ m < a ^ n \<Longrightarrow> m < n"
   473 lemma power_less_imp_less_exp: "1 < a \<Longrightarrow> a ^ m < a ^ n \<Longrightarrow> m < n"
   474   by (simp add: order_less_le [of m n] less_le [of "a^m" "a^n"] power_le_imp_le_exp)
   474   by (simp add: order_less_le [of m n] less_le [of "a^m" "a^n"] power_le_imp_le_exp)
   475 
   475 
   476 lemma power_strict_mono [rule_format]: "a < b \<Longrightarrow> 0 \<le> a \<Longrightarrow> 0 < n \<longrightarrow> a ^ n < b ^ n"
   476 lemma power_strict_mono [rule_format]: "a < b \<Longrightarrow> 0 \<le> a \<Longrightarrow> 0 < n \<longrightarrow> a ^ n < b ^ n"
   477   by (induct n) (auto simp: mult_strict_mono le_less_trans [of 0 a b])
   477   by (induct n) (auto simp: mult_strict_mono le_less_trans [of 0 a b])
       
   478 
       
   479 lemma power_mono_iff [simp]:
       
   480   shows "\<lbrakk>a \<ge> 0; b \<ge> 0; n>0\<rbrakk> \<Longrightarrow> a ^ n \<le> b ^ n \<longleftrightarrow> a \<le> b"
       
   481   using power_mono [of a b] power_strict_mono [of b a] not_le by auto
   478 
   482 
   479 text\<open>Lemma for \<open>power_strict_decreasing\<close>\<close>
   483 text\<open>Lemma for \<open>power_strict_decreasing\<close>\<close>
   480 lemma power_Suc_less: "0 < a \<Longrightarrow> a < 1 \<Longrightarrow> a * a ^ n < a ^ n"
   484 lemma power_Suc_less: "0 < a \<Longrightarrow> a < 1 \<Longrightarrow> a * a ^ n < a ^ n"
   481   by (induct n) (auto simp: mult_strict_left_mono)
   485   by (induct n) (auto simp: mult_strict_left_mono)
   482 
   486