equal
deleted
inserted
replaced
2245 |
2245 |
2246 lemma sum_gp0: |
2246 lemma sum_gp0: |
2247 fixes x :: "'a::{comm_ring,division_ring}" |
2247 fixes x :: "'a::{comm_ring,division_ring}" |
2248 shows "(\<Sum>i\<le>n. x^i) = (if x = 1 then of_nat(n + 1) else (1 - x^Suc n) / (1 - x))" |
2248 shows "(\<Sum>i\<le>n. x^i) = (if x = 1 then of_nat(n + 1) else (1 - x^Suc n) / (1 - x))" |
2249 using sum_gp_basic[of x n] |
2249 using sum_gp_basic[of x n] |
2250 by (simp add: mult.commute divide_simps) |
2250 by (simp add: mult.commute field_split_simps) |
2251 |
2251 |
2252 lemma sum_power_add: |
2252 lemma sum_power_add: |
2253 fixes x :: "'a::{comm_ring,monoid_mult}" |
2253 fixes x :: "'a::{comm_ring,monoid_mult}" |
2254 shows "(\<Sum>i\<in>I. x^(m+i)) = x^m * (\<Sum>i\<in>I. x^i)" |
2254 shows "(\<Sum>i\<in>I. x^(m+i)) = x^m * (\<Sum>i\<in>I. x^i)" |
2255 by (simp add: sum_distrib_left power_add) |
2255 by (simp add: sum_distrib_left power_add) |
2262 by (auto simp: power_add algebra_simps) |
2262 by (auto simp: power_add algebra_simps) |
2263 |
2263 |
2264 lemma sum_gp_strict: |
2264 lemma sum_gp_strict: |
2265 fixes x :: "'a::{comm_ring,division_ring}" |
2265 fixes x :: "'a::{comm_ring,division_ring}" |
2266 shows "(\<Sum>i<n. x^i) = (if x = 1 then of_nat n else (1 - x^n) / (1 - x))" |
2266 shows "(\<Sum>i<n. x^i) = (if x = 1 then of_nat n else (1 - x^n) / (1 - x))" |
2267 by (induct n) (auto simp: algebra_simps divide_simps) |
2267 by (induct n) (auto simp: algebra_simps field_split_simps) |
2268 |
2268 |
2269 |
2269 |
2270 subsubsection \<open>The formulae for arithmetic sums\<close> |
2270 subsubsection \<open>The formulae for arithmetic sums\<close> |
2271 |
2271 |
2272 context comm_semiring_1 |
2272 context comm_semiring_1 |