equal
deleted
inserted
replaced
1416 lemma exp_suminf_prodinf_real: |
1416 lemma exp_suminf_prodinf_real: |
1417 fixes f :: "nat \<Rightarrow> real" |
1417 fixes f :: "nat \<Rightarrow> real" |
1418 assumes ge0:"\<And>n. f n \<ge> 0" and ac: "abs_convergent_prod (\<lambda>n. exp (f n))" |
1418 assumes ge0:"\<And>n. f n \<ge> 0" and ac: "abs_convergent_prod (\<lambda>n. exp (f n))" |
1419 shows "prodinf (\<lambda>i. exp (f i)) = exp (suminf f)" |
1419 shows "prodinf (\<lambda>i. exp (f i)) = exp (suminf f)" |
1420 proof - |
1420 proof - |
1421 have "summable f" |
1421 have "summable f" |
1422 using ac unfolding abs_convergent_prod_conv_summable |
1422 using ac unfolding abs_convergent_prod_conv_summable |
1423 proof (elim summable_comparison_test') |
1423 proof (elim summable_comparison_test') |
1424 fix n |
1424 fix n |
1425 show "norm (f n) \<le> norm (exp (f n) - 1)" |
1425 have "\<bar>f n\<bar> = f n" |
1426 using ge0[of n] |
1426 by (simp add: ge0) |
1427 by (metis abs_of_nonneg add.commute diff_add_cancel diff_ge_0_iff_ge exp_ge_add_one_self |
1427 also have "\<dots> \<le> exp (f n) - 1" |
1428 exp_le_cancel_iff one_le_exp_iff real_norm_def) |
1428 by (metis diff_diff_add exp_ge_add_one_self ge_iff_diff_ge_0) |
|
1429 finally show "norm (f n) \<le> norm (exp (f n) - 1)" |
|
1430 by simp |
1429 qed |
1431 qed |
1430 then show ?thesis |
1432 then show ?thesis |
1431 by (simp add: prodinf_exp) |
1433 by (simp add: prodinf_exp) |
1432 qed |
1434 qed |
1433 |
1435 |