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 |