equal
deleted
inserted
replaced
1641 qed |
1641 qed |
1642 then obtain k where k: "\<And>x. 0 < k x" "\<And>i x. \<lbrakk>i \<in> d; x \<notin> i\<rbrakk> \<Longrightarrow> ball x (k x) \<inter> i = {}" |
1642 then obtain k where k: "\<And>x. 0 < k x" "\<And>i x. \<lbrakk>i \<in> d; x \<notin> i\<rbrakk> \<Longrightarrow> ball x (k x) \<inter> i = {}" |
1643 by metis |
1643 by metis |
1644 have "e/2 > 0" |
1644 have "e/2 > 0" |
1645 using e by auto |
1645 using e by auto |
1646 with henstock_lemma[OF f] |
1646 with Henstock_lemma[OF f] |
1647 obtain \<gamma> where g: "gauge \<gamma>" |
1647 obtain \<gamma> where g: "gauge \<gamma>" |
1648 "\<And>p. \<lbrakk>p tagged_partial_division_of cbox a b; \<gamma> fine p\<rbrakk> |
1648 "\<And>p. \<lbrakk>p tagged_partial_division_of cbox a b; \<gamma> fine p\<rbrakk> |
1649 \<Longrightarrow> (\<Sum>(x,k) \<in> p. norm (content k *\<^sub>R f x - integral k f)) < e/2" |
1649 \<Longrightarrow> (\<Sum>(x,k) \<in> p. norm (content k *\<^sub>R f x - integral k f)) < e/2" |
1650 by (metis (no_types, lifting)) |
1650 by (metis (no_types, lifting)) |
1651 let ?g = "\<lambda>x. \<gamma> x \<inter> ball x (k x)" |
1651 let ?g = "\<lambda>x. \<gamma> x \<inter> ball x (k x)" |
2099 norm ((\<Sum>(x,k) \<in> p. content k *\<^sub>R norm (f x)) - integral (cbox a b) (\<lambda>x. norm (f x))) < e/2" |
2099 norm ((\<Sum>(x,k) \<in> p. content k *\<^sub>R norm (f x)) - integral (cbox a b) (\<lambda>x. norm (f x))) < e/2" |
2100 unfolding has_integral_integral has_integral by meson |
2100 unfolding has_integral_integral has_integral by meson |
2101 obtain d2 where "gauge d2" |
2101 obtain d2 where "gauge d2" |
2102 and d2: "\<And>p. \<lbrakk>p tagged_partial_division_of (cbox a b); d2 fine p\<rbrakk> \<Longrightarrow> |
2102 and d2: "\<And>p. \<lbrakk>p tagged_partial_division_of (cbox a b); d2 fine p\<rbrakk> \<Longrightarrow> |
2103 (\<Sum>(x,k) \<in> p. norm (content k *\<^sub>R f x - integral k f)) < e/2" |
2103 (\<Sum>(x,k) \<in> p. norm (content k *\<^sub>R f x - integral k f)) < e/2" |
2104 by (blast intro: henstock_lemma [OF f(1) \<open>e/2>0\<close>]) |
2104 by (blast intro: Henstock_lemma [OF f(1) \<open>e/2>0\<close>]) |
2105 obtain p where |
2105 obtain p where |
2106 p: "p tagged_division_of (cbox a b)" "d1 fine p" "d2 fine p" |
2106 p: "p tagged_division_of (cbox a b)" "d1 fine p" "d2 fine p" |
2107 by (rule fine_division_exists [OF gauge_Int [OF \<open>gauge d1\<close> \<open>gauge d2\<close>], of a b]) |
2107 by (rule fine_division_exists [OF gauge_Int [OF \<open>gauge d1\<close> \<open>gauge d2\<close>], of a b]) |
2108 (auto simp add: fine_Int) |
2108 (auto simp add: fine_Int) |
2109 have *: "\<And>sf sf' si di. \<lbrakk>sf' = sf; si \<le> ?S; \<bar>sf - si\<bar> < e/2; |
2109 have *: "\<And>sf sf' si di. \<lbrakk>sf' = sf; si \<le> ?S; \<bar>sf - si\<bar> < e/2; |