src/HOL/Probability/Lebesgue_Measure.thy
changeset 63566 e5abbdee461a
parent 63540 f8652d0534fa
equal deleted inserted replaced
63560:3e3097ac37d1 63566:e5abbdee461a
  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