4264 case goal1 |
4264 case goal1 |
4265 then have *: "0 < (i\<bullet>k - j\<bullet>k) / 3" |
4265 then have *: "0 < (i\<bullet>k - j\<bullet>k) / 3" |
4266 by auto |
4266 by auto |
4267 guess d1 using goal1(1)[unfolded has_integral,rule_format,OF *] by (elim exE conjE) note d1=this[rule_format] |
4267 guess d1 using goal1(1)[unfolded has_integral,rule_format,OF *] by (elim exE conjE) note d1=this[rule_format] |
4268 guess d2 using goal1(2)[unfolded has_integral,rule_format,OF *] by (elim exE conjE) note d2=this[rule_format] |
4268 guess d2 using goal1(2)[unfolded has_integral,rule_format,OF *] by (elim exE conjE) note d2=this[rule_format] |
4269 guess p using fine_division_exists[OF gauge_inter[OF d1(1) d2(1)], of a b] unfolding fine_inter . |
4269 obtain p where p: "p tagged_division_of cbox a b" "d1 fine p" "d2 fine p" |
4270 note p = this(1) conjunctD2[OF this(2)] |
4270 using fine_division_exists[OF gauge_inter[OF d1(1) d2(1)], of a b] unfolding fine_inter |
|
4271 by metis |
4271 note le_less_trans[OF Basis_le_norm[OF k]] |
4272 note le_less_trans[OF Basis_le_norm[OF k]] |
4272 note this[OF d1(2)[OF conjI[OF p(1,2)]]] this[OF d2(2)[OF conjI[OF p(1,3)]]] |
4273 then have "\<bar>((\<Sum>(x, k)\<in>p. content k *\<^sub>R f x) - i) \<bullet> k\<bar> < (i \<bullet> k - j \<bullet> k) / 3" |
|
4274 "\<bar>((\<Sum>(x, k)\<in>p. content k *\<^sub>R g x) - j) \<bullet> k\<bar> < (i \<bullet> k - j \<bullet> k) / 3" |
|
4275 using k norm_bound_Basis_lt d1 d2 p |
|
4276 by blast+ |
4273 then show False |
4277 then show False |
4274 unfolding inner_simps |
4278 unfolding inner_simps |
4275 using rsum_component_le[OF p(1) goal1(3)] |
4279 using rsum_component_le[OF p(1) goal1(3)] |
4276 by (simp add: abs_real_def split: split_if_asm) |
4280 by (simp add: abs_real_def split: split_if_asm) |
4277 qed |
4281 qed |
4278 let ?P = "\<exists>a b. s = cbox a b" |
4282 show ?thesis |
4279 { |
4283 proof (cases "\<exists>a b. s = cbox a b") |
4280 presume "\<not> ?P \<Longrightarrow> ?thesis" |
4284 case True |
4281 then show ?thesis |
4285 with lem assms show ?thesis |
4282 proof (cases ?P) |
4286 by auto |
4283 case True |
4287 next |
4284 then guess a b by (elim exE) note s=this |
4288 case False |
4285 show ?thesis |
4289 show ?thesis |
4286 apply (rule lem) |
4290 proof (rule ccontr) |
4287 using assms[unfolded s] |
4291 assume "\<not> i\<bullet>k \<le> j\<bullet>k" |
4288 apply auto |
4292 then have ij: "(i\<bullet>k - j\<bullet>k) / 3 > 0" |
4289 done |
4293 by auto |
4290 qed auto |
4294 note has_integral_altD[OF _ False this] |
4291 } |
4295 from this[OF assms(2)] this[OF assms(3)] guess B1 B2 . note B=this[rule_format] |
4292 assume as: "\<not> ?P" |
4296 have "bounded (ball 0 B1 \<union> ball (0::'a) B2)" |
4293 { presume "\<not> ?thesis \<Longrightarrow> False" then show ?thesis by auto } |
4297 unfolding bounded_Un by(rule conjI bounded_ball)+ |
4294 assume "\<not> i\<bullet>k \<le> j\<bullet>k" |
4298 from bounded_subset_cbox[OF this] guess a b by (elim exE) |
4295 then have ij: "(i\<bullet>k - j\<bullet>k) / 3 > 0" |
4299 note ab = conjunctD2[OF this[unfolded Un_subset_iff]] |
4296 by auto |
4300 guess w1 using B(2)[OF ab(1)] .. note w1=conjunctD2[OF this] |
4297 note has_integral_altD[OF _ as this] |
4301 guess w2 using B(4)[OF ab(2)] .. note w2=conjunctD2[OF this] |
4298 from this[OF assms(2)] this[OF assms(3)] guess B1 B2 . note B=this[rule_format] |
4302 have *: "\<And>w1 w2 j i::real .\<bar>w1 - i\<bar> < (i - j) / 3 \<Longrightarrow> \<bar>w2 - j\<bar> < (i - j) / 3 \<Longrightarrow> w1 \<le> w2 \<Longrightarrow> False" |
4299 have "bounded (ball 0 B1 \<union> ball (0::'a) B2)" |
4303 by (simp add: abs_real_def split: split_if_asm) |
4300 unfolding bounded_Un by(rule conjI bounded_ball)+ |
4304 note le_less_trans[OF Basis_le_norm[OF k]] |
4301 from bounded_subset_cbox[OF this] guess a b by (elim exE) |
4305 note this[OF w1(2)] this[OF w2(2)] |
4302 note ab = conjunctD2[OF this[unfolded Un_subset_iff]] |
4306 moreover |
4303 guess w1 using B(2)[OF ab(1)] .. note w1=conjunctD2[OF this] |
4307 have "w1\<bullet>k \<le> w2\<bullet>k" |
4304 guess w2 using B(4)[OF ab(2)] .. note w2=conjunctD2[OF this] |
4308 by (rule lem[OF w1(1) w2(1)]) (simp add: assms(4)) |
4305 have *: "\<And>w1 w2 j i::real .\<bar>w1 - i\<bar> < (i - j) / 3 \<Longrightarrow> \<bar>w2 - j\<bar> < (i - j) / 3 \<Longrightarrow> w1 \<le> w2 \<Longrightarrow> False" |
4309 ultimately show False |
4306 by (simp add: abs_real_def split: split_if_asm) |
4310 unfolding inner_simps by(rule *) |
4307 note le_less_trans[OF Basis_le_norm[OF k]] |
4311 qed |
4308 note this[OF w1(2)] this[OF w2(2)] |
4312 qed |
4309 moreover |
|
4310 have "w1\<bullet>k \<le> w2\<bullet>k" |
|
4311 apply (rule lem[OF w1(1) w2(1)]) |
|
4312 using assms |
|
4313 apply auto |
|
4314 done |
|
4315 ultimately show False |
|
4316 unfolding inner_simps by(rule *) |
|
4317 qed |
4313 qed |
4318 |
4314 |
4319 lemma integral_component_le: |
4315 lemma integral_component_le: |
4320 fixes g f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
4316 fixes g f :: "'a::euclidean_space \<Rightarrow> 'b::euclidean_space" |
4321 assumes "k \<in> Basis" |
4317 assumes "k \<in> Basis" |