src/HOL/Series.thy
changeset 82861 3e1521dc095d
parent 82802 547335b41005
equal deleted inserted replaced
82860:0b38dccd8cf5 82861:3e1521dc095d
    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)