equal
deleted
inserted
replaced
27 where "suminf f = (THE s. f sums s)" |
27 where "suminf f = (THE s. f sums s)" |
28 |
28 |
29 text\<open>Variants of the definition\<close> |
29 text\<open>Variants of the definition\<close> |
30 lemma sums_def': "f sums s \<longleftrightarrow> (\<lambda>n. \<Sum>i = 0..n. f i) \<longlonglongrightarrow> s" |
30 lemma sums_def': "f sums s \<longleftrightarrow> (\<lambda>n. \<Sum>i = 0..n. f i) \<longlonglongrightarrow> s" |
31 unfolding sums_def |
31 unfolding sums_def |
32 apply (subst filterlim_sequentially_Suc [symmetric]) |
32 using LIMSEQ_lessThan_iff_atMost atMost_atLeast0 by auto |
33 apply (simp only: lessThan_Suc_atMost atLeast0AtMost) |
|
34 done |
|
35 |
33 |
36 lemma sums_def_le: "f sums s \<longleftrightarrow> (\<lambda>n. \<Sum>i\<le>n. f i) \<longlonglongrightarrow> s" |
34 lemma sums_def_le: "f sums s \<longleftrightarrow> (\<lambda>n. \<Sum>i\<le>n. f i) \<longlonglongrightarrow> s" |
37 by (simp add: sums_def' atMost_atLeast0) |
35 by (simp add: sums_def' atMost_atLeast0) |
38 |
36 |
39 lemma bounded_imp_summable: |
37 lemma bounded_imp_summable: |
1032 hence "norm (suminf f) \<le> (\<Sum>n. norm (f n))" by (intro summable_norm) auto |
1030 hence "norm (suminf f) \<le> (\<Sum>n. norm (f n))" by (intro summable_norm) auto |
1033 also have "\<dots> \<le> suminf g" by (intro suminf_le * assms allI) |
1031 also have "\<dots> \<le> suminf g" by (intro suminf_le * assms allI) |
1034 finally show ?thesis . |
1032 finally show ?thesis . |
1035 qed |
1033 qed |
1036 |
1034 |
|
1035 lemma norm_sums_le: |
|
1036 assumes "f sums F" "g sums G" |
|
1037 assumes "\<And>n. norm (f n :: 'a :: banach) \<le> g n" |
|
1038 shows "norm F \<le> G" |
|
1039 using assms by (metis norm_suminf_le sums_iff) |
|
1040 |
1037 lemma summable_zero_power [simp]: "summable (\<lambda>n. 0 ^ n :: 'a::{comm_ring_1,topological_space})" |
1041 lemma summable_zero_power [simp]: "summable (\<lambda>n. 0 ^ n :: 'a::{comm_ring_1,topological_space})" |
1038 proof - |
1042 by (simp add: power_0_left) |
1039 have "(\<lambda>n. 0 ^ n :: 'a) = (\<lambda>n. if n = 0 then 0^0 else 0)" |
|
1040 by (intro ext) (simp add: zero_power) |
|
1041 moreover have "summable \<dots>" by simp |
|
1042 ultimately show ?thesis by simp |
|
1043 qed |
|
1044 |
1043 |
1045 lemma summable_zero_power' [simp]: "summable (\<lambda>n. f n * 0 ^ n :: 'a::{ring_1,topological_space})" |
1044 lemma summable_zero_power' [simp]: "summable (\<lambda>n. f n * 0 ^ n :: 'a::{ring_1,topological_space})" |
1046 proof - |
1045 proof - |
1047 have "(\<lambda>n. f n * 0 ^ n :: 'a) = (\<lambda>n. if n = 0 then f 0 * 0^0 else 0)" |
1046 have "(\<lambda>n. f n * 0 ^ n :: 'a) = (\<lambda>n. if n = 0 then f 0 * 0^0 else 0)" |
1048 by (intro ext) (simp add: zero_power) |
1047 by (intro ext) (simp add: zero_power) |