7 theory Henstock_Kurzweil_Integration |
7 theory Henstock_Kurzweil_Integration |
8 imports |
8 imports |
9 Lebesgue_Measure Tagged_Division |
9 Lebesgue_Measure Tagged_Division |
10 begin |
10 begin |
11 |
11 |
12 (* BEGIN MOVE *) |
12 (* try instead structured proofs below *) |
13 lemma norm_minus2: "norm (x1-x2, y1-y2) = norm (x2-x1, y2-y1)" |
|
14 by (simp add: norm_minus_eqI) |
|
15 |
|
16 lemma norm_diff2: "\<lbrakk>y = y1 + y2; x = x1 + x2; e = e1 + e2; norm(y1 - x1) \<le> e1; norm(y2 - x2) \<le> e2\<rbrakk> |
13 lemma norm_diff2: "\<lbrakk>y = y1 + y2; x = x1 + x2; e = e1 + e2; norm(y1 - x1) \<le> e1; norm(y2 - x2) \<le> e2\<rbrakk> |
17 \<Longrightarrow> norm(y - x) \<le> e" |
14 \<Longrightarrow> norm(y - x) \<le> e" |
18 using norm_triangle_mono [of "y1 - x1" "e1" "y2 - x2" "e2"] |
15 using norm_triangle_mono [of "y1 - x1" "e1" "y2 - x2" "e2"] |
19 by (simp add: add_diff_add) |
16 by (simp add: add_diff_add) |
20 |
17 |
7694 using fine by (simp add: fine_def Ball_def) |
7691 using fine by (simp add: fine_def Ball_def) |
7695 { fix x1 x2 |
7692 { fix x1 x2 |
7696 assume xuvwz: "x1 \<in> cbox u v" "x2 \<in> cbox w z" |
7693 assume xuvwz: "x1 \<in> cbox u v" "x2 \<in> cbox w z" |
7697 then have x: "x1 \<in> cbox a b" "x2 \<in> cbox c d" |
7694 then have x: "x1 \<in> cbox a b" "x2 \<in> cbox c d" |
7698 using uwvz_sub by auto |
7695 using uwvz_sub by auto |
7699 have "norm (x1 - t1, x2 - t2) < k" |
7696 have "norm (x1 - t1, x2 - t2) = norm (t1 - x1, t2 - x2)" |
|
7697 by (simp add: norm_Pair norm_minus_commute) |
|
7698 also have "norm (t1 - x1, t2 - x2) < k" |
7700 using xuvwz ls uwvz_sub unfolding ball_def |
7699 using xuvwz ls uwvz_sub unfolding ball_def |
7701 by (force simp add: cbox_Pair_eq dist_norm norm_minus2) |
7700 by (force simp add: cbox_Pair_eq dist_norm ) |
7702 then have "norm (f (x1,x2) - f (t1,t2)) \<le> e / content ?CBOX / 2" |
7701 finally have "norm (f (x1,x2) - f (t1,t2)) \<le> e / content ?CBOX / 2" |
7703 using nf [OF t x] by simp |
7702 using nf [OF t x] by simp |
7704 } note nf' = this |
7703 } note nf' = this |
7705 have f_int_uwvz: "f integrable_on cbox (u,w) (v,z)" |
7704 have f_int_uwvz: "f integrable_on cbox (u,w) (v,z)" |
7706 using f_int_acbd uwvz_sub integrable_on_subcbox by blast |
7705 using f_int_acbd uwvz_sub integrable_on_subcbox by blast |
7707 have f_int_uv: "\<And>x. x \<in> cbox u v \<Longrightarrow> (\<lambda>y. f (x,y)) integrable_on cbox w z" |
7706 have f_int_uv: "\<And>x. x \<in> cbox u v \<Longrightarrow> (\<lambda>y. f (x,y)) integrable_on cbox w z" |
7850 using False a by (intro abs_of_nonneg) (simp_all add: field_simps) |
7849 using False a by (intro abs_of_nonneg) (simp_all add: field_simps) |
7851 also have "\<dots> \<le> exp (- a * c) / a" using a by simp |
7850 also have "\<dots> \<le> exp (- a * c) / a" using a by simp |
7852 finally show ?thesis . |
7851 finally show ?thesis . |
7853 qed (insert a, simp_all add: integral_f) |
7852 qed (insert a, simp_all add: integral_f) |
7854 thus "bounded {integral {c..} (f k) |k. True}" |
7853 thus "bounded {integral {c..} (f k) |k. True}" |
7855 by (intro bounded_realI[of _ "exp (-a*c)/a"]) auto |
7854 by (intro boundedI[of _ "exp (-a*c)/a"]) auto |
7856 qed (auto simp: f_def) |
7855 qed (auto simp: f_def) |
7857 |
7856 |
7858 from eventually_gt_at_top[of "nat \<lceil>c\<rceil>"] have "eventually (\<lambda>k. of_nat k > c) sequentially" |
7857 from eventually_gt_at_top[of "nat \<lceil>c\<rceil>"] have "eventually (\<lambda>k. of_nat k > c) sequentially" |
7859 by eventually_elim linarith |
7858 by eventually_elim linarith |
7860 hence "eventually (\<lambda>k. exp (-a*c)/a - exp (-a * of_nat k)/a = integral {c..} (f k)) sequentially" |
7859 hence "eventually (\<lambda>k. exp (-a*c)/a - exp (-a * of_nat k)/a = integral {c..} (f k)) sequentially" |
7943 by (auto simp: F_def divide_simps simp del: of_nat_Suc intro!: powr_mono2) |
7942 by (auto simp: F_def divide_simps simp del: of_nat_Suc intro!: powr_mono2) |
7944 hence "F k = abs (F k)" by simp |
7943 hence "F k = abs (F k)" by simp |
7945 finally have "abs (F k) \<le> c powr (a + 1) / (a + 1)" . |
7944 finally have "abs (F k) \<le> c powr (a + 1) / (a + 1)" . |
7946 } |
7945 } |
7947 thus "bounded {integral {0..c} (f k) |k. True}" |
7946 thus "bounded {integral {0..c} (f k) |k. True}" |
7948 by (intro bounded_realI[of _ "c powr (a+1) / (a+1)"]) (auto simp: integral_f) |
7947 by (intro boundedI[of _ "c powr (a+1) / (a+1)"]) (auto simp: integral_f) |
7949 qed |
7948 qed |
7950 |
7949 |
7951 from False c have "c > 0" by simp |
7950 from False c have "c > 0" by simp |
7952 from order_tendstoD(2)[OF LIMSEQ_inverse_real_of_nat this] |
7951 from order_tendstoD(2)[OF LIMSEQ_inverse_real_of_nat this] |
7953 have "eventually (\<lambda>k. c powr (a + 1) / (a + 1) - inverse (real (Suc k)) powr (a+1) / (a+1) = |
7952 have "eventually (\<lambda>k. c powr (a + 1) / (a + 1) - inverse (real (Suc k)) powr (a+1) / (a+1) = |