src/HOL/Multivariate_Analysis/Extended_Real_Limits.thy
changeset 57025 e7fd64f82876
parent 56218 1c3f1f2431f9
child 57418 6ab1c7cb0b8d
equal deleted inserted replaced
57024:c9e98c2498fd 57025:e7fd64f82876
  1218   apply (drule sym)
  1218   apply (drule sym)
  1219   apply auto
  1219   apply auto
  1220   by (metis INF_absorb centre_in_ball)
  1220   by (metis INF_absorb centre_in_ball)
  1221 
  1221 
  1222 
  1222 
       
  1223 lemma suminf_ereal_offset_le:
       
  1224   fixes f :: "nat \<Rightarrow> ereal"
       
  1225   assumes f: "\<And>i. 0 \<le> f i"
       
  1226   shows "(\<Sum>i. f (i + k)) \<le> suminf f"
       
  1227 proof -
       
  1228   have "(\<lambda>n. \<Sum>i<n. f (i + k)) ----> (\<Sum>i. f (i + k))"
       
  1229     using summable_sums[OF summable_ereal_pos] by (simp add: sums_def atLeast0LessThan f)
       
  1230   moreover have "(\<lambda>n. \<Sum>i<n. f i) ----> (\<Sum>i. f i)"
       
  1231     using summable_sums[OF summable_ereal_pos] by (simp add: sums_def atLeast0LessThan f)
       
  1232   then have "(\<lambda>n. \<Sum>i<n + k. f i) ----> (\<Sum>i. f i)"
       
  1233     by (rule LIMSEQ_ignore_initial_segment)
       
  1234   ultimately show ?thesis
       
  1235   proof (rule LIMSEQ_le, safe intro!: exI[of _ k])
       
  1236     fix n assume "k \<le> n"
       
  1237     have "(\<Sum>i<n. f (i + k)) = (\<Sum>i<n. (f \<circ> (\<lambda>i. i + k)) i)"
       
  1238       by simp
       
  1239     also have "\<dots> = (\<Sum>i\<in>(\<lambda>i. i + k) ` {..<n}. f i)"
       
  1240       by (subst setsum_reindex) auto
       
  1241     also have "\<dots> \<le> setsum f {..<n + k}"
       
  1242       by (intro setsum_mono3) (auto simp: f)
       
  1243     finally show "(\<Sum>i<n. f (i + k)) \<le> setsum f {..<n + k}" .
       
  1244   qed
       
  1245 qed
       
  1246 
       
  1247 lemma sums_suminf_ereal: "f sums x \<Longrightarrow> (\<Sum>i. ereal (f i)) = ereal x"
       
  1248   by (metis sums_ereal sums_unique)
       
  1249 
       
  1250 lemma suminf_ereal': "summable f \<Longrightarrow> (\<Sum>i. ereal (f i)) = ereal (\<Sum>i. f i)"
       
  1251   by (metis sums_ereal sums_unique summable_def)
       
  1252 
       
  1253 lemma suminf_ereal_finite: "summable f \<Longrightarrow> (\<Sum>i. ereal (f i)) \<noteq> \<infinity>"
       
  1254   by (auto simp: sums_ereal[symmetric] summable_def sums_unique[symmetric])
       
  1255 
  1223 subsection {* monoset *}
  1256 subsection {* monoset *}
  1224 
  1257 
  1225 definition (in order) mono_set:
  1258 definition (in order) mono_set:
  1226   "mono_set S \<longleftrightarrow> (\<forall>x y. x \<le> y \<longrightarrow> x \<in> S \<longrightarrow> y \<in> S)"
  1259   "mono_set S \<longleftrightarrow> (\<forall>x y. x \<le> y \<longrightarrow> x \<in> S \<longrightarrow> y \<in> S)"
  1227 
  1260