equal
deleted
inserted
replaced
48 done |
48 done |
49 |
49 |
50 lemma zero_less_power: |
50 lemma zero_less_power: |
51 "0 < (a::'a::{ordered_semidom,recpower}) ==> 0 < a^n" |
51 "0 < (a::'a::{ordered_semidom,recpower}) ==> 0 < a^n" |
52 apply (induct "n") |
52 apply (induct "n") |
53 apply (simp_all add: power_Suc zero_less_one mult_pos) |
53 apply (simp_all add: power_Suc zero_less_one mult_pos_pos) |
54 done |
54 done |
55 |
55 |
56 lemma zero_le_power: |
56 lemma zero_le_power: |
57 "0 \<le> (a::'a::{ordered_semidom,recpower}) ==> 0 \<le> a^n" |
57 "0 \<le> (a::'a::{ordered_semidom,recpower}) ==> 0 \<le> a^n" |
58 apply (simp add: order_le_less) |
58 apply (simp add: order_le_less) |
161 text{*Perhaps these should be simprules.*} |
161 text{*Perhaps these should be simprules.*} |
162 lemma power_inverse: |
162 lemma power_inverse: |
163 "inverse ((a::'a::{field,division_by_zero,recpower}) ^ n) = (inverse a) ^ n" |
163 "inverse ((a::'a::{field,division_by_zero,recpower}) ^ n) = (inverse a) ^ n" |
164 apply (induct "n") |
164 apply (induct "n") |
165 apply (auto simp add: power_Suc inverse_mult_distrib) |
165 apply (auto simp add: power_Suc inverse_mult_distrib) |
|
166 done |
|
167 |
|
168 lemma power_one_over: "1 / (a::'a::{field,division_by_zero,recpower})^n = |
|
169 (1 / a)^n" |
|
170 apply (simp add: divide_inverse) |
|
171 apply (rule power_inverse) |
166 done |
172 done |
167 |
173 |
168 lemma nonzero_power_divide: |
174 lemma nonzero_power_divide: |
169 "b \<noteq> 0 ==> (a/b) ^ n = ((a::'a::{field,recpower}) ^ n) / (b ^ n)" |
175 "b \<noteq> 0 ==> (a/b) ^ n = ((a::'a::{field,recpower}) ^ n) / (b ^ n)" |
170 by (simp add: divide_inverse power_mult_distrib nonzero_power_inverse) |
176 by (simp add: divide_inverse power_mult_distrib nonzero_power_inverse) |