src/HOL/Analysis/Bochner_Integration.thy
changeset 64008 17a20ca86d62
parent 63941 f353674c2528
child 64267 b9a1486e79be
equal deleted inserted replaced
64007:041cda506fb2 64008:17a20ca86d62
   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}"