src/HOL/Power.thy
changeset 25162 ad4d5365d9d8
parent 25134 3d4953e88449
child 25231 1aa9c8f022d0
equal deleted inserted replaced
25161:aa8474398030 25162:ad4d5365d9d8
   138 apply (auto simp add: mult_strict_mono zero_le_power power_Suc
   138 apply (auto simp add: mult_strict_mono zero_le_power power_Suc
   139                       order_le_less_trans [of 0 a b])
   139                       order_le_less_trans [of 0 a b])
   140 done
   140 done
   141 
   141 
   142 lemma power_eq_0_iff [simp]:
   142 lemma power_eq_0_iff [simp]:
   143   "(a^n = 0) = (a = (0::'a::{ring_1_no_zero_divisors,recpower}) & n\<noteq>0)"
   143   "(a^n = 0) = (a = (0::'a::{ring_1_no_zero_divisors,recpower}) & n>0)"
   144 apply (induct "n")
   144 apply (induct "n")
   145 apply (auto simp add: power_Suc zero_neq_one [THEN not_sym])
   145 apply (auto simp add: power_Suc zero_neq_one [THEN not_sym])
   146 done
   146 done
   147 
   147 
   148 lemma field_power_not_zero:
   148 lemma field_power_not_zero:
   340 by (induct n, simp_all add: power_Suc of_nat_mult)
   340 by (induct n, simp_all add: power_Suc of_nat_mult)
   341 
   341 
   342 lemma nat_one_le_power [simp]: "1 \<le> i ==> Suc 0 \<le> i^n"
   342 lemma nat_one_le_power [simp]: "1 \<le> i ==> Suc 0 \<le> i^n"
   343 by (insert one_le_power [of i n], simp)
   343 by (insert one_le_power [of i n], simp)
   344 
   344 
   345 lemma nat_zero_less_power_iff [simp]: "(x^n = 0) = (x = (0::nat) & n\<noteq>0)"
   345 lemma nat_zero_less_power_iff [simp]: "(x^n > 0) = (x > (0::nat) | n=0)"
   346 by (induct "n", auto)
   346 by (induct "n", auto)
   347 
   347 
   348 text{*Valid for the naturals, but what if @{text"0<i<1"}?
   348 text{*Valid for the naturals, but what if @{text"0<i<1"}?
   349 Premises cannot be weakened: consider the case where @{term "i=0"},
   349 Premises cannot be weakened: consider the case where @{term "i=0"},
   350 @{term "m=1"} and @{term "n=0"}.*}
   350 @{term "m=1"} and @{term "n=0"}.*}