equal
deleted
inserted
replaced
942 with u_range show "incseq (\<lambda>i. u x * (emeasure M) (?B' (u x) i))" "\<And>i. 0 \<le> u x * (emeasure M) (?B' (u x) i)" |
942 with u_range show "incseq (\<lambda>i. u x * (emeasure M) (?B' (u x) i))" "\<And>i. 0 \<le> u x * (emeasure M) (?B' (u x) i)" |
943 using B_mono B_u by (auto intro!: emeasure_mono ereal_mult_left_mono incseq_SucI simp: ereal_zero_le_0_iff) |
943 using B_mono B_u by (auto intro!: emeasure_mono ereal_mult_left_mono incseq_SucI simp: ereal_zero_le_0_iff) |
944 next |
944 next |
945 show "integral\<^sup>S M u = (\<Sum>i\<in>u ` space M. SUP n. i * (emeasure M) (?B' i n))" |
945 show "integral\<^sup>S M u = (\<Sum>i\<in>u ` space M. SUP n. i * (emeasure M) (?B' i n))" |
946 using measure_conv u_range B_u unfolding simple_integral_def |
946 using measure_conv u_range B_u unfolding simple_integral_def |
947 by (auto intro!: setsum.cong SUP_ereal_cmult [symmetric]) |
947 by (auto intro!: setsum.cong SUP_ereal_mult_left [symmetric]) |
948 qed |
948 qed |
949 moreover |
949 moreover |
950 have "a * (SUP i. integral\<^sup>S M (?uB i)) \<le> ?S" |
950 have "a * (SUP i. integral\<^sup>S M (?uB i)) \<le> ?S" |
951 apply (subst SUP_ereal_cmult [symmetric]) |
951 apply (subst SUP_ereal_mult_left [symmetric]) |
952 proof (safe intro!: SUP_mono bexI) |
952 proof (safe intro!: SUP_mono bexI) |
953 fix i |
953 fix i |
954 have "a * integral\<^sup>S M (?uB i) = (\<integral>\<^sup>Sx. a * ?uB i x \<partial>M)" |
954 have "a * integral\<^sup>S M (?uB i) = (\<integral>\<^sup>Sx. a * ?uB i x \<partial>M)" |
955 using B `simple_function M u` u_range |
955 using B `simple_function M u` u_range |
956 by (subst simple_integral_mult) (auto split: split_indicator) |
956 by (subst simple_integral_mult) (auto split: split_indicator) |
1113 { fix x |
1113 { fix x |
1114 { fix i have "a * u i x \<noteq> -\<infinity>" "v i x \<noteq> -\<infinity>" "u i x \<noteq> -\<infinity>" using `0 \<le> a` u(6)[of i x] v(6)[of i x] |
1114 { fix i have "a * u i x \<noteq> -\<infinity>" "v i x \<noteq> -\<infinity>" "u i x \<noteq> -\<infinity>" using `0 \<le> a` u(6)[of i x] v(6)[of i x] |
1115 by auto } |
1115 by auto } |
1116 then have "(SUP i. a * u i x + v i x) = a * (SUP i. u i x) + (SUP i. v i x)" |
1116 then have "(SUP i. a * u i x + v i x) = a * (SUP i. u i x) + (SUP i. v i x)" |
1117 using `0 \<le> a` u(3) v(3) u(6)[of _ x] v(6)[of _ x] |
1117 using `0 \<le> a` u(3) v(3) u(6)[of _ x] v(6)[of _ x] |
1118 by (subst SUP_ereal_cmult [symmetric, OF u(6) `0 \<le> a`]) |
1118 by (subst SUP_ereal_mult_left [symmetric, OF _ u(6) `0 \<le> a`]) |
1119 (auto intro!: SUP_ereal_add |
1119 (auto intro!: SUP_ereal_add |
1120 simp: incseq_Suc_iff le_fun_def add_mono ereal_mult_left_mono) } |
1120 simp: incseq_Suc_iff le_fun_def add_mono ereal_mult_left_mono) } |
1121 then show "AE x in M. (SUP i. l i x) = (SUP i. ?L' i x)" |
1121 then show "AE x in M. (SUP i. l i x) = (SUP i. ?L' i x)" |
1122 unfolding l(5) using `0 \<le> a` u(5) v(5) l(5) f(2) g(2) |
1122 unfolding l(5) using `0 \<le> a` u(5) v(5) l(5) f(2) g(2) |
1123 by (intro AE_I2) (auto split: split_max) |
1123 by (intro AE_I2) (auto split: split_max) |
1125 also have "\<dots> = (SUP i. a * integral\<^sup>S M (u i) + integral\<^sup>S M (v i))" |
1125 also have "\<dots> = (SUP i. a * integral\<^sup>S M (u i) + integral\<^sup>S M (v i))" |
1126 using u(2, 6) v(2, 6) `0 \<le> a` by (auto intro!: arg_cong[where f="SUPREMUM UNIV"] ext) |
1126 using u(2, 6) v(2, 6) `0 \<le> a` by (auto intro!: arg_cong[where f="SUPREMUM UNIV"] ext) |
1127 finally have "(\<integral>\<^sup>+ x. max 0 (a * f x + g x) \<partial>M) = a * (\<integral>\<^sup>+x. max 0 (f x) \<partial>M) + (\<integral>\<^sup>+x. max 0 (g x) \<partial>M)" |
1127 finally have "(\<integral>\<^sup>+ x. max 0 (a * f x + g x) \<partial>M) = a * (\<integral>\<^sup>+x. max 0 (f x) \<partial>M) + (\<integral>\<^sup>+x. max 0 (g x) \<partial>M)" |
1128 unfolding l(5)[symmetric] u(5)[symmetric] v(5)[symmetric] |
1128 unfolding l(5)[symmetric] u(5)[symmetric] v(5)[symmetric] |
1129 unfolding l(1)[symmetric] u(1)[symmetric] v(1)[symmetric] |
1129 unfolding l(1)[symmetric] u(1)[symmetric] v(1)[symmetric] |
1130 apply (subst SUP_ereal_cmult [symmetric, OF pos(1) `0 \<le> a`]) |
1130 apply (subst SUP_ereal_mult_left [symmetric, OF _ pos(1) `0 \<le> a`]) |
1131 apply (subst SUP_ereal_add [symmetric, OF inc not_MInf]) . |
1131 apply simp |
|
1132 apply (subst SUP_ereal_add [symmetric, OF inc not_MInf]) |
|
1133 . |
1132 then show ?thesis by (simp add: nn_integral_max_0) |
1134 then show ?thesis by (simp add: nn_integral_max_0) |
1133 qed |
1135 qed |
1134 |
1136 |
1135 lemma nn_integral_cmult: |
1137 lemma nn_integral_cmult: |
1136 assumes f: "f \<in> borel_measurable M" "0 \<le> c" |
1138 assumes f: "f \<in> borel_measurable M" "0 \<le> c" |
2118 with add f show ?case |
2120 with add f show ?case |
2119 by (auto simp add: nn_integral_add ereal_zero_le_0_iff intro!: nn_integral_add[symmetric]) |
2121 by (auto simp add: nn_integral_add ereal_zero_le_0_iff intro!: nn_integral_add[symmetric]) |
2120 next |
2122 next |
2121 case (seq U) |
2123 case (seq U) |
2122 from f(2) have eq: "AE x in M. f x * (SUP i. U i x) = (SUP i. f x * U i x)" |
2124 from f(2) have eq: "AE x in M. f x * (SUP i. U i x) = (SUP i. f x * U i x)" |
2123 by eventually_elim (simp add: SUP_ereal_cmult seq) |
2125 by eventually_elim (simp add: SUP_ereal_mult_left seq) |
2124 from seq f show ?case |
2126 from seq f show ?case |
2125 apply (simp add: nn_integral_monotone_convergence_SUP) |
2127 apply (simp add: nn_integral_monotone_convergence_SUP) |
2126 apply (subst nn_integral_cong_AE[OF eq]) |
2128 apply (subst nn_integral_cong_AE[OF eq]) |
2127 apply (subst nn_integral_monotone_convergence_SUP_AE) |
2129 apply (subst nn_integral_monotone_convergence_SUP_AE) |
2128 apply (auto simp: incseq_def le_fun_def intro!: ereal_mult_left_mono) |
2130 apply (auto simp: incseq_def le_fun_def intro!: ereal_mult_left_mono) |