948 lemma integrable_cong_AE: |
948 lemma integrable_cong_AE: |
949 "f \<in> borel_measurable M \<Longrightarrow> g \<in> borel_measurable M \<Longrightarrow> AE x in M. f x = g x \<Longrightarrow> |
949 "f \<in> borel_measurable M \<Longrightarrow> g \<in> borel_measurable M \<Longrightarrow> AE x in M. f x = g x \<Longrightarrow> |
950 integrable M f \<longleftrightarrow> integrable M g" |
950 integrable M f \<longleftrightarrow> integrable M g" |
951 unfolding integrable.simps |
951 unfolding integrable.simps |
952 by (intro has_bochner_integral_cong_AE arg_cong[where f=Ex] ext) |
952 by (intro has_bochner_integral_cong_AE arg_cong[where f=Ex] ext) |
|
953 |
|
954 lemma integrable_cong_AE_imp: |
|
955 "integrable M g \<Longrightarrow> f \<in> borel_measurable M \<Longrightarrow> (AE x in M. g x = f x) \<Longrightarrow> integrable M f" |
|
956 using integrable_cong_AE[of f M g] by (auto simp: eq_commute) |
953 |
957 |
954 lemma integral_cong: |
958 lemma integral_cong: |
955 "M = N \<Longrightarrow> (\<And>x. x \<in> space N \<Longrightarrow> f x = g x) \<Longrightarrow> integral\<^sup>L M f = integral\<^sup>L N g" |
959 "M = N \<Longrightarrow> (\<And>x. x \<in> space N \<Longrightarrow> f x = g x) \<Longrightarrow> integral\<^sup>L M f = integral\<^sup>L N g" |
956 by (simp cong: has_bochner_integral_cong cong del: if_weak_cong add: lebesgue_integral_def) |
960 by (simp cong: has_bochner_integral_cong cong del: if_weak_cong add: lebesgue_integral_def) |
957 |
961 |
1680 also have "(\<integral>\<^sup>+ x. max 0 (f x) \<partial>M) = (\<integral>\<^sup>+ x. f x \<partial>M)" |
1684 also have "(\<integral>\<^sup>+ x. max 0 (f x) \<partial>M) = (\<integral>\<^sup>+ x. f x \<partial>M)" |
1681 using assms by (auto intro!: nn_integral_cong_AE simp: max_def) |
1685 using assms by (auto intro!: nn_integral_cong_AE simp: max_def) |
1682 finally show ?thesis . |
1686 finally show ?thesis . |
1683 qed |
1687 qed |
1684 |
1688 |
|
1689 lemma nn_integral_eq_integrable: |
|
1690 assumes f: "f \<in> M \<rightarrow>\<^sub>M borel" "AE x in M. 0 \<le> f x" and "0 \<le> x" |
|
1691 shows "(\<integral>\<^sup>+x. f x \<partial>M) = ennreal x \<longleftrightarrow> (integrable M f \<and> integral\<^sup>L M f = x)" |
|
1692 proof (safe intro!: nn_integral_eq_integral assms) |
|
1693 assume *: "(\<integral>\<^sup>+x. f x \<partial>M) = ennreal x" |
|
1694 with integrableI_nn_integral_finite[OF f this] nn_integral_eq_integral[of M f, OF _ f(2)] |
|
1695 show "integrable M f" "integral\<^sup>L M f = x" |
|
1696 by (simp_all add: * assms integral_nonneg_AE) |
|
1697 qed |
|
1698 |
1685 lemma |
1699 lemma |
1686 fixes f :: "_ \<Rightarrow> _ \<Rightarrow> 'a :: {banach, second_countable_topology}" |
1700 fixes f :: "_ \<Rightarrow> _ \<Rightarrow> 'a :: {banach, second_countable_topology}" |
1687 assumes integrable[measurable]: "\<And>i. integrable M (f i)" |
1701 assumes integrable[measurable]: "\<And>i. integrable M (f i)" |
1688 and summable: "AE x in M. summable (\<lambda>i. norm (f i x))" |
1702 and summable: "AE x in M. summable (\<lambda>i. norm (f i x))" |
1689 and sums: "summable (\<lambda>i. (\<integral>x. norm (f i x) \<partial>M))" |
1703 and sums: "summable (\<lambda>i. (\<integral>x. norm (f i x) \<partial>M))" |
2224 |
2238 |
2225 lemma integral_count_space_nat: |
2239 lemma integral_count_space_nat: |
2226 fixes f :: "nat \<Rightarrow> _::{banach,second_countable_topology}" |
2240 fixes f :: "nat \<Rightarrow> _::{banach,second_countable_topology}" |
2227 shows "integrable (count_space UNIV) f \<Longrightarrow> integral\<^sup>L (count_space UNIV) f = (\<Sum>x. f x)" |
2241 shows "integrable (count_space UNIV) f \<Longrightarrow> integral\<^sup>L (count_space UNIV) f = (\<Sum>x. f x)" |
2228 using sums_integral_count_space_nat by (rule sums_unique) |
2242 using sums_integral_count_space_nat by (rule sums_unique) |
|
2243 |
|
2244 lemma integrable_bij_count_space: |
|
2245 fixes f :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}" |
|
2246 assumes g: "bij_betw g A B" |
|
2247 shows "integrable (count_space A) (\<lambda>x. f (g x)) \<longleftrightarrow> integrable (count_space B) f" |
|
2248 unfolding integrable_iff_bounded by (subst nn_integral_bij_count_space[OF g]) auto |
|
2249 |
|
2250 lemma integral_bij_count_space: |
|
2251 fixes f :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}" |
|
2252 assumes g: "bij_betw g A B" |
|
2253 shows "integral\<^sup>L (count_space A) (\<lambda>x. f (g x)) = integral\<^sup>L (count_space B) f" |
|
2254 using g[THEN bij_betw_imp_funcset] |
|
2255 apply (subst distr_bij_count_space[OF g, symmetric]) |
|
2256 apply (intro integral_distr[symmetric]) |
|
2257 apply auto |
|
2258 done |
|
2259 |
|
2260 lemma has_bochner_integral_count_space_nat: |
|
2261 fixes f :: "nat \<Rightarrow> _::{banach,second_countable_topology}" |
|
2262 shows "has_bochner_integral (count_space UNIV) f x \<Longrightarrow> f sums x" |
|
2263 unfolding has_bochner_integral_iff by (auto intro!: sums_integral_count_space_nat) |
2229 |
2264 |
2230 subsection \<open>Point measure\<close> |
2265 subsection \<open>Point measure\<close> |
2231 |
2266 |
2232 lemma lebesgue_integral_point_measure_finite: |
2267 lemma lebesgue_integral_point_measure_finite: |
2233 fixes g :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}" |
2268 fixes g :: "'a \<Rightarrow> 'b::{banach, second_countable_topology}" |