src/HOL/Probability/Bochner_Integration.thy
changeset 61880 ff4d33058566
parent 61810 3c5040d5694a
child 61897 bc0fc5499085
equal deleted inserted replaced
61879:e4f9d8f094fe 61880:ff4d33058566
   901 syntax
   901 syntax
   902   "_lebesgue_integral" :: "pttrn \<Rightarrow> real \<Rightarrow> 'a measure \<Rightarrow> real" ("\<integral>((2 _./ _)/ \<partial>_)" [60,61] 110)
   902   "_lebesgue_integral" :: "pttrn \<Rightarrow> real \<Rightarrow> 'a measure \<Rightarrow> real" ("\<integral>((2 _./ _)/ \<partial>_)" [60,61] 110)
   903 
   903 
   904 translations
   904 translations
   905   "\<integral> x. f \<partial>M" == "CONST lebesgue_integral M (\<lambda>x. f)"
   905   "\<integral> x. f \<partial>M" == "CONST lebesgue_integral M (\<lambda>x. f)"
       
   906 
       
   907 syntax
       
   908   "_ascii_lebesgue_integral" :: "pttrn \<Rightarrow> 'a measure \<Rightarrow> real \<Rightarrow> real" ("(3LINT (1_)/|(_)./ _)" [0,110,60] 60)
       
   909 
       
   910 translations
       
   911   "LINT x|M. f" == "CONST lebesgue_integral M (\<lambda>x. f)"
   906 
   912 
   907 lemma has_bochner_integral_integral_eq: "has_bochner_integral M f x \<Longrightarrow> integral\<^sup>L M f = x"
   913 lemma has_bochner_integral_integral_eq: "has_bochner_integral M f x \<Longrightarrow> integral\<^sup>L M f = x"
   908   by (metis the_equality has_bochner_integral_eq lebesgue_integral_def)
   914   by (metis the_equality has_bochner_integral_eq lebesgue_integral_def)
   909 
   915 
   910 lemma has_bochner_integral_integrable:
   916 lemma has_bochner_integral_integrable:
  2578 proof -
  2584 proof -
  2579   have *: "(\<lambda>(x,y). f (y,x)) = (\<lambda>x. f (case x of (x,y)\<Rightarrow>(y,x)))" by (auto simp: fun_eq_iff)
  2585   have *: "(\<lambda>(x,y). f (y,x)) = (\<lambda>x. f (case x of (x,y)\<Rightarrow>(y,x)))" by (auto simp: fun_eq_iff)
  2580   show ?thesis unfolding *
  2586   show ?thesis unfolding *
  2581     by (simp add: integral_distr[symmetric, OF measurable_pair_swap' f] distr_pair_swap[symmetric])
  2587     by (simp add: integral_distr[symmetric, OF measurable_pair_swap' f] distr_pair_swap[symmetric])
  2582 qed
  2588 qed
       
  2589 
       
  2590 lemma (in pair_sigma_finite) Fubini_integrable:
       
  2591   fixes f :: "_ \<Rightarrow> _::{banach, second_countable_topology}"
       
  2592   assumes f[measurable]: "f \<in> borel_measurable (M1 \<Otimes>\<^sub>M M2)"
       
  2593     and integ1: "integrable M1 (\<lambda>x. \<integral> y. norm (f (x, y)) \<partial>M2)"
       
  2594     and integ2: "AE x in M1. integrable M2 (\<lambda>y. f (x, y))"
       
  2595   shows "integrable (M1 \<Otimes>\<^sub>M M2) f"
       
  2596 proof (rule integrableI_bounded)
       
  2597   have "(\<integral>\<^sup>+ p. norm (f p) \<partial>(M1 \<Otimes>\<^sub>M M2)) = (\<integral>\<^sup>+ x. (\<integral>\<^sup>+ y. norm (f (x, y)) \<partial>M2) \<partial>M1)"
       
  2598     by (simp add: M2.nn_integral_fst [symmetric])
       
  2599   also have "\<dots> = (\<integral>\<^sup>+ x. \<bar>\<integral>y. norm (f (x, y)) \<partial>M2\<bar> \<partial>M1)"
       
  2600     apply (intro nn_integral_cong_AE)
       
  2601     using integ2
       
  2602   proof eventually_elim
       
  2603     fix x assume "integrable M2 (\<lambda>y. f (x, y))"
       
  2604     then have f: "integrable M2 (\<lambda>y. norm (f (x, y)))"
       
  2605       by simp
       
  2606     then have "(\<integral>\<^sup>+y. ereal (norm (f (x, y))) \<partial>M2) = ereal (LINT y|M2. norm (f (x, y)))"
       
  2607       by (rule nn_integral_eq_integral) simp
       
  2608     also have "\<dots> = ereal \<bar>LINT y|M2. norm (f (x, y))\<bar>"
       
  2609       using f by (auto intro!: abs_of_nonneg[symmetric] integral_nonneg_AE)
       
  2610     finally show "(\<integral>\<^sup>+y. ereal (norm (f (x, y))) \<partial>M2) = ereal \<bar>LINT y|M2. norm (f (x, y))\<bar>" .
       
  2611   qed
       
  2612   also have "\<dots> < \<infinity>"
       
  2613     using integ1 by (simp add: integrable_iff_bounded integral_nonneg_AE)
       
  2614   finally show "(\<integral>\<^sup>+ p. norm (f p) \<partial>(M1 \<Otimes>\<^sub>M M2)) < \<infinity>" .
       
  2615 qed fact
  2583 
  2616 
  2584 lemma (in pair_sigma_finite) emeasure_pair_measure_finite:
  2617 lemma (in pair_sigma_finite) emeasure_pair_measure_finite:
  2585   assumes A: "A \<in> sets (M1 \<Otimes>\<^sub>M M2)" and finite: "emeasure (M1 \<Otimes>\<^sub>M M2) A < \<infinity>"
  2618   assumes A: "A \<in> sets (M1 \<Otimes>\<^sub>M M2)" and finite: "emeasure (M1 \<Otimes>\<^sub>M M2) A < \<infinity>"
  2586   shows "AE x in M1. emeasure M2 {y\<in>space M2. (x, y) \<in> A} < \<infinity>"
  2619   shows "AE x in M1. emeasure M2 {y\<in>space M2. (x, y) \<in> A} < \<infinity>"
  2587 proof -
  2620 proof -