equal
deleted
inserted
replaced
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"}.*} |