185 proof (rule seq) |
185 proof (rule seq) |
186 show U': "U' i \<in> borel_measurable M" "\<And>x. 0 \<le> U' i x" for i |
186 show U': "U' i \<in> borel_measurable M" "\<And>x. 0 \<le> U' i x" for i |
187 using U by (auto |
187 using U by (auto |
188 intro: borel_measurable_simple_function |
188 intro: borel_measurable_simple_function |
189 intro!: borel_measurable_enn2real borel_measurable_times |
189 intro!: borel_measurable_enn2real borel_measurable_times |
190 simp: U'_def zero_le_mult_iff enn2real_nonneg) |
190 simp: U'_def zero_le_mult_iff) |
191 show "incseq U'" |
191 show "incseq U'" |
192 using U(2,3) |
192 using U(2,3) |
193 by (auto simp: incseq_def le_fun_def image_iff eq_commute U'_def indicator_def enn2real_mono) |
193 by (auto simp: incseq_def le_fun_def image_iff eq_commute U'_def indicator_def enn2real_mono) |
194 |
194 |
195 fix x assume x: "x \<in> space M" |
195 fix x assume x: "x \<in> space M" |
210 moreover have "\<And>z. {y. U' i z = y \<and> y \<in> U' i ` space M \<and> z \<in> space M} = (if z \<in> space M then {U' i z} else {})" |
210 moreover have "\<And>z. {y. U' i z = y \<and> y \<in> U' i ` space M \<and> z \<in> space M} = (if z \<in> space M then {U' i z} else {})" |
211 by auto |
211 by auto |
212 ultimately have U': "(\<lambda>z. \<Sum>y\<in>U' i`space M. y * indicator {x\<in>space M. U' i x = y} z) = U' i" |
212 ultimately have U': "(\<lambda>z. \<Sum>y\<in>U' i`space M. y * indicator {x\<in>space M. U' i x = y} z) = U' i" |
213 by (simp add: U'_def fun_eq_iff) |
213 by (simp add: U'_def fun_eq_iff) |
214 have "\<And>x. x \<in> U' i ` space M \<Longrightarrow> 0 \<le> x" |
214 have "\<And>x. x \<in> U' i ` space M \<Longrightarrow> 0 \<le> x" |
215 by (auto simp: U'_def enn2real_nonneg) |
215 by (auto simp: U'_def) |
216 with fin have "P (\<lambda>z. \<Sum>y\<in>U' i`space M. y * indicator {x\<in>space M. U' i x = y} z)" |
216 with fin have "P (\<lambda>z. \<Sum>y\<in>U' i`space M. y * indicator {x\<in>space M. U' i x = y} z)" |
217 proof induct |
217 proof induct |
218 case empty from set[of "{}"] show ?case |
218 case empty from set[of "{}"] show ?case |
219 by (simp add: indicator_def[abs_def]) |
219 by (simp add: indicator_def[abs_def]) |
220 next |
220 next |
864 assumes \<Omega>: "\<Omega> \<inter> space M \<in> sets M" |
864 assumes \<Omega>: "\<Omega> \<inter> space M \<in> sets M" |
865 shows "simple_bochner_integrable (restrict_space M \<Omega>) f \<longleftrightarrow> |
865 shows "simple_bochner_integrable (restrict_space M \<Omega>) f \<longleftrightarrow> |
866 simple_bochner_integrable M (\<lambda>x. indicator \<Omega> x *\<^sub>R f x)" |
866 simple_bochner_integrable M (\<lambda>x. indicator \<Omega> x *\<^sub>R f x)" |
867 by (simp add: simple_bochner_integrable.simps space_restrict_space |
867 by (simp add: simple_bochner_integrable.simps space_restrict_space |
868 simple_function_restrict_space[OF \<Omega>] emeasure_restrict_space[OF \<Omega>] Collect_restrict |
868 simple_function_restrict_space[OF \<Omega>] emeasure_restrict_space[OF \<Omega>] Collect_restrict |
869 indicator_eq_0_iff conj_ac) |
869 indicator_eq_0_iff conj_left_commute) |
870 |
870 |
871 lemma simple_bochner_integral_restrict_space: |
871 lemma simple_bochner_integral_restrict_space: |
872 fixes f :: "_ \<Rightarrow> 'b::real_normed_vector" |
872 fixes f :: "_ \<Rightarrow> 'b::real_normed_vector" |
873 assumes \<Omega>: "\<Omega> \<inter> space M \<in> sets M" |
873 assumes \<Omega>: "\<Omega> \<inter> space M \<in> sets M" |
874 assumes f: "simple_bochner_integrable (restrict_space M \<Omega>) f" |
874 assumes f: "simple_bochner_integrable (restrict_space M \<Omega>) f" |
1622 have "integrable M (U i)" for i |
1622 have "integrable M (U i)" for i |
1623 using seq.prems by (rule integrable_bound) (insert U_le seq, auto) |
1623 using seq.prems by (rule integrable_bound) (insert U_le seq, auto) |
1624 with seq show "\<exists>N. \<forall>n\<ge>N. 0 \<le> integral\<^sup>L M (U n)" |
1624 with seq show "\<exists>N. \<forall>n\<ge>N. 0 \<le> integral\<^sup>L M (U n)" |
1625 by auto |
1625 by auto |
1626 qed |
1626 qed |
1627 qed (auto simp: measure_nonneg integrable_mult_left_iff) |
1627 qed (auto simp: integrable_mult_left_iff) |
1628 also have "\<dots> = integral\<^sup>L M f" |
1628 also have "\<dots> = integral\<^sup>L M f" |
1629 using nonneg by (auto intro!: integral_cong_AE) |
1629 using nonneg by (auto intro!: integral_cong_AE) |
1630 finally show ?thesis . |
1630 finally show ?thesis . |
1631 qed (simp add: not_integrable_integral_eq) |
1631 qed (simp add: not_integrable_integral_eq) |
1632 |
1632 |
2464 assumes [measurable]: "f \<in> borel_measurable M" |
2464 assumes [measurable]: "f \<in> borel_measurable M" |
2465 assumes ae: "AE x in M. f x \<le> ennreal B" "0 \<le> B" |
2465 assumes ae: "AE x in M. f x \<le> ennreal B" "0 \<le> B" |
2466 shows "ennreal (\<integral>x. enn2real (f x) \<partial>M) = (\<integral>\<^sup>+x. f x \<partial>M)" |
2466 shows "ennreal (\<integral>x. enn2real (f x) \<partial>M) = (\<integral>\<^sup>+x. f x \<partial>M)" |
2467 proof (subst nn_integral_eq_integral[symmetric]) |
2467 proof (subst nn_integral_eq_integral[symmetric]) |
2468 show "integrable M (\<lambda>x. enn2real (f x))" |
2468 show "integrable M (\<lambda>x. enn2real (f x))" |
2469 using ae by (intro integrable_const_bound[where B=B]) (auto simp: enn2real_leI enn2real_nonneg) |
2469 using ae by (intro integrable_const_bound[where B=B]) (auto simp: enn2real_leI) |
2470 show "(\<integral>\<^sup>+ x. ennreal (enn2real (f x)) \<partial>M) = integral\<^sup>N M f" |
2470 show "(\<integral>\<^sup>+ x. ennreal (enn2real (f x)) \<partial>M) = integral\<^sup>N M f" |
2471 using ae by (intro nn_integral_cong_AE) (auto simp: le_less_trans[OF _ ennreal_less_top]) |
2471 using ae by (intro nn_integral_cong_AE) (auto simp: le_less_trans[OF _ ennreal_less_top]) |
2472 qed (auto simp: enn2real_nonneg) |
2472 qed auto |
2473 |
2473 |
2474 lemma (in finite_measure) integral_less_AE: |
2474 lemma (in finite_measure) integral_less_AE: |
2475 fixes X Y :: "'a \<Rightarrow> real" |
2475 fixes X Y :: "'a \<Rightarrow> real" |
2476 assumes int: "integrable M X" "integrable M Y" |
2476 assumes int: "integrable M X" "integrable M Y" |
2477 assumes A: "(emeasure M) A \<noteq> 0" "A \<in> sets M" "AE x in M. x \<in> A \<longrightarrow> X x \<noteq> Y x" |
2477 assumes A: "(emeasure M) A \<noteq> 0" "A \<in> sets M" "AE x in M. x \<in> A \<longrightarrow> X x \<noteq> Y x" |