src/HOL/Series.thy
changeset 68499 d4312962161a
parent 68127 137d5d0112bb
child 68527 2f4e2aab190a
equal deleted inserted replaced
68494:ebdd5508f386 68499:d4312962161a
    33   apply (simp only: lessThan_Suc_atMost atLeast0AtMost)
    33   apply (simp only: lessThan_Suc_atMost atLeast0AtMost)
    34   done
    34   done
    35 
    35 
    36 lemma sums_def_le: "f sums s \<longleftrightarrow> (\<lambda>n. \<Sum>i\<le>n. f i) \<longlonglongrightarrow> s"
    36 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)
    37   by (simp add: sums_def' atMost_atLeast0)
       
    38 
       
    39 lemma bounded_imp_summable:
       
    40   fixes a :: "nat \<Rightarrow> 'a::{conditionally_complete_linorder,linorder_topology,linordered_comm_semiring_strict}"
       
    41   assumes 0: "\<And>n. a n \<ge> 0" and bounded: "\<And>n. (\<Sum>k\<le>n. a k) \<le> B"
       
    42   shows "summable a" 
       
    43 proof -
       
    44   have "bdd_above (range(\<lambda>n. \<Sum>k\<le>n. a k))"
       
    45     by (meson bdd_aboveI2 bounded)
       
    46   moreover have "incseq (\<lambda>n. \<Sum>k\<le>n. a k)"
       
    47     by (simp add: mono_def "0" sum_mono2)
       
    48   ultimately obtain s where "(\<lambda>n. \<Sum>k\<le>n. a k) \<longlonglongrightarrow> s"
       
    49     using LIMSEQ_incseq_SUP by blast
       
    50   then show ?thesis
       
    51     by (auto simp: sums_def_le summable_def)
       
    52 qed
    38 
    53 
    39 
    54 
    40 subsection \<open>Infinite summability on topological monoids\<close>
    55 subsection \<open>Infinite summability on topological monoids\<close>
    41 
    56 
    42 lemma sums_subst[trans]: "f = g \<Longrightarrow> g sums z \<Longrightarrow> f sums z"
    57 lemma sums_subst[trans]: "f = g \<Longrightarrow> g sums z \<Longrightarrow> f sums z"