equal
deleted
inserted
replaced
8 imports |
8 imports |
9 Derivative |
9 Derivative |
10 "~~/src/HOL/Library/Indicator_Function" |
10 "~~/src/HOL/Library/Indicator_Function" |
11 begin |
11 begin |
12 |
12 |
13 lemma cSup_abs_le: (* TODO: is this really needed? *) |
13 lemma cSup_abs_le: (* TODO: move to Conditionally_Complete_Lattices.thy? *) |
14 fixes S :: "real set" |
14 fixes S :: "real set" |
15 shows "S \<noteq> {} \<Longrightarrow> (\<forall>x\<in>S. \<bar>x\<bar> \<le> a) \<Longrightarrow> \<bar>Sup S\<bar> \<le> a" |
15 shows "S \<noteq> {} \<Longrightarrow> (\<And>x. x\<in>S \<Longrightarrow> \<bar>x\<bar> \<le> a) \<Longrightarrow> \<bar>Sup S\<bar> \<le> a" |
16 by (auto simp add: abs_le_interval_iff intro: cSup_least) (metis cSup_upper2 bdd_aboveI) |
16 by (auto simp add: abs_le_interval_iff intro: cSup_least) (metis cSup_upper2 bdd_aboveI) |
17 |
17 |
18 lemma cInf_abs_ge: (* TODO: is this really needed? *) |
18 lemma cInf_abs_ge: |
19 fixes S :: "real set" |
19 fixes S :: "real set" |
20 shows "S \<noteq> {} \<Longrightarrow> (\<forall>x\<in>S. \<bar>x\<bar> \<le> a) \<Longrightarrow> \<bar>Inf S\<bar> \<le> a" |
20 shows "S \<noteq> {} \<Longrightarrow> (\<And>x. x\<in>S \<Longrightarrow> \<bar>x\<bar> \<le> a) \<Longrightarrow> \<bar>Inf S\<bar> \<le> a" |
21 by (simp add: Inf_real_def) (insert cSup_abs_le [of "uminus ` S"], auto) |
21 using cSup_abs_le [of "uminus ` S"] |
22 |
22 by (fastforce simp add: Inf_real_def) |
23 lemma cSup_asclose: (* TODO: is this really needed? *) |
23 |
|
24 lemma cSup_asclose: |
24 fixes S :: "real set" |
25 fixes S :: "real set" |
25 assumes S: "S \<noteq> {}" |
26 assumes S: "S \<noteq> {}" |
26 and b: "\<forall>x\<in>S. \<bar>x - l\<bar> \<le> e" |
27 and b: "\<forall>x\<in>S. \<bar>x - l\<bar> \<le> e" |
27 shows "\<bar>Sup S - l\<bar> \<le> e" |
28 shows "\<bar>Sup S - l\<bar> \<le> e" |
28 proof - |
29 proof - |
32 using b by (auto intro!: bdd_aboveI[of _ "l + e"]) |
33 using b by (auto intro!: bdd_aboveI[of _ "l + e"]) |
33 with S b show ?thesis |
34 with S b show ?thesis |
34 unfolding th by (auto intro!: cSup_upper2 cSup_least) |
35 unfolding th by (auto intro!: cSup_upper2 cSup_least) |
35 qed |
36 qed |
36 |
37 |
37 lemma cInf_asclose: (* TODO: is this really needed? *) |
38 lemma cInf_asclose: |
38 fixes S :: "real set" |
39 fixes S :: "real set" |
39 assumes S: "S \<noteq> {}" |
40 assumes S: "S \<noteq> {}" |
40 and b: "\<forall>x\<in>S. \<bar>x - l\<bar> \<le> e" |
41 and b: "\<forall>x\<in>S. \<bar>x - l\<bar> \<le> e" |
41 shows "\<bar>Inf S - l\<bar> \<le> e" |
42 shows "\<bar>Inf S - l\<bar> \<le> e" |
42 proof - |
43 proof - |
4929 unfolding xk by auto |
4930 unfolding xk by auto |
4930 note p = tagged_partial_division_ofD[OF insert(4)] |
4931 note p = tagged_partial_division_ofD[OF insert(4)] |
4931 from p(4)[unfolded xk, OF insertI1] guess u v by (elim exE) note uv=this |
4932 from p(4)[unfolded xk, OF insertI1] guess u v by (elim exE) note uv=this |
4932 |
4933 |
4933 have "finite {k. \<exists>x. (x, k) \<in> p}" |
4934 have "finite {k. \<exists>x. (x, k) \<in> p}" |
4934 apply (rule finite_subset[of _ "snd ` p"],rule) |
4935 apply (rule finite_subset[of _ "snd ` p"]) |
4935 unfolding subset_eq image_iff mem_Collect_eq |
|
4936 apply (erule exE) |
|
4937 apply (rule_tac x="(xa,x)" in bexI) |
|
4938 using p |
4936 using p |
|
4937 apply safe |
|
4938 apply (metis image_iff snd_conv) |
4939 apply auto |
4939 apply auto |
4940 done |
4940 done |
4941 then have int: "interior (cbox u v) \<inter> interior (\<Union>{k. \<exists>x. (x, k) \<in> p}) = {}" |
4941 then have int: "interior (cbox u v) \<inter> interior (\<Union>{k. \<exists>x. (x, k) \<in> p}) = {}" |
4942 apply (rule inter_interior_unions_intervals) |
4942 apply (rule inter_interior_unions_intervals) |
4943 apply (rule open_interior) |
4943 apply (rule open_interior) |
4976 apply rule |
4976 apply rule |
4977 apply rule |
4977 apply rule |
4978 apply rule |
4978 apply rule |
4979 apply rule |
4979 apply rule |
4980 apply (erule insertE) |
4980 apply (erule insertE) |
4981 defer |
4981 apply (simp add: uv xk) |
4982 apply (rule UnI2) |
4982 apply (rule UnI2) |
4983 apply (drule q1(3)[rule_format]) |
4983 apply (drule q1(3)[rule_format]) |
4984 unfolding xk uv |
4984 unfolding xk uv |
4985 apply auto |
4985 apply auto |
4986 done |
4986 done |
5000 apply rule |
5000 apply rule |
5001 apply rule |
5001 apply rule |
5002 apply rule |
5002 apply rule |
5003 apply (erule insertE) |
5003 apply (erule insertE) |
5004 apply (rule UnI2) |
5004 apply (rule UnI2) |
5005 defer |
5005 apply (simp add: False uv xk) |
5006 apply (drule q1(3)[rule_format]) |
5006 apply (drule q1(3)[rule_format]) |
5007 using False |
5007 using False |
5008 unfolding xk uv |
5008 unfolding xk uv |
5009 apply auto |
5009 apply auto |
5010 done |
5010 done |
11769 apply (rule absolutely_integrable_onD) |
11769 apply (rule absolutely_integrable_onD) |
11770 apply(rule absolutely_integrable_sup_real) |
11770 apply(rule absolutely_integrable_sup_real) |
11771 prefer 5 unfolding real_norm_def |
11771 prefer 5 unfolding real_norm_def |
11772 apply rule |
11772 apply rule |
11773 apply (rule cSup_abs_le) |
11773 apply (rule cSup_abs_le) |
11774 prefer 5 |
11774 using assms |
|
11775 apply (force simp add: ) |
|
11776 prefer 4 |
11775 apply rule |
11777 apply rule |
11776 apply (rule_tac g=h in absolutely_integrable_integrable_bound) |
11778 apply (rule_tac g=h in absolutely_integrable_integrable_bound) |
11777 using assms |
11779 using assms |
11778 unfolding real_norm_def |
11780 unfolding real_norm_def |
11779 apply auto |
11781 apply auto |