392 (auto simp: simple_bochner_integrable_compose2 elim: simple_bochner_integrable.cases) |
392 (auto simp: simple_bochner_integrable_compose2 elim: simple_bochner_integrable.cases) |
393 ultimately show ?thesis |
393 ultimately show ?thesis |
394 by (simp add: sum.distrib[symmetric] scaleR_add_right) |
394 by (simp add: sum.distrib[symmetric] scaleR_add_right) |
395 qed |
395 qed |
396 |
396 |
397 lemma (in linear) simple_bochner_integral_linear: |
397 lemma simple_bochner_integral_linear: |
|
398 assumes "linear f" |
398 assumes g: "simple_bochner_integrable M g" |
399 assumes g: "simple_bochner_integrable M g" |
399 shows "simple_bochner_integral M (\<lambda>x. f (g x)) = f (simple_bochner_integral M g)" |
400 shows "simple_bochner_integral M (\<lambda>x. f (g x)) = f (simple_bochner_integral M g)" |
400 proof - |
401 proof - |
|
402 interpret linear f by fact |
401 from g have "simple_bochner_integral M (\<lambda>x. f (g x)) = |
403 from g have "simple_bochner_integral M (\<lambda>x. f (g x)) = |
402 (\<Sum>y\<in>g ` space M. measure M {x \<in> space M. g x = y} *\<^sub>R f y)" |
404 (\<Sum>y\<in>g ` space M. measure M {x \<in> space M. g x = y} *\<^sub>R f y)" |
403 by (intro simple_bochner_integral_partition) |
405 by (intro simple_bochner_integral_partition) |
404 (auto simp: simple_bochner_integrable_compose2[where p="\<lambda>x y. f x"] zero |
406 (auto simp: simple_bochner_integrable_compose2[where p="\<lambda>x y. f x"] zero |
405 elim: simple_bochner_integrable.cases) |
407 elim: simple_bochner_integrable.cases) |
406 also have "\<dots> = f (simple_bochner_integral M g)" |
408 also have "\<dots> = f (simple_bochner_integral M g)" |
407 by (simp add: simple_bochner_integral_def sum scaleR) |
409 by (simp add: simple_bochner_integral_def sum scale) |
408 finally show ?thesis . |
410 finally show ?thesis . |
409 qed |
411 qed |
410 |
412 |
411 lemma simple_bochner_integral_minus: |
413 lemma simple_bochner_integral_minus: |
412 assumes f: "simple_bochner_integrable M f" |
414 assumes f: "simple_bochner_integrable M f" |
413 shows "simple_bochner_integral M (\<lambda>x. - f x) = - simple_bochner_integral M f" |
415 shows "simple_bochner_integral M (\<lambda>x. - f x) = - simple_bochner_integral M f" |
414 proof - |
416 proof - |
415 interpret linear uminus by unfold_locales auto |
417 from linear_uminus f show ?thesis |
416 from f show ?thesis |
|
417 by (rule simple_bochner_integral_linear) |
418 by (rule simple_bochner_integral_linear) |
418 qed |
419 qed |
419 |
420 |
420 lemma simple_bochner_integral_diff: |
421 lemma simple_bochner_integral_diff: |
421 assumes f: "simple_bochner_integrable M f" and g: "simple_bochner_integrable M g" |
422 assumes f: "simple_bochner_integrable M f" and g: "simple_bochner_integrable M g" |
644 using ennreal_tendsto_cmult[OF _ f_s] by simp |
645 using ennreal_tendsto_cmult[OF _ f_s] by simp |
645 qed |
646 qed |
646 |
647 |
647 assume "(\<lambda>i. simple_bochner_integral M (s i)) \<longlonglongrightarrow> x" |
648 assume "(\<lambda>i. simple_bochner_integral M (s i)) \<longlonglongrightarrow> x" |
648 with s show "(\<lambda>i. simple_bochner_integral M (\<lambda>x. T (s i x))) \<longlonglongrightarrow> T x" |
649 with s show "(\<lambda>i. simple_bochner_integral M (\<lambda>x. T (s i x))) \<longlonglongrightarrow> T x" |
649 by (auto intro!: T.tendsto simp: T.simple_bochner_integral_linear) |
650 by (auto intro!: T.tendsto simp: simple_bochner_integral_linear T.linear_axioms) |
650 qed |
651 qed |
651 |
652 |
652 lemma has_bochner_integral_zero[intro]: "has_bochner_integral M (\<lambda>x. 0) 0" |
653 lemma has_bochner_integral_zero[intro]: "has_bochner_integral M (\<lambda>x. 0) 0" |
653 by (auto intro!: has_bochner_integral.intros[where s="\<lambda>_ _. 0"] |
654 by (auto intro!: has_bochner_integral.intros[where s="\<lambda>_ _. 0"] |
654 simp: zero_ennreal_def[symmetric] simple_bochner_integrable.simps |
655 simp: zero_ennreal_def[symmetric] simple_bochner_integrable.simps |