equal
deleted
inserted
replaced
672 finally show ?thesis . |
672 finally show ?thesis . |
673 qed |
673 qed |
674 qed |
674 qed |
675 qed |
675 qed |
676 define \<gamma> where "\<gamma> \<equiv> \<lambda>x. \<gamma>0 x \<inter> |
676 define \<gamma> where "\<gamma> \<equiv> \<lambda>x. \<gamma>0 x \<inter> |
677 ball x ((\<epsilon>/8 / (norm(f x) + 1)) * (INF m:Basis. b \<bullet> m - a \<bullet> m) / content(cbox a b))" |
677 ball x ((\<epsilon>/8 / (norm(f x) + 1)) * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / content(cbox a b))" |
678 have "gauge (\<lambda>x. ball x |
678 have "gauge (\<lambda>x. ball x |
679 (\<epsilon> * (INF m:Basis. b \<bullet> m - a \<bullet> m) / ((8 * norm (f x) + 8) * content (cbox a b))))" |
679 (\<epsilon> * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / ((8 * norm (f x) + 8) * content (cbox a b))))" |
680 using \<open>0 < content (cbox a b)\<close> \<open>0 < \<epsilon>\<close> a_less_b |
680 using \<open>0 < content (cbox a b)\<close> \<open>0 < \<epsilon>\<close> a_less_b |
681 apply (auto simp: gauge_def divide_simps mult_less_0_iff zero_less_mult_iff add_nonneg_eq_0_iff finite_less_Inf_iff) |
681 apply (auto simp: gauge_def divide_simps mult_less_0_iff zero_less_mult_iff add_nonneg_eq_0_iff finite_less_Inf_iff) |
682 apply (meson add_nonneg_nonneg mult_nonneg_nonneg norm_ge_zero not_less zero_le_numeral) |
682 apply (meson add_nonneg_nonneg mult_nonneg_nonneg norm_ge_zero not_less zero_le_numeral) |
683 done |
683 done |
684 then have "gauge \<gamma>" |
684 then have "gauge \<gamma>" |
691 have "cbox c b \<subseteq> cbox a b" |
691 have "cbox c b \<subseteq> cbox a b" |
692 by (meson mem_box(2) order_refl subset_box(1) that(1)) |
692 by (meson mem_box(2) order_refl subset_box(1) that(1)) |
693 have "finite S" |
693 have "finite S" |
694 using S by blast |
694 using S by blast |
695 have "\<gamma>0 fine S" and fineS: |
695 have "\<gamma>0 fine S" and fineS: |
696 "(\<lambda>x. ball x (\<epsilon> * (INF m:Basis. b \<bullet> m - a \<bullet> m) / ((8 * norm (f x) + 8) * content (cbox a b)))) fine S" |
696 "(\<lambda>x. ball x (\<epsilon> * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / ((8 * norm (f x) + 8) * content (cbox a b)))) fine S" |
697 using \<open>\<gamma> fine S\<close> by (auto simp: \<gamma>_def fine_Int) |
697 using \<open>\<gamma> fine S\<close> by (auto simp: \<gamma>_def fine_Int) |
698 then have "(\<Sum>(x,K) \<in> S. norm (content K *\<^sub>R h x - integral K h)) < \<epsilon>/2" |
698 then have "(\<Sum>(x,K) \<in> S. norm (content K *\<^sub>R h x - integral K h)) < \<epsilon>/2" |
699 by (intro \<gamma>0 that fineS) |
699 by (intro \<gamma>0 that fineS) |
700 moreover have "(\<Sum>(x,K) \<in> S. norm (integral K h) - norm (content K *\<^sub>R h x - integral K h)) \<le> \<epsilon>/2" |
700 moreover have "(\<Sum>(x,K) \<in> S. norm (integral K h) - norm (content K *\<^sub>R h x - integral K h)) \<le> \<epsilon>/2" |
701 proof - |
701 proof - |
733 using content_pos_lt_eq uv Kgt0 by blast |
733 using content_pos_lt_eq uv Kgt0 by blast |
734 then have dist_uv: "dist u v > 0" |
734 then have dist_uv: "dist u v > 0" |
735 using that by auto |
735 using that by auto |
736 ultimately have "norm (h x) \<le> (\<epsilon> * (b \<bullet> i - a \<bullet> i)) / (4 * content (cbox a b) * ?\<Delta>)" |
736 ultimately have "norm (h x) \<le> (\<epsilon> * (b \<bullet> i - a \<bullet> i)) / (4 * content (cbox a b) * ?\<Delta>)" |
737 proof - |
737 proof - |
738 have "dist x u < \<epsilon> * (INF m:Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
738 have "dist x u < \<epsilon> * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
739 "dist x v < \<epsilon> * (INF m:Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
739 "dist x v < \<epsilon> * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
740 using fineS u_less_v uv xK |
740 using fineS u_less_v uv xK |
741 by (force simp: fine_def mem_box field_simps dest!: bspec)+ |
741 by (force simp: fine_def mem_box field_simps dest!: bspec)+ |
742 moreover have "\<epsilon> * (INF m:Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2 |
742 moreover have "\<epsilon> * (INF m\<in>Basis. b \<bullet> m - a \<bullet> m) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2 |
743 \<le> \<epsilon> * (b \<bullet> i - a \<bullet> i) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
743 \<le> \<epsilon> * (b \<bullet> i - a \<bullet> i) / (4 * (norm (f x) + 1) * content (cbox a b)) / 2" |
744 apply (intro mult_left_mono divide_right_mono) |
744 apply (intro mult_left_mono divide_right_mono) |
745 using \<open>i \<in> Basis\<close> \<open>0 < \<epsilon>\<close> apply (auto simp: intro!: cInf_le_finite) |
745 using \<open>i \<in> Basis\<close> \<open>0 < \<epsilon>\<close> apply (auto simp: intro!: cInf_le_finite) |
746 done |
746 done |
747 ultimately |
747 ultimately |