equal
deleted
inserted
replaced
1175 by (intro fundamental_theorem_of_calculus) |
1175 by (intro fundamental_theorem_of_calculus) |
1176 (auto simp: has_field_derivative_iff_has_vector_derivative[symmetric] |
1176 (auto simp: has_field_derivative_iff_has_vector_derivative[symmetric] |
1177 intro: has_field_derivative_subset[OF f(1)] \<open>a \<le> b\<close>) |
1177 intro: has_field_derivative_subset[OF f(1)] \<open>a \<le> b\<close>) |
1178 then have i: "((\<lambda>x. f x * indicator {a .. b} x) has_integral F b - F a) UNIV" |
1178 then have i: "((\<lambda>x. f x * indicator {a .. b} x) has_integral F b - F a) UNIV" |
1179 unfolding indicator_def if_distrib[where f="\<lambda>x. a * x" for a] |
1179 unfolding indicator_def if_distrib[where f="\<lambda>x. a * x" for a] |
1180 by (simp cong del: if_cong del: atLeastAtMost_iff) |
1180 by (simp cong del: if_weak_cong del: atLeastAtMost_iff) |
1181 then have nn: "(\<integral>\<^sup>+x. f x * indicator {a .. b} x \<partial>lborel) = F b - F a" |
1181 then have nn: "(\<integral>\<^sup>+x. f x * indicator {a .. b} x \<partial>lborel) = F b - F a" |
1182 by (rule nn_integral_has_integral_lborel[OF *]) |
1182 by (rule nn_integral_has_integral_lborel[OF *]) |
1183 then show ?has |
1183 then show ?has |
1184 by (rule has_bochner_integral_nn_integral[rotated 3]) (simp_all add: * F_mono \<open>a \<le> b\<close>) |
1184 by (rule has_bochner_integral_nn_integral[rotated 3]) (simp_all add: * F_mono \<open>a \<le> b\<close>) |
1185 then show ?eq ?int |
1185 then show ?eq ?int |
1205 using assms(1,2) by (intro fundamental_theorem_of_calculus) auto |
1205 using assms(1,2) by (intro fundamental_theorem_of_calculus) auto |
1206 moreover |
1206 moreover |
1207 have "(f has_integral integral\<^sup>L lborel ?f) {a..b}" |
1207 have "(f has_integral integral\<^sup>L lborel ?f) {a..b}" |
1208 using has_integral_integral_lborel[OF int] |
1208 using has_integral_integral_lborel[OF int] |
1209 unfolding indicator_def if_distrib[where f="\<lambda>x. x *\<^sub>R a" for a] |
1209 unfolding indicator_def if_distrib[where f="\<lambda>x. x *\<^sub>R a" for a] |
1210 by (simp cong del: if_cong del: atLeastAtMost_iff) |
1210 by (simp cong del: if_weak_cong del: atLeastAtMost_iff) |
1211 ultimately show ?eq |
1211 ultimately show ?eq |
1212 by (auto dest: has_integral_unique) |
1212 by (auto dest: has_integral_unique) |
1213 then show ?has |
1213 then show ?has |
1214 using int by (auto simp: has_bochner_integral_iff) |
1214 using int by (auto simp: has_bochner_integral_iff) |
1215 qed |
1215 qed |